<?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-_UMLActions" 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-_UMLActivities" 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-_UMLClassification" 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-_UMLCommonBehavior" 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-_UMLCommonStructure" 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-_UMLDeployments" 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-_UMLInformationFlows" 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-_UMLInteractions" 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-_UMLPackages" 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-_UMLSimpleClassifiers" 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-_UMLStateMachines" 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-_UMLStructuredClassifiers" 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-_UMLUseCases" 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-_UMLValues" source="UML::Values" references="Duration-expr Duration-observation Duration DurationConstraint-firstEvent DurationConstraint-specification DurationConstraint DurationInterval-max DurationInterval-min DurationInterval DurationObservation-event DurationObservation-firstEvent DurationObservation Expression-operand Expression-symbol Expression Interval-max Interval-min Interval IntervalConstraint-specification IntervalConstraint LiteralBoolean-value LiteralBoolean-booleanValue LiteralBoolean-isComputable LiteralBoolean LiteralInteger-value LiteralInteger-integerValue LiteralInteger-isComputable LiteralInteger LiteralNull-isComputable LiteralNull-isNull LiteralNull LiteralReal-value LiteralReal-isComputable LiteralReal-realValue LiteralReal LiteralSpecification LiteralString-value LiteralString-isComputable LiteralString-stringValue LiteralString LiteralUnlimitedNatural-value LiteralUnlimitedNatural-isComputable LiteralUnlimitedNatural-unlimitedValue LiteralUnlimitedNatural Observation OpaqueExpression-behavior OpaqueExpression-body OpaqueExpression-language OpaqueExpression-result OpaqueExpression-isIntegral OpaqueExpression-isNonNegative OpaqueExpression-isPositive OpaqueExpression-result.1 OpaqueExpression-value OpaqueExpression StringExpression-owningExpression StringExpression-subExpression StringExpression-stringValue StringExpression TimeConstraint-firstEvent TimeConstraint-specification TimeConstraint TimeExpression-expr TimeExpression-observation TimeExpression TimeInterval-max TimeInterval-min TimeInterval TimeObservation-event TimeObservation-firstEvent TimeObservation ValueSpecification-booleanValue ValueSpecification-integerValue ValueSpecification-isCompatibleWith ValueSpecification-isComputable ValueSpecification-isNull ValueSpecification-realValue ValueSpecification-stringValue ValueSpecification-unlimitedValue ValueSpecification A_event_timeObservation-timeObservation A_event_timeObservation A_max_timeInterval-timeInterval A_max_timeInterval A_min_timeInterval-timeInterval A_min_timeInterval A_expr_timeExpression-timeExpression A_expr_timeExpression A_observation_timeExpression-timeExpression A_observation_timeExpression A_specification_timeConstraint-timeConstraint A_specification_timeConstraint A_subExpression_owningExpression A_result_opaqueExpression-opaqueExpression A_result_opaqueExpression A_behavior_opaqueExpression-opaqueExpression A_behavior_opaqueExpression A_specification_intervalConstraint-intervalConstraint A_specification_intervalConstraint A_max_interval-interval A_max_interval A_min_interval-interval A_min_interval A_operand_expression-expression A_operand_expression A_event_durationObservation-durationObservation A_event_durationObservation A_max_durationInterval-durationInterval A_max_durationInterval A_min_durationInterval-durationInterval A_min_durationInterval A_specification_durationConstraint-durationConstraint A_specification_durationConstraint A_expr_duration-duration A_expr_duration A_observation_duration-duration A_observation_duration"/>
    </eAnnotations>
    <packageImport xmi:id="_packageImport.0">
      <importedPackage xmi:type="uml:Model" href="Ecore.metamodel.uml#_0"/>
    </packageImport>
    <packageImport xmi:id="_packageImport.1">
      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
    </packageImport>
    <packagedElement xmi:type="uml:Interface" xmi:id="ActivityContent" name="ActivityContent" visibility="private" isAbstract="true">
      <ownedOperation xmi:id="ActivityContent-containingActivity" name="containingActivity">
        <ownedParameter xmi:id="ActivityContent-containingActivity-containingActivity" name="containingActivity" type="Activity" direction="return" effect="read">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityContent-containingActivity-containingActivity-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ValueSpecificationAction" name="ValueSpecificationAction">
      <ownedComment xmi:id="ValueSpecificationAction-_ownedComment.0" annotatedElement="ValueSpecificationAction">
        <body>A ValueSpecificationAction is an Action that evaluates a ValueSpecification and provides a result.</body>
      </ownedComment>
      <ownedRule xmi:id="ValueSpecificationAction-multiplicity" name="multiplicity" constrainedElement="ValueSpecificationAction">
        <ownedComment xmi:id="ValueSpecificationAction-multiplicity-_ownedComment.0" annotatedElement="ValueSpecificationAction-multiplicity">
          <body>The multiplicity of the result OutputPin is 1..1</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ValueSpecificationAction-multiplicity-_specification">
          <language>OCL</language>
          <body>result.is(1,1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ValueSpecificationAction-compatible_type" name="compatible_type" constrainedElement="ValueSpecificationAction">
        <ownedComment xmi:id="ValueSpecificationAction-compatible_type-_ownedComment.0" annotatedElement="ValueSpecificationAction-compatible_type">
          <body>The type of the value ValueSpecification must conform to the type of the result OutputPin.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ValueSpecificationAction-compatible_type-_specification">
          <language>OCL</language>
          <body>value.type.conformsTo(result.type)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ValueSpecificationAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="ValueSpecificationAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_valueSpecificationAction">
        <ownedComment xmi:id="ValueSpecificationAction-result-_ownedComment.0" annotatedElement="ValueSpecificationAction-result">
          <body>The OutputPin on which the result value is placed.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ValueSpecificationAction-value" name="value" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_value_valueSpecificationAction">
        <ownedComment xmi:id="ValueSpecificationAction-value-_ownedComment.0" annotatedElement="ValueSpecificationAction-value">
          <body>The ValueSpecification to be evaluated.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="VariableAction" name="VariableAction" isAbstract="true">
      <ownedComment xmi:id="VariableAction-_ownedComment.0" annotatedElement="VariableAction">
        <body>VariableAction is an abstract class for Actions that operate on a specified Variable.</body>
      </ownedComment>
      <ownedRule xmi:id="VariableAction-scope_of_variable" name="scope_of_variable" constrainedElement="VariableAction">
        <ownedComment xmi:id="VariableAction-scope_of_variable-_ownedComment.0" annotatedElement="VariableAction-scope_of_variable">
          <body>The VariableAction must be in the scope of the variable.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="VariableAction-scope_of_variable-_specification">
          <language>OCL</language>
          <body>variable.isAccessibleBy(self)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="VariableAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="VariableAction-variable" name="variable" type="Variable" association="A_variable_variableAction">
        <ownedComment xmi:id="VariableAction-variable-_ownedComment.0" annotatedElement="VariableAction-variable">
          <body>The Variable to be read or written.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="WriteLinkAction" name="WriteLinkAction" isAbstract="true">
      <ownedComment xmi:id="WriteLinkAction-_ownedComment.0" annotatedElement="WriteLinkAction">
        <body>WriteLinkAction is an abstract class for LinkActions that create and destroy links.</body>
      </ownedComment>
      <ownedRule xmi:id="WriteLinkAction-allow_access" name="allow_access" constrainedElement="WriteLinkAction">
        <ownedComment xmi:id="WriteLinkAction-allow_access-_ownedComment.0" annotatedElement="WriteLinkAction-allow_access">
          <body>The visibility of at least one end must allow access from the context Classifier of the WriteLinkAction.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="WriteLinkAction-allow_access-_specification">
          <language>OCL</language>
          <body>endData.end->exists(end |&#xD;
  end.type=_'context' or&#xD;
  end.visibility=VisibilityKind::public or &#xD;
  end.visibility=VisibilityKind::protected and&#xD;
  endData.end->exists(other | &#xD;
    other&lt;>end and _'context'.conformsTo(other.type.oclAsType(Classifier))))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="WriteLinkAction-_generalization.0" general="LinkAction"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="WriteStructuralFeatureAction" name="WriteStructuralFeatureAction" isAbstract="true">
      <ownedComment xmi:id="WriteStructuralFeatureAction-_ownedComment.0" annotatedElement="WriteStructuralFeatureAction">
        <body>WriteStructuralFeatureAction is an abstract class for StructuralFeatureActions that change StructuralFeature values.</body>
      </ownedComment>
      <ownedRule xmi:id="WriteStructuralFeatureAction-multiplicity_of_result" name="multiplicity_of_result" constrainedElement="WriteStructuralFeatureAction">
        <ownedComment xmi:id="WriteStructuralFeatureAction-multiplicity_of_result-_ownedComment.0" annotatedElement="WriteStructuralFeatureAction-multiplicity_of_result">
          <body>The multiplicity of the result OutputPin must be 1..1.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="WriteStructuralFeatureAction-multiplicity_of_result-_specification">
          <language>OCL</language>
          <body>result &lt;> null implies result.is(1,1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="WriteStructuralFeatureAction-type_of_value" name="type_of_value" constrainedElement="WriteStructuralFeatureAction">
        <ownedComment xmi:id="WriteStructuralFeatureAction-type_of_value-_ownedComment.0" annotatedElement="WriteStructuralFeatureAction-type_of_value">
          <body>The type of the value InputPin must conform to the type of the structuralFeature.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="WriteStructuralFeatureAction-type_of_value-_specification">
          <language>OCL</language>
          <body>value &lt;> null implies value.type.conformsTo(structuralFeature.type)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="WriteStructuralFeatureAction-multiplicity_of_value" name="multiplicity_of_value" constrainedElement="WriteStructuralFeatureAction">
        <ownedComment xmi:id="WriteStructuralFeatureAction-multiplicity_of_value-_ownedComment.0" annotatedElement="WriteStructuralFeatureAction-multiplicity_of_value">
          <body>The multiplicity of the value InputPin is 1..1.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="WriteStructuralFeatureAction-multiplicity_of_value-_specification">
          <language>OCL</language>
          <body>value&lt;>null implies value.is(1,1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="WriteStructuralFeatureAction-type_of_result" name="type_of_result" constrainedElement="WriteStructuralFeatureAction">
        <ownedComment xmi:id="WriteStructuralFeatureAction-type_of_result-_ownedComment.0" annotatedElement="WriteStructuralFeatureAction-type_of_result">
          <body>The type of the result OutputPin is the same as the type of the inherited object InputPin.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="WriteStructuralFeatureAction-type_of_result-_specification">
          <language>OCL</language>
          <body>result &lt;> null implies result.type = object.type</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="WriteStructuralFeatureAction-_generalization.0" general="StructuralFeatureAction"/>
      <ownedAttribute xmi:id="WriteStructuralFeatureAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_writeStructuralFeatureAction">
        <ownedComment xmi:id="WriteStructuralFeatureAction-result-_ownedComment.0" annotatedElement="WriteStructuralFeatureAction-result">
          <body>The OutputPin on which is put the input object as modified by the WriteStructuralFeatureAction.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="WriteStructuralFeatureAction-result-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="WriteStructuralFeatureAction-value" name="value" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_value_writeStructuralFeatureAction">
        <ownedComment xmi:id="WriteStructuralFeatureAction-value-_ownedComment.0" annotatedElement="WriteStructuralFeatureAction-value">
          <body>The InputPin that provides the value to be added or removed from the StructuralFeature.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="WriteStructuralFeatureAction-value-_lowerValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="WriteVariableAction" name="WriteVariableAction" isAbstract="true">
      <ownedComment xmi:id="WriteVariableAction-_ownedComment.0" annotatedElement="WriteVariableAction">
        <body>WriteVariableAction is an abstract class for VariableActions that change Variable values.</body>
      </ownedComment>
      <ownedRule xmi:id="WriteVariableAction-value_type" name="value_type" constrainedElement="WriteVariableAction">
        <ownedComment xmi:id="WriteVariableAction-value_type-_ownedComment.0" annotatedElement="WriteVariableAction-value_type">
          <body>The type of the value InputPin must conform to the type of the variable.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="WriteVariableAction-value_type-_specification">
          <language>OCL</language>
          <body>value &lt;> null implies value.type.conformsTo(variable.type)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="WriteVariableAction-multiplicity" name="multiplicity" constrainedElement="WriteVariableAction">
        <ownedComment xmi:id="WriteVariableAction-multiplicity-_ownedComment.0" annotatedElement="WriteVariableAction-multiplicity">
          <body>The multiplicity of the value InputPin is 1..1.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="WriteVariableAction-multiplicity-_specification">
          <language>OCL</language>
          <body>value&lt;>null implies value.is(1,1)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="WriteVariableAction-_generalization.0" general="VariableAction"/>
      <ownedAttribute xmi:id="WriteVariableAction-value" name="value" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_value_writeVariableAction">
        <ownedComment xmi:id="WriteVariableAction-value-_ownedComment.0" annotatedElement="WriteVariableAction-value">
          <body>The InputPin that gives the value to be added or removed from the Variable.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="WriteVariableAction-value-_lowerValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Enumeration" xmi:id="ExpansionKind" name="ExpansionKind">
      <ownedComment xmi:id="ExpansionKind-_ownedComment.0" annotatedElement="ExpansionKind">
        <body>ExpansionKind is an enumeration type used to specify how an ExpansionRegion executes its contents.</body>
      </ownedComment>
      <ownedLiteral xmi:id="ExpansionKind-parallel" name="parallel">
        <ownedComment xmi:id="ExpansionKind-parallel-_ownedComment.0" annotatedElement="ExpansionKind-parallel">
          <body>The content of the ExpansionRegion is executed concurrently for the elements of the input collections.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="ExpansionKind-iterative" name="iterative">
        <ownedComment xmi:id="ExpansionKind-iterative-_ownedComment.0" annotatedElement="ExpansionKind-iterative">
          <body>The content of the ExpansionRegion is executed iteratively for the elements of the input collections, in the order of the input elements, if the collections are ordered.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="ExpansionKind-stream" name="stream">
        <ownedComment xmi:id="ExpansionKind-stream-_ownedComment.0" annotatedElement="ExpansionKind-stream">
          <body>A stream of input collection elements flows into a single execution of the content of the ExpansionRegion, in the order of the collection elements if the input collections are ordered.</body>
        </ownedComment>
      </ownedLiteral>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="AcceptCallAction" name="AcceptCallAction">
      <ownedComment xmi:id="AcceptCallAction-_ownedComment.0" annotatedElement="AcceptCallAction">
        <body>An AcceptCallAction is an AcceptEventAction that handles the receipt of a synchronous call request. In addition to the values from the Operation input parameters, the Action produces an output that is needed later to supply the information to the ReplyAction necessary to return control to the caller. An AcceptCallAction is for synchronous calls. If it is used to handle an asynchronous call, execution of the subsequent ReplyAction will complete immediately with no effect.</body>
      </ownedComment>
      <ownedRule xmi:id="AcceptCallAction-result_pins" name="result_pins" constrainedElement="AcceptCallAction">
        <ownedComment xmi:id="AcceptCallAction-result_pins-_ownedComment.0" annotatedElement="AcceptCallAction-result_pins">
          <body>The number of result OutputPins must be the same as the number of input (in and inout) ownedParameters of the Operation specified by the trigger Event. The type, ordering and multiplicity of each result OutputPin must be consistent with the corresponding input Parameter.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="AcceptCallAction-result_pins-_specification">
          <language>OCL</language>
          <body>let parameter: OrderedSet(Parameter) = trigger.event->asSequence()->first().oclAsType(CallEvent).operation.inputParameters() in&#xD;
result->size() = parameter->size() and&#xD;
Sequence{1..result->size()}->forAll(i | &#xD;
	parameter->at(i).type.conformsTo(result->at(i).type) and &#xD;
	parameter->at(i).isOrdered = result->at(i).isOrdered and&#xD;
	parameter->at(i).compatibleWith(result->at(i)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="AcceptCallAction-trigger_call_event" name="trigger_call_event" constrainedElement="AcceptCallAction">
        <ownedComment xmi:id="AcceptCallAction-trigger_call_event-_ownedComment.0" annotatedElement="AcceptCallAction-trigger_call_event">
          <body>The action must have exactly one trigger, which must be for a CallEvent.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="AcceptCallAction-trigger_call_event-_specification">
          <language>OCL</language>
          <body>trigger->size()=1 and&#xD;
trigger->asSequence()->first().event.oclIsKindOf(CallEvent)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="AcceptCallAction-unmarshall" name="unmarshall" constrainedElement="AcceptCallAction">
        <ownedComment xmi:id="AcceptCallAction-unmarshall-_ownedComment.0" annotatedElement="AcceptCallAction-unmarshall">
          <body>isUnmrashall must be true for an AcceptCallAction.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="AcceptCallAction-unmarshall-_specification">
          <language>OCL</language>
          <body>isUnmarshall = true</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="AcceptCallAction-_generalization.0" general="AcceptEventAction"/>
      <ownedAttribute xmi:id="AcceptCallAction-returnInformation" name="returnInformation" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_returnInformation_acceptCallAction">
        <ownedComment xmi:id="AcceptCallAction-returnInformation-_ownedComment.0" annotatedElement="AcceptCallAction-returnInformation">
          <body>An OutputPin where a value is placed containing sufficient information to perform a subsequent ReplyAction and return control to the caller. The contents of this value are opaque. It can be passed and copied but it cannot be manipulated by the model.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="AcceptEventAction" name="AcceptEventAction">
      <ownedComment xmi:id="AcceptEventAction-_ownedComment.0" annotatedElement="AcceptEventAction">
        <body>An AcceptEventAction is an Action that waits for the occurrence of one or more specific Events.</body>
      </ownedComment>
      <ownedRule xmi:id="AcceptEventAction-one_output_pin" name="one_output_pin" constrainedElement="AcceptEventAction">
        <ownedComment xmi:id="AcceptEventAction-one_output_pin-_ownedComment.0" annotatedElement="AcceptEventAction-one_output_pin">
          <body>If isUnmarshall=false and any of the triggers are for SignalEvents or TimeEvents, there must be exactly one result OutputPin with multiplicity 1..1.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="AcceptEventAction-one_output_pin-_specification">
          <language>OCL</language>
          <body>not isUnmarshall and trigger->exists(event.oclIsKindOf(SignalEvent) or event.oclIsKindOf(TimeEvent)) implies &#xD;
	output->size() = 1 and output->first().is(1,1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="AcceptEventAction-no_input_pins" name="no_input_pins" constrainedElement="AcceptEventAction">
        <ownedComment xmi:id="AcceptEventAction-no_input_pins-_ownedComment.0" annotatedElement="AcceptEventAction-no_input_pins">
          <body>AcceptEventActions may have no input pins.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="AcceptEventAction-no_input_pins-_specification">
          <language>OCL</language>
          <body>input->size() = 0</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="AcceptEventAction-no_output_pins" name="no_output_pins" constrainedElement="AcceptEventAction">
        <ownedComment xmi:id="AcceptEventAction-no_output_pins-_ownedComment.0" annotatedElement="AcceptEventAction-no_output_pins">
          <body>There are no OutputPins if the trigger events are only ChangeEvents and/or CallEvents when this action is an instance of AcceptEventAction and not an instance of a descendant of AcceptEventAction (such as AcceptCallAction).</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="AcceptEventAction-no_output_pins-_specification">
          <language>OCL</language>
          <body>(self.oclIsTypeOf(AcceptEventAction) and&#xD;
   (trigger->forAll(event.oclIsKindOf(ChangeEvent) or  &#xD;
                             event.oclIsKindOf(CallEvent))))&#xD;
implies output->size() = 0</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="AcceptEventAction-unmarshall_signal_events" name="unmarshall_signal_events" constrainedElement="AcceptEventAction">
        <ownedComment xmi:id="AcceptEventAction-unmarshall_signal_events-_ownedComment.0" annotatedElement="AcceptEventAction-unmarshall_signal_events">
          <body>If isUnmarshall is true (and this is not an AcceptCallAction), there must be exactly one trigger, which is for a SignalEvent. The number of result output pins must be the same as the number of attributes of the signal. The type and ordering of each result output pin must be the same as the corresponding attribute of the signal. The multiplicity of each result output pin must be compatible with the multiplicity of the corresponding attribute.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="AcceptEventAction-unmarshall_signal_events-_specification">
          <language>OCL</language>
          <body>isUnmarshall and self.oclIsTypeOf(AcceptEventAction) implies&#xD;
	trigger->size()=1 and&#xD;
	trigger->asSequence()->first().event.oclIsKindOf(SignalEvent) and&#xD;
	let attribute: OrderedSet(Property) = trigger->asSequence()->first().event.oclAsType(SignalEvent).signal.allAttributes() in&#xD;
	attribute->size()>0 and result->size() = attribute->size() and&#xD;
	Sequence{1..result->size()}->forAll(i | &#xD;
		result->at(i).type = attribute->at(i).type and &#xD;
		result->at(i).isOrdered = attribute->at(i).isOrdered and&#xD;
		result->at(i).includesMultiplicity(attribute->at(i)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="AcceptEventAction-conforming_type" name="conforming_type" constrainedElement="AcceptEventAction">
        <ownedComment xmi:id="AcceptEventAction-conforming_type-_ownedComment.0" annotatedElement="AcceptEventAction-conforming_type">
          <body>If isUnmarshall=false and all the triggers are for SignalEvents, then the type of the single result OutputPin must either be null or all the signals must conform to it.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="AcceptEventAction-conforming_type-_specification">
          <language>OCL</language>
          <body>not isUnmarshall implies &#xD;
	result->isEmpty() or&#xD;
	let type: Type = result->first().type in&#xD;
	type=null or &#xD;
		(trigger->forAll(event.oclIsKindOf(SignalEvent)) and &#xD;
		 trigger.event.oclAsType(SignalEvent).signal->forAll(s | s.conformsTo(type)))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="AcceptEventAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="AcceptEventAction-isUnmarshall" name="isUnmarshall">
        <ownedComment xmi:id="AcceptEventAction-isUnmarshall-_ownedComment.0" annotatedElement="AcceptEventAction-isUnmarshall">
          <body>Indicates whether there is a single OutputPin for a SignalEvent occurrence, or multiple OutputPins for attribute values of the instance of the Signal associated with a SignalEvent occurrence.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="AcceptEventAction-isUnmarshall-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="AcceptEventAction-result" name="result" type="OutputPin" isOrdered="true" aggregation="composite" subsettedProperty="Action-output" association="A_result_acceptEventAction">
        <ownedComment xmi:id="AcceptEventAction-result-_ownedComment.0" annotatedElement="AcceptEventAction-result">
          <body>OutputPins holding the values received from an Event occurrence.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="AcceptEventAction-result-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="AcceptEventAction-result-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="AcceptEventAction-trigger" name="trigger" type="Trigger" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_trigger_acceptEventAction">
        <ownedComment xmi:id="AcceptEventAction-trigger-_ownedComment.0" annotatedElement="AcceptEventAction-trigger">
          <body>The Triggers specifying the Events of which the AcceptEventAction waits for occurrences.</body>
        </ownedComment>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="AcceptEventAction-trigger-_upperValue" value="*"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Action" name="Action" isAbstract="true">
      <ownedComment xmi:id="Action-_ownedComment.0" annotatedElement="Action">
        <body>An Action is the fundamental unit of executable functionality. The execution of an Action represents some transformation or processing in the modeled system. Actions provide the ExecutableNodes within Activities and may also be used within Interactions.</body>
      </ownedComment>
      <generalization xmi:id="Action-_generalization.0" general="ExecutableNode"/>
      <ownedAttribute xmi:id="Action-context" name="context" type="Classifier" isReadOnly="true" isDerived="true" association="A_context_action">
        <ownedComment xmi:id="Action-context-_ownedComment.0" annotatedElement="Action-context">
          <body>The context Classifier of the Behavior that contains this Action, or the Behavior itself if it has no context.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Action-context-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Action-input" name="input" type="InputPin" isOrdered="true" isReadOnly="true" aggregation="composite" isDerived="true" isDerivedUnion="true" subsettedProperty="Element-ownedElement" association="A_input_action">
        <ownedComment xmi:id="Action-input-_ownedComment.0" annotatedElement="Action-input">
          <body>The ordered set of InputPins representing the inputs to the Action.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Action-input-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Action-input-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Action-isLocallyReentrant" name="isLocallyReentrant">
        <ownedComment xmi:id="Action-isLocallyReentrant-_ownedComment.0" annotatedElement="Action-isLocallyReentrant">
          <body>If true, the Action can begin a new, concurrent execution, even if there is already another execution of the Action ongoing. If false, the Action cannot begin a new execution until any previous execution has completed.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Action-isLocallyReentrant-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Action-localPostcondition" name="localPostcondition" type="Constraint" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_localPostcondition_action">
        <ownedComment xmi:id="Action-localPostcondition-_ownedComment.0" annotatedElement="Action-localPostcondition">
          <body>A Constraint that must be satisfied when execution of the Action is completed.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Action-localPostcondition-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Action-localPostcondition-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Action-localPrecondition" name="localPrecondition" type="Constraint" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_localPrecondition_action">
        <ownedComment xmi:id="Action-localPrecondition-_ownedComment.0" annotatedElement="Action-localPrecondition">
          <body>A Constraint that must be satisfied when execution of the Action is started.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Action-localPrecondition-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Action-localPrecondition-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Action-output" name="output" type="OutputPin" isOrdered="true" isReadOnly="true" aggregation="composite" isDerived="true" isDerivedUnion="true" subsettedProperty="Element-ownedElement" association="A_output_action">
        <ownedComment xmi:id="Action-output-_ownedComment.0" annotatedElement="Action-output">
          <body>The ordered set of OutputPins representing outputs from the Action.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Action-output-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Action-output-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Action-context.1" name="context" visibility="protected" bodyCondition="Action-context.1-spec" isQuery="true">
        <ownedComment xmi:id="Action-context.1-_ownedComment.0" annotatedElement="Action-context.1">
          <body>The derivation for the context property.</body>
        </ownedComment>
        <ownedRule xmi:id="Action-context.1-spec" name="spec" constrainedElement="Action-context.1 Action-context">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Action-context.1-spec-_specification">
            <language>OCL</language>
            <body>result = (let behavior: Behavior = self.containingBehavior() in&#xD;
if behavior=null then null&#xD;
else if behavior._'context' = null then behavior&#xD;
else behavior._'context'&#xD;
endif&#xD;
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Action-context.1-result" name="result" type="Classifier" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Action-context.1-result-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Action-allActions" name="allActions" bodyCondition="Action-allActions-spec" isQuery="true">
        <ownedComment xmi:id="Action-allActions-_ownedComment.0" annotatedElement="Action-allActions">
          <body>Return this Action and all Actions contained directly or indirectly in it. By default only the Action itself is returned, but the operation is overridden for StructuredActivityNodes.</body>
        </ownedComment>
        <ownedRule xmi:id="Action-allActions-spec" name="spec" constrainedElement="Action-allActions">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Action-allActions-spec-_specification">
            <language>OCL</language>
            <body>result = (self->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Action-allActions-result" name="result" type="Action" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Action-allActions-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Action-allActions-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Action-allOwnedNodes" name="allOwnedNodes" bodyCondition="Action-allOwnedNodes-spec" isQuery="true">
        <ownedComment xmi:id="Action-allOwnedNodes-_ownedComment.0" annotatedElement="Action-allOwnedNodes">
          <body>Returns all the ActivityNodes directly or indirectly owned by this Action. This includes at least all the Pins of the Action.</body>
        </ownedComment>
        <ownedRule xmi:id="Action-allOwnedNodes-spec" name="spec" constrainedElement="Action-allOwnedNodes">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Action-allOwnedNodes-spec-_specification">
            <language>OCL</language>
            <body>result = (input.oclAsType(Pin)->asSet()->union(output->asSet()))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Action-allOwnedNodes-result" name="result" type="ActivityNode" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Action-allOwnedNodes-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Action-allOwnedNodes-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Action-containingBehavior" name="containingBehavior" bodyCondition="Action-containingBehavior-spec" isQuery="true">
        <ownedRule xmi:id="Action-containingBehavior-spec" name="spec" constrainedElement="Action-containingBehavior">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Action-containingBehavior-spec-_specification">
            <language>OCL</language>
            <body>result = (if inStructuredNode&lt;>null then inStructuredNode.containingBehavior() &#xD;
else if activity&lt;>null then activity&#xD;
else interaction &#xD;
endif&#xD;
endif&#xD;
)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Action-containingBehavior-result" name="result" type="Behavior" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Action-containingBehavior-result-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ActionInputPin" name="ActionInputPin">
      <ownedComment xmi:id="ActionInputPin-_ownedComment.0" annotatedElement="ActionInputPin">
        <body>An ActionInputPin is a kind of InputPin that executes an Action to determine the values to input to another Action.</body>
      </ownedComment>
      <ownedRule xmi:id="ActionInputPin-input_pin" name="input_pin" constrainedElement="ActionInputPin">
        <ownedComment xmi:id="ActionInputPin-input_pin-_ownedComment.0" annotatedElement="ActionInputPin-input_pin">
          <body>The fromAction of an ActionInputPin must only have ActionInputPins as InputPins.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ActionInputPin-input_pin-_specification">
          <language>OCL</language>
          <body>fromAction.input->forAll(oclIsKindOf(ActionInputPin))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ActionInputPin-one_output_pin" name="one_output_pin" constrainedElement="ActionInputPin">
        <ownedComment xmi:id="ActionInputPin-one_output_pin-_ownedComment.0" annotatedElement="ActionInputPin-one_output_pin">
          <body>The fromAction of an ActionInputPin must have exactly one OutputPin.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ActionInputPin-one_output_pin-_specification">
          <language>OCL</language>
          <body>fromAction.output->size() = 1</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ActionInputPin-no_control_or_object_flow" name="no_control_or_object_flow" constrainedElement="ActionInputPin">
        <ownedComment xmi:id="ActionInputPin-no_control_or_object_flow-_ownedComment.0" annotatedElement="ActionInputPin-no_control_or_object_flow">
          <body>The fromAction of an ActionInputPin cannot have ActivityEdges coming into or out of it or its Pins.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ActionInputPin-no_control_or_object_flow-_specification">
          <language>OCL</language>
          <body>fromAction.incoming->union(outgoing)->isEmpty() and&#xD;
fromAction.input.incoming->isEmpty() and&#xD;
fromAction.output.outgoing->isEmpty()</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ActionInputPin-_generalization.0" general="InputPin"/>
      <ownedAttribute xmi:id="ActionInputPin-fromAction" name="fromAction" type="Action" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_fromAction_actionInputPin">
        <ownedComment xmi:id="ActionInputPin-fromAction-_ownedComment.0" annotatedElement="ActionInputPin-fromAction">
          <body>The Action used to provide the values of the ActionInputPin.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="AddStructuralFeatureValueAction" name="AddStructuralFeatureValueAction">
      <ownedComment xmi:id="AddStructuralFeatureValueAction-_ownedComment.0" annotatedElement="AddStructuralFeatureValueAction">
        <body>An AddStructuralFeatureValueAction is a WriteStructuralFeatureAction for adding values to a StructuralFeature.</body>
      </ownedComment>
      <ownedRule xmi:id="AddStructuralFeatureValueAction-required_value" name="required_value" constrainedElement="AddStructuralFeatureValueAction">
        <ownedComment xmi:id="AddStructuralFeatureValueAction-required_value-_ownedComment.0" annotatedElement="AddStructuralFeatureValueAction-required_value">
          <body>A value InputPin is required.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="AddStructuralFeatureValueAction-required_value-_specification">
          <language>OCL</language>
          <body>value&lt;>null</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="AddStructuralFeatureValueAction-insertAt_pin" name="insertAt_pin" constrainedElement="AddStructuralFeatureValueAction">
        <ownedComment xmi:id="AddStructuralFeatureValueAction-insertAt_pin-_ownedComment.0" annotatedElement="AddStructuralFeatureValueAction-insertAt_pin">
          <body>AddStructuralFeatureActions adding a value to ordered StructuralFeatures must have a single InputPin for the insertion point with type UnlimitedNatural and multiplicity of 1..1 if isReplaceAll=false, and must have no Input Pin for the insertion point when the StructuralFeature is unordered.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="AddStructuralFeatureValueAction-insertAt_pin-_specification">
          <language>OCL</language>
          <body>if not structuralFeature.isOrdered then insertAt = null
else 
  not isReplaceAll implies
  	insertAt&lt;>null and 
  	insertAt->forAll(type=UnlimitedNatural and is(1,1.oclAsType(UnlimitedNatural)))
endif</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="AddStructuralFeatureValueAction-_generalization.0" general="WriteStructuralFeatureAction"/>
      <ownedAttribute xmi:id="AddStructuralFeatureValueAction-insertAt" name="insertAt" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_insertAt_addStructuralFeatureValueAction">
        <ownedComment xmi:id="AddStructuralFeatureValueAction-insertAt-_ownedComment.0" annotatedElement="AddStructuralFeatureValueAction-insertAt">
          <body>The InputPin that gives the position at which to insert the value in an ordered StructuralFeature. The type of the insertAt InputPin is UnlimitedNatural, but the value cannot be zero. It is omitted for unordered StructuralFeatures.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="AddStructuralFeatureValueAction-insertAt-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="AddStructuralFeatureValueAction-isReplaceAll" name="isReplaceAll">
        <ownedComment xmi:id="AddStructuralFeatureValueAction-isReplaceAll-_ownedComment.0" annotatedElement="AddStructuralFeatureValueAction-isReplaceAll">
          <body>Specifies whether existing values of the StructuralFeature should be removed before adding the new value.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="AddStructuralFeatureValueAction-isReplaceAll-_defaultValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="AddVariableValueAction" name="AddVariableValueAction">
      <ownedComment xmi:id="AddVariableValueAction-_ownedComment.0" annotatedElement="AddVariableValueAction">
        <body>An AddVariableValueAction is a WriteVariableAction for adding values to a Variable.</body>
      </ownedComment>
      <ownedRule xmi:id="AddVariableValueAction-required_value" name="required_value" constrainedElement="AddVariableValueAction">
        <ownedComment xmi:id="AddVariableValueAction-required_value-_ownedComment.0" annotatedElement="AddVariableValueAction-required_value">
          <body>A value InputPin is required.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="AddVariableValueAction-required_value-_specification">
          <language>OCL</language>
          <body>value &lt;> null</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="AddVariableValueAction-insertAt_pin" name="insertAt_pin" constrainedElement="AddVariableValueAction">
        <ownedComment xmi:id="AddVariableValueAction-insertAt_pin-_ownedComment.0" annotatedElement="AddVariableValueAction-insertAt_pin">
          <body>AddVariableValueActions for ordered Variables must have a single InputPin for the insertion point with type UnlimtedNatural and multiplicity of 1..1 if isReplaceAll=false, otherwise the Action has no InputPin for the insertion point.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="AddVariableValueAction-insertAt_pin-_specification">
          <language>OCL</language>
          <body>if not variable.isOrdered then insertAt = null
else 
  not isReplaceAll implies
  	insertAt&lt;>null and 
  	insertAt->forAll(type=UnlimitedNatural and is(1,1.oclAsType(UnlimitedNatural)))
endif</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="AddVariableValueAction-_generalization.0" general="WriteVariableAction"/>
      <ownedAttribute xmi:id="AddVariableValueAction-insertAt" name="insertAt" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_insertAt_addVariableValueAction">
        <ownedComment xmi:id="AddVariableValueAction-insertAt-_ownedComment.0" annotatedElement="AddVariableValueAction-insertAt">
          <body>The InputPin that gives the position at which to insert a new value or move an existing value in ordered Variables. The type of the insertAt InputPin is UnlimitedNatural, but the value cannot be zero. It is omitted for unordered Variables.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="AddVariableValueAction-insertAt-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="AddVariableValueAction-isReplaceAll" name="isReplaceAll">
        <ownedComment xmi:id="AddVariableValueAction-isReplaceAll-_ownedComment.0" annotatedElement="AddVariableValueAction-isReplaceAll">
          <body>Specifies whether existing values of the Variable should be removed before adding the new value.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="AddVariableValueAction-isReplaceAll-_defaultValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="BroadcastSignalAction" name="BroadcastSignalAction">
      <ownedComment xmi:id="BroadcastSignalAction-_ownedComment.0" annotatedElement="BroadcastSignalAction">
        <body>A BroadcastSignalAction is an InvocationAction that transmits a Signal instance to all the potential target objects in the system. Values from the argument InputPins are used to provide values for the attributes of the Signal. The requestor continues execution immediately after the Signal instances are sent out and cannot receive reply values.</body>
      </ownedComment>
      <ownedRule xmi:id="BroadcastSignalAction-number_of_arguments" name="number_of_arguments" constrainedElement="BroadcastSignalAction">
        <ownedComment xmi:id="BroadcastSignalAction-number_of_arguments-_ownedComment.0" annotatedElement="BroadcastSignalAction-number_of_arguments">
          <body>The number of argument InputPins must be the same as the number of attributes in the signal.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="BroadcastSignalAction-number_of_arguments-_specification">
          <language>OCL</language>
          <body>argument->size() = signal.allAttributes()->size()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="BroadcastSignalAction-type_ordering_multiplicity" name="type_ordering_multiplicity" constrainedElement="BroadcastSignalAction">
        <ownedComment xmi:id="BroadcastSignalAction-type_ordering_multiplicity-_ownedComment.0" annotatedElement="BroadcastSignalAction-type_ordering_multiplicity">
          <body>The type, ordering, and multiplicity of an argument InputPin must be the same as the corresponding attribute of the signal.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="BroadcastSignalAction-type_ordering_multiplicity-_specification">
          <language>OCL</language>
          <body>let attribute: OrderedSet(Property) = signal.allAttributes() in&#xD;
Sequence{1..argument->size()}->forAll(i | &#xD;
	argument->at(i).type.conformsTo(attribute->at(i).type) and &#xD;
	argument->at(i).isOrdered = attribute->at(i).isOrdered and&#xD;
	argument->at(i).compatibleWith(attribute->at(i)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="BroadcastSignalAction-no_onport" name="no_onport" constrainedElement="BroadcastSignalAction">
        <ownedComment xmi:id="BroadcastSignalAction-no_onport-_ownedComment.0" annotatedElement="BroadcastSignalAction-no_onport">
          <body>A BroadcaseSignalAction may not specify onPort.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="BroadcastSignalAction-no_onport-_specification">
          <language>OCL</language>
          <body>onPort=null</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="BroadcastSignalAction-_generalization.0" general="InvocationAction"/>
      <ownedAttribute xmi:id="BroadcastSignalAction-signal" name="signal" type="Signal" association="A_signal_broadcastSignalAction">
        <ownedComment xmi:id="BroadcastSignalAction-signal-_ownedComment.0" annotatedElement="BroadcastSignalAction-signal">
          <body>The Signal whose instances are to be sent.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="CallAction" name="CallAction" isAbstract="true">
      <ownedComment xmi:id="CallAction-_ownedComment.0" annotatedElement="CallAction">
        <body>CallAction is an abstract class for Actions that invoke a Behavior with given argument values and (if the invocation is synchronous) receive reply values.</body>
      </ownedComment>
      <ownedRule xmi:id="CallAction-argument_pins" name="argument_pins" constrainedElement="CallAction">
        <ownedComment xmi:id="CallAction-argument_pins-_ownedComment.0" annotatedElement="CallAction-argument_pins">
          <body>The number of argument InputPins must be the same as the number of input (in and inout) ownedParameters of the called Behavior or Operation. The type, ordering and multiplicity of each argument InputPin must be consistent with the corresponding input Parameter.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="CallAction-argument_pins-_specification">
          <language>OCL</language>
          <body>let parameter: OrderedSet(Parameter) = self.inputParameters() in&#xD;
argument->size() = parameter->size() and&#xD;
Sequence{1..argument->size()}->forAll(i | &#xD;
	argument->at(i).type.conformsTo(parameter->at(i).type) and &#xD;
	argument->at(i).isOrdered = parameter->at(i).isOrdered and&#xD;
	argument->at(i).compatibleWith(parameter->at(i)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="CallAction-result_pins" name="result_pins" constrainedElement="CallAction">
        <ownedComment xmi:id="CallAction-result_pins-_ownedComment.0" annotatedElement="CallAction-result_pins">
          <body>The number of result OutputPins must be the same as the number of output (inout, out and return) ownedParameters of the called Behavior or Operation. The type, ordering and multiplicity of each result OutputPin must be consistent with the corresponding input Parameter.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="CallAction-result_pins-_specification">
          <language>OCL</language>
          <body>let parameter: OrderedSet(Parameter) = self.outputParameters() in&#xD;
result->size() = parameter->size() and&#xD;
Sequence{1..result->size()}->forAll(i | &#xD;
	parameter->at(i).type.conformsTo(result->at(i).type) and &#xD;
	parameter->at(i).isOrdered = result->at(i).isOrdered and&#xD;
	parameter->at(i).compatibleWith(result->at(i)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="CallAction-synchronous_call" name="synchronous_call" constrainedElement="CallAction">
        <ownedComment xmi:id="CallAction-synchronous_call-_ownedComment.0" annotatedElement="CallAction-synchronous_call">
          <body>Only synchronous CallActions can have result OutputPins.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="CallAction-synchronous_call-_specification">
          <language>OCL</language>
          <body>result->notEmpty() implies isSynchronous</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="CallAction-_generalization.0" general="InvocationAction"/>
      <ownedAttribute xmi:id="CallAction-isSynchronous" name="isSynchronous">
        <ownedComment xmi:id="CallAction-isSynchronous-_ownedComment.0" annotatedElement="CallAction-isSynchronous">
          <body>If true, the call is synchronous and the caller waits for completion of the invoked Behavior. If false, the call is asynchronous and the caller proceeds immediately and cannot receive return values.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="CallAction-isSynchronous-_defaultValue" value="true"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="CallAction-result" name="result" type="OutputPin" isOrdered="true" aggregation="composite" subsettedProperty="Action-output" association="A_result_callAction">
        <ownedComment xmi:id="CallAction-result-_ownedComment.0" annotatedElement="CallAction-result">
          <body>The OutputPins on which the reply values from the invocation are placed (if the call is synchronous).</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="CallAction-result-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="CallAction-result-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="CallAction-inputParameters" name="inputParameters" isAbstract="true" isQuery="true">
        <ownedComment xmi:id="CallAction-inputParameters-_ownedComment.0" annotatedElement="CallAction-inputParameters">
          <body>Return the in and inout ownedParameters of the Behavior or Operation being called. (This operation is abstract and should be overridden by subclasses of CallAction.)</body>
        </ownedComment>
        <ownedParameter xmi:id="CallAction-inputParameters-result" name="result" type="Parameter" isOrdered="true" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="CallAction-inputParameters-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="CallAction-inputParameters-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="CallAction-outputParameters" name="outputParameters" isAbstract="true" isQuery="true">
        <ownedComment xmi:id="CallAction-outputParameters-_ownedComment.0" annotatedElement="CallAction-outputParameters">
          <body>Return the inout, out and return ownedParameters of the Behavior or Operation being called. (This operation is abstract and should be overridden by subclasses of CallAction.)</body>
        </ownedComment>
        <ownedParameter xmi:id="CallAction-outputParameters-result" name="result" type="Parameter" isOrdered="true" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="CallAction-outputParameters-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="CallAction-outputParameters-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="CallBehaviorAction" name="CallBehaviorAction">
      <ownedComment xmi:id="CallBehaviorAction-_ownedComment.0" annotatedElement="CallBehaviorAction">
        <body>A CallBehaviorAction is a CallAction that invokes a Behavior directly. The argument values of the CallBehaviorAction are passed on the input Parameters of the invoked Behavior. If the call is synchronous, the execution of the CallBehaviorAction waits until the execution of the invoked Behavior completes and the values of output Parameters of the Behavior are placed on the result OutputPins. If the call is asynchronous, the CallBehaviorAction completes immediately and no results values can be provided.</body>
      </ownedComment>
      <ownedRule xmi:id="CallBehaviorAction-no_onport" name="no_onport" constrainedElement="CallBehaviorAction">
        <ownedComment xmi:id="CallBehaviorAction-no_onport-_ownedComment.0" annotatedElement="CallBehaviorAction-no_onport">
          <body>A CallBehaviorAction may not specify onPort.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="CallBehaviorAction-no_onport-_specification">
          <language>OCL</language>
          <body>onPort=null</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="CallBehaviorAction-_generalization.0" general="CallAction"/>
      <ownedAttribute xmi:id="CallBehaviorAction-behavior" name="behavior" type="Behavior" association="A_behavior_callBehaviorAction">
        <ownedComment xmi:id="CallBehaviorAction-behavior-_ownedComment.0" annotatedElement="CallBehaviorAction-behavior">
          <body>The Behavior being invoked.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedOperation xmi:id="CallBehaviorAction-outputParameters" name="outputParameters" bodyCondition="CallBehaviorAction-outputParameters-spec" isQuery="true" redefinedOperation="CallAction-outputParameters">
        <ownedComment xmi:id="CallBehaviorAction-outputParameters-_ownedComment.0" annotatedElement="CallBehaviorAction-outputParameters">
          <body>Return the inout, out and return ownedParameters of the Behavior being called.</body>
        </ownedComment>
        <ownedRule xmi:id="CallBehaviorAction-outputParameters-spec" name="spec" constrainedElement="CallBehaviorAction-outputParameters">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="CallBehaviorAction-outputParameters-spec-_specification">
            <language>OCL</language>
            <body>result = (behavior.outputParameters())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="CallBehaviorAction-outputParameters-result" name="result" type="Parameter" isOrdered="true" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="CallBehaviorAction-outputParameters-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="CallBehaviorAction-outputParameters-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="CallBehaviorAction-inputParameters" name="inputParameters" bodyCondition="CallBehaviorAction-inputParameters-spec" isQuery="true" redefinedOperation="CallAction-inputParameters">
        <ownedComment xmi:id="CallBehaviorAction-inputParameters-_ownedComment.0" annotatedElement="CallBehaviorAction-inputParameters">
          <body>Return the in and inout ownedParameters of the Behavior being called.</body>
        </ownedComment>
        <ownedRule xmi:id="CallBehaviorAction-inputParameters-spec" name="spec" constrainedElement="CallBehaviorAction-inputParameters">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="CallBehaviorAction-inputParameters-spec-_specification">
            <language>OCL</language>
            <body>result = (behavior.inputParameters())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="CallBehaviorAction-inputParameters-result" name="result" type="Parameter" isOrdered="true" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="CallBehaviorAction-inputParameters-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="CallBehaviorAction-inputParameters-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="CallOperationAction" name="CallOperationAction">
      <ownedComment xmi:id="CallOperationAction-_ownedComment.0" annotatedElement="CallOperationAction">
        <body>A CallOperationAction is a CallAction that transmits an Operation call request to the target object, where it may cause the invocation of associated Behavior. The argument values of the CallOperationAction are passed on the input Parameters of the Operation. If call is synchronous, the execution of the CallOperationAction waits until the execution of the invoked Operation completes and the values of output Parameters of the Operation are placed on the result OutputPins. If the call is asynchronous, the CallOperationAction completes immediately and no results values can be provided.</body>
      </ownedComment>
      <ownedRule xmi:id="CallOperationAction-type_target_pin" name="type_target_pin" constrainedElement="CallOperationAction">
        <ownedComment xmi:id="CallOperationAction-type_target_pin-_ownedComment.0" annotatedElement="CallOperationAction-type_target_pin">
          <body>If onPort has no value, the operation must be an owned or inherited feature of the type of the target InputPin, otherwise the Port given by onPort must be an owned or inherited feature of the type of the target InputPin, and the Port must have a required or provided Interface with the operation as an owned or inherited feature.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="CallOperationAction-type_target_pin-_specification">
          <language>OCL</language>
          <body>if onPort=null then  target.type.oclAsType(Classifier).allFeatures()->includes(operation)&#xD;
else target.type.oclAsType(Classifier).allFeatures()->includes(onPort) and onPort.provided->union(onPort.required).allFeatures()->includes(operation)&#xD;
endif</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="CallOperationAction-_generalization.0" general="CallAction"/>
      <ownedAttribute xmi:id="CallOperationAction-operation" name="operation" type="Operation" association="A_operation_callOperationAction">
        <ownedComment xmi:id="CallOperationAction-operation-_ownedComment.0" annotatedElement="CallOperationAction-operation">
          <body>The Operation being invoked.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="CallOperationAction-target" name="target" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_target_callOperationAction">
        <ownedComment xmi:id="CallOperationAction-target-_ownedComment.0" annotatedElement="CallOperationAction-target">
          <body>The InputPin that provides the target object to which the Operation call request is sent.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedOperation xmi:id="CallOperationAction-outputParameters" name="outputParameters" bodyCondition="CallOperationAction-outputParameters-spec" isQuery="true" redefinedOperation="CallAction-outputParameters">
        <ownedComment xmi:id="CallOperationAction-outputParameters-_ownedComment.0" annotatedElement="CallOperationAction-outputParameters">
          <body>Return the inout, out and return ownedParameters of the Operation being called.</body>
        </ownedComment>
        <ownedRule xmi:id="CallOperationAction-outputParameters-spec" name="spec" constrainedElement="CallOperationAction-outputParameters">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="CallOperationAction-outputParameters-spec-_specification">
            <language>OCL</language>
            <body>result = (operation.outputParameters())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="CallOperationAction-outputParameters-result" name="result" type="Parameter" isOrdered="true" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="CallOperationAction-outputParameters-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="CallOperationAction-outputParameters-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="CallOperationAction-inputParameters" name="inputParameters" bodyCondition="CallOperationAction-inputParameters-spec" isQuery="true" redefinedOperation="CallAction-inputParameters">
        <ownedComment xmi:id="CallOperationAction-inputParameters-_ownedComment.0" annotatedElement="CallOperationAction-inputParameters">
          <body>Return the in and inout ownedParameters of the Operation being called.</body>
        </ownedComment>
        <ownedRule xmi:id="CallOperationAction-inputParameters-spec" name="spec" constrainedElement="CallOperationAction-inputParameters">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="CallOperationAction-inputParameters-spec-_specification">
            <language>OCL</language>
            <body>result = (operation.inputParameters())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="CallOperationAction-inputParameters-result" name="result" type="Parameter" isOrdered="true" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="CallOperationAction-inputParameters-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="CallOperationAction-inputParameters-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Clause" name="Clause">
      <ownedComment xmi:id="Clause-_ownedComment.0" annotatedElement="Clause">
        <body>A Clause is an Element that represents a single branch of a ConditionalNode, including a test and a body section. The body section is executed only if (but not necessarily if) the test section evaluates to true.</body>
      </ownedComment>
      <ownedRule xmi:id="Clause-body_output_pins" name="body_output_pins" constrainedElement="Clause">
        <ownedComment xmi:id="Clause-body_output_pins-_ownedComment.0" annotatedElement="Clause-body_output_pins">
          <body>The bodyOutput Pins are OutputPins on Actions in the body of the Clause.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Clause-body_output_pins-_specification">
          <language>OCL</language>
          <body>_'body'.oclAsType(Action).allActions().output->includesAll(bodyOutput)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Clause-decider_output" name="decider_output" constrainedElement="Clause">
        <ownedComment xmi:id="Clause-decider_output-_ownedComment.0" annotatedElement="Clause-decider_output">
          <body>The decider Pin must be on an Action in the test section of the Clause and must be of type Boolean with multiplicity 1..1.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Clause-decider_output-_specification">
          <language>OCL</language>
          <body>test.oclAsType(Action).allActions().output->includes(decider) and&#xD;
decider.type = Boolean and&#xD;
decider.is(1,1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Clause-test_and_body" name="test_and_body" constrainedElement="Clause">
        <ownedComment xmi:id="Clause-test_and_body-_ownedComment.0" annotatedElement="Clause-test_and_body">
          <body>The test and body parts of a ConditionalNode must be disjoint with each other.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Clause-test_and_body-_specification">
          <language>OCL</language>
          <body>test->intersection(_'body')->isEmpty()</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Clause-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="Clause-body" name="body" type="ExecutableNode" association="A_body_clause">
        <ownedComment xmi:id="Clause-body-_ownedComment.0" annotatedElement="Clause-body">
          <body>The set of ExecutableNodes that are executed if the test evaluates to true and the Clause is chosen over other Clauses within the ConditionalNode that also have tests that evaluate to true.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Clause-body-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Clause-body-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Clause-bodyOutput" name="bodyOutput" type="OutputPin" isOrdered="true" association="A_bodyOutput_clause">
        <ownedComment xmi:id="Clause-bodyOutput-_ownedComment.0" annotatedElement="Clause-bodyOutput">
          <body>The OutputPins on Actions within the body section whose values are moved to the result OutputPins of the containing ConditionalNode after execution of the body.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Clause-bodyOutput-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Clause-bodyOutput-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Clause-decider" name="decider" type="OutputPin" association="A_decider_clause">
        <ownedComment xmi:id="Clause-decider-_ownedComment.0" annotatedElement="Clause-decider">
          <body>An OutputPin on an Action in the test section whose Boolean value determines the result of the test.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="Clause-predecessorClause" name="predecessorClause" type="Clause" association="A_predecessorClause_successorClause">
        <ownedComment xmi:id="Clause-predecessorClause-_ownedComment.0" annotatedElement="Clause-predecessorClause">
          <body>A set of Clauses whose tests must all evaluate to false before this Clause can evaluate its test.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Clause-predecessorClause-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Clause-predecessorClause-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Clause-successorClause" name="successorClause" type="Clause" association="A_predecessorClause_successorClause">
        <ownedComment xmi:id="Clause-successorClause-_ownedComment.0" annotatedElement="Clause-successorClause">
          <body>A set of Clauses that may not evaluate their tests unless the test for this Clause evaluates to false.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Clause-successorClause-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Clause-successorClause-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Clause-test" name="test" type="ExecutableNode" association="A_test_clause">
        <ownedComment xmi:id="Clause-test-_ownedComment.0" annotatedElement="Clause-test">
          <body>The set of ExecutableNodes that are executed in order to provide a test result for the Clause.</body>
        </ownedComment>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Clause-test-_upperValue" value="*"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ClearAssociationAction" name="ClearAssociationAction">
      <ownedComment xmi:id="ClearAssociationAction-_ownedComment.0" annotatedElement="ClearAssociationAction">
        <body>A ClearAssociationAction is an Action that destroys all links of an Association in which a particular object participates.</body>
      </ownedComment>
      <ownedRule xmi:id="ClearAssociationAction-multiplicity" name="multiplicity" constrainedElement="ClearAssociationAction">
        <ownedComment xmi:id="ClearAssociationAction-multiplicity-_ownedComment.0" annotatedElement="ClearAssociationAction-multiplicity">
          <body>The multiplicity of the object InputPin is 1..1.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ClearAssociationAction-multiplicity-_specification">
          <language>OCL</language>
          <body>object.is(1,1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ClearAssociationAction-same_type" name="same_type" constrainedElement="ClearAssociationAction">
        <ownedComment xmi:id="ClearAssociationAction-same_type-_ownedComment.0" annotatedElement="ClearAssociationAction-same_type">
          <body>The type of the InputPin must conform to the type of at least one of the memberEnds of the association.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ClearAssociationAction-same_type-_specification">
          <language>OCL</language>
          <body>association.memberEnd->exists(self.object.type.conformsTo(type))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ClearAssociationAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="ClearAssociationAction-association" name="association" type="Association" association="A_association_clearAssociationAction">
        <ownedComment xmi:id="ClearAssociationAction-association-_ownedComment.0" annotatedElement="ClearAssociationAction-association">
          <body>The Association to be cleared.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ClearAssociationAction-object" name="object" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_object_clearAssociationAction">
        <ownedComment xmi:id="ClearAssociationAction-object-_ownedComment.0" annotatedElement="ClearAssociationAction-object">
          <body>The InputPin that gives the object whose participation in the Association is to be cleared.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ClearStructuralFeatureAction" name="ClearStructuralFeatureAction">
      <ownedComment xmi:id="ClearStructuralFeatureAction-_ownedComment.0" annotatedElement="ClearStructuralFeatureAction">
        <body>A ClearStructuralFeatureAction is a StructuralFeatureAction that removes all values of a StructuralFeature.</body>
      </ownedComment>
      <ownedRule xmi:id="ClearStructuralFeatureAction-type_of_result" name="type_of_result" constrainedElement="ClearStructuralFeatureAction">
        <ownedComment xmi:id="ClearStructuralFeatureAction-type_of_result-_ownedComment.0" annotatedElement="ClearStructuralFeatureAction-type_of_result">
          <body>The type of the result OutputPin is the same as the type of the inherited object InputPin.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ClearStructuralFeatureAction-type_of_result-_specification">
          <language>OCL</language>
          <body>result&lt;>null implies result.type = object.type</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ClearStructuralFeatureAction-multiplicity_of_result" name="multiplicity_of_result" constrainedElement="ClearStructuralFeatureAction">
        <ownedComment xmi:id="ClearStructuralFeatureAction-multiplicity_of_result-_ownedComment.0" annotatedElement="ClearStructuralFeatureAction-multiplicity_of_result">
          <body>The multiplicity of the result OutputPin must be 1..1.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ClearStructuralFeatureAction-multiplicity_of_result-_specification">
          <language>OCL</language>
          <body>result&lt;>null implies result.is(1,1)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ClearStructuralFeatureAction-_generalization.0" general="StructuralFeatureAction"/>
      <ownedAttribute xmi:id="ClearStructuralFeatureAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_clearStructuralFeatureAction">
        <ownedComment xmi:id="ClearStructuralFeatureAction-result-_ownedComment.0" annotatedElement="ClearStructuralFeatureAction-result">
          <body>The OutputPin on which is put the input object as modified by the ClearStructuralFeatureAction.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ClearStructuralFeatureAction-result-_lowerValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ClearVariableAction" name="ClearVariableAction">
      <ownedComment xmi:id="ClearVariableAction-_ownedComment.0" annotatedElement="ClearVariableAction">
        <body>A ClearVariableAction is a VariableAction that removes all values of a Variable.</body>
      </ownedComment>
      <generalization xmi:id="ClearVariableAction-_generalization.0" general="VariableAction"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ConditionalNode" name="ConditionalNode">
      <ownedComment xmi:id="ConditionalNode-_ownedComment.0" annotatedElement="ConditionalNode">
        <body>A ConditionalNode is a StructuredActivityNode that chooses one among some number of alternative collections of ExecutableNodes to execute.</body>
      </ownedComment>
      <ownedRule xmi:id="ConditionalNode-result_no_incoming" name="result_no_incoming" constrainedElement="ConditionalNode">
        <ownedComment xmi:id="ConditionalNode-result_no_incoming-_ownedComment.0" annotatedElement="ConditionalNode-result_no_incoming">
          <body>The result OutputPins have no incoming edges.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ConditionalNode-result_no_incoming-_specification">
          <language>OCL</language>
          <body>result.incoming->isEmpty()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ConditionalNode-no_input_pins" name="no_input_pins" constrainedElement="ConditionalNode">
        <ownedComment xmi:id="ConditionalNode-no_input_pins-_ownedComment.0" annotatedElement="ConditionalNode-no_input_pins">
          <body>A ConditionalNode has no InputPins.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ConditionalNode-no_input_pins-_specification">
          <language>OCL</language>
          <body>input->isEmpty()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ConditionalNode-one_clause_with_executable_node" name="one_clause_with_executable_node" constrainedElement="ConditionalNode">
        <ownedComment xmi:id="ConditionalNode-one_clause_with_executable_node-_ownedComment.0" annotatedElement="ConditionalNode-one_clause_with_executable_node">
          <body>No ExecutableNode in the ConditionNode may appear in the test or body part of more than one clause of a ConditionalNode.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ConditionalNode-one_clause_with_executable_node-_specification">
          <language>OCL</language>
          <body>node->select(oclIsKindOf(ExecutableNode)).oclAsType(ExecutableNode)->forAll(n | &#xD;
	self.clause->select(test->union(_'body')->includes(n))->size()=1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ConditionalNode-matching_output_pins" name="matching_output_pins" constrainedElement="ConditionalNode">
        <ownedComment xmi:id="ConditionalNode-matching_output_pins-_ownedComment.0" annotatedElement="ConditionalNode-matching_output_pins">
          <body>Each clause of a ConditionalNode must have the same number of bodyOutput pins as the ConditionalNode has result OutputPins, and each clause bodyOutput Pin must be compatible with the corresponding result OutputPin (by positional order) in type, multiplicity, ordering, and uniqueness.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ConditionalNode-matching_output_pins-_specification">
          <language>OCL</language>
          <body>clause->forAll(&#xD;
	bodyOutput->size()=self.result->size() and&#xD;
	Sequence{1..self.result->size()}->forAll(i |&#xD;
		bodyOutput->at(i).type.conformsTo(result->at(i).type) and&#xD;
		bodyOutput->at(i).isOrdered = result->at(i).isOrdered and&#xD;
		bodyOutput->at(i).isUnique = result->at(i).isUnique and&#xD;
		bodyOutput->at(i).compatibleWith(result->at(i))))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ConditionalNode-executable_nodes" name="executable_nodes" constrainedElement="ConditionalNode">
        <ownedComment xmi:id="ConditionalNode-executable_nodes-_ownedComment.0" annotatedElement="ConditionalNode-executable_nodes">
          <body>The union of the ExecutableNodes in the test and body parts of all clauses must be the same as the subset of nodes contained in the ConditionalNode (considered as a StructuredActivityNode) that are ExecutableNodes.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ConditionalNode-executable_nodes-_specification">
          <language>OCL</language>
          <body>clause.test->union(clause._'body') = node->select(oclIsKindOf(ExecutableNode)).oclAsType(ExecutableNode)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ConditionalNode-clause_no_predecessor" name="clause_no_predecessor" constrainedElement="ConditionalNode">
        <ownedComment xmi:id="ConditionalNode-clause_no_predecessor-_ownedComment.0" annotatedElement="ConditionalNode-clause_no_predecessor">
          <body>No two clauses within a ConditionalNode may be predecessorClauses of each other, either directly or indirectly.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ConditionalNode-clause_no_predecessor-_specification">
          <language>OCL</language>
          <body>clause->closure(predecessorClause)->intersection(clause)->isEmpty()</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ConditionalNode-_generalization.0" general="StructuredActivityNode"/>
      <ownedAttribute xmi:id="ConditionalNode-clause" name="clause" type="Clause" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_clause_conditionalNode">
        <ownedComment xmi:id="ConditionalNode-clause-_ownedComment.0" annotatedElement="ConditionalNode-clause">
          <body>The set of Clauses composing the ConditionalNode.</body>
        </ownedComment>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ConditionalNode-clause-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ConditionalNode-isAssured" name="isAssured">
        <ownedComment xmi:id="ConditionalNode-isAssured-_ownedComment.0" annotatedElement="ConditionalNode-isAssured">
          <body>If true, the modeler asserts that the test for at least one Clause of the ConditionalNode will succeed.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ConditionalNode-isAssured-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ConditionalNode-isDeterminate" name="isDeterminate">
        <ownedComment xmi:id="ConditionalNode-isDeterminate-_ownedComment.0" annotatedElement="ConditionalNode-isDeterminate">
          <body>If true, the modeler asserts that the test for at most one Clause of the ConditionalNode will succeed.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ConditionalNode-isDeterminate-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ConditionalNode-result" name="result" type="OutputPin" isOrdered="true" aggregation="composite" redefinedProperty="StructuredActivityNode-structuredNodeOutput" association="A_result_conditionalNode">
        <ownedComment xmi:id="ConditionalNode-result-_ownedComment.0" annotatedElement="ConditionalNode-result">
          <body>The OutputPins that onto which are moved values from the bodyOutputs of the Clause selected for execution.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ConditionalNode-result-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ConditionalNode-result-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="ConditionalNode-allActions" name="allActions" bodyCondition="ConditionalNode-allActions-spec" isQuery="true" redefinedOperation="Action-allActions StructuredActivityNode-allActions">
        <ownedComment xmi:id="ConditionalNode-allActions-_ownedComment.0" annotatedElement="ConditionalNode-allActions">
          <body>Return only this ConditionalNode. This prevents Actions within the ConditionalNode from having their OutputPins used as bodyOutputs or decider Pins in containing LoopNodes or ConditionalNodes.</body>
        </ownedComment>
        <ownedRule xmi:id="ConditionalNode-allActions-spec" name="spec" constrainedElement="ConditionalNode-allActions">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ConditionalNode-allActions-spec-_specification">
            <language>OCL</language>
            <body>result = (self->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="ConditionalNode-allActions-result" name="result" type="Action" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ConditionalNode-allActions-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ConditionalNode-allActions-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="CreateLinkAction" name="CreateLinkAction">
      <ownedComment xmi:id="CreateLinkAction-_ownedComment.0" annotatedElement="CreateLinkAction">
        <body>A CreateLinkAction is a WriteLinkAction for creating links.</body>
      </ownedComment>
      <ownedRule xmi:id="CreateLinkAction-association_not_abstract" name="association_not_abstract" constrainedElement="CreateLinkAction">
        <ownedComment xmi:id="CreateLinkAction-association_not_abstract-_ownedComment.0" annotatedElement="CreateLinkAction-association_not_abstract">
          <body>The Association cannot be an abstract Classifier.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="CreateLinkAction-association_not_abstract-_specification">
          <language>OCL</language>
          <body>not self.association().isAbstract</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="CreateLinkAction-_generalization.0" general="WriteLinkAction"/>
      <ownedAttribute xmi:id="CreateLinkAction-endData" name="endData" type="LinkEndCreationData" aggregation="composite" redefinedProperty="LinkAction-endData" association="A_endData_createLinkAction">
        <ownedComment xmi:id="CreateLinkAction-endData-_ownedComment.0" annotatedElement="CreateLinkAction-endData">
          <body>The LinkEndData that specifies the values to be placed on the Association ends for the new link.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="CreateLinkAction-endData-_lowerValue" value="2"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="CreateLinkAction-endData-_upperValue" value="*"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="CreateLinkObjectAction" name="CreateLinkObjectAction">
      <ownedComment xmi:id="CreateLinkObjectAction-_ownedComment.0" annotatedElement="CreateLinkObjectAction">
        <body>A CreateLinkObjectAction is a CreateLinkAction for creating link objects (AssociationClasse instances).</body>
      </ownedComment>
      <ownedRule xmi:id="CreateLinkObjectAction-multiplicity" name="multiplicity" constrainedElement="CreateLinkObjectAction">
        <ownedComment xmi:id="CreateLinkObjectAction-multiplicity-_ownedComment.0" annotatedElement="CreateLinkObjectAction-multiplicity">
          <body>The multiplicity of the OutputPin is 1..1.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="CreateLinkObjectAction-multiplicity-_specification">
          <language>OCL</language>
          <body>result.is(1,1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="CreateLinkObjectAction-type_of_result" name="type_of_result" constrainedElement="CreateLinkObjectAction">
        <ownedComment xmi:id="CreateLinkObjectAction-type_of_result-_ownedComment.0" annotatedElement="CreateLinkObjectAction-type_of_result">
          <body>The type of the result OutputPin must be the same as the Association of the CreateLinkObjectAction.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="CreateLinkObjectAction-type_of_result-_specification">
          <language>OCL</language>
          <body>result.type = association()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="CreateLinkObjectAction-association_class" name="association_class" constrainedElement="CreateLinkObjectAction">
        <ownedComment xmi:id="CreateLinkObjectAction-association_class-_ownedComment.0" annotatedElement="CreateLinkObjectAction-association_class">
          <body>The Association must be an AssociationClass.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="CreateLinkObjectAction-association_class-_specification">
          <language>OCL</language>
          <body>self.association().oclIsKindOf(AssociationClass)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="CreateLinkObjectAction-_generalization.0" general="CreateLinkAction"/>
      <ownedAttribute xmi:id="CreateLinkObjectAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_createLinkObjectAction">
        <ownedComment xmi:id="CreateLinkObjectAction-result-_ownedComment.0" annotatedElement="CreateLinkObjectAction-result">
          <body>The output pin on which the newly created link object is placed.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="CreateObjectAction" name="CreateObjectAction">
      <ownedComment xmi:id="CreateObjectAction-_ownedComment.0" annotatedElement="CreateObjectAction">
        <body>A CreateObjectAction is an Action that creates an instance of the specified Classifier.</body>
      </ownedComment>
      <ownedRule xmi:id="CreateObjectAction-classifier_not_abstract" name="classifier_not_abstract" constrainedElement="CreateObjectAction">
        <ownedComment xmi:id="CreateObjectAction-classifier_not_abstract-_ownedComment.0" annotatedElement="CreateObjectAction-classifier_not_abstract">
          <body>The classifier cannot be abstract.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="CreateObjectAction-classifier_not_abstract-_specification">
          <language>OCL</language>
          <body>not classifier.isAbstract</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="CreateObjectAction-multiplicity" name="multiplicity" constrainedElement="CreateObjectAction">
        <ownedComment xmi:id="CreateObjectAction-multiplicity-_ownedComment.0" annotatedElement="CreateObjectAction-multiplicity">
          <body>The multiplicity of the result OutputPin is 1..1.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="CreateObjectAction-multiplicity-_specification">
          <language>OCL</language>
          <body>result.is(1,1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="CreateObjectAction-classifier_not_association_class" name="classifier_not_association_class" constrainedElement="CreateObjectAction">
        <ownedComment xmi:id="CreateObjectAction-classifier_not_association_class-_ownedComment.0" annotatedElement="CreateObjectAction-classifier_not_association_class">
          <body>The classifier cannot be an AssociationClass.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="CreateObjectAction-classifier_not_association_class-_specification">
          <language>OCL</language>
          <body>not classifier.oclIsKindOf(AssociationClass)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="CreateObjectAction-same_type" name="same_type" constrainedElement="CreateObjectAction">
        <ownedComment xmi:id="CreateObjectAction-same_type-_ownedComment.0" annotatedElement="CreateObjectAction-same_type">
          <body>The type of the result OutputPin must be the same as the classifier of the CreateObjectAction.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="CreateObjectAction-same_type-_specification">
          <language>OCL</language>
          <body>result.type = classifier</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="CreateObjectAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="CreateObjectAction-classifier" name="classifier" type="Classifier" association="A_classifier_createObjectAction">
        <ownedComment xmi:id="CreateObjectAction-classifier-_ownedComment.0" annotatedElement="CreateObjectAction-classifier">
          <body>The Classifier to be instantiated.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="CreateObjectAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_createObjectAction">
        <ownedComment xmi:id="CreateObjectAction-result-_ownedComment.0" annotatedElement="CreateObjectAction-result">
          <body>The OutputPin on which the newly created object is placed.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="DestroyLinkAction" name="DestroyLinkAction">
      <ownedComment xmi:id="DestroyLinkAction-_ownedComment.0" annotatedElement="DestroyLinkAction">
        <body>A DestroyLinkAction is a WriteLinkAction that destroys links (including link objects).</body>
      </ownedComment>
      <generalization xmi:id="DestroyLinkAction-_generalization.0" general="WriteLinkAction"/>
      <ownedAttribute xmi:id="DestroyLinkAction-endData" name="endData" type="LinkEndDestructionData" aggregation="composite" redefinedProperty="LinkAction-endData" association="A_endData_destroyLinkAction">
        <ownedComment xmi:id="DestroyLinkAction-endData-_ownedComment.0" annotatedElement="DestroyLinkAction-endData">
          <body>The LinkEndData that the values of the Association ends for the links to be destroyed.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DestroyLinkAction-endData-_lowerValue" value="2"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DestroyLinkAction-endData-_upperValue" value="*"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="DestroyObjectAction" name="DestroyObjectAction">
      <ownedComment xmi:id="DestroyObjectAction-_ownedComment.0" annotatedElement="DestroyObjectAction">
        <body>A DestroyObjectAction is an Action that destroys objects.</body>
      </ownedComment>
      <ownedRule xmi:id="DestroyObjectAction-multiplicity" name="multiplicity" constrainedElement="DestroyObjectAction">
        <ownedComment xmi:id="DestroyObjectAction-multiplicity-_ownedComment.0" annotatedElement="DestroyObjectAction-multiplicity">
          <body>The multiplicity of the targe IinputPin is 1..1.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="DestroyObjectAction-multiplicity-_specification">
          <language>OCL</language>
          <body>target.is(1,1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="DestroyObjectAction-no_type" name="no_type" constrainedElement="DestroyObjectAction">
        <ownedComment xmi:id="DestroyObjectAction-no_type-_ownedComment.0" annotatedElement="DestroyObjectAction-no_type">
          <body>The target InputPin has no type.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="DestroyObjectAction-no_type-_specification">
          <language>OCL</language>
          <body>target.type= null</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="DestroyObjectAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="DestroyObjectAction-isDestroyLinks" name="isDestroyLinks">
        <ownedComment xmi:id="DestroyObjectAction-isDestroyLinks-_ownedComment.0" annotatedElement="DestroyObjectAction-isDestroyLinks">
          <body>Specifies whether links in which the object participates are destroyed along with the object.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="DestroyObjectAction-isDestroyLinks-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="DestroyObjectAction-isDestroyOwnedObjects" name="isDestroyOwnedObjects">
        <ownedComment xmi:id="DestroyObjectAction-isDestroyOwnedObjects-_ownedComment.0" annotatedElement="DestroyObjectAction-isDestroyOwnedObjects">
          <body>Specifies whether objects owned by the object (via composition) are destroyed along with the object.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="DestroyObjectAction-isDestroyOwnedObjects-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="DestroyObjectAction-target" name="target" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_target_destroyObjectAction">
        <ownedComment xmi:id="DestroyObjectAction-target-_ownedComment.0" annotatedElement="DestroyObjectAction-target">
          <body>The InputPin providing the object to be destroyed.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ExpansionNode" name="ExpansionNode">
      <ownedComment xmi:id="ExpansionNode-_ownedComment.0" annotatedElement="ExpansionNode">
        <body>An ExpansionNode is an ObjectNode used to indicate a collection input or output for an ExpansionRegion. A collection input of an ExpansionRegion contains a collection that is broken into its individual elements inside the region, whose content is executed once per element. A collection output of an ExpansionRegion combines individual elements produced by the execution of the region into a collection for use outside the region.</body>
      </ownedComment>
      <ownedRule xmi:id="ExpansionNode-region_as_input_or_output" name="region_as_input_or_output" constrainedElement="ExpansionNode">
        <ownedComment xmi:id="ExpansionNode-region_as_input_or_output-_ownedComment.0" annotatedElement="ExpansionNode-region_as_input_or_output">
          <body>One of regionAsInput or regionAsOutput must be non-empty, but not both.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ExpansionNode-region_as_input_or_output-_specification">
          <language>OCL</language>
          <body>regionAsInput->notEmpty() xor regionAsOutput->notEmpty()</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ExpansionNode-_generalization.0" general="ObjectNode"/>
      <ownedAttribute xmi:id="ExpansionNode-regionAsInput" name="regionAsInput" type="ExpansionRegion" association="A_inputElement_regionAsInput">
        <ownedComment xmi:id="ExpansionNode-regionAsInput-_ownedComment.0" annotatedElement="ExpansionNode-regionAsInput">
          <body>The ExpansionRegion for which the ExpansionNode is an input.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ExpansionNode-regionAsInput-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ExpansionNode-regionAsOutput" name="regionAsOutput" type="ExpansionRegion" association="A_outputElement_regionAsOutput">
        <ownedComment xmi:id="ExpansionNode-regionAsOutput-_ownedComment.0" annotatedElement="ExpansionNode-regionAsOutput">
          <body>The ExpansionRegion for which the ExpansionNode is an output.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ExpansionNode-regionAsOutput-_lowerValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ExpansionRegion" name="ExpansionRegion">
      <ownedComment xmi:id="ExpansionRegion-_ownedComment.0" annotatedElement="ExpansionRegion">
        <body>An ExpansionRegion is a StructuredActivityNode that executes its content multiple times corresponding to elements of input collection(s).</body>
      </ownedComment>
      <generalization xmi:id="ExpansionRegion-_generalization.0" general="StructuredActivityNode"/>
      <ownedAttribute xmi:id="ExpansionRegion-inputElement" name="inputElement" type="ExpansionNode" association="A_inputElement_regionAsInput">
        <ownedComment xmi:id="ExpansionRegion-inputElement-_ownedComment.0" annotatedElement="ExpansionRegion-inputElement">
          <body>The ExpansionNodes that hold the input collections for the ExpansionRegion.</body>
        </ownedComment>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ExpansionRegion-inputElement-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ExpansionRegion-mode" name="mode" type="ExpansionKind">
        <ownedComment xmi:id="ExpansionRegion-mode-_ownedComment.0" annotatedElement="ExpansionRegion-mode">
          <body>The mode in which the ExpansionRegion executes its contents. If parallel, executions are concurrent. If iterative, executions are sequential. If stream, a stream of values flows into a single execution.</body>
        </ownedComment>
        <defaultValue xmi:type="uml:InstanceValue" xmi:id="ExpansionRegion-mode-_defaultValue" type="ExpansionKind" instance="ExpansionKind-iterative"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ExpansionRegion-outputElement" name="outputElement" type="ExpansionNode" association="A_outputElement_regionAsOutput">
        <ownedComment xmi:id="ExpansionRegion-outputElement-_ownedComment.0" annotatedElement="ExpansionRegion-outputElement">
          <body>The ExpansionNodes that form the output collections of the ExpansionRegion.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ExpansionRegion-outputElement-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ExpansionRegion-outputElement-_upperValue" value="*"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="InputPin" name="InputPin">
      <ownedComment xmi:id="InputPin-_ownedComment.0" annotatedElement="InputPin">
        <body>An InputPin is a Pin that holds input values to be consumed by an Action.</body>
      </ownedComment>
      <ownedRule xmi:id="InputPin-outgoing_edges_structured_only" name="outgoing_edges_structured_only" constrainedElement="InputPin">
        <ownedComment xmi:id="InputPin-outgoing_edges_structured_only-_ownedComment.0" annotatedElement="InputPin-outgoing_edges_structured_only">
          <body>An InputPin may have outgoing ActivityEdges only when it is owned by a StructuredActivityNode, and these edges must target a node contained (directly or indirectly) in the owning StructuredActivityNode.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="InputPin-outgoing_edges_structured_only-_specification">
          <language>OCL</language>
          <body>outgoing->notEmpty() implies&#xD;
	action&lt;>null and&#xD;
	action.oclIsKindOf(StructuredActivityNode) and&#xD;
	action.oclAsType(StructuredActivityNode).allOwnedNodes()->includesAll(outgoing.target)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="InputPin-_generalization.0" general="Pin"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="InvocationAction" name="InvocationAction" isAbstract="true">
      <ownedComment xmi:id="InvocationAction-_ownedComment.0" annotatedElement="InvocationAction">
        <body>InvocationAction is an abstract class for the various actions that request Behavior invocation.</body>
      </ownedComment>
      <generalization xmi:id="InvocationAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="InvocationAction-argument" name="argument" type="InputPin" isOrdered="true" aggregation="composite" subsettedProperty="Action-input" association="A_argument_invocationAction">
        <ownedComment xmi:id="InvocationAction-argument-_ownedComment.0" annotatedElement="InvocationAction-argument">
          <body>The InputPins that provide the argument values passed in the invocation request.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InvocationAction-argument-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InvocationAction-argument-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="InvocationAction-onPort" name="onPort" type="Port" association="A_onPort_invocationAction">
        <ownedComment xmi:id="InvocationAction-onPort-_ownedComment.0" annotatedElement="InvocationAction-onPort">
          <body>For CallOperationActions, SendSignalActions, and SendObjectActions, an optional Port of the target object through which the invocation request is sent.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InvocationAction-onPort-_lowerValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="LinkAction" name="LinkAction" isAbstract="true">
      <ownedComment xmi:id="LinkAction-_ownedComment.0" annotatedElement="LinkAction">
        <body>LinkAction is an abstract class for all Actions that identify the links to be acted on using LinkEndData.</body>
      </ownedComment>
      <ownedRule xmi:id="LinkAction-same_pins" name="same_pins" constrainedElement="LinkAction">
        <ownedComment xmi:id="LinkAction-same_pins-_ownedComment.0" annotatedElement="LinkAction-same_pins">
          <body>The inputValue InputPins is the same as the union of all the InputPins referenced by the endData.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="LinkAction-same_pins-_specification">
          <language>OCL</language>
          <body>inputValue->asBag()=endData.allPins()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="LinkAction-same_association" name="same_association" constrainedElement="LinkAction">
        <ownedComment xmi:id="LinkAction-same_association-_ownedComment.0" annotatedElement="LinkAction-same_association">
          <body>The ends of the endData must all be from the same Association and include all and only the memberEnds of that association.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="LinkAction-same_association-_specification">
          <language>OCL</language>
          <body>endData.end = self.association().memberEnd->asBag()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="LinkAction-not_static" name="not_static" constrainedElement="LinkAction">
        <ownedComment xmi:id="LinkAction-not_static-_ownedComment.0" annotatedElement="LinkAction-not_static">
          <body>The ends of the endData must not be static.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="LinkAction-not_static-_specification">
          <language>OCL</language>
          <body>endData->forAll(not end.isStatic)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="LinkAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="LinkAction-endData" name="endData" type="LinkEndData" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_endData_linkAction">
        <ownedComment xmi:id="LinkAction-endData-_ownedComment.0" annotatedElement="LinkAction-endData">
          <body>The LinkEndData identifying the values on the ends of the links acting on by this LinkAction.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LinkAction-endData-_lowerValue" value="2"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LinkAction-endData-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="LinkAction-inputValue" name="inputValue" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_inputValue_linkAction">
        <ownedComment xmi:id="LinkAction-inputValue-_ownedComment.0" annotatedElement="LinkAction-inputValue">
          <body>InputPins used by the LinkEndData of the LinkAction.</body>
        </ownedComment>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LinkAction-inputValue-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="LinkAction-association" name="association" bodyCondition="LinkAction-association-spec" isQuery="true">
        <ownedComment xmi:id="LinkAction-association-_ownedComment.0" annotatedElement="LinkAction-association">
          <body>Returns the Association acted on by this LinkAction.</body>
        </ownedComment>
        <ownedRule xmi:id="LinkAction-association-spec" name="spec" constrainedElement="LinkAction-association">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LinkAction-association-spec-_specification">
            <language>OCL</language>
            <body>result = (endData->asSequence()->first().end.association)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LinkAction-association-result" name="result" type="Association" direction="return"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="LinkEndCreationData" name="LinkEndCreationData">
      <ownedComment xmi:id="LinkEndCreationData-_ownedComment.0" annotatedElement="LinkEndCreationData">
        <body>LinkEndCreationData is LinkEndData used to provide values for one end of a link to be created by a CreateLinkAction.</body>
      </ownedComment>
      <ownedRule xmi:id="LinkEndCreationData-insertAt_pin" name="insertAt_pin" constrainedElement="LinkEndCreationData">
        <ownedComment xmi:id="LinkEndCreationData-insertAt_pin-_ownedComment.0" annotatedElement="LinkEndCreationData-insertAt_pin">
          <body>LinkEndCreationData for ordered Association ends must have a single insertAt InputPin for the insertion point with type UnlimitedNatural and multiplicity of 1..1, if isReplaceAll=false, and must have no InputPin for the insertion point when the association ends are unordered.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="LinkEndCreationData-insertAt_pin-_specification">
          <language>OCL</language>
          <body>if  not end.isOrdered
then insertAt = null
else
	not isReplaceAll=false implies
	insertAt &lt;> null and insertAt->forAll(type=UnlimitedNatural and is(1,1))
endif</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="LinkEndCreationData-_generalization.0" general="LinkEndData"/>
      <ownedAttribute xmi:id="LinkEndCreationData-insertAt" name="insertAt" type="InputPin" association="A_insertAt_linkEndCreationData">
        <ownedComment xmi:id="LinkEndCreationData-insertAt-_ownedComment.0" annotatedElement="LinkEndCreationData-insertAt">
          <body>For ordered Association ends, the InputPin that provides the position where the new link should be inserted or where an existing link should be moved to. The type of the insertAt InputPin is UnlimitedNatural, but the input cannot be zero. It is omitted for Association ends that are not ordered.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LinkEndCreationData-insertAt-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="LinkEndCreationData-isReplaceAll" name="isReplaceAll">
        <ownedComment xmi:id="LinkEndCreationData-isReplaceAll-_ownedComment.0" annotatedElement="LinkEndCreationData-isReplaceAll">
          <body>Specifies whether the existing links emanating from the object on this end should be destroyed before creating a new link.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="LinkEndCreationData-isReplaceAll-_defaultValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="LinkEndCreationData-allPins" name="allPins" bodyCondition="LinkEndCreationData-allPins-spec" isQuery="true" redefinedOperation="LinkEndData-allPins">
        <ownedComment xmi:id="LinkEndCreationData-allPins-_ownedComment.0" annotatedElement="LinkEndCreationData-allPins">
          <body>Adds the insertAt InputPin (if any) to the set of all Pins.</body>
        </ownedComment>
        <ownedRule xmi:id="LinkEndCreationData-allPins-spec" name="spec" constrainedElement="LinkEndCreationData-allPins">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LinkEndCreationData-allPins-spec-_specification">
            <language>OCL</language>
            <body>result = (self.LinkEndData::allPins()->including(insertAt))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LinkEndCreationData-allPins-result" name="result" type="InputPin" isUnique="false" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LinkEndCreationData-allPins-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LinkEndCreationData-allPins-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="LinkEndData" name="LinkEndData">
      <ownedComment xmi:id="LinkEndData-_ownedComment.0" annotatedElement="LinkEndData">
        <body>LinkEndData is an Element that identifies on end of a link to be read or written by a LinkAction. As a link (that is not a link object) cannot be passed as a runtime value to or from an Action, it is instead identified by its end objects and qualifier values, if any. A LinkEndData instance provides these values for a single Association end.</body>
      </ownedComment>
      <ownedRule xmi:id="LinkEndData-same_type" name="same_type" constrainedElement="LinkEndData">
        <ownedComment xmi:id="LinkEndData-same_type-_ownedComment.0" annotatedElement="LinkEndData-same_type">
          <body>The type of the value InputPin conforms to the type of the Association end.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="LinkEndData-same_type-_specification">
          <language>OCL</language>
          <body>value&lt;>null implies value.type.conformsTo(end.type)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="LinkEndData-multiplicity" name="multiplicity" constrainedElement="LinkEndData">
        <ownedComment xmi:id="LinkEndData-multiplicity-_ownedComment.0" annotatedElement="LinkEndData-multiplicity">
          <body>The multiplicity of the value InputPin must be 1..1.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="LinkEndData-multiplicity-_specification">
          <language>OCL</language>
          <body>value&lt;>null implies value.is(1,1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="LinkEndData-end_object_input_pin" name="end_object_input_pin" constrainedElement="LinkEndData">
        <ownedComment xmi:id="LinkEndData-end_object_input_pin-_ownedComment.0" annotatedElement="LinkEndData-end_object_input_pin">
          <body>The value InputPin is not also the qualifier value InputPin.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="LinkEndData-end_object_input_pin-_specification">
          <language>OCL</language>
          <body>value->excludesAll(qualifier.value)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="LinkEndData-property_is_association_end" name="property_is_association_end" constrainedElement="LinkEndData">
        <ownedComment xmi:id="LinkEndData-property_is_association_end-_ownedComment.0" annotatedElement="LinkEndData-property_is_association_end">
          <body>The Property must be an Association memberEnd.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="LinkEndData-property_is_association_end-_specification">
          <language>OCL</language>
          <body>end.association &lt;> null</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="LinkEndData-qualifiers" name="qualifiers" constrainedElement="LinkEndData">
        <ownedComment xmi:id="LinkEndData-qualifiers-_ownedComment.0" annotatedElement="LinkEndData-qualifiers">
          <body>The qualifiers must be qualifiers of the Association end.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="LinkEndData-qualifiers-_specification">
          <language>OCL</language>
          <body>end.qualifier->includesAll(qualifier.qualifier)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="LinkEndData-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="LinkEndData-end" name="end" type="Property" association="A_end_linkEndData">
        <ownedComment xmi:id="LinkEndData-end-_ownedComment.0" annotatedElement="LinkEndData-end">
          <body>The Association end for which this LinkEndData specifies values.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="LinkEndData-qualifier" name="qualifier" type="QualifierValue" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_qualifier_linkEndData">
        <ownedComment xmi:id="LinkEndData-qualifier-_ownedComment.0" annotatedElement="LinkEndData-qualifier">
          <body>A set of QualifierValues used to provide values for the qualifiers of the end.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LinkEndData-qualifier-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LinkEndData-qualifier-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="LinkEndData-value" name="value" type="InputPin" association="A_value_linkEndData">
        <ownedComment xmi:id="LinkEndData-value-_ownedComment.0" annotatedElement="LinkEndData-value">
          <body>The InputPin that provides the specified value for the given end. This InputPin is omitted if the LinkEndData specifies the &quot;open&quot; end for a ReadLinkAction.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LinkEndData-value-_lowerValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="LinkEndData-allPins" name="allPins" bodyCondition="LinkEndData-allPins-spec" isQuery="true">
        <ownedComment xmi:id="LinkEndData-allPins-_ownedComment.0" annotatedElement="LinkEndData-allPins">
          <body>Returns all the InputPins referenced by this LinkEndData. By default this includes the value and qualifier InputPins, but subclasses may override the operation to add other InputPins.</body>
        </ownedComment>
        <ownedRule xmi:id="LinkEndData-allPins-spec" name="spec" constrainedElement="LinkEndData-allPins">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LinkEndData-allPins-spec-_specification">
            <language>OCL</language>
            <body>result = (value->asBag()->union(qualifier.value))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LinkEndData-allPins-result" name="result" type="InputPin" isUnique="false" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LinkEndData-allPins-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LinkEndData-allPins-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="LinkEndDestructionData" name="LinkEndDestructionData">
      <ownedComment xmi:id="LinkEndDestructionData-_ownedComment.0" annotatedElement="LinkEndDestructionData">
        <body>LinkEndDestructionData is LinkEndData used to provide values for one end of a link to be destroyed by a DestroyLinkAction.</body>
      </ownedComment>
      <ownedRule xmi:id="LinkEndDestructionData-destroyAt_pin" name="destroyAt_pin" constrainedElement="LinkEndDestructionData">
        <ownedComment xmi:id="LinkEndDestructionData-destroyAt_pin-_ownedComment.0" annotatedElement="LinkEndDestructionData-destroyAt_pin">
          <body>LinkEndDestructionData for ordered, nonunique Association ends must have a single destroyAt InputPin if isDestroyDuplicates is false, which must be of type UnlimitedNatural and have a multiplicity of 1..1. Otherwise, the action has no destroyAt input pin.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="LinkEndDestructionData-destroyAt_pin-_specification">
          <language>OCL</language>
          <body>if  not end.isOrdered or end.isUnique or isDestroyDuplicates&#xD;
then destroyAt = null&#xD;
else&#xD;
	destroyAt &lt;> null and &#xD;
	destroyAt->forAll(type=UnlimitedNatural and is(1,1))&#xD;
endif</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="LinkEndDestructionData-_generalization.0" general="LinkEndData"/>
      <ownedAttribute xmi:id="LinkEndDestructionData-destroyAt" name="destroyAt" type="InputPin" association="A_destroyAt_linkEndDestructionData">
        <ownedComment xmi:id="LinkEndDestructionData-destroyAt-_ownedComment.0" annotatedElement="LinkEndDestructionData-destroyAt">
          <body>The InputPin that provides the position of an existing link to be destroyed in an ordered, nonunique Association end. The type of the destroyAt InputPin is UnlimitedNatural, but the value cannot be zero or unlimited.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LinkEndDestructionData-destroyAt-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="LinkEndDestructionData-isDestroyDuplicates" name="isDestroyDuplicates">
        <ownedComment xmi:id="LinkEndDestructionData-isDestroyDuplicates-_ownedComment.0" annotatedElement="LinkEndDestructionData-isDestroyDuplicates">
          <body>Specifies whether to destroy duplicates of the value in nonunique Association ends.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="LinkEndDestructionData-isDestroyDuplicates-_defaultValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="LinkEndDestructionData-allPins" name="allPins" bodyCondition="LinkEndDestructionData-allPins-spec" isQuery="true" redefinedOperation="LinkEndData-allPins">
        <ownedComment xmi:id="LinkEndDestructionData-allPins-_ownedComment.0" annotatedElement="LinkEndDestructionData-allPins">
          <body>Adds the destroyAt InputPin (if any) to the set of all Pins.</body>
        </ownedComment>
        <ownedRule xmi:id="LinkEndDestructionData-allPins-spec" name="spec" constrainedElement="LinkEndDestructionData-allPins">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LinkEndDestructionData-allPins-spec-_specification">
            <language>OCL</language>
            <body>result = (self.LinkEndData::allPins()->including(destroyAt))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LinkEndDestructionData-allPins-result" name="result" type="InputPin" isUnique="false" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LinkEndDestructionData-allPins-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LinkEndDestructionData-allPins-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="LoopNode" name="LoopNode">
      <ownedComment xmi:id="LoopNode-_ownedComment.0" annotatedElement="LoopNode">
        <body>A LoopNode is a StructuredActivityNode that represents an iterative loop with setup, test, and body sections.</body>
      </ownedComment>
      <ownedRule xmi:id="LoopNode-result_no_incoming" name="result_no_incoming" constrainedElement="LoopNode">
        <ownedComment xmi:id="LoopNode-result_no_incoming-_ownedComment.0" annotatedElement="LoopNode-result_no_incoming">
          <body>The result OutputPins have no incoming edges.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="LoopNode-result_no_incoming-_specification">
          <language>OCL</language>
          <body>result.incoming->isEmpty()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="LoopNode-input_edges" name="input_edges" constrainedElement="LoopNode">
        <ownedComment xmi:id="LoopNode-input_edges-_ownedComment.0" annotatedElement="LoopNode-input_edges">
          <body>The loopVariableInputs must not have outgoing edges.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="LoopNode-input_edges-_specification">
          <language>OCL</language>
          <body>loopVariableInput.outgoing->isEmpty()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="LoopNode-executable_nodes" name="executable_nodes" constrainedElement="LoopNode">
        <ownedComment xmi:id="LoopNode-executable_nodes-_ownedComment.0" annotatedElement="LoopNode-executable_nodes">
          <body>The union of the ExecutableNodes in the setupPart, test and bodyPart of a LoopNode must be the same as the subset of nodes contained in the LoopNode (considered as a StructuredActivityNode) that are ExecutableNodes.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="LoopNode-executable_nodes-_specification">
          <language>OCL</language>
          <body>setupPart->union(test)->union(bodyPart)=node->select(oclIsKindOf(ExecutableNode)).oclAsType(ExecutableNode)->asSet()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="LoopNode-body_output_pins" name="body_output_pins" constrainedElement="LoopNode">
        <ownedComment xmi:id="LoopNode-body_output_pins-_ownedComment.0" annotatedElement="LoopNode-body_output_pins">
          <body>The bodyOutput pins are OutputPins on Actions in the body of the LoopNode.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="LoopNode-body_output_pins-_specification">
          <language>OCL</language>
          <body>bodyPart.oclAsType(Action).allActions().output->includesAll(bodyOutput)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="LoopNode-setup_test_and_body" name="setup_test_and_body" constrainedElement="LoopNode">
        <ownedComment xmi:id="LoopNode-setup_test_and_body-_ownedComment.0" annotatedElement="LoopNode-setup_test_and_body">
          <body>The test and body parts of a ConditionalNode must be disjoint with each other.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="LoopNode-setup_test_and_body-_specification">
          <language>OCL</language>
          <body>setupPart->intersection(test)->isEmpty() and&#xD;
setupPart->intersection(bodyPart)->isEmpty() and&#xD;
test->intersection(bodyPart)->isEmpty()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="LoopNode-matching_output_pins" name="matching_output_pins" constrainedElement="LoopNode">
        <ownedComment xmi:id="LoopNode-matching_output_pins-_ownedComment.0" annotatedElement="LoopNode-matching_output_pins">
          <body>A LoopNode must have the same number of bodyOutput Pins as loopVariables, and each bodyOutput Pin must be compatible with the corresponding loopVariable (by positional order) in type, multiplicity, ordering and uniqueness.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="LoopNode-matching_output_pins-_specification">
          <language>OCL</language>
          <body>bodyOutput->size()=loopVariable->size() and&#xD;
Sequence{1..loopVariable->size()}->forAll(i |&#xD;
	bodyOutput->at(i).type.conformsTo(loopVariable->at(i).type) and&#xD;
	bodyOutput->at(i).isOrdered = loopVariable->at(i).isOrdered and&#xD;
	bodyOutput->at(i).isUnique = loopVariable->at(i).isUnique and&#xD;
	loopVariable->at(i).includesMultiplicity(bodyOutput->at(i)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="LoopNode-matching_loop_variables" name="matching_loop_variables" constrainedElement="LoopNode">
        <ownedComment xmi:id="LoopNode-matching_loop_variables-_ownedComment.0" annotatedElement="LoopNode-matching_loop_variables">
          <body>A LoopNode must have the same number of loopVariableInputs and loopVariables, and they must match in type, uniqueness and multiplicity.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="LoopNode-matching_loop_variables-_specification">
          <language>OCL</language>
          <body>loopVariableInput->size()=loopVariable->size() and&#xD;
loopVariableInput.type=loopVariable.type and&#xD;
loopVariableInput.isUnique=loopVariable.isUnique and&#xD;
loopVariableInput.lower=loopVariable.lower and&#xD;
loopVariableInput.upper=loopVariable.upper</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="LoopNode-matching_result_pins" name="matching_result_pins" constrainedElement="LoopNode">
        <ownedComment xmi:id="LoopNode-matching_result_pins-_ownedComment.0" annotatedElement="LoopNode-matching_result_pins">
          <body>A LoopNode must have the same number of result OutputPins and loopVariables, and they must match in type, uniqueness and multiplicity.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="LoopNode-matching_result_pins-_specification">
          <language>OCL</language>
          <body>result->size()=loopVariable->size() and&#xD;
result.type=loopVariable.type and&#xD;
result.isUnique=loopVariable.isUnique and&#xD;
result.lower=loopVariable.lower and&#xD;
result.upper=loopVariable.upper</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="LoopNode-loop_variable_outgoing" name="loop_variable_outgoing" constrainedElement="LoopNode">
        <ownedComment xmi:id="LoopNode-loop_variable_outgoing-_ownedComment.0" annotatedElement="LoopNode-loop_variable_outgoing">
          <body>All ActivityEdges outgoing from loopVariable OutputPins must have targets within the LoopNode.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="LoopNode-loop_variable_outgoing-_specification">
          <language>OCL</language>
          <body>allOwnedNodes()->includesAll(loopVariable.outgoing.target)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="LoopNode-_generalization.0" general="StructuredActivityNode"/>
      <ownedAttribute xmi:id="LoopNode-bodyOutput" name="bodyOutput" type="OutputPin" isOrdered="true" association="A_bodyOutput_loopNode">
        <ownedComment xmi:id="LoopNode-bodyOutput-_ownedComment.0" annotatedElement="LoopNode-bodyOutput">
          <body>The OutputPins on Actions within the bodyPart, the values of which are moved to the loopVariable OutputPins after the completion of each execution of the bodyPart, before the next iteration of the loop begins or before the loop exits.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LoopNode-bodyOutput-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LoopNode-bodyOutput-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="LoopNode-bodyPart" name="bodyPart" type="ExecutableNode" association="A_bodyPart_loopNode">
        <ownedComment xmi:id="LoopNode-bodyPart-_ownedComment.0" annotatedElement="LoopNode-bodyPart">
          <body>The set of ExecutableNodes that perform the repetitive computations of the loop. The bodyPart is executed as long as the test section produces a true value.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LoopNode-bodyPart-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LoopNode-bodyPart-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="LoopNode-decider" name="decider" type="OutputPin" association="A_decider_loopNode">
        <ownedComment xmi:id="LoopNode-decider-_ownedComment.0" annotatedElement="LoopNode-decider">
          <body>An OutputPin on an Action in the test section whose Boolean value determines whether to continue executing the loop bodyPart.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="LoopNode-isTestedFirst" name="isTestedFirst">
        <ownedComment xmi:id="LoopNode-isTestedFirst-_ownedComment.0" annotatedElement="LoopNode-isTestedFirst">
          <body>If true, the test is performed before the first execution of the bodyPart. If false, the bodyPart is executed once before the test is performed.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="LoopNode-isTestedFirst-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="LoopNode-loopVariable" name="loopVariable" type="OutputPin" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_loopVariable_loopNode">
        <ownedComment xmi:id="LoopNode-loopVariable-_ownedComment.0" annotatedElement="LoopNode-loopVariable">
          <body>A list of OutputPins that hold the values of the loop variables during an execution of the loop. When the test fails, the values are moved to the result OutputPins of the loop.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LoopNode-loopVariable-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LoopNode-loopVariable-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="LoopNode-loopVariableInput" name="loopVariableInput" type="InputPin" isOrdered="true" aggregation="composite" redefinedProperty="StructuredActivityNode-structuredNodeInput" association="A_loopVariableInput_loopNode">
        <ownedComment xmi:id="LoopNode-loopVariableInput-_ownedComment.0" annotatedElement="LoopNode-loopVariableInput">
          <body>A list of InputPins whose values are moved into the loopVariable Pins before the first iteration of the loop.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LoopNode-loopVariableInput-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LoopNode-loopVariableInput-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="LoopNode-result" name="result" type="OutputPin" isOrdered="true" aggregation="composite" redefinedProperty="StructuredActivityNode-structuredNodeOutput" association="A_result_loopNode">
        <ownedComment xmi:id="LoopNode-result-_ownedComment.0" annotatedElement="LoopNode-result">
          <body>A list of OutputPins that receive the loopVariable values after the last iteration of the loop and constitute the output of the LoopNode.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LoopNode-result-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LoopNode-result-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="LoopNode-setupPart" name="setupPart" type="ExecutableNode" association="A_setupPart_loopNode">
        <ownedComment xmi:id="LoopNode-setupPart-_ownedComment.0" annotatedElement="LoopNode-setupPart">
          <body>The set of ExecutableNodes executed before the first iteration of the loop, in order to initialize values or perform other setup computations.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LoopNode-setupPart-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LoopNode-setupPart-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="LoopNode-test" name="test" type="ExecutableNode" association="A_test_loopNode">
        <ownedComment xmi:id="LoopNode-test-_ownedComment.0" annotatedElement="LoopNode-test">
          <body>The set of ExecutableNodes executed in order to provide the test result for the loop.</body>
        </ownedComment>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LoopNode-test-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="LoopNode-allActions" name="allActions" bodyCondition="LoopNode-allActions-spec" isQuery="true" redefinedOperation="Action-allActions StructuredActivityNode-allActions">
        <ownedComment xmi:id="LoopNode-allActions-_ownedComment.0" annotatedElement="LoopNode-allActions">
          <body>Return only this LoopNode. This prevents Actions within the LoopNode from having their OutputPins used as bodyOutputs or decider Pins in containing LoopNodes or ConditionalNodes.</body>
        </ownedComment>
        <ownedRule xmi:id="LoopNode-allActions-spec" name="spec" constrainedElement="LoopNode-allActions">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LoopNode-allActions-spec-_specification">
            <language>OCL</language>
            <body>result = (self->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LoopNode-allActions-result" name="result" type="Action" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LoopNode-allActions-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LoopNode-allActions-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="LoopNode-sourceNodes" name="sourceNodes" bodyCondition="LoopNode-sourceNodes-spec" isQuery="true" redefinedOperation="StructuredActivityNode-sourceNodes">
        <ownedComment xmi:id="LoopNode-sourceNodes-_ownedComment.0" annotatedElement="LoopNode-sourceNodes">
          <body>Return the loopVariable OutputPins in addition to other source nodes for the LoopNode as a StructuredActivityNode.</body>
        </ownedComment>
        <ownedRule xmi:id="LoopNode-sourceNodes-spec" name="spec" constrainedElement="LoopNode-sourceNodes">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LoopNode-sourceNodes-spec-_specification">
            <language>OCL</language>
            <body>result = (self.StructuredActivityNode::sourceNodes()->union(loopVariable))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LoopNode-sourceNodes-result" name="result" type="ActivityNode" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LoopNode-sourceNodes-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LoopNode-sourceNodes-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="OpaqueAction" name="OpaqueAction">
      <ownedComment xmi:id="OpaqueAction-_ownedComment.0" annotatedElement="OpaqueAction">
        <body>An OpaqueAction is an Action whose functionality is not specified within UML.</body>
      </ownedComment>
      <ownedRule xmi:id="OpaqueAction-language_body_size" name="language_body_size" constrainedElement="OpaqueAction">
        <ownedComment xmi:id="OpaqueAction-language_body_size-_ownedComment.0" annotatedElement="OpaqueAction-language_body_size">
          <body>If the language attribute is not empty, then the size of the body and language lists must be the same.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueAction-language_body_size-_specification">
          <language>OCL</language>
          <body>language->notEmpty() implies (_'body'->size() = language->size())</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="OpaqueAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="OpaqueAction-body" name="body" isOrdered="true" isUnique="false">
        <ownedComment xmi:id="OpaqueAction-body-_ownedComment.0" annotatedElement="OpaqueAction-body">
          <body>Provides a textual specification of the functionality of the Action, in one or more languages other than UML.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OpaqueAction-body-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="OpaqueAction-body-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="OpaqueAction-inputValue" name="inputValue" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_inputValue_opaqueAction">
        <ownedComment xmi:id="OpaqueAction-inputValue-_ownedComment.0" annotatedElement="OpaqueAction-inputValue">
          <body>The InputPins providing inputs to the OpaqueAction.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OpaqueAction-inputValue-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="OpaqueAction-inputValue-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="OpaqueAction-language" name="language" isOrdered="true">
        <ownedComment xmi:id="OpaqueAction-language-_ownedComment.0" annotatedElement="OpaqueAction-language">
          <body>If provided, a specification of the language used for each of the body Strings.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OpaqueAction-language-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="OpaqueAction-language-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="OpaqueAction-outputValue" name="outputValue" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_outputValue_opaqueAction">
        <ownedComment xmi:id="OpaqueAction-outputValue-_ownedComment.0" annotatedElement="OpaqueAction-outputValue">
          <body>The OutputPins on which the OpaqueAction provides outputs.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OpaqueAction-outputValue-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="OpaqueAction-outputValue-_upperValue" value="*"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="OutputPin" name="OutputPin">
      <ownedComment xmi:id="OutputPin-_ownedComment.0" annotatedElement="OutputPin">
        <body>An OutputPin is a Pin that holds output values produced by an Action.</body>
      </ownedComment>
      <ownedRule xmi:id="OutputPin-incoming_edges_structured_only" name="incoming_edges_structured_only" constrainedElement="OutputPin">
        <ownedComment xmi:id="OutputPin-incoming_edges_structured_only-_ownedComment.0" annotatedElement="OutputPin-incoming_edges_structured_only">
          <body>An OutputPin may have incoming ActivityEdges only when it is owned by a StructuredActivityNode, and these edges must have sources contained (directly or indirectly) in the owning StructuredActivityNode.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="OutputPin-incoming_edges_structured_only-_specification">
          <language>OCL</language>
          <body>incoming->notEmpty() implies&#xD;
	action&lt;>null and&#xD;
	action.oclIsKindOf(StructuredActivityNode) and&#xD;
	action.oclAsType(StructuredActivityNode).allOwnedNodes()->includesAll(incoming.source)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="OutputPin-_generalization.0" general="Pin"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Pin" name="Pin" isAbstract="true">
      <ownedComment xmi:id="Pin-_ownedComment.0" annotatedElement="Pin">
        <body>A Pin is an ObjectNode and MultiplicityElement that provides input values to an Action or accepts output values from an Action.</body>
      </ownedComment>
      <ownedRule xmi:id="Pin-control_pins" name="control_pins" constrainedElement="Pin">
        <ownedComment xmi:id="Pin-control_pins-_ownedComment.0" annotatedElement="Pin-control_pins">
          <body>A control Pin has a control type.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Pin-control_pins-_specification">
          <language>OCL</language>
          <body>isControl implies isControlType</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Pin-not_unique" name="not_unique" constrainedElement="Pin">
        <ownedComment xmi:id="Pin-not_unique-_ownedComment.0" annotatedElement="Pin-not_unique">
          <body>Pin multiplicity is not unique.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Pin-not_unique-_specification">
          <language>OCL</language>
          <body>not isUnique</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Pin-_generalization.0" general="ObjectNode"/>
      <generalization xmi:id="Pin-_generalization.1" general="MultiplicityElement"/>
      <ownedAttribute xmi:id="Pin-isControl" name="isControl">
        <ownedComment xmi:id="Pin-isControl-_ownedComment.0" annotatedElement="Pin-isControl">
          <body>Indicates whether the Pin provides data to the Action or just controls how the Action executes.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Pin-isControl-_defaultValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="QualifierValue" name="QualifierValue">
      <ownedComment xmi:id="QualifierValue-_ownedComment.0" annotatedElement="QualifierValue">
        <body>A QualifierValue is an Element that is used as part of LinkEndData to provide the value for a single qualifier of the end given by the LinkEndData.</body>
      </ownedComment>
      <ownedRule xmi:id="QualifierValue-multiplicity_of_qualifier" name="multiplicity_of_qualifier" constrainedElement="QualifierValue">
        <ownedComment xmi:id="QualifierValue-multiplicity_of_qualifier-_ownedComment.0" annotatedElement="QualifierValue-multiplicity_of_qualifier">
          <body>The multiplicity of the value InputPin is 1..1.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="QualifierValue-multiplicity_of_qualifier-_specification">
          <language>OCL</language>
          <body>value.is(1,1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="QualifierValue-type_of_qualifier" name="type_of_qualifier" constrainedElement="QualifierValue">
        <ownedComment xmi:id="QualifierValue-type_of_qualifier-_ownedComment.0" annotatedElement="QualifierValue-type_of_qualifier">
          <body>The type of the value InputPin conforms to the type of the qualifier Property.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="QualifierValue-type_of_qualifier-_specification">
          <language>OCL</language>
          <body>value.type.conformsTo(qualifier.type)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="QualifierValue-qualifier_attribute" name="qualifier_attribute" constrainedElement="QualifierValue">
        <ownedComment xmi:id="QualifierValue-qualifier_attribute-_ownedComment.0" annotatedElement="QualifierValue-qualifier_attribute">
          <body>The qualifier must be a qualifier of the Association end of the linkEndData that owns this QualifierValue.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="QualifierValue-qualifier_attribute-_specification">
          <language>OCL</language>
          <body>linkEndData.end.qualifier->includes(qualifier)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="QualifierValue-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="QualifierValue-qualifier" name="qualifier" type="Property" association="A_qualifier_qualifierValue">
        <ownedComment xmi:id="QualifierValue-qualifier-_ownedComment.0" annotatedElement="QualifierValue-qualifier">
          <body>The qualifier Property for which the value is to be specified.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="QualifierValue-value" name="value" type="InputPin" association="A_value_qualifierValue">
        <ownedComment xmi:id="QualifierValue-value-_ownedComment.0" annotatedElement="QualifierValue-value">
          <body>The InputPin from which the specified value for the qualifier is taken.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="RaiseExceptionAction" name="RaiseExceptionAction">
      <ownedComment xmi:id="RaiseExceptionAction-_ownedComment.0" annotatedElement="RaiseExceptionAction">
        <body>A RaiseExceptionAction is an Action that causes an exception to occur. The input value becomes the exception object.</body>
      </ownedComment>
      <generalization xmi:id="RaiseExceptionAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="RaiseExceptionAction-exception" name="exception" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_exception_raiseExceptionAction">
        <ownedComment xmi:id="RaiseExceptionAction-exception-_ownedComment.0" annotatedElement="RaiseExceptionAction-exception">
          <body>An InputPin whose value becomes the exception object.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ReadExtentAction" name="ReadExtentAction">
      <ownedComment xmi:id="ReadExtentAction-_ownedComment.0" annotatedElement="ReadExtentAction">
        <body>A ReadExtentAction is an Action that retrieves the current instances of a Classifier.</body>
      </ownedComment>
      <ownedRule xmi:id="ReadExtentAction-type_is_classifier" name="type_is_classifier" constrainedElement="ReadExtentAction">
        <ownedComment xmi:id="ReadExtentAction-type_is_classifier-_ownedComment.0" annotatedElement="ReadExtentAction-type_is_classifier">
          <body>The type of the result OutputPin is the classifier.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadExtentAction-type_is_classifier-_specification">
          <language>OCL</language>
          <body>result.type = classifier</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReadExtentAction-multiplicity_of_result" name="multiplicity_of_result" constrainedElement="ReadExtentAction">
        <ownedComment xmi:id="ReadExtentAction-multiplicity_of_result-_ownedComment.0" annotatedElement="ReadExtentAction-multiplicity_of_result">
          <body>The multiplicity of the result OutputPin is 0..*.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadExtentAction-multiplicity_of_result-_specification">
          <language>OCL</language>
          <body>result.is(0,*)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ReadExtentAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="ReadExtentAction-classifier" name="classifier" type="Classifier" association="A_classifier_readExtentAction">
        <ownedComment xmi:id="ReadExtentAction-classifier-_ownedComment.0" annotatedElement="ReadExtentAction-classifier">
          <body>The Classifier whose instances are to be retrieved.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ReadExtentAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_readExtentAction">
        <ownedComment xmi:id="ReadExtentAction-result-_ownedComment.0" annotatedElement="ReadExtentAction-result">
          <body>The OutputPin on which the Classifier instances are placed.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ReadIsClassifiedObjectAction" name="ReadIsClassifiedObjectAction">
      <ownedComment xmi:id="ReadIsClassifiedObjectAction-_ownedComment.0" annotatedElement="ReadIsClassifiedObjectAction">
        <body>A ReadIsClassifiedObjectAction is an Action that determines whether an object is classified by a given Classifier.</body>
      </ownedComment>
      <ownedRule xmi:id="ReadIsClassifiedObjectAction-no_type" name="no_type" constrainedElement="ReadIsClassifiedObjectAction">
        <ownedComment xmi:id="ReadIsClassifiedObjectAction-no_type-_ownedComment.0" annotatedElement="ReadIsClassifiedObjectAction-no_type">
          <body>The object InputPin has no type.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadIsClassifiedObjectAction-no_type-_specification">
          <language>OCL</language>
          <body>object.type = null</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReadIsClassifiedObjectAction-multiplicity_of_output" name="multiplicity_of_output" constrainedElement="ReadIsClassifiedObjectAction">
        <ownedComment xmi:id="ReadIsClassifiedObjectAction-multiplicity_of_output-_ownedComment.0" annotatedElement="ReadIsClassifiedObjectAction-multiplicity_of_output">
          <body>The multiplicity of the result OutputPin is 1..1.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadIsClassifiedObjectAction-multiplicity_of_output-_specification">
          <language>OCL</language>
          <body>result.is(1,1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReadIsClassifiedObjectAction-boolean_result" name="boolean_result" constrainedElement="ReadIsClassifiedObjectAction">
        <ownedComment xmi:id="ReadIsClassifiedObjectAction-boolean_result-_ownedComment.0" annotatedElement="ReadIsClassifiedObjectAction-boolean_result">
          <body>The type of the result OutputPin is Boolean.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadIsClassifiedObjectAction-boolean_result-_specification">
          <language>OCL</language>
          <body>result.type = Boolean</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReadIsClassifiedObjectAction-multiplicity_of_input" name="multiplicity_of_input" constrainedElement="ReadIsClassifiedObjectAction">
        <ownedComment xmi:id="ReadIsClassifiedObjectAction-multiplicity_of_input-_ownedComment.0" annotatedElement="ReadIsClassifiedObjectAction-multiplicity_of_input">
          <body>The multiplicity of the object InputPin is 1..1.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadIsClassifiedObjectAction-multiplicity_of_input-_specification">
          <language>OCL</language>
          <body>object.is(1,1)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ReadIsClassifiedObjectAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="ReadIsClassifiedObjectAction-classifier" name="classifier" type="Classifier" association="A_classifier_readIsClassifiedObjectAction">
        <ownedComment xmi:id="ReadIsClassifiedObjectAction-classifier-_ownedComment.0" annotatedElement="ReadIsClassifiedObjectAction-classifier">
          <body>The Classifier against which the classification of the input object is tested.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ReadIsClassifiedObjectAction-isDirect" name="isDirect">
        <ownedComment xmi:id="ReadIsClassifiedObjectAction-isDirect-_ownedComment.0" annotatedElement="ReadIsClassifiedObjectAction-isDirect">
          <body>Indicates whether the input object must be directly classified by the given Classifier or whether it may also be an instance of a specialization of the given Classifier.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ReadIsClassifiedObjectAction-isDirect-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ReadIsClassifiedObjectAction-object" name="object" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_object_readIsClassifiedObjectAction">
        <ownedComment xmi:id="ReadIsClassifiedObjectAction-object-_ownedComment.0" annotatedElement="ReadIsClassifiedObjectAction-object">
          <body>The InputPin that holds the object whose classification is to be tested.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ReadIsClassifiedObjectAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_readIsClassifiedObjectAction">
        <ownedComment xmi:id="ReadIsClassifiedObjectAction-result-_ownedComment.0" annotatedElement="ReadIsClassifiedObjectAction-result">
          <body>The OutputPin that holds the Boolean result of the test.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ReadLinkAction" name="ReadLinkAction">
      <ownedComment xmi:id="ReadLinkAction-_ownedComment.0" annotatedElement="ReadLinkAction">
        <body>A ReadLinkAction is a LinkAction that navigates across an Association to retrieve the objects on one end.</body>
      </ownedComment>
      <ownedRule xmi:id="ReadLinkAction-type_and_ordering" name="type_and_ordering" constrainedElement="ReadLinkAction">
        <ownedComment xmi:id="ReadLinkAction-type_and_ordering-_ownedComment.0" annotatedElement="ReadLinkAction-type_and_ordering">
          <body>The type and ordering of the result OutputPin are same as the type and ordering of the open Association end.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkAction-type_and_ordering-_specification">
          <language>OCL</language>
          <body>self.openEnd()->forAll(type=result.type and isOrdered=result.isOrdered)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReadLinkAction-compatible_multiplicity" name="compatible_multiplicity" constrainedElement="ReadLinkAction">
        <ownedComment xmi:id="ReadLinkAction-compatible_multiplicity-_ownedComment.0" annotatedElement="ReadLinkAction-compatible_multiplicity">
          <body>The multiplicity of the open Association end must be compatible with the multiplicity of the result OutputPin.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkAction-compatible_multiplicity-_specification">
          <language>OCL</language>
          <body>self.openEnd()->first().compatibleWith(result)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReadLinkAction-visibility" name="visibility" constrainedElement="ReadLinkAction">
        <ownedComment xmi:id="ReadLinkAction-visibility-_ownedComment.0" annotatedElement="ReadLinkAction-visibility">
          <body>Visibility of the open end must allow access from the object performing the action.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkAction-visibility-_specification">
          <language>OCL</language>
          <body>let openEnd : Property = self.openEnd()->first() in
  openEnd.visibility = VisibilityKind::public or 
  endData->exists(oed | 
    oed.end&lt;>openEnd and 
    (_'context' = oed.end.type or 
      (openEnd.visibility = VisibilityKind::protected and 
        _'context'.conformsTo(oed.end.type.oclAsType(Classifier)))))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReadLinkAction-one_open_end" name="one_open_end" constrainedElement="ReadLinkAction">
        <ownedComment xmi:id="ReadLinkAction-one_open_end-_ownedComment.0" annotatedElement="ReadLinkAction-one_open_end">
          <body>Exactly one linkEndData specification (corresponding to the &quot;open&quot; end) must not have an value InputPin.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkAction-one_open_end-_specification">
          <language>OCL</language>
          <body>self.openEnd()->size() = 1</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReadLinkAction-navigable_open_end" name="navigable_open_end" constrainedElement="ReadLinkAction">
        <ownedComment xmi:id="ReadLinkAction-navigable_open_end-_ownedComment.0" annotatedElement="ReadLinkAction-navigable_open_end">
          <body>The open end must be navigable.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkAction-navigable_open_end-_specification">
          <language>OCL</language>
          <body>self.openEnd()->first().isNavigable()</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ReadLinkAction-_generalization.0" general="LinkAction"/>
      <ownedAttribute xmi:id="ReadLinkAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_readLinkAction">
        <ownedComment xmi:id="ReadLinkAction-result-_ownedComment.0" annotatedElement="ReadLinkAction-result">
          <body>The OutputPin on which the objects retrieved from the &quot;open&quot; end of those links whose values on other ends are given by the endData.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedOperation xmi:id="ReadLinkAction-openEnd" name="openEnd" bodyCondition="ReadLinkAction-openEnd-spec" isQuery="true">
        <ownedComment xmi:id="ReadLinkAction-openEnd-_ownedComment.0" annotatedElement="ReadLinkAction-openEnd">
          <body>Returns the ends corresponding to endData with no value InputPin. (A well-formed ReadLinkAction is constrained to have only one of these.)</body>
        </ownedComment>
        <ownedRule xmi:id="ReadLinkAction-openEnd-spec" name="spec" constrainedElement="ReadLinkAction-openEnd">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkAction-openEnd-spec-_specification">
            <language>OCL</language>
            <body>result = (endData->select(value=null).end->asOrderedSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="ReadLinkAction-openEnd-result" name="result" type="Property" isOrdered="true" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ReadLinkAction-openEnd-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ReadLinkAction-openEnd-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ReadLinkObjectEndAction" name="ReadLinkObjectEndAction">
      <ownedComment xmi:id="ReadLinkObjectEndAction-_ownedComment.0" annotatedElement="ReadLinkObjectEndAction">
        <body>A ReadLinkObjectEndAction is an Action that retrieves an end object from a link object.</body>
      </ownedComment>
      <ownedRule xmi:id="ReadLinkObjectEndAction-property" name="property" constrainedElement="ReadLinkObjectEndAction">
        <ownedComment xmi:id="ReadLinkObjectEndAction-property-_ownedComment.0" annotatedElement="ReadLinkObjectEndAction-property">
          <body>The end Property must be an Association memberEnd.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndAction-property-_specification">
          <language>OCL</language>
          <body>end.association &lt;> null</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReadLinkObjectEndAction-multiplicity_of_object" name="multiplicity_of_object" constrainedElement="ReadLinkObjectEndAction">
        <ownedComment xmi:id="ReadLinkObjectEndAction-multiplicity_of_object-_ownedComment.0" annotatedElement="ReadLinkObjectEndAction-multiplicity_of_object">
          <body>The multiplicity of the object InputPin is 1..1.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndAction-multiplicity_of_object-_specification">
          <language>OCL</language>
          <body>object.is(1,1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReadLinkObjectEndAction-ends_of_association" name="ends_of_association" constrainedElement="ReadLinkObjectEndAction">
        <ownedComment xmi:id="ReadLinkObjectEndAction-ends_of_association-_ownedComment.0" annotatedElement="ReadLinkObjectEndAction-ends_of_association">
          <body>The ends of the association must not be static.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndAction-ends_of_association-_specification">
          <language>OCL</language>
          <body>end.association.memberEnd->forAll(e | not e.isStatic)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReadLinkObjectEndAction-type_of_result" name="type_of_result" constrainedElement="ReadLinkObjectEndAction">
        <ownedComment xmi:id="ReadLinkObjectEndAction-type_of_result-_ownedComment.0" annotatedElement="ReadLinkObjectEndAction-type_of_result">
          <body>The type of the result OutputPin is the same as the type of the end Property.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndAction-type_of_result-_specification">
          <language>OCL</language>
          <body>result.type = end.type</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReadLinkObjectEndAction-multiplicity_of_result" name="multiplicity_of_result" constrainedElement="ReadLinkObjectEndAction">
        <ownedComment xmi:id="ReadLinkObjectEndAction-multiplicity_of_result-_ownedComment.0" annotatedElement="ReadLinkObjectEndAction-multiplicity_of_result">
          <body>The multiplicity of the result OutputPin is 1..1.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndAction-multiplicity_of_result-_specification">
          <language>OCL</language>
          <body>result.is(1,1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReadLinkObjectEndAction-type_of_object" name="type_of_object" constrainedElement="ReadLinkObjectEndAction">
        <ownedComment xmi:id="ReadLinkObjectEndAction-type_of_object-_ownedComment.0" annotatedElement="ReadLinkObjectEndAction-type_of_object">
          <body>The type of the object InputPin is the AssociationClass that owns the end Property.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndAction-type_of_object-_specification">
          <language>OCL</language>
          <body>object.type = end.association</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReadLinkObjectEndAction-association_of_association" name="association_of_association" constrainedElement="ReadLinkObjectEndAction">
        <ownedComment xmi:id="ReadLinkObjectEndAction-association_of_association-_ownedComment.0" annotatedElement="ReadLinkObjectEndAction-association_of_association">
          <body>The association of the end must be an AssociationClass.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndAction-association_of_association-_specification">
          <language>OCL</language>
          <body>end.association.oclIsKindOf(AssociationClass)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ReadLinkObjectEndAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="ReadLinkObjectEndAction-end" name="end" type="Property" association="A_end_readLinkObjectEndAction">
        <ownedComment xmi:id="ReadLinkObjectEndAction-end-_ownedComment.0" annotatedElement="ReadLinkObjectEndAction-end">
          <body>The Association end to be read.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ReadLinkObjectEndAction-object" name="object" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_object_readLinkObjectEndAction">
        <ownedComment xmi:id="ReadLinkObjectEndAction-object-_ownedComment.0" annotatedElement="ReadLinkObjectEndAction-object">
          <body>The input pin from which the link object is obtained.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ReadLinkObjectEndAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_readLinkObjectEndAction">
        <ownedComment xmi:id="ReadLinkObjectEndAction-result-_ownedComment.0" annotatedElement="ReadLinkObjectEndAction-result">
          <body>The OutputPin where the result value is placed.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ReadLinkObjectEndQualifierAction" name="ReadLinkObjectEndQualifierAction">
      <ownedComment xmi:id="ReadLinkObjectEndQualifierAction-_ownedComment.0" annotatedElement="ReadLinkObjectEndQualifierAction">
        <body>A ReadLinkObjectEndQualifierAction is an Action that retrieves a qualifier end value from a link object.</body>
      </ownedComment>
      <ownedRule xmi:id="ReadLinkObjectEndQualifierAction-multiplicity_of_object" name="multiplicity_of_object" constrainedElement="ReadLinkObjectEndQualifierAction">
        <ownedComment xmi:id="ReadLinkObjectEndQualifierAction-multiplicity_of_object-_ownedComment.0" annotatedElement="ReadLinkObjectEndQualifierAction-multiplicity_of_object">
          <body>The multiplicity of the object InputPin is 1..1.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndQualifierAction-multiplicity_of_object-_specification">
          <language>OCL</language>
          <body>object.is(1,1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReadLinkObjectEndQualifierAction-type_of_object" name="type_of_object" constrainedElement="ReadLinkObjectEndQualifierAction">
        <ownedComment xmi:id="ReadLinkObjectEndQualifierAction-type_of_object-_ownedComment.0" annotatedElement="ReadLinkObjectEndQualifierAction-type_of_object">
          <body>The type of the object InputPin is the AssociationClass that owns the Association end that has the given qualifier Property.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndQualifierAction-type_of_object-_specification">
          <language>OCL</language>
          <body>object.type = qualifier.associationEnd.association</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReadLinkObjectEndQualifierAction-multiplicity_of_qualifier" name="multiplicity_of_qualifier" constrainedElement="ReadLinkObjectEndQualifierAction">
        <ownedComment xmi:id="ReadLinkObjectEndQualifierAction-multiplicity_of_qualifier-_ownedComment.0" annotatedElement="ReadLinkObjectEndQualifierAction-multiplicity_of_qualifier">
          <body>The multiplicity of the qualifier Property is 1..1.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndQualifierAction-multiplicity_of_qualifier-_specification">
          <language>OCL</language>
          <body>qualifier.is(1,1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReadLinkObjectEndQualifierAction-ends_of_association" name="ends_of_association" constrainedElement="ReadLinkObjectEndQualifierAction">
        <ownedComment xmi:id="ReadLinkObjectEndQualifierAction-ends_of_association-_ownedComment.0" annotatedElement="ReadLinkObjectEndQualifierAction-ends_of_association">
          <body>The ends of the Association must not be static.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndQualifierAction-ends_of_association-_specification">
          <language>OCL</language>
          <body>qualifier.associationEnd.association.memberEnd->forAll(e | not e.isStatic)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReadLinkObjectEndQualifierAction-multiplicity_of_result" name="multiplicity_of_result" constrainedElement="ReadLinkObjectEndQualifierAction">
        <ownedComment xmi:id="ReadLinkObjectEndQualifierAction-multiplicity_of_result-_ownedComment.0" annotatedElement="ReadLinkObjectEndQualifierAction-multiplicity_of_result">
          <body>The multiplicity of the result OutputPin is 1..1.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndQualifierAction-multiplicity_of_result-_specification">
          <language>OCL</language>
          <body>result.is(1,1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReadLinkObjectEndQualifierAction-same_type" name="same_type" constrainedElement="ReadLinkObjectEndQualifierAction">
        <ownedComment xmi:id="ReadLinkObjectEndQualifierAction-same_type-_ownedComment.0" annotatedElement="ReadLinkObjectEndQualifierAction-same_type">
          <body>The type of the result OutputPin is the same as the type of the qualifier Property.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndQualifierAction-same_type-_specification">
          <language>OCL</language>
          <body>result.type = qualifier.type</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReadLinkObjectEndQualifierAction-association_of_association" name="association_of_association" constrainedElement="ReadLinkObjectEndQualifierAction">
        <ownedComment xmi:id="ReadLinkObjectEndQualifierAction-association_of_association-_ownedComment.0" annotatedElement="ReadLinkObjectEndQualifierAction-association_of_association">
          <body>The association of the Association end of the qualifier Property must be an AssociationClass.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndQualifierAction-association_of_association-_specification">
          <language>OCL</language>
          <body>qualifier.associationEnd.association.oclIsKindOf(AssociationClass)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReadLinkObjectEndQualifierAction-qualifier_attribute" name="qualifier_attribute" constrainedElement="ReadLinkObjectEndQualifierAction">
        <ownedComment xmi:id="ReadLinkObjectEndQualifierAction-qualifier_attribute-_ownedComment.0" annotatedElement="ReadLinkObjectEndQualifierAction-qualifier_attribute">
          <body>The qualifier Property must be a qualifier of an Association end.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadLinkObjectEndQualifierAction-qualifier_attribute-_specification">
          <language>OCL</language>
          <body>qualifier.associationEnd &lt;> null</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ReadLinkObjectEndQualifierAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="ReadLinkObjectEndQualifierAction-object" name="object" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_object_readLinkObjectEndQualifierAction">
        <ownedComment xmi:id="ReadLinkObjectEndQualifierAction-object-_ownedComment.0" annotatedElement="ReadLinkObjectEndQualifierAction-object">
          <body>The InputPin from which the link object is obtained.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ReadLinkObjectEndQualifierAction-qualifier" name="qualifier" type="Property" association="A_qualifier_readLinkObjectEndQualifierAction">
        <ownedComment xmi:id="ReadLinkObjectEndQualifierAction-qualifier-_ownedComment.0" annotatedElement="ReadLinkObjectEndQualifierAction-qualifier">
          <body>The qualifier Property to be read.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ReadLinkObjectEndQualifierAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_readLinkObjectEndQualifierAction">
        <ownedComment xmi:id="ReadLinkObjectEndQualifierAction-result-_ownedComment.0" annotatedElement="ReadLinkObjectEndQualifierAction-result">
          <body>The OutputPin where the result value is placed.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ReadSelfAction" name="ReadSelfAction">
      <ownedComment xmi:id="ReadSelfAction-_ownedComment.0" annotatedElement="ReadSelfAction">
        <body>A ReadSelfAction is an Action that retrieves the context object of the Behavior execution within which the ReadSelfAction execution is taking place.</body>
      </ownedComment>
      <ownedRule xmi:id="ReadSelfAction-contained" name="contained" constrainedElement="ReadSelfAction">
        <ownedComment xmi:id="ReadSelfAction-contained-_ownedComment.0" annotatedElement="ReadSelfAction-contained">
          <body>A ReadSelfAction must have a context Classifier.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadSelfAction-contained-_specification">
          <language>OCL</language>
          <body>_'context' &lt;> null</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReadSelfAction-multiplicity" name="multiplicity" constrainedElement="ReadSelfAction">
        <ownedComment xmi:id="ReadSelfAction-multiplicity-_ownedComment.0" annotatedElement="ReadSelfAction-multiplicity">
          <body>The multiplicity of the result OutputPin is 1..1.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadSelfAction-multiplicity-_specification">
          <language>OCL</language>
          <body>result.is(1,1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReadSelfAction-not_static" name="not_static" constrainedElement="ReadSelfAction">
        <ownedComment xmi:id="ReadSelfAction-not_static-_ownedComment.0" annotatedElement="ReadSelfAction-not_static">
          <body>If the ReadSelfAction is contained in an Behavior that is acting as a method, then the Operation of the method must not be static.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadSelfAction-not_static-_specification">
          <language>OCL</language>
          <body>let behavior: Behavior = self.containingBehavior() in&#xD;
behavior.specification&lt;>null implies not behavior.specification.isStatic</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReadSelfAction-type" name="type" constrainedElement="ReadSelfAction">
        <ownedComment xmi:id="ReadSelfAction-type-_ownedComment.0" annotatedElement="ReadSelfAction-type">
          <body>The type of the result OutputPin is the context Classifier.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadSelfAction-type-_specification">
          <language>OCL</language>
          <body>result.type = _'context'</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ReadSelfAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="ReadSelfAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_readSelfAction">
        <ownedComment xmi:id="ReadSelfAction-result-_ownedComment.0" annotatedElement="ReadSelfAction-result">
          <body>The OutputPin on which the context object is placed.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ReadStructuralFeatureAction" name="ReadStructuralFeatureAction">
      <ownedComment xmi:id="ReadStructuralFeatureAction-_ownedComment.0" annotatedElement="ReadStructuralFeatureAction">
        <body>A ReadStructuralFeatureAction is a StructuralFeatureAction that retrieves the values of a StructuralFeature.</body>
      </ownedComment>
      <ownedRule xmi:id="ReadStructuralFeatureAction-multiplicity" name="multiplicity" constrainedElement="ReadStructuralFeatureAction">
        <ownedComment xmi:id="ReadStructuralFeatureAction-multiplicity-_ownedComment.0" annotatedElement="ReadStructuralFeatureAction-multiplicity">
          <body>The multiplicity of the StructuralFeature must be compatible with the multiplicity of the result OutputPin.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadStructuralFeatureAction-multiplicity-_specification">
          <language>OCL</language>
          <body>structuralFeature.compatibleWith(result)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReadStructuralFeatureAction-type_and_ordering" name="type_and_ordering" constrainedElement="ReadStructuralFeatureAction">
        <ownedComment xmi:id="ReadStructuralFeatureAction-type_and_ordering-_ownedComment.0" annotatedElement="ReadStructuralFeatureAction-type_and_ordering">
          <body>The type and ordering of the result OutputPin are the same as the type and ordering of the StructuralFeature.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadStructuralFeatureAction-type_and_ordering-_specification">
          <language>OCL</language>
          <body>result.type =structuralFeature.type and 
result.isOrdered = structuralFeature.isOrdered</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ReadStructuralFeatureAction-_generalization.0" general="StructuralFeatureAction"/>
      <ownedAttribute xmi:id="ReadStructuralFeatureAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_readStructuralFeatureAction">
        <ownedComment xmi:id="ReadStructuralFeatureAction-result-_ownedComment.0" annotatedElement="ReadStructuralFeatureAction-result">
          <body>The OutputPin on which the result values are placed.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ReadVariableAction" name="ReadVariableAction">
      <ownedComment xmi:id="ReadVariableAction-_ownedComment.0" annotatedElement="ReadVariableAction">
        <body>A ReadVariableAction is a VariableAction that retrieves the values of a Variable.</body>
      </ownedComment>
      <ownedRule xmi:id="ReadVariableAction-type_and_ordering" name="type_and_ordering" constrainedElement="ReadVariableAction">
        <ownedComment xmi:id="ReadVariableAction-type_and_ordering-_ownedComment.0" annotatedElement="ReadVariableAction-type_and_ordering">
          <body>The type and ordering of the result OutputPin are the same as the type and ordering of the variable.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadVariableAction-type_and_ordering-_specification">
          <language>OCL</language>
          <body>result.type =variable.type and 
result.isOrdered = variable.isOrdered</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReadVariableAction-compatible_multiplicity" name="compatible_multiplicity" constrainedElement="ReadVariableAction">
        <ownedComment xmi:id="ReadVariableAction-compatible_multiplicity-_ownedComment.0" annotatedElement="ReadVariableAction-compatible_multiplicity">
          <body>The multiplicity of the variable must be compatible with the multiplicity of the output pin.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReadVariableAction-compatible_multiplicity-_specification">
          <language>OCL</language>
          <body>variable.compatibleWith(result)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ReadVariableAction-_generalization.0" general="VariableAction"/>
      <ownedAttribute xmi:id="ReadVariableAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_readVariableAction">
        <ownedComment xmi:id="ReadVariableAction-result-_ownedComment.0" annotatedElement="ReadVariableAction-result">
          <body>The OutputPin on which the result values are placed.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ReclassifyObjectAction" name="ReclassifyObjectAction">
      <ownedComment xmi:id="ReclassifyObjectAction-_ownedComment.0" annotatedElement="ReclassifyObjectAction">
        <body>A ReclassifyObjectAction is an Action that changes the Classifiers that classify an object.</body>
      </ownedComment>
      <ownedRule xmi:id="ReclassifyObjectAction-input_pin" name="input_pin" constrainedElement="ReclassifyObjectAction">
        <ownedComment xmi:id="ReclassifyObjectAction-input_pin-_ownedComment.0" annotatedElement="ReclassifyObjectAction-input_pin">
          <body>The object InputPin has no type.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReclassifyObjectAction-input_pin-_specification">
          <language>OCL</language>
          <body>object.type = null</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReclassifyObjectAction-classifier_not_abstract" name="classifier_not_abstract" constrainedElement="ReclassifyObjectAction">
        <ownedComment xmi:id="ReclassifyObjectAction-classifier_not_abstract-_ownedComment.0" annotatedElement="ReclassifyObjectAction-classifier_not_abstract">
          <body>None of the newClassifiers may be abstract.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReclassifyObjectAction-classifier_not_abstract-_specification">
          <language>OCL</language>
          <body>not newClassifier->exists(isAbstract)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReclassifyObjectAction-multiplicity" name="multiplicity" constrainedElement="ReclassifyObjectAction">
        <ownedComment xmi:id="ReclassifyObjectAction-multiplicity-_ownedComment.0" annotatedElement="ReclassifyObjectAction-multiplicity">
          <body>The multiplicity of the object InputPin is 1..1.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReclassifyObjectAction-multiplicity-_specification">
          <language>OCL</language>
          <body>object.is(1,1)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ReclassifyObjectAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="ReclassifyObjectAction-isReplaceAll" name="isReplaceAll">
        <ownedComment xmi:id="ReclassifyObjectAction-isReplaceAll-_ownedComment.0" annotatedElement="ReclassifyObjectAction-isReplaceAll">
          <body>Specifies whether existing Classifiers should be removed before adding the new Classifiers.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ReclassifyObjectAction-isReplaceAll-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ReclassifyObjectAction-newClassifier" name="newClassifier" type="Classifier" association="A_newClassifier_reclassifyObjectAction">
        <ownedComment xmi:id="ReclassifyObjectAction-newClassifier-_ownedComment.0" annotatedElement="ReclassifyObjectAction-newClassifier">
          <body>A set of Classifiers to be added to the Classifiers of the given object.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ReclassifyObjectAction-newClassifier-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ReclassifyObjectAction-newClassifier-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ReclassifyObjectAction-object" name="object" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_object_reclassifyObjectAction">
        <ownedComment xmi:id="ReclassifyObjectAction-object-_ownedComment.0" annotatedElement="ReclassifyObjectAction-object">
          <body>The InputPin that holds the object to be reclassified.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ReclassifyObjectAction-oldClassifier" name="oldClassifier" type="Classifier" association="A_oldClassifier_reclassifyObjectAction">
        <ownedComment xmi:id="ReclassifyObjectAction-oldClassifier-_ownedComment.0" annotatedElement="ReclassifyObjectAction-oldClassifier">
          <body>A set of Classifiers to be removed from the Classifiers of the given object.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ReclassifyObjectAction-oldClassifier-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ReclassifyObjectAction-oldClassifier-_upperValue" value="*"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ReduceAction" name="ReduceAction">
      <ownedComment xmi:id="ReduceAction-_ownedComment.0" annotatedElement="ReduceAction">
        <body>A ReduceAction is an Action that reduces a collection to a single value by repeatedly combining the elements of the collection using a reducer Behavior.</body>
      </ownedComment>
      <ownedRule xmi:id="ReduceAction-reducer_inputs_output" name="reducer_inputs_output" constrainedElement="ReduceAction">
        <ownedComment xmi:id="ReduceAction-reducer_inputs_output-_ownedComment.0" annotatedElement="ReduceAction-reducer_inputs_output">
          <body>The reducer Behavior must have two input ownedParameters and one output ownedParameter, where the type of the output Parameter and the type of elements of the input collection conform to the types of the input Parameters.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReduceAction-reducer_inputs_output-_specification">
          <language>OCL</language>
          <body>let inputs: OrderedSet(Parameter) = reducer.inputParameters() in&#xD;
let outputs: OrderedSet(Parameter) = reducer.outputParameters() in&#xD;
inputs->size()=2 and outputs->size()=1 and&#xD;
inputs.type->forAll(t | &#xD;
	outputs.type->forAll(conformsTo(t)) and &#xD;
	-- Note that the following only checks the case when the collection is via multiple tokens.&#xD;
	collection.upperBound()>1 implies collection.type.conformsTo(t))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReduceAction-input_type_is_collection" name="input_type_is_collection" constrainedElement="ReduceAction">
        <ownedComment xmi:id="ReduceAction-input_type_is_collection-_ownedComment.0" annotatedElement="ReduceAction-input_type_is_collection">
          <body>The type of the collection InputPin must be a collection.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReduceAction-input_type_is_collection-_specification" language=""/>
      </ownedRule>
      <ownedRule xmi:id="ReduceAction-output_types_are_compatible" name="output_types_are_compatible" constrainedElement="ReduceAction">
        <ownedComment xmi:id="ReduceAction-output_types_are_compatible-_ownedComment.0" annotatedElement="ReduceAction-output_types_are_compatible">
          <body>The type of the output of the reducer Behavior must conform to the type of the result OutputPin.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReduceAction-output_types_are_compatible-_specification">
          <language>OCL</language>
          <body>reducer.outputParameters().type->forAll(conformsTo(result.type))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ReduceAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="ReduceAction-collection" name="collection" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_collection_reduceAction">
        <ownedComment xmi:id="ReduceAction-collection-_ownedComment.0" annotatedElement="ReduceAction-collection">
          <body>The InputPin that provides the collection to be reduced.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ReduceAction-isOrdered" name="isOrdered">
        <ownedComment xmi:id="ReduceAction-isOrdered-_ownedComment.0" annotatedElement="ReduceAction-isOrdered">
          <body>Indicates whether the order of the input collection should determine the order in which the reducer Behavior is applied to its elements.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ReduceAction-isOrdered-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ReduceAction-reducer" name="reducer" type="Behavior" association="A_reducer_reduceAction">
        <ownedComment xmi:id="ReduceAction-reducer-_ownedComment.0" annotatedElement="ReduceAction-reducer">
          <body>A Behavior that is repreatedly applied to two elements of the input collection to produce a value that is of the same type as elements of the collection.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ReduceAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_reduceAction">
        <ownedComment xmi:id="ReduceAction-result-_ownedComment.0" annotatedElement="ReduceAction-result">
          <body>The output pin on which the result value is placed.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="RemoveStructuralFeatureValueAction" name="RemoveStructuralFeatureValueAction">
      <ownedComment xmi:id="RemoveStructuralFeatureValueAction-_ownedComment.0" annotatedElement="RemoveStructuralFeatureValueAction">
        <body>A RemoveStructuralFeatureValueAction is a WriteStructuralFeatureAction that removes values from a StructuralFeature.</body>
      </ownedComment>
      <ownedRule xmi:id="RemoveStructuralFeatureValueAction-removeAt_and_value" name="removeAt_and_value" constrainedElement="RemoveStructuralFeatureValueAction">
        <ownedComment xmi:id="RemoveStructuralFeatureValueAction-removeAt_and_value-_ownedComment.0" annotatedElement="RemoveStructuralFeatureValueAction-removeAt_and_value">
          <body>RemoveStructuralFeatureValueActions removing a value from ordered, non-unique StructuralFeatures must have a single removeAt InputPin and no value InputPin, if isRemoveDuplicates is false. The removeAt InputPin must be of type Unlimited Natural with multiplicity 1..1. Otherwise, the Action has a value InputPin and no removeAt InputPin.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="RemoveStructuralFeatureValueAction-removeAt_and_value-_specification">
          <language>OCL</language>
          <body>if structuralFeature.isOrdered and not structuralFeature.isUnique and  not isRemoveDuplicates then&#xD;
  value = null and&#xD;
  removeAt &lt;> null and&#xD;
  removeAt.type = UnlimitedNatural and&#xD;
  removeAt.is(1,1)&#xD;
else&#xD;
  removeAt = null and value &lt;> null&#xD;
endif</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="RemoveStructuralFeatureValueAction-_generalization.0" general="WriteStructuralFeatureAction"/>
      <ownedAttribute xmi:id="RemoveStructuralFeatureValueAction-isRemoveDuplicates" name="isRemoveDuplicates">
        <ownedComment xmi:id="RemoveStructuralFeatureValueAction-isRemoveDuplicates-_ownedComment.0" annotatedElement="RemoveStructuralFeatureValueAction-isRemoveDuplicates">
          <body>Specifies whether to remove duplicates of the value in nonunique StructuralFeatures.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="RemoveStructuralFeatureValueAction-isRemoveDuplicates-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="RemoveStructuralFeatureValueAction-removeAt" name="removeAt" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_removeAt_removeStructuralFeatureValueAction">
        <ownedComment xmi:id="RemoveStructuralFeatureValueAction-removeAt-_ownedComment.0" annotatedElement="RemoveStructuralFeatureValueAction-removeAt">
          <body>An InputPin that provides the position of an existing value to remove in ordered, nonunique structural features. The type of the removeAt InputPin is UnlimitedNatural, but the value cannot be zero or unlimited.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="RemoveStructuralFeatureValueAction-removeAt-_lowerValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="RemoveVariableValueAction" name="RemoveVariableValueAction">
      <ownedComment xmi:id="RemoveVariableValueAction-_ownedComment.0" annotatedElement="RemoveVariableValueAction">
        <body>A RemoveVariableValueAction is a WriteVariableAction that removes values from a Variables.</body>
      </ownedComment>
      <ownedRule xmi:id="RemoveVariableValueAction-removeAt_and_value" name="removeAt_and_value" constrainedElement="RemoveVariableValueAction">
        <ownedComment xmi:id="RemoveVariableValueAction-removeAt_and_value-_ownedComment.0" annotatedElement="RemoveVariableValueAction-removeAt_and_value">
          <body>ReadVariableActions removing a value from ordered, non-unique Variables must have a single removeAt InputPin and no value InputPin, if isRemoveDuplicates is false. The removeAt InputPin must be of type Unlimited Natural with multiplicity 1..1. Otherwise, the Action has a value InputPin and no removeAt InputPin.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="RemoveVariableValueAction-removeAt_and_value-_specification">
          <language>OCL</language>
          <body>if  variable.isOrdered and not variable.isUnique and not isRemoveDuplicates then &#xD;
  value = null and&#xD;
  removeAt &lt;> null and&#xD;
  removeAt.type = UnlimitedNatural and&#xD;
  removeAt.is(1,1)&#xD;
else&#xD;
  removeAt = null and value &lt;> null&#xD;
endif</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="RemoveVariableValueAction-_generalization.0" general="WriteVariableAction"/>
      <ownedAttribute xmi:id="RemoveVariableValueAction-isRemoveDuplicates" name="isRemoveDuplicates">
        <ownedComment xmi:id="RemoveVariableValueAction-isRemoveDuplicates-_ownedComment.0" annotatedElement="RemoveVariableValueAction-isRemoveDuplicates">
          <body>Specifies whether to remove duplicates of the value in nonunique Variables.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="RemoveVariableValueAction-isRemoveDuplicates-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="RemoveVariableValueAction-removeAt" name="removeAt" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_removeAt_removeVariableValueAction">
        <ownedComment xmi:id="RemoveVariableValueAction-removeAt-_ownedComment.0" annotatedElement="RemoveVariableValueAction-removeAt">
          <body>An InputPin that provides the position of an existing value to remove in ordered, nonunique Variables. The type of the removeAt InputPin is UnlimitedNatural, but the value cannot be zero or unlimited.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="RemoveVariableValueAction-removeAt-_lowerValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ReplyAction" name="ReplyAction">
      <ownedComment xmi:id="ReplyAction-_ownedComment.0" annotatedElement="ReplyAction">
        <body>A ReplyAction is an Action that accepts a set of reply values and a value containing return information produced by a previous AcceptCallAction. The ReplyAction returns the values to the caller of the previous call, completing execution of the call.</body>
      </ownedComment>
      <ownedRule xmi:id="ReplyAction-pins_match_parameter" name="pins_match_parameter" constrainedElement="ReplyAction">
        <ownedComment xmi:id="ReplyAction-pins_match_parameter-_ownedComment.0" annotatedElement="ReplyAction-pins_match_parameter">
          <body>The replyValue InputPins must match the output (return, out, and inout) parameters of the operation of the event of the replyToCall Trigger in number, type, ordering, and multiplicity.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReplyAction-pins_match_parameter-_specification">
          <language>OCL</language>
          <body>let parameter:OrderedSet(Parameter) = replyToCall.event.oclAsType(CallEvent).operation.outputParameters() in&#xD;
replyValue->size()=parameter->size() and&#xD;
Sequence{1..replyValue->size()}->forAll(i |&#xD;
	replyValue->at(i).type.conformsTo(parameter->at(i).type) and&#xD;
	replyValue->at(i).isOrdered=parameter->at(i).isOrdered and&#xD;
	replyValue->at(i).compatibleWith(parameter->at(i)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ReplyAction-event_on_reply_to_call_trigger" name="event_on_reply_to_call_trigger" constrainedElement="ReplyAction">
        <ownedComment xmi:id="ReplyAction-event_on_reply_to_call_trigger-_ownedComment.0" annotatedElement="ReplyAction-event_on_reply_to_call_trigger">
          <body>The event of the replyToCall Trigger must be a CallEvent.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ReplyAction-event_on_reply_to_call_trigger-_specification">
          <language>OCL</language>
          <body>replyToCall.event.oclIsKindOf(CallEvent)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ReplyAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="ReplyAction-replyToCall" name="replyToCall" type="Trigger" association="A_replyToCall_replyAction">
        <ownedComment xmi:id="ReplyAction-replyToCall-_ownedComment.0" annotatedElement="ReplyAction-replyToCall">
          <body>The Trigger specifying the Operation whose call is being replied to.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ReplyAction-replyValue" name="replyValue" type="InputPin" isOrdered="true" aggregation="composite" subsettedProperty="Action-input" association="A_replyValue_replyAction">
        <ownedComment xmi:id="ReplyAction-replyValue-_ownedComment.0" annotatedElement="ReplyAction-replyValue">
          <body>A list of InputPins providing the values for the output (inout, out, and return) Parameters of the Operation. These values are returned to the caller.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ReplyAction-replyValue-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ReplyAction-replyValue-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ReplyAction-returnInformation" name="returnInformation" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_returnInformation_replyAction">
        <ownedComment xmi:id="ReplyAction-returnInformation-_ownedComment.0" annotatedElement="ReplyAction-returnInformation">
          <body>An InputPin that holds the return information value produced by an earlier AcceptCallAction.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="SendObjectAction" name="SendObjectAction">
      <ownedComment xmi:id="SendObjectAction-_ownedComment.0" annotatedElement="SendObjectAction">
        <body>A SendObjectAction is an InvocationAction that transmits an input object to the target object, which is handled as a request message by the target object. The requestor continues execution immediately after the object is sent out and cannot receive reply values.</body>
      </ownedComment>
      <ownedRule xmi:id="SendObjectAction-type_target_pin" name="type_target_pin" constrainedElement="SendObjectAction">
        <ownedComment xmi:id="SendObjectAction-type_target_pin-_ownedComment.0" annotatedElement="SendObjectAction-type_target_pin">
          <body>If onPort is not empty, the Port given by onPort must be an owned or inherited feature of the type of the target InputPin.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="SendObjectAction-type_target_pin-_specification">
          <language>OCL</language>
          <body>onPort&lt;>null implies target.type.oclAsType(Classifier).allFeatures()->includes(onPort)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="SendObjectAction-_generalization.0" general="InvocationAction"/>
      <ownedAttribute xmi:id="SendObjectAction-request" name="request" type="InputPin" aggregation="composite" redefinedProperty="InvocationAction-argument" association="A_request_sendObjectAction">
        <ownedComment xmi:id="SendObjectAction-request-_ownedComment.0" annotatedElement="SendObjectAction-request">
          <body>The request object, which is transmitted to the target object. The object may be copied in transmission, so identity might not be preserved.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="SendObjectAction-target" name="target" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_target_sendObjectAction">
        <ownedComment xmi:id="SendObjectAction-target-_ownedComment.0" annotatedElement="SendObjectAction-target">
          <body>The target object to which the object is sent.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="SendSignalAction" name="SendSignalAction">
      <ownedComment xmi:id="SendSignalAction-_ownedComment.0" annotatedElement="SendSignalAction">
        <body>A SendSignalAction is an InvocationAction that creates a Signal instance and transmits it to the target object. Values from the argument InputPins are used to provide values for the attributes of the Signal. The requestor continues execution immediately after the Signal instance is sent out and cannot receive reply values.</body>
      </ownedComment>
      <ownedRule xmi:id="SendSignalAction-type_ordering_multiplicity" name="type_ordering_multiplicity" constrainedElement="SendSignalAction">
        <ownedComment xmi:id="SendSignalAction-type_ordering_multiplicity-_ownedComment.0" annotatedElement="SendSignalAction-type_ordering_multiplicity">
          <body>The type, ordering, and multiplicity of an argument InputPin must be the same as the corresponding attribute of the signal.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="SendSignalAction-type_ordering_multiplicity-_specification">
          <language>OCL</language>
          <body>let attribute: OrderedSet(Property) = signal.allAttributes() in&#xD;
Sequence{1..argument->size()}->forAll(i | &#xD;
	argument->at(i).type.conformsTo(attribute->at(i).type) and &#xD;
	argument->at(i).isOrdered = attribute->at(i).isOrdered and&#xD;
	argument->at(i).compatibleWith(attribute->at(i)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="SendSignalAction-number_order" name="number_order" constrainedElement="SendSignalAction">
        <ownedComment xmi:id="SendSignalAction-number_order-_ownedComment.0" annotatedElement="SendSignalAction-number_order">
          <body>The number and order of argument InputPins must be the same as the number and order of attributes of the signal.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="SendSignalAction-number_order-_specification">
          <language>OCL</language>
          <body>argument->size()=signal.allAttributes()->size()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="SendSignalAction-type_target_pin" name="type_target_pin" constrainedElement="SendSignalAction">
        <ownedComment xmi:id="SendSignalAction-type_target_pin-_ownedComment.0" annotatedElement="SendSignalAction-type_target_pin">
          <body>If onPort is not empty, the Port given by onPort must be an owned or inherited feature of the type of the target InputPin.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="SendSignalAction-type_target_pin-_specification">
          <language>OCL</language>
          <body>not onPort->isEmpty() implies target.type.oclAsType(Classifier).allFeatures()->includes(onPort)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="SendSignalAction-_generalization.0" general="InvocationAction"/>
      <ownedAttribute xmi:id="SendSignalAction-signal" name="signal" type="Signal" association="A_signal_sendSignalAction">
        <ownedComment xmi:id="SendSignalAction-signal-_ownedComment.0" annotatedElement="SendSignalAction-signal">
          <body>The Signal whose instance is transmitted to the target.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="SendSignalAction-target" name="target" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_target_sendSignalAction">
        <ownedComment xmi:id="SendSignalAction-target-_ownedComment.0" annotatedElement="SendSignalAction-target">
          <body>The InputPin that provides the target object to which the Signal instance is sent.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="SequenceNode" name="SequenceNode">
      <ownedComment xmi:id="SequenceNode-_ownedComment.0" annotatedElement="SequenceNode">
        <body>A SequenceNode is a StructuredActivityNode that executes a sequence of ExecutableNodes in order.</body>
      </ownedComment>
      <generalization xmi:id="SequenceNode-_generalization.0" general="StructuredActivityNode"/>
      <ownedAttribute xmi:id="SequenceNode-executableNode" name="executableNode" type="ExecutableNode" isOrdered="true" aggregation="composite" redefinedProperty="StructuredActivityNode-node" association="A_executableNode_sequenceNode">
        <ownedComment xmi:id="SequenceNode-executableNode-_ownedComment.0" annotatedElement="SequenceNode-executableNode">
          <body>The ordered set of ExecutableNodes to be sequenced.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SequenceNode-executableNode-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SequenceNode-executableNode-_upperValue" value="*"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="StartClassifierBehaviorAction" name="StartClassifierBehaviorAction">
      <ownedComment xmi:id="StartClassifierBehaviorAction-_ownedComment.0" annotatedElement="StartClassifierBehaviorAction">
        <body>A StartClassifierBehaviorAction is an Action that starts the classifierBehavior of the input object.</body>
      </ownedComment>
      <ownedRule xmi:id="StartClassifierBehaviorAction-multiplicity" name="multiplicity" constrainedElement="StartClassifierBehaviorAction">
        <ownedComment xmi:id="StartClassifierBehaviorAction-multiplicity-_ownedComment.0" annotatedElement="StartClassifierBehaviorAction-multiplicity">
          <body>The multiplicity of the object InputPin is 1..1</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="StartClassifierBehaviorAction-multiplicity-_specification">
          <language>OCL</language>
          <body>object.is(1,1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="StartClassifierBehaviorAction-type_has_classifier" name="type_has_classifier" constrainedElement="StartClassifierBehaviorAction">
        <ownedComment xmi:id="StartClassifierBehaviorAction-type_has_classifier-_ownedComment.0" annotatedElement="StartClassifierBehaviorAction-type_has_classifier">
          <body>If the InputPin has a type, then the type or one of its ancestors must have a classifierBehavior.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="StartClassifierBehaviorAction-type_has_classifier-_specification">
          <language>OCL</language>
          <body>object.type->notEmpty() implies &#xD;
   (object.type.oclIsKindOf(BehavioredClassifier) and object.type.oclAsType(BehavioredClassifier).classifierBehavior&lt;>null)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="StartClassifierBehaviorAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="StartClassifierBehaviorAction-object" name="object" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_object_startClassifierBehaviorAction">
        <ownedComment xmi:id="StartClassifierBehaviorAction-object-_ownedComment.0" annotatedElement="StartClassifierBehaviorAction-object">
          <body>The InputPin that holds the object whose classifierBehavior is to be started.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="StartObjectBehaviorAction" name="StartObjectBehaviorAction">
      <ownedComment xmi:id="StartObjectBehaviorAction-_ownedComment.0" annotatedElement="StartObjectBehaviorAction">
        <body>A StartObjectBehaviorAction is an InvocationAction that starts the execution either of a directly instantiated Behavior or of the classifierBehavior of an object. Argument values may be supplied for the input Parameters of the Behavior. If the Behavior is invoked synchronously, then output values may be obtained for output Parameters.</body>
      </ownedComment>
      <ownedRule xmi:id="StartObjectBehaviorAction-multiplicity_of_object" name="multiplicity_of_object" constrainedElement="StartObjectBehaviorAction">
        <ownedComment xmi:id="StartObjectBehaviorAction-multiplicity_of_object-_ownedComment.0" annotatedElement="StartObjectBehaviorAction-multiplicity_of_object">
          <body>The multiplicity of the object InputPin must be 1..1.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="StartObjectBehaviorAction-multiplicity_of_object-_specification">
          <language>OCL</language>
          <body>object.is(1,1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="StartObjectBehaviorAction-type_of_object" name="type_of_object" constrainedElement="StartObjectBehaviorAction">
        <ownedComment xmi:id="StartObjectBehaviorAction-type_of_object-_ownedComment.0" annotatedElement="StartObjectBehaviorAction-type_of_object">
          <body>The type of the object InputPin must be either a Behavior or a BehavioredClassifier with a classifierBehavior.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="StartObjectBehaviorAction-type_of_object-_specification">
          <language>OCL</language>
          <body>self.behavior()&lt;>null</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="StartObjectBehaviorAction-no_onport" name="no_onport" constrainedElement="StartObjectBehaviorAction">
        <ownedComment xmi:id="StartObjectBehaviorAction-no_onport-_ownedComment.0" annotatedElement="StartObjectBehaviorAction-no_onport">
          <body>A StartObjectBehaviorAction may not specify onPort.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="StartObjectBehaviorAction-no_onport-_specification">
          <language>OCL</language>
          <body>onPort->isEmpty()</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="StartObjectBehaviorAction-_generalization.0" general="CallAction"/>
      <ownedAttribute xmi:id="StartObjectBehaviorAction-object" name="object" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_object_startObjectBehaviorAction">
        <ownedComment xmi:id="StartObjectBehaviorAction-object-_ownedComment.0" annotatedElement="StartObjectBehaviorAction-object">
          <body>An InputPin that holds the object that is either a Behavior to be started or has a classifierBehavior to be started.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedOperation xmi:id="StartObjectBehaviorAction-outputParameters" name="outputParameters" bodyCondition="StartObjectBehaviorAction-outputParameters-spec" isQuery="true" redefinedOperation="CallAction-outputParameters">
        <ownedComment xmi:id="StartObjectBehaviorAction-outputParameters-_ownedComment.0" annotatedElement="StartObjectBehaviorAction-outputParameters">
          <body>Return the inout, out and return ownedParameters of the Behavior being called.</body>
        </ownedComment>
        <ownedRule xmi:id="StartObjectBehaviorAction-outputParameters-spec" name="spec" constrainedElement="StartObjectBehaviorAction-outputParameters">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StartObjectBehaviorAction-outputParameters-spec-_specification">
            <language>OCL</language>
            <body>result = (self.behavior().outputParameters())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="StartObjectBehaviorAction-outputParameters-result" name="result" type="Parameter" isOrdered="true" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StartObjectBehaviorAction-outputParameters-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StartObjectBehaviorAction-outputParameters-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="StartObjectBehaviorAction-inputParameters" name="inputParameters" bodyCondition="StartObjectBehaviorAction-inputParameters-spec" isQuery="true" redefinedOperation="CallAction-inputParameters">
        <ownedComment xmi:id="StartObjectBehaviorAction-inputParameters-_ownedComment.0" annotatedElement="StartObjectBehaviorAction-inputParameters">
          <body>Return the in and inout ownedParameters of the Behavior being called.</body>
        </ownedComment>
        <ownedRule xmi:id="StartObjectBehaviorAction-inputParameters-spec" name="spec" constrainedElement="StartObjectBehaviorAction-inputParameters">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StartObjectBehaviorAction-inputParameters-spec-_specification">
            <language>OCL</language>
            <body>result = (self.behavior().inputParameters())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="StartObjectBehaviorAction-inputParameters-result" name="result" type="Parameter" isOrdered="true" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StartObjectBehaviorAction-inputParameters-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StartObjectBehaviorAction-inputParameters-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="StartObjectBehaviorAction-behavior" name="behavior" bodyCondition="StartObjectBehaviorAction-behavior-spec" isQuery="true">
        <ownedComment xmi:id="StartObjectBehaviorAction-behavior-_ownedComment.0" annotatedElement="StartObjectBehaviorAction-behavior">
          <body>If the type of the object InputPin is a Behavior, then that Behavior. Otherwise, if the type of the object InputPin is a BehavioredClassifier, then the classifierBehavior of that BehavioredClassifier.</body>
        </ownedComment>
        <ownedRule xmi:id="StartObjectBehaviorAction-behavior-spec" name="spec" constrainedElement="StartObjectBehaviorAction-behavior">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StartObjectBehaviorAction-behavior-spec-_specification">
            <language>OCL</language>
            <body>result = (if object.type.oclIsKindOf(Behavior) then&#xD;
  object.type.oclAsType(Behavior)&#xD;
else if object.type.oclIsKindOf(BehavioredClassifier) then&#xD;
  object.type.oclAsType(BehavioredClassifier).classifierBehavior&#xD;
else&#xD;
  null&#xD;
endif&#xD;
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="StartObjectBehaviorAction-behavior-result" name="result" type="Behavior" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StartObjectBehaviorAction-behavior-result-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="StructuralFeatureAction" name="StructuralFeatureAction" isAbstract="true">
      <ownedComment xmi:id="StructuralFeatureAction-_ownedComment.0" annotatedElement="StructuralFeatureAction">
        <body>StructuralFeatureAction is an abstract class for all Actions that operate on StructuralFeatures.</body>
      </ownedComment>
      <ownedRule xmi:id="StructuralFeatureAction-multiplicity" name="multiplicity" constrainedElement="StructuralFeatureAction">
        <ownedComment xmi:id="StructuralFeatureAction-multiplicity-_ownedComment.0" annotatedElement="StructuralFeatureAction-multiplicity">
          <body>The multiplicity of the object InputPin must be 1..1.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuralFeatureAction-multiplicity-_specification">
          <language>OCL</language>
          <body>object.is(1,1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="StructuralFeatureAction-object_type" name="object_type" constrainedElement="StructuralFeatureAction">
        <ownedComment xmi:id="StructuralFeatureAction-object_type-_ownedComment.0" annotatedElement="StructuralFeatureAction-object_type">
          <body>The structuralFeature must either be an owned or inherited feature of the type of the object InputPin, or it must be an owned end of a binary Association whose opposite end had as a type to which the type of the object InputPin conforms.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuralFeatureAction-object_type-_specification">
          <language>OCL</language>
          <body>object.type.oclAsType(Classifier).allFeatures()->includes(structuralFeature) or&#xD;
	object.type.conformsTo(structuralFeature.oclAsType(Property).opposite.type)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="StructuralFeatureAction-visibility" name="visibility" constrainedElement="StructuralFeatureAction">
        <ownedComment xmi:id="StructuralFeatureAction-visibility-_ownedComment.0" annotatedElement="StructuralFeatureAction-visibility">
          <body>The visibility of the structuralFeature must allow access from the object performing the ReadStructuralFeatureAction.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuralFeatureAction-visibility-_specification">
          <language>OCL</language>
          <body>structuralFeature.visibility = VisibilityKind::public or
_'context'.allFeatures()->includes(structuralFeature) or
structuralFeature.visibility=VisibilityKind::protected and
_'context'.conformsTo(structuralFeature.oclAsType(Property).opposite.type.oclAsType(Classifier))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="StructuralFeatureAction-not_static" name="not_static" constrainedElement="StructuralFeatureAction">
        <ownedComment xmi:id="StructuralFeatureAction-not_static-_ownedComment.0" annotatedElement="StructuralFeatureAction-not_static">
          <body>The structuralFeature must not be static.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuralFeatureAction-not_static-_specification">
          <language>OCL</language>
          <body>not structuralFeature.isStatic</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="StructuralFeatureAction-one_featuring_classifier" name="one_featuring_classifier" constrainedElement="StructuralFeatureAction">
        <ownedComment xmi:id="StructuralFeatureAction-one_featuring_classifier-_ownedComment.0" annotatedElement="StructuralFeatureAction-one_featuring_classifier">
          <body>The structuralFeature must have exactly one featuringClassifier.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuralFeatureAction-one_featuring_classifier-_specification">
          <language>OCL</language>
          <body>structuralFeature.featuringClassifier->size() = 1</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="StructuralFeatureAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="StructuralFeatureAction-object" name="object" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_object_structuralFeatureAction">
        <ownedComment xmi:id="StructuralFeatureAction-object-_ownedComment.0" annotatedElement="StructuralFeatureAction-object">
          <body>The InputPin from which the object whose StructuralFeature is to be read or written is obtained.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="StructuralFeatureAction-structuralFeature" name="structuralFeature" type="StructuralFeature" association="A_structuralFeature_structuralFeatureAction">
        <ownedComment xmi:id="StructuralFeatureAction-structuralFeature-_ownedComment.0" annotatedElement="StructuralFeatureAction-structuralFeature">
          <body>The StructuralFeature to be read or written.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="StructuredActivityNode" name="StructuredActivityNode">
      <ownedComment xmi:id="StructuredActivityNode-_ownedComment.0" annotatedElement="StructuredActivityNode">
        <body>A StructuredActivityNode is an Action that is also an ActivityGroup and whose behavior is specified by the ActivityNodes and ActivityEdges it so contains. Unlike other kinds of ActivityGroup, a StructuredActivityNode owns the ActivityNodes and ActivityEdges it contains, and so a node or edge can only be directly contained in one StructuredActivityNode, though StructuredActivityNodes may be nested.</body>
      </ownedComment>
      <ownedRule xmi:id="StructuredActivityNode-output_pin_edges" name="output_pin_edges" constrainedElement="StructuredActivityNode">
        <ownedComment xmi:id="StructuredActivityNode-output_pin_edges-_ownedComment.0" annotatedElement="StructuredActivityNode-output_pin_edges">
          <body>The outgoing ActivityEdges of the OutputPins of a StructuredActivityNode must have targets that are not within the StructuredActivityNode.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuredActivityNode-output_pin_edges-_specification">
          <language>OCL</language>
          <body>output.outgoing.target->excludesAll(allOwnedNodes()-input)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="StructuredActivityNode-edges" name="edges" constrainedElement="StructuredActivityNode">
        <ownedComment xmi:id="StructuredActivityNode-edges-_ownedComment.0" annotatedElement="StructuredActivityNode-edges">
          <body>The edges of a StructuredActivityNode are all the ActivityEdges with source and target ActivityNodes contained directly or indirectly within the StructuredActivityNode and at least one of the source or target not contained in any more deeply nested StructuredActivityNode.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuredActivityNode-edges-_specification">
          <language>OCL</language>
          <body>edge=self.sourceNodes().outgoing->intersection(self.allOwnedNodes().incoming)->&#xD;
	union(self.targetNodes().incoming->intersection(self.allOwnedNodes().outgoing))->asSet()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="StructuredActivityNode-input_pin_edges" name="input_pin_edges" constrainedElement="StructuredActivityNode">
        <ownedComment xmi:id="StructuredActivityNode-input_pin_edges-_ownedComment.0" annotatedElement="StructuredActivityNode-input_pin_edges">
          <body>The incoming ActivityEdges of an InputPin of a StructuredActivityNode must have sources that are not within the StructuredActivityNode.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuredActivityNode-input_pin_edges-_specification">
          <language>OCL</language>
          <body>input.incoming.source->excludesAll(allOwnedNodes()-output)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="StructuredActivityNode-_generalization.0" general="Namespace"/>
      <generalization xmi:id="StructuredActivityNode-_generalization.1" general="ActivityGroup"/>
      <generalization xmi:id="StructuredActivityNode-_generalization.2" general="Action"/>
      <ownedAttribute xmi:id="StructuredActivityNode-activity" name="activity" visibility="protected" type="Activity" isDerived="true" redefinedProperty="ActivityGroup-inActivity ActivityNode-activity" association="A_structuredNode_activity">
        <ownedComment xmi:id="StructuredActivityNode-activity-_ownedComment.0" annotatedElement="StructuredActivityNode-activity">
          <body>The Activity immediately containing the StructuredActivityNode, if it is not contained in another StructuredActivityNode.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredActivityNode-activity-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="StructuredActivityNode-edge" name="edge" type="ActivityEdge" aggregation="composite" subsettedProperty="ActivityGroup-containedEdge Element-ownedElement" association="A_edge_inStructuredNode">
        <ownedComment xmi:id="StructuredActivityNode-edge-_ownedComment.0" annotatedElement="StructuredActivityNode-edge">
          <body>The ActivityEdges immediately contained in the StructuredActivityNode.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredActivityNode-edge-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredActivityNode-edge-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="StructuredActivityNode-mustIsolate" name="mustIsolate">
        <ownedComment xmi:id="StructuredActivityNode-mustIsolate-_ownedComment.0" annotatedElement="StructuredActivityNode-mustIsolate">
          <body>If true, then any object used by an Action within the StructuredActivityNode cannot be accessed by any Action outside the node until the StructuredActivityNode as a whole completes. Any concurrent Actions that would result in accessing such objects are required to have their execution deferred until the completion of the StructuredActivityNode.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="StructuredActivityNode-mustIsolate-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="StructuredActivityNode-node" name="node" type="ActivityNode" aggregation="composite" subsettedProperty="ActivityGroup-containedNode Element-ownedElement" association="A_node_inStructuredNode">
        <ownedComment xmi:id="StructuredActivityNode-node-_ownedComment.0" annotatedElement="StructuredActivityNode-node">
          <body>The ActivityNodes immediately contained in the StructuredActivityNode.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredActivityNode-node-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredActivityNode-node-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="StructuredActivityNode-structuredNodeInput" name="structuredNodeInput" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_structuredNodeInput_structuredActivityNode">
        <ownedComment xmi:id="StructuredActivityNode-structuredNodeInput-_ownedComment.0" annotatedElement="StructuredActivityNode-structuredNodeInput">
          <body>The InputPins owned by the StructuredActivityNode.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredActivityNode-structuredNodeInput-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredActivityNode-structuredNodeInput-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="StructuredActivityNode-structuredNodeOutput" name="structuredNodeOutput" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_structuredNodeOutput_structuredActivityNode">
        <ownedComment xmi:id="StructuredActivityNode-structuredNodeOutput-_ownedComment.0" annotatedElement="StructuredActivityNode-structuredNodeOutput">
          <body>The OutputPins owned by the StructuredActivityNode.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredActivityNode-structuredNodeOutput-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredActivityNode-structuredNodeOutput-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="StructuredActivityNode-variable" name="variable" type="Variable" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_variable_scope">
        <ownedComment xmi:id="StructuredActivityNode-variable-_ownedComment.0" annotatedElement="StructuredActivityNode-variable">
          <body>The Variables defined in the scope of the StructuredActivityNode.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredActivityNode-variable-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredActivityNode-variable-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="StructuredActivityNode-allActions" name="allActions" bodyCondition="StructuredActivityNode-allActions-spec" isQuery="true" redefinedOperation="Action-allActions">
        <ownedComment xmi:id="StructuredActivityNode-allActions-_ownedComment.0" annotatedElement="StructuredActivityNode-allActions">
          <body>Returns this StructuredActivityNode and all Actions contained in it.</body>
        </ownedComment>
        <ownedRule xmi:id="StructuredActivityNode-allActions-spec" name="spec" constrainedElement="StructuredActivityNode-allActions">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuredActivityNode-allActions-spec-_specification">
            <language>OCL</language>
            <body>result = (node->select(oclIsKindOf(Action)).oclAsType(Action).allActions()->including(self)->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="StructuredActivityNode-allActions-result" name="result" type="Action" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredActivityNode-allActions-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredActivityNode-allActions-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="StructuredActivityNode-allOwnedNodes" name="allOwnedNodes" bodyCondition="StructuredActivityNode-allOwnedNodes-spec" isQuery="true" redefinedOperation="Action-allOwnedNodes">
        <ownedComment xmi:id="StructuredActivityNode-allOwnedNodes-_ownedComment.0" annotatedElement="StructuredActivityNode-allOwnedNodes">
          <body>Returns all the ActivityNodes contained directly or indirectly within this StructuredActivityNode, in addition to the Pins of the StructuredActivityNode.</body>
        </ownedComment>
        <ownedRule xmi:id="StructuredActivityNode-allOwnedNodes-spec" name="spec" constrainedElement="StructuredActivityNode-allOwnedNodes">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuredActivityNode-allOwnedNodes-spec-_specification">
            <language>OCL</language>
            <body>result = (self.Action::allOwnedNodes()->union(node)->union(node->select(oclIsKindOf(Action)).oclAsType(Action).allOwnedNodes())->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="StructuredActivityNode-allOwnedNodes-result" name="result" type="ActivityNode" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredActivityNode-allOwnedNodes-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredActivityNode-allOwnedNodes-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="StructuredActivityNode-sourceNodes" name="sourceNodes" bodyCondition="StructuredActivityNode-sourceNodes-spec" isQuery="true">
        <ownedComment xmi:id="StructuredActivityNode-sourceNodes-_ownedComment.0" annotatedElement="StructuredActivityNode-sourceNodes">
          <body>Return those ActivityNodes contained immediately within the StructuredActivityNode that may act as sources of edges owned by the StructuredActivityNode.</body>
        </ownedComment>
        <ownedRule xmi:id="StructuredActivityNode-sourceNodes-spec" name="spec" constrainedElement="StructuredActivityNode-sourceNodes">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuredActivityNode-sourceNodes-spec-_specification">
            <language>OCL</language>
            <body>result = (node->union(input.oclAsType(ActivityNode)->asSet())->&#xD;
  union(node->select(oclIsKindOf(Action)).oclAsType(Action).output)->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="StructuredActivityNode-sourceNodes-result" name="result" type="ActivityNode" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredActivityNode-sourceNodes-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredActivityNode-sourceNodes-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="StructuredActivityNode-targetNodes" name="targetNodes" bodyCondition="StructuredActivityNode-targetNodes-spec" isQuery="true">
        <ownedComment xmi:id="StructuredActivityNode-targetNodes-_ownedComment.0" annotatedElement="StructuredActivityNode-targetNodes">
          <body>Return those ActivityNodes contained immediately within the StructuredActivityNode that may act as targets of edges owned by the StructuredActivityNode.</body>
        </ownedComment>
        <ownedRule xmi:id="StructuredActivityNode-targetNodes-spec" name="spec" constrainedElement="StructuredActivityNode-targetNodes">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuredActivityNode-targetNodes-spec-_specification">
            <language>OCL</language>
            <body>result = (node->union(output.oclAsType(ActivityNode)->asSet())->&#xD;
  union(node->select(oclIsKindOf(Action)).oclAsType(Action).input)->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="StructuredActivityNode-targetNodes-result" name="result" type="ActivityNode" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredActivityNode-targetNodes-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredActivityNode-targetNodes-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="StructuredActivityNode-containingActivity" name="containingActivity" bodyCondition="StructuredActivityNode-containingActivity-spec" isQuery="true" redefinedOperation="ActivityGroup-containingActivity ActivityNode-containingActivity ActivityContent-containingActivity">
        <ownedComment xmi:id="StructuredActivityNode-containingActivity-_ownedComment.0" annotatedElement="StructuredActivityNode-containingActivity">
          <body>The Activity that directly or indirectly contains this StructuredActivityNode (considered as an Action).</body>
        </ownedComment>
        <ownedRule xmi:id="StructuredActivityNode-containingActivity-spec" name="spec" constrainedElement="StructuredActivityNode-containingActivity">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuredActivityNode-containingActivity-spec-_specification">
            <language>OCL</language>
            <body>result = (self.Action::containingActivity())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="StructuredActivityNode-containingActivity-result" name="result" type="Activity" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredActivityNode-containingActivity-result-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="TestIdentityAction" name="TestIdentityAction">
      <ownedComment xmi:id="TestIdentityAction-_ownedComment.0" annotatedElement="TestIdentityAction">
        <body>A TestIdentityAction is an Action that tests if two values are identical objects.</body>
      </ownedComment>
      <ownedRule xmi:id="TestIdentityAction-multiplicity" name="multiplicity" constrainedElement="TestIdentityAction">
        <ownedComment xmi:id="TestIdentityAction-multiplicity-_ownedComment.0" annotatedElement="TestIdentityAction-multiplicity">
          <body>The multiplicity of the InputPins is 1..1.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="TestIdentityAction-multiplicity-_specification">
          <language>OCL</language>
          <body>first.is(1,1) and second.is(1,1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="TestIdentityAction-no_type" name="no_type" constrainedElement="TestIdentityAction">
        <ownedComment xmi:id="TestIdentityAction-no_type-_ownedComment.0" annotatedElement="TestIdentityAction-no_type">
          <body>The InputPins have no type.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="TestIdentityAction-no_type-_specification">
          <language>OCL</language>
          <body>first.type= null and second.type = null</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="TestIdentityAction-result_is_boolean" name="result_is_boolean" constrainedElement="TestIdentityAction">
        <ownedComment xmi:id="TestIdentityAction-result_is_boolean-_ownedComment.0" annotatedElement="TestIdentityAction-result_is_boolean">
          <body>The type of the result OutputPin is Boolean.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="TestIdentityAction-result_is_boolean-_specification">
          <language>OCL</language>
          <body>result.type=Boolean</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="TestIdentityAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="TestIdentityAction-first" name="first" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_first_testIdentityAction">
        <ownedComment xmi:id="TestIdentityAction-first-_ownedComment.0" annotatedElement="TestIdentityAction-first">
          <body>The InputPin on which the first input object is placed.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="TestIdentityAction-result" name="result" type="OutputPin" aggregation="composite" subsettedProperty="Action-output" association="A_result_testIdentityAction">
        <ownedComment xmi:id="TestIdentityAction-result-_ownedComment.0" annotatedElement="TestIdentityAction-result">
          <body>The OutputPin whose Boolean value indicates whether the two input objects are identical.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="TestIdentityAction-second" name="second" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_second_testIdentityAction">
        <ownedComment xmi:id="TestIdentityAction-second-_ownedComment.0" annotatedElement="TestIdentityAction-second">
          <body>The OutputPin on which the second input object is placed.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="UnmarshallAction" name="UnmarshallAction">
      <ownedComment xmi:id="UnmarshallAction-_ownedComment.0" annotatedElement="UnmarshallAction">
        <body>An UnmarshallAction is an Action that retrieves the values of the StructuralFeatures of an object and places them on OutputPins.</body>
      </ownedComment>
      <ownedRule xmi:id="UnmarshallAction-structural_feature" name="structural_feature" constrainedElement="UnmarshallAction">
        <ownedComment xmi:id="UnmarshallAction-structural_feature-_ownedComment.0" annotatedElement="UnmarshallAction-structural_feature">
          <body>The unmarshallType must have at least one StructuralFeature.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="UnmarshallAction-structural_feature-_specification">
          <language>OCL</language>
          <body>unmarshallType.allAttributes()->size() >= 1</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="UnmarshallAction-number_of_result" name="number_of_result" constrainedElement="UnmarshallAction">
        <ownedComment xmi:id="UnmarshallAction-number_of_result-_ownedComment.0" annotatedElement="UnmarshallAction-number_of_result">
          <body>The number of result outputPins must be the same as the number of attributes of the unmarshallType.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="UnmarshallAction-number_of_result-_specification">
          <language>OCL</language>
          <body>unmarshallType.allAttributes()->size() = result->size()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="UnmarshallAction-type_ordering_and_multiplicity" name="type_ordering_and_multiplicity" constrainedElement="UnmarshallAction">
        <ownedComment xmi:id="UnmarshallAction-type_ordering_and_multiplicity-_ownedComment.0" annotatedElement="UnmarshallAction-type_ordering_and_multiplicity">
          <body>The type, ordering and multiplicity of each attribute of the unmarshallType must be compatible with the type, ordering and multiplicity of the corresponding result OutputPin.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="UnmarshallAction-type_ordering_and_multiplicity-_specification">
          <language>OCL</language>
          <body>let attribute:OrderedSet(Property) = unmarshallType.allAttributes() in&#xD;
Sequence{1..result->size()}->forAll(i | &#xD;
	attribute->at(i).type.conformsTo(result->at(i).type) and&#xD;
	attribute->at(i).isOrdered=result->at(i).isOrdered and&#xD;
	attribute->at(i).compatibleWith(result->at(i)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="UnmarshallAction-multiplicity_of_object" name="multiplicity_of_object" constrainedElement="UnmarshallAction">
        <ownedComment xmi:id="UnmarshallAction-multiplicity_of_object-_ownedComment.0" annotatedElement="UnmarshallAction-multiplicity_of_object">
          <body>The multiplicity of the object InputPin is 1..1</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="UnmarshallAction-multiplicity_of_object-_specification">
          <language>OCL</language>
          <body>object.is(1,1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="UnmarshallAction-object_type" name="object_type" constrainedElement="UnmarshallAction">
        <ownedComment xmi:id="UnmarshallAction-object_type-_ownedComment.0" annotatedElement="UnmarshallAction-object_type">
          <body>The type of the object InputPin conform to the unmarshallType.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="UnmarshallAction-object_type-_specification">
          <language>OCL</language>
          <body>object.type.conformsTo(unmarshallType)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="UnmarshallAction-_generalization.0" general="Action"/>
      <ownedAttribute xmi:id="UnmarshallAction-object" name="object" type="InputPin" aggregation="composite" subsettedProperty="Action-input" association="A_object_unmarshallAction">
        <ownedComment xmi:id="UnmarshallAction-object-_ownedComment.0" annotatedElement="UnmarshallAction-object">
          <body>The InputPin that gives the object to be unmarshalled.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="UnmarshallAction-result" name="result" type="OutputPin" isOrdered="true" aggregation="composite" subsettedProperty="Action-output" association="A_result_unmarshallAction">
        <ownedComment xmi:id="UnmarshallAction-result-_ownedComment.0" annotatedElement="UnmarshallAction-result">
          <body>The OutputPins on which are placed the values of the StructuralFeatures of the input object.</body>
        </ownedComment>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="UnmarshallAction-result-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="UnmarshallAction-unmarshallType" name="unmarshallType" type="Classifier" association="A_unmarshallType_unmarshallAction">
        <ownedComment xmi:id="UnmarshallAction-unmarshallType-_ownedComment.0" annotatedElement="UnmarshallAction-unmarshallType">
          <body>The type of the object to be unmarshalled.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ValuePin" name="ValuePin">
      <ownedComment xmi:id="ValuePin-_ownedComment.0" annotatedElement="ValuePin">
        <body>A ValuePin is an InputPin that provides a value by evaluating a ValueSpecification.</body>
      </ownedComment>
      <ownedRule xmi:id="ValuePin-no_incoming_edges" name="no_incoming_edges" constrainedElement="ValuePin">
        <ownedComment xmi:id="ValuePin-no_incoming_edges-_ownedComment.0" annotatedElement="ValuePin-no_incoming_edges">
          <body>A ValuePin may have no incoming ActivityEdges.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ValuePin-no_incoming_edges-_specification">
          <language>OCL</language>
          <body>incoming->isEmpty()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ValuePin-compatible_type" name="compatible_type" constrainedElement="ValuePin">
        <ownedComment xmi:id="ValuePin-compatible_type-_ownedComment.0" annotatedElement="ValuePin-compatible_type">
          <body>The type of the value ValueSpecification must conform to the type of the ValuePin.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ValuePin-compatible_type-_specification">
          <language>OCL</language>
          <body>value.type.conformsTo(type)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ValuePin-_generalization.0" general="InputPin"/>
      <ownedAttribute xmi:id="ValuePin-value" name="value" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_value_valuePin">
        <ownedComment xmi:id="ValuePin-value-_ownedComment.0" annotatedElement="ValuePin-value">
          <body>The ValueSpecification that is evaluated to obtain the value that the ValuePin will provide.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_value_valuePin" name="A_value_valuePin" visibility="private" memberEnd="ValuePin-value A_value_valuePin-valuePin">
      <ownedEnd xmi:id="A_value_valuePin-valuePin" name="valuePin" type="ValuePin" subsettedProperty="Element-owner" association="A_value_valuePin">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_value_valuePin-valuePin-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_result_unmarshallAction" name="A_result_unmarshallAction" visibility="private" memberEnd="UnmarshallAction-result A_result_unmarshallAction-unmarshallAction">
      <ownedEnd xmi:id="A_result_unmarshallAction-unmarshallAction" name="unmarshallAction" type="UnmarshallAction" subsettedProperty="A_output_action-action" association="A_result_unmarshallAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_unmarshallAction-unmarshallAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_unmarshallType_unmarshallAction" name="A_unmarshallType_unmarshallAction" visibility="private" memberEnd="UnmarshallAction-unmarshallType A_unmarshallType_unmarshallAction-unmarshallAction">
      <ownedEnd xmi:id="A_unmarshallType_unmarshallAction-unmarshallAction" name="unmarshallAction" type="UnmarshallAction" association="A_unmarshallType_unmarshallAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_unmarshallType_unmarshallAction-unmarshallAction-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_unmarshallType_unmarshallAction-unmarshallAction-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_object_unmarshallAction" name="A_object_unmarshallAction" visibility="private" memberEnd="UnmarshallAction-object A_object_unmarshallAction-unmarshallAction">
      <ownedEnd xmi:id="A_object_unmarshallAction-unmarshallAction" name="unmarshallAction" type="UnmarshallAction" subsettedProperty="A_input_action-action" association="A_object_unmarshallAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_object_unmarshallAction-unmarshallAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_first_testIdentityAction" name="A_first_testIdentityAction" visibility="private" memberEnd="TestIdentityAction-first A_first_testIdentityAction-testIdentityAction">
      <ownedEnd xmi:id="A_first_testIdentityAction-testIdentityAction" name="testIdentityAction" type="TestIdentityAction" subsettedProperty="A_input_action-action" association="A_first_testIdentityAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_first_testIdentityAction-testIdentityAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_second_testIdentityAction" name="A_second_testIdentityAction" visibility="private" memberEnd="TestIdentityAction-second A_second_testIdentityAction-testIdentityAction">
      <ownedEnd xmi:id="A_second_testIdentityAction-testIdentityAction" name="testIdentityAction" type="TestIdentityAction" subsettedProperty="A_input_action-action" association="A_second_testIdentityAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_second_testIdentityAction-testIdentityAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_result_testIdentityAction" name="A_result_testIdentityAction" visibility="private" memberEnd="TestIdentityAction-result A_result_testIdentityAction-testIdentityAction">
      <ownedEnd xmi:id="A_result_testIdentityAction-testIdentityAction" name="testIdentityAction" type="TestIdentityAction" subsettedProperty="A_output_action-action" association="A_result_testIdentityAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_testIdentityAction-testIdentityAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_structuredNodeOutput_structuredActivityNode" name="A_structuredNodeOutput_structuredActivityNode" visibility="private" memberEnd="StructuredActivityNode-structuredNodeOutput A_structuredNodeOutput_structuredActivityNode-structuredActivityNode">
      <ownedEnd xmi:id="A_structuredNodeOutput_structuredActivityNode-structuredActivityNode" name="structuredActivityNode" type="StructuredActivityNode" subsettedProperty="A_output_action-action" association="A_structuredNodeOutput_structuredActivityNode">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_structuredNodeOutput_structuredActivityNode-structuredActivityNode-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_structuredNodeInput_structuredActivityNode" name="A_structuredNodeInput_structuredActivityNode" visibility="private" memberEnd="StructuredActivityNode-structuredNodeInput A_structuredNodeInput_structuredActivityNode-structuredActivityNode">
      <ownedEnd xmi:id="A_structuredNodeInput_structuredActivityNode-structuredActivityNode" name="structuredActivityNode" type="StructuredActivityNode" subsettedProperty="A_input_action-action" association="A_structuredNodeInput_structuredActivityNode">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_structuredNodeInput_structuredActivityNode-structuredActivityNode-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_edge_inStructuredNode" name="A_edge_inStructuredNode" visibility="private" memberEnd="StructuredActivityNode-edge ActivityEdge-inStructuredNode"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_node_inStructuredNode" name="A_node_inStructuredNode" visibility="private" memberEnd="StructuredActivityNode-node ActivityNode-inStructuredNode"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_variable_scope" name="A_variable_scope" visibility="private" memberEnd="StructuredActivityNode-variable Variable-scope"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_object_structuralFeatureAction" name="A_object_structuralFeatureAction" visibility="private" memberEnd="StructuralFeatureAction-object A_object_structuralFeatureAction-structuralFeatureAction">
      <ownedEnd xmi:id="A_object_structuralFeatureAction-structuralFeatureAction" name="structuralFeatureAction" type="StructuralFeatureAction" subsettedProperty="A_input_action-action" association="A_object_structuralFeatureAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_object_structuralFeatureAction-structuralFeatureAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_structuralFeature_structuralFeatureAction" name="A_structuralFeature_structuralFeatureAction" visibility="private" memberEnd="StructuralFeatureAction-structuralFeature A_structuralFeature_structuralFeatureAction-structuralFeatureAction">
      <ownedEnd xmi:id="A_structuralFeature_structuralFeatureAction-structuralFeatureAction" name="structuralFeatureAction" type="StructuralFeatureAction" association="A_structuralFeature_structuralFeatureAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_structuralFeature_structuralFeatureAction-structuralFeatureAction-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_structuralFeature_structuralFeatureAction-structuralFeatureAction-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_object_startObjectBehaviorAction" name="A_object_startObjectBehaviorAction" visibility="private" memberEnd="StartObjectBehaviorAction-object A_object_startObjectBehaviorAction-startObjectBehaviorAction">
      <ownedEnd xmi:id="A_object_startObjectBehaviorAction-startObjectBehaviorAction" name="startObjectBehaviorAction" type="StartObjectBehaviorAction" subsettedProperty="A_input_action-action" association="A_object_startObjectBehaviorAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_object_startObjectBehaviorAction-startObjectBehaviorAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_object_startClassifierBehaviorAction" name="A_object_startClassifierBehaviorAction" visibility="private" memberEnd="StartClassifierBehaviorAction-object A_object_startClassifierBehaviorAction-startClassifierBehaviorAction">
      <ownedEnd xmi:id="A_object_startClassifierBehaviorAction-startClassifierBehaviorAction" name="startClassifierBehaviorAction" type="StartClassifierBehaviorAction" subsettedProperty="A_input_action-action" association="A_object_startClassifierBehaviorAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_object_startClassifierBehaviorAction-startClassifierBehaviorAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_executableNode_sequenceNode" name="A_executableNode_sequenceNode" visibility="private" memberEnd="SequenceNode-executableNode A_executableNode_sequenceNode-sequenceNode">
      <ownedEnd xmi:id="A_executableNode_sequenceNode-sequenceNode" name="sequenceNode" type="SequenceNode" subsettedProperty="ActivityNode-inStructuredNode" association="A_executableNode_sequenceNode">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_executableNode_sequenceNode-sequenceNode-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_signal_sendSignalAction" name="A_signal_sendSignalAction" visibility="private" memberEnd="SendSignalAction-signal A_signal_sendSignalAction-sendSignalAction">
      <ownedEnd xmi:id="A_signal_sendSignalAction-sendSignalAction" name="sendSignalAction" type="SendSignalAction" association="A_signal_sendSignalAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_signal_sendSignalAction-sendSignalAction-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_signal_sendSignalAction-sendSignalAction-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_target_sendSignalAction" name="A_target_sendSignalAction" visibility="private" memberEnd="SendSignalAction-target A_target_sendSignalAction-sendSignalAction">
      <ownedEnd xmi:id="A_target_sendSignalAction-sendSignalAction" name="sendSignalAction" type="SendSignalAction" subsettedProperty="A_input_action-action" association="A_target_sendSignalAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_target_sendSignalAction-sendSignalAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_request_sendObjectAction" name="A_request_sendObjectAction" visibility="private" memberEnd="SendObjectAction-request A_request_sendObjectAction-sendObjectAction">
      <generalization xmi:id="A_request_sendObjectAction-_generalization.0" general="A_argument_invocationAction"/>
      <ownedEnd xmi:id="A_request_sendObjectAction-sendObjectAction" name="sendObjectAction" type="SendObjectAction" redefinedProperty="A_argument_invocationAction-invocationAction" association="A_request_sendObjectAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_request_sendObjectAction-sendObjectAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_target_sendObjectAction" name="A_target_sendObjectAction" visibility="private" memberEnd="SendObjectAction-target A_target_sendObjectAction-sendObjectAction">
      <ownedEnd xmi:id="A_target_sendObjectAction-sendObjectAction" name="sendObjectAction" type="SendObjectAction" subsettedProperty="A_input_action-action" association="A_target_sendObjectAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_target_sendObjectAction-sendObjectAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_returnInformation_replyAction" name="A_returnInformation_replyAction" visibility="private" memberEnd="ReplyAction-returnInformation A_returnInformation_replyAction-replyAction">
      <ownedEnd xmi:id="A_returnInformation_replyAction-replyAction" name="replyAction" type="ReplyAction" subsettedProperty="A_input_action-action" association="A_returnInformation_replyAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_returnInformation_replyAction-replyAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_replyToCall_replyAction" name="A_replyToCall_replyAction" visibility="private" memberEnd="ReplyAction-replyToCall A_replyToCall_replyAction-replyAction">
      <ownedEnd xmi:id="A_replyToCall_replyAction-replyAction" name="replyAction" type="ReplyAction" association="A_replyToCall_replyAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_replyToCall_replyAction-replyAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_replyValue_replyAction" name="A_replyValue_replyAction" visibility="private" memberEnd="ReplyAction-replyValue A_replyValue_replyAction-replyAction">
      <ownedEnd xmi:id="A_replyValue_replyAction-replyAction" name="replyAction" type="ReplyAction" subsettedProperty="A_input_action-action" association="A_replyValue_replyAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_replyValue_replyAction-replyAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_removeAt_removeVariableValueAction" name="A_removeAt_removeVariableValueAction" visibility="private" memberEnd="RemoveVariableValueAction-removeAt A_removeAt_removeVariableValueAction-removeVariableValueAction">
      <ownedEnd xmi:id="A_removeAt_removeVariableValueAction-removeVariableValueAction" name="removeVariableValueAction" type="RemoveVariableValueAction" subsettedProperty="A_input_action-action" association="A_removeAt_removeVariableValueAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_removeAt_removeVariableValueAction-removeVariableValueAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_removeAt_removeStructuralFeatureValueAction" name="A_removeAt_removeStructuralFeatureValueAction" visibility="private" memberEnd="RemoveStructuralFeatureValueAction-removeAt A_removeAt_removeStructuralFeatureValueAction-removeStructuralFeatureValueAction">
      <ownedEnd xmi:id="A_removeAt_removeStructuralFeatureValueAction-removeStructuralFeatureValueAction" name="removeStructuralFeatureValueAction" type="RemoveStructuralFeatureValueAction" subsettedProperty="A_input_action-action" association="A_removeAt_removeStructuralFeatureValueAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_removeAt_removeStructuralFeatureValueAction-removeStructuralFeatureValueAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_collection_reduceAction" name="A_collection_reduceAction" visibility="private" memberEnd="ReduceAction-collection A_collection_reduceAction-reduceAction">
      <ownedEnd xmi:id="A_collection_reduceAction-reduceAction" name="reduceAction" type="ReduceAction" subsettedProperty="A_input_action-action" association="A_collection_reduceAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_collection_reduceAction-reduceAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_reducer_reduceAction" name="A_reducer_reduceAction" visibility="private" memberEnd="ReduceAction-reducer A_reducer_reduceAction-reduceAction">
      <ownedEnd xmi:id="A_reducer_reduceAction-reduceAction" name="reduceAction" type="ReduceAction" association="A_reducer_reduceAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_reducer_reduceAction-reduceAction-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_reducer_reduceAction-reduceAction-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_result_reduceAction" name="A_result_reduceAction" visibility="private" memberEnd="ReduceAction-result A_result_reduceAction-reduceAction">
      <ownedEnd xmi:id="A_result_reduceAction-reduceAction" name="reduceAction" type="ReduceAction" subsettedProperty="A_output_action-action" association="A_result_reduceAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_reduceAction-reduceAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_object_reclassifyObjectAction" name="A_object_reclassifyObjectAction" visibility="private" memberEnd="ReclassifyObjectAction-object A_object_reclassifyObjectAction-reclassifyObjectAction">
      <ownedEnd xmi:id="A_object_reclassifyObjectAction-reclassifyObjectAction" name="reclassifyObjectAction" type="ReclassifyObjectAction" subsettedProperty="A_input_action-action" association="A_object_reclassifyObjectAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_object_reclassifyObjectAction-reclassifyObjectAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_newClassifier_reclassifyObjectAction" name="A_newClassifier_reclassifyObjectAction" visibility="private" memberEnd="ReclassifyObjectAction-newClassifier A_newClassifier_reclassifyObjectAction-reclassifyObjectAction">
      <ownedEnd xmi:id="A_newClassifier_reclassifyObjectAction-reclassifyObjectAction" name="reclassifyObjectAction" type="ReclassifyObjectAction" association="A_newClassifier_reclassifyObjectAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_newClassifier_reclassifyObjectAction-reclassifyObjectAction-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_newClassifier_reclassifyObjectAction-reclassifyObjectAction-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_oldClassifier_reclassifyObjectAction" name="A_oldClassifier_reclassifyObjectAction" visibility="private" memberEnd="ReclassifyObjectAction-oldClassifier A_oldClassifier_reclassifyObjectAction-reclassifyObjectAction">
      <ownedEnd xmi:id="A_oldClassifier_reclassifyObjectAction-reclassifyObjectAction" name="reclassifyObjectAction" type="ReclassifyObjectAction" association="A_oldClassifier_reclassifyObjectAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_oldClassifier_reclassifyObjectAction-reclassifyObjectAction-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_oldClassifier_reclassifyObjectAction-reclassifyObjectAction-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_result_readVariableAction" name="A_result_readVariableAction" visibility="private" memberEnd="ReadVariableAction-result A_result_readVariableAction-readVariableAction">
      <ownedEnd xmi:id="A_result_readVariableAction-readVariableAction" name="readVariableAction" type="ReadVariableAction" subsettedProperty="A_output_action-action" association="A_result_readVariableAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_readVariableAction-readVariableAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_result_readStructuralFeatureAction" name="A_result_readStructuralFeatureAction" visibility="private" memberEnd="ReadStructuralFeatureAction-result A_result_readStructuralFeatureAction-readStructuralFeatureAction">
      <ownedEnd xmi:id="A_result_readStructuralFeatureAction-readStructuralFeatureAction" name="readStructuralFeatureAction" type="ReadStructuralFeatureAction" subsettedProperty="A_output_action-action" association="A_result_readStructuralFeatureAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_readStructuralFeatureAction-readStructuralFeatureAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_result_readSelfAction" name="A_result_readSelfAction" visibility="private" memberEnd="ReadSelfAction-result A_result_readSelfAction-readSelfAction">
      <ownedEnd xmi:id="A_result_readSelfAction-readSelfAction" name="readSelfAction" type="ReadSelfAction" subsettedProperty="A_output_action-action" association="A_result_readSelfAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_readSelfAction-readSelfAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_qualifier_readLinkObjectEndQualifierAction" name="A_qualifier_readLinkObjectEndQualifierAction" visibility="private" memberEnd="ReadLinkObjectEndQualifierAction-qualifier A_qualifier_readLinkObjectEndQualifierAction-readLinkObjectEndQualifierAction">
      <ownedEnd xmi:id="A_qualifier_readLinkObjectEndQualifierAction-readLinkObjectEndQualifierAction" name="readLinkObjectEndQualifierAction" type="ReadLinkObjectEndQualifierAction" association="A_qualifier_readLinkObjectEndQualifierAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_qualifier_readLinkObjectEndQualifierAction-readLinkObjectEndQualifierAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_object_readLinkObjectEndQualifierAction" name="A_object_readLinkObjectEndQualifierAction" visibility="private" memberEnd="ReadLinkObjectEndQualifierAction-object A_object_readLinkObjectEndQualifierAction-readLinkObjectEndQualifierAction">
      <ownedEnd xmi:id="A_object_readLinkObjectEndQualifierAction-readLinkObjectEndQualifierAction" name="readLinkObjectEndQualifierAction" type="ReadLinkObjectEndQualifierAction" subsettedProperty="A_input_action-action" association="A_object_readLinkObjectEndQualifierAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_object_readLinkObjectEndQualifierAction-readLinkObjectEndQualifierAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_result_readLinkObjectEndQualifierAction" name="A_result_readLinkObjectEndQualifierAction" visibility="private" memberEnd="ReadLinkObjectEndQualifierAction-result A_result_readLinkObjectEndQualifierAction-readLinkObjectEndQualifierAction">
      <ownedEnd xmi:id="A_result_readLinkObjectEndQualifierAction-readLinkObjectEndQualifierAction" name="readLinkObjectEndQualifierAction" type="ReadLinkObjectEndQualifierAction" subsettedProperty="A_output_action-action" association="A_result_readLinkObjectEndQualifierAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_readLinkObjectEndQualifierAction-readLinkObjectEndQualifierAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_object_readLinkObjectEndAction" name="A_object_readLinkObjectEndAction" visibility="private" memberEnd="ReadLinkObjectEndAction-object A_object_readLinkObjectEndAction-readLinkObjectEndAction">
      <ownedEnd xmi:id="A_object_readLinkObjectEndAction-readLinkObjectEndAction" name="readLinkObjectEndAction" type="ReadLinkObjectEndAction" subsettedProperty="A_input_action-action" association="A_object_readLinkObjectEndAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_object_readLinkObjectEndAction-readLinkObjectEndAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_end_readLinkObjectEndAction" name="A_end_readLinkObjectEndAction" visibility="private" memberEnd="ReadLinkObjectEndAction-end A_end_readLinkObjectEndAction-readLinkObjectEndAction">
      <ownedEnd xmi:id="A_end_readLinkObjectEndAction-readLinkObjectEndAction" name="readLinkObjectEndAction" type="ReadLinkObjectEndAction" association="A_end_readLinkObjectEndAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_end_readLinkObjectEndAction-readLinkObjectEndAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_result_readLinkObjectEndAction" name="A_result_readLinkObjectEndAction" visibility="private" memberEnd="ReadLinkObjectEndAction-result A_result_readLinkObjectEndAction-readLinkObjectEndAction">
      <ownedEnd xmi:id="A_result_readLinkObjectEndAction-readLinkObjectEndAction" name="readLinkObjectEndAction" type="ReadLinkObjectEndAction" subsettedProperty="A_output_action-action" association="A_result_readLinkObjectEndAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_readLinkObjectEndAction-readLinkObjectEndAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_result_readLinkAction" name="A_result_readLinkAction" visibility="private" memberEnd="ReadLinkAction-result A_result_readLinkAction-readLinkAction">
      <ownedEnd xmi:id="A_result_readLinkAction-readLinkAction" name="readLinkAction" type="ReadLinkAction" subsettedProperty="A_output_action-action" association="A_result_readLinkAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_readLinkAction-readLinkAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_classifier_readIsClassifiedObjectAction" name="A_classifier_readIsClassifiedObjectAction" visibility="private" memberEnd="ReadIsClassifiedObjectAction-classifier A_classifier_readIsClassifiedObjectAction-readIsClassifiedObjectAction">
      <ownedEnd xmi:id="A_classifier_readIsClassifiedObjectAction-readIsClassifiedObjectAction" name="readIsClassifiedObjectAction" type="ReadIsClassifiedObjectAction" association="A_classifier_readIsClassifiedObjectAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_classifier_readIsClassifiedObjectAction-readIsClassifiedObjectAction-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_classifier_readIsClassifiedObjectAction-readIsClassifiedObjectAction-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_result_readIsClassifiedObjectAction" name="A_result_readIsClassifiedObjectAction" visibility="private" memberEnd="ReadIsClassifiedObjectAction-result A_result_readIsClassifiedObjectAction-readIsClassifiedObjectAction">
      <ownedEnd xmi:id="A_result_readIsClassifiedObjectAction-readIsClassifiedObjectAction" name="readIsClassifiedObjectAction" type="ReadIsClassifiedObjectAction" subsettedProperty="A_output_action-action" association="A_result_readIsClassifiedObjectAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_readIsClassifiedObjectAction-readIsClassifiedObjectAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_object_readIsClassifiedObjectAction" name="A_object_readIsClassifiedObjectAction" visibility="private" memberEnd="ReadIsClassifiedObjectAction-object A_object_readIsClassifiedObjectAction-readIsClassifiedObjectAction">
      <ownedEnd xmi:id="A_object_readIsClassifiedObjectAction-readIsClassifiedObjectAction" name="readIsClassifiedObjectAction" type="ReadIsClassifiedObjectAction" subsettedProperty="A_input_action-action" association="A_object_readIsClassifiedObjectAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_object_readIsClassifiedObjectAction-readIsClassifiedObjectAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_result_readExtentAction" name="A_result_readExtentAction" visibility="private" memberEnd="ReadExtentAction-result A_result_readExtentAction-readExtentAction">
      <ownedEnd xmi:id="A_result_readExtentAction-readExtentAction" name="readExtentAction" type="ReadExtentAction" subsettedProperty="A_output_action-action" association="A_result_readExtentAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_readExtentAction-readExtentAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_classifier_readExtentAction" name="A_classifier_readExtentAction" visibility="private" memberEnd="ReadExtentAction-classifier A_classifier_readExtentAction-readExtentAction">
      <ownedEnd xmi:id="A_classifier_readExtentAction-readExtentAction" name="readExtentAction" type="ReadExtentAction" association="A_classifier_readExtentAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_classifier_readExtentAction-readExtentAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_exception_raiseExceptionAction" name="A_exception_raiseExceptionAction" visibility="private" memberEnd="RaiseExceptionAction-exception A_exception_raiseExceptionAction-raiseExceptionAction">
      <ownedEnd xmi:id="A_exception_raiseExceptionAction-raiseExceptionAction" name="raiseExceptionAction" type="RaiseExceptionAction" subsettedProperty="A_input_action-action" association="A_exception_raiseExceptionAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_exception_raiseExceptionAction-raiseExceptionAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_qualifier_qualifierValue" name="A_qualifier_qualifierValue" visibility="private" memberEnd="QualifierValue-qualifier A_qualifier_qualifierValue-qualifierValue">
      <ownedEnd xmi:id="A_qualifier_qualifierValue-qualifierValue" name="qualifierValue" type="QualifierValue" association="A_qualifier_qualifierValue">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_qualifier_qualifierValue-qualifierValue-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_qualifier_qualifierValue-qualifierValue-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_value_qualifierValue" name="A_value_qualifierValue" visibility="private" memberEnd="QualifierValue-value A_value_qualifierValue-qualifierValue">
      <ownedEnd xmi:id="A_value_qualifierValue-qualifierValue" name="qualifierValue" type="QualifierValue" association="A_value_qualifierValue">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_value_qualifierValue-qualifierValue-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_outputValue_opaqueAction" name="A_outputValue_opaqueAction" visibility="private" memberEnd="OpaqueAction-outputValue A_outputValue_opaqueAction-opaqueAction">
      <ownedEnd xmi:id="A_outputValue_opaqueAction-opaqueAction" name="opaqueAction" type="OpaqueAction" subsettedProperty="A_output_action-action" association="A_outputValue_opaqueAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_outputValue_opaqueAction-opaqueAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_inputValue_opaqueAction" name="A_inputValue_opaqueAction" visibility="private" memberEnd="OpaqueAction-inputValue A_inputValue_opaqueAction-opaqueAction">
      <ownedEnd xmi:id="A_inputValue_opaqueAction-opaqueAction" name="opaqueAction" type="OpaqueAction" subsettedProperty="A_input_action-action" association="A_inputValue_opaqueAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_inputValue_opaqueAction-opaqueAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_setupPart_loopNode" name="A_setupPart_loopNode" visibility="private" memberEnd="LoopNode-setupPart A_setupPart_loopNode-loopNode">
      <ownedEnd xmi:id="A_setupPart_loopNode-loopNode" name="loopNode" type="LoopNode" association="A_setupPart_loopNode">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_setupPart_loopNode-loopNode-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_bodyPart_loopNode" name="A_bodyPart_loopNode" visibility="private" memberEnd="LoopNode-bodyPart A_bodyPart_loopNode-loopNode">
      <ownedEnd xmi:id="A_bodyPart_loopNode-loopNode" name="loopNode" type="LoopNode" association="A_bodyPart_loopNode">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_bodyPart_loopNode-loopNode-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_loopVariable_loopNode" name="A_loopVariable_loopNode" visibility="private" memberEnd="LoopNode-loopVariable A_loopVariable_loopNode-loopNode">
      <ownedEnd xmi:id="A_loopVariable_loopNode-loopNode" name="loopNode" type="LoopNode" subsettedProperty="Element-owner" association="A_loopVariable_loopNode">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_loopVariable_loopNode-loopNode-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_result_loopNode" name="A_result_loopNode" visibility="private" memberEnd="LoopNode-result A_result_loopNode-loopNode">
      <ownedEnd xmi:id="A_result_loopNode-loopNode" name="loopNode" type="LoopNode" subsettedProperty="A_structuredNodeOutput_structuredActivityNode-structuredActivityNode" association="A_result_loopNode">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_loopNode-loopNode-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_bodyOutput_loopNode" name="A_bodyOutput_loopNode" visibility="private" memberEnd="LoopNode-bodyOutput A_bodyOutput_loopNode-loopNode">
      <ownedEnd xmi:id="A_bodyOutput_loopNode-loopNode" name="loopNode" type="LoopNode" association="A_bodyOutput_loopNode">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_bodyOutput_loopNode-loopNode-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_bodyOutput_loopNode-loopNode-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_loopVariableInput_loopNode" name="A_loopVariableInput_loopNode" visibility="private" memberEnd="LoopNode-loopVariableInput A_loopVariableInput_loopNode-loopNode">
      <ownedEnd xmi:id="A_loopVariableInput_loopNode-loopNode" name="loopNode" type="LoopNode" subsettedProperty="A_structuredNodeInput_structuredActivityNode-structuredActivityNode" association="A_loopVariableInput_loopNode">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_loopVariableInput_loopNode-loopNode-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_test_loopNode" name="A_test_loopNode" visibility="private" memberEnd="LoopNode-test A_test_loopNode-loopNode">
      <ownedEnd xmi:id="A_test_loopNode-loopNode" name="loopNode" type="LoopNode" association="A_test_loopNode">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_test_loopNode-loopNode-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_decider_loopNode" name="A_decider_loopNode" visibility="private" memberEnd="LoopNode-decider A_decider_loopNode-loopNode">
      <ownedEnd xmi:id="A_decider_loopNode-loopNode" name="loopNode" type="LoopNode" association="A_decider_loopNode">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_decider_loopNode-loopNode-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_destroyAt_linkEndDestructionData" name="A_destroyAt_linkEndDestructionData" visibility="private" memberEnd="LinkEndDestructionData-destroyAt A_destroyAt_linkEndDestructionData-linkEndDestructionData">
      <ownedEnd xmi:id="A_destroyAt_linkEndDestructionData-linkEndDestructionData" name="linkEndDestructionData" type="LinkEndDestructionData" association="A_destroyAt_linkEndDestructionData">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_destroyAt_linkEndDestructionData-linkEndDestructionData-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_value_linkEndData" name="A_value_linkEndData" visibility="private" memberEnd="LinkEndData-value A_value_linkEndData-linkEndData">
      <ownedEnd xmi:id="A_value_linkEndData-linkEndData" name="linkEndData" type="LinkEndData" association="A_value_linkEndData">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_value_linkEndData-linkEndData-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_end_linkEndData" name="A_end_linkEndData" visibility="private" memberEnd="LinkEndData-end A_end_linkEndData-linkEndData">
      <ownedEnd xmi:id="A_end_linkEndData-linkEndData" name="linkEndData" type="LinkEndData" association="A_end_linkEndData">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_end_linkEndData-linkEndData-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_end_linkEndData-linkEndData-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_qualifier_linkEndData" name="A_qualifier_linkEndData" visibility="private" memberEnd="LinkEndData-qualifier A_qualifier_linkEndData-linkEndData">
      <ownedEnd xmi:id="A_qualifier_linkEndData-linkEndData" name="linkEndData" type="LinkEndData" subsettedProperty="Element-owner" association="A_qualifier_linkEndData"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_insertAt_linkEndCreationData" name="A_insertAt_linkEndCreationData" visibility="private" memberEnd="LinkEndCreationData-insertAt A_insertAt_linkEndCreationData-linkEndCreationData">
      <ownedEnd xmi:id="A_insertAt_linkEndCreationData-linkEndCreationData" name="linkEndCreationData" type="LinkEndCreationData" association="A_insertAt_linkEndCreationData">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_insertAt_linkEndCreationData-linkEndCreationData-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_inputValue_linkAction" name="A_inputValue_linkAction" visibility="private" memberEnd="LinkAction-inputValue A_inputValue_linkAction-linkAction">
      <ownedEnd xmi:id="A_inputValue_linkAction-linkAction" name="linkAction" type="LinkAction" subsettedProperty="A_input_action-action" association="A_inputValue_linkAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_inputValue_linkAction-linkAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_endData_linkAction" name="A_endData_linkAction" visibility="private" memberEnd="LinkAction-endData A_endData_linkAction-linkAction">
      <ownedEnd xmi:id="A_endData_linkAction-linkAction" name="linkAction" type="LinkAction" subsettedProperty="Element-owner" association="A_endData_linkAction"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_argument_invocationAction" name="A_argument_invocationAction" visibility="private" memberEnd="InvocationAction-argument A_argument_invocationAction-invocationAction">
      <ownedEnd xmi:id="A_argument_invocationAction-invocationAction" name="invocationAction" type="InvocationAction" subsettedProperty="A_input_action-action" association="A_argument_invocationAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_argument_invocationAction-invocationAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_onPort_invocationAction" name="A_onPort_invocationAction" visibility="private" memberEnd="InvocationAction-onPort A_onPort_invocationAction-invocationAction">
      <ownedEnd xmi:id="A_onPort_invocationAction-invocationAction" name="invocationAction" type="InvocationAction" association="A_onPort_invocationAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_onPort_invocationAction-invocationAction-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_onPort_invocationAction-invocationAction-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_inputElement_regionAsInput" name="A_inputElement_regionAsInput" visibility="private" memberEnd="ExpansionRegion-inputElement ExpansionNode-regionAsInput"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_outputElement_regionAsOutput" name="A_outputElement_regionAsOutput" visibility="private" memberEnd="ExpansionRegion-outputElement ExpansionNode-regionAsOutput"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_target_destroyObjectAction" name="A_target_destroyObjectAction" visibility="private" memberEnd="DestroyObjectAction-target A_target_destroyObjectAction-destroyObjectAction">
      <ownedEnd xmi:id="A_target_destroyObjectAction-destroyObjectAction" name="destroyObjectAction" type="DestroyObjectAction" subsettedProperty="A_input_action-action" association="A_target_destroyObjectAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_target_destroyObjectAction-destroyObjectAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_endData_destroyLinkAction" name="A_endData_destroyLinkAction" visibility="private" memberEnd="DestroyLinkAction-endData A_endData_destroyLinkAction-destroyLinkAction">
      <generalization xmi:id="A_endData_destroyLinkAction-_generalization.0" general="A_endData_linkAction"/>
      <ownedEnd xmi:id="A_endData_destroyLinkAction-destroyLinkAction" name="destroyLinkAction" type="DestroyLinkAction" redefinedProperty="A_endData_linkAction-linkAction" association="A_endData_destroyLinkAction"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_classifier_createObjectAction" name="A_classifier_createObjectAction" visibility="private" memberEnd="CreateObjectAction-classifier A_classifier_createObjectAction-createObjectAction">
      <ownedEnd xmi:id="A_classifier_createObjectAction-createObjectAction" name="createObjectAction" type="CreateObjectAction" association="A_classifier_createObjectAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_classifier_createObjectAction-createObjectAction-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_classifier_createObjectAction-createObjectAction-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_result_createObjectAction" name="A_result_createObjectAction" visibility="private" memberEnd="CreateObjectAction-result A_result_createObjectAction-createObjectAction">
      <ownedEnd xmi:id="A_result_createObjectAction-createObjectAction" name="createObjectAction" type="CreateObjectAction" subsettedProperty="A_output_action-action" association="A_result_createObjectAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_createObjectAction-createObjectAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_result_createLinkObjectAction" name="A_result_createLinkObjectAction" visibility="private" memberEnd="CreateLinkObjectAction-result A_result_createLinkObjectAction-createLinkObjectAction">
      <ownedEnd xmi:id="A_result_createLinkObjectAction-createLinkObjectAction" name="createLinkObjectAction" type="CreateLinkObjectAction" subsettedProperty="A_output_action-action" association="A_result_createLinkObjectAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_createLinkObjectAction-createLinkObjectAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_endData_createLinkAction" name="A_endData_createLinkAction" visibility="private" memberEnd="CreateLinkAction-endData A_endData_createLinkAction-createLinkAction">
      <generalization xmi:id="A_endData_createLinkAction-_generalization.0" general="A_endData_linkAction"/>
      <ownedEnd xmi:id="A_endData_createLinkAction-createLinkAction" name="createLinkAction" type="CreateLinkAction" redefinedProperty="A_endData_linkAction-linkAction" association="A_endData_createLinkAction"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_clause_conditionalNode" name="A_clause_conditionalNode" visibility="private" memberEnd="ConditionalNode-clause A_clause_conditionalNode-conditionalNode">
      <ownedEnd xmi:id="A_clause_conditionalNode-conditionalNode" name="conditionalNode" type="ConditionalNode" subsettedProperty="Element-owner" association="A_clause_conditionalNode"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_result_conditionalNode" name="A_result_conditionalNode" visibility="private" memberEnd="ConditionalNode-result A_result_conditionalNode-conditionalNode">
      <ownedEnd xmi:id="A_result_conditionalNode-conditionalNode" name="conditionalNode" type="ConditionalNode" subsettedProperty="A_structuredNodeOutput_structuredActivityNode-structuredActivityNode" association="A_result_conditionalNode">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_conditionalNode-conditionalNode-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_result_clearStructuralFeatureAction" name="A_result_clearStructuralFeatureAction" visibility="private" memberEnd="ClearStructuralFeatureAction-result A_result_clearStructuralFeatureAction-clearStructuralFeatureAction">
      <ownedEnd xmi:id="A_result_clearStructuralFeatureAction-clearStructuralFeatureAction" name="clearStructuralFeatureAction" type="ClearStructuralFeatureAction" subsettedProperty="A_output_action-action" association="A_result_clearStructuralFeatureAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_clearStructuralFeatureAction-clearStructuralFeatureAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_object_clearAssociationAction" name="A_object_clearAssociationAction" visibility="private" memberEnd="ClearAssociationAction-object A_object_clearAssociationAction-clearAssociationAction">
      <ownedEnd xmi:id="A_object_clearAssociationAction-clearAssociationAction" name="clearAssociationAction" type="ClearAssociationAction" subsettedProperty="A_input_action-action" association="A_object_clearAssociationAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_object_clearAssociationAction-clearAssociationAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_association_clearAssociationAction" name="A_association_clearAssociationAction" visibility="private" memberEnd="ClearAssociationAction-association A_association_clearAssociationAction-clearAssociationAction">
      <ownedEnd xmi:id="A_association_clearAssociationAction-clearAssociationAction" name="clearAssociationAction" type="ClearAssociationAction" association="A_association_clearAssociationAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_association_clearAssociationAction-clearAssociationAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_decider_clause" name="A_decider_clause" visibility="private" memberEnd="Clause-decider A_decider_clause-clause">
      <ownedEnd xmi:id="A_decider_clause-clause" name="clause" type="Clause" association="A_decider_clause">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_decider_clause-clause-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_bodyOutput_clause" name="A_bodyOutput_clause" visibility="private" memberEnd="Clause-bodyOutput A_bodyOutput_clause-clause">
      <ownedEnd xmi:id="A_bodyOutput_clause-clause" name="clause" type="Clause" association="A_bodyOutput_clause">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_bodyOutput_clause-clause-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_bodyOutput_clause-clause-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_test_clause" name="A_test_clause" visibility="private" memberEnd="Clause-test A_test_clause-clause">
      <ownedEnd xmi:id="A_test_clause-clause" name="clause" type="Clause" association="A_test_clause">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_test_clause-clause-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_body_clause" name="A_body_clause" visibility="private" memberEnd="Clause-body A_body_clause-clause">
      <ownedEnd xmi:id="A_body_clause-clause" name="clause" type="Clause" association="A_body_clause">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_body_clause-clause-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_predecessorClause_successorClause" name="A_predecessorClause_successorClause" visibility="private" memberEnd="Clause-predecessorClause Clause-successorClause"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_target_callOperationAction" name="A_target_callOperationAction" visibility="private" memberEnd="CallOperationAction-target A_target_callOperationAction-callOperationAction">
      <ownedEnd xmi:id="A_target_callOperationAction-callOperationAction" name="callOperationAction" type="CallOperationAction" subsettedProperty="A_input_action-action" association="A_target_callOperationAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_target_callOperationAction-callOperationAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_operation_callOperationAction" name="A_operation_callOperationAction" visibility="private" memberEnd="CallOperationAction-operation A_operation_callOperationAction-callOperationAction">
      <ownedEnd xmi:id="A_operation_callOperationAction-callOperationAction" name="callOperationAction" type="CallOperationAction" association="A_operation_callOperationAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_operation_callOperationAction-callOperationAction-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_operation_callOperationAction-callOperationAction-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_behavior_callBehaviorAction" name="A_behavior_callBehaviorAction" visibility="private" memberEnd="CallBehaviorAction-behavior A_behavior_callBehaviorAction-callBehaviorAction">
      <ownedEnd xmi:id="A_behavior_callBehaviorAction-callBehaviorAction" name="callBehaviorAction" type="CallBehaviorAction" association="A_behavior_callBehaviorAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_behavior_callBehaviorAction-callBehaviorAction-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_behavior_callBehaviorAction-callBehaviorAction-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_result_callAction" name="A_result_callAction" visibility="private" memberEnd="CallAction-result A_result_callAction-callAction">
      <ownedEnd xmi:id="A_result_callAction-callAction" name="callAction" type="CallAction" subsettedProperty="A_output_action-action" association="A_result_callAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_callAction-callAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_signal_broadcastSignalAction" name="A_signal_broadcastSignalAction" visibility="private" memberEnd="BroadcastSignalAction-signal A_signal_broadcastSignalAction-broadcastSignalAction">
      <ownedEnd xmi:id="A_signal_broadcastSignalAction-broadcastSignalAction" name="broadcastSignalAction" type="BroadcastSignalAction" association="A_signal_broadcastSignalAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_signal_broadcastSignalAction-broadcastSignalAction-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_signal_broadcastSignalAction-broadcastSignalAction-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_insertAt_addVariableValueAction" name="A_insertAt_addVariableValueAction" visibility="private" memberEnd="AddVariableValueAction-insertAt A_insertAt_addVariableValueAction-addVariableValueAction">
      <ownedEnd xmi:id="A_insertAt_addVariableValueAction-addVariableValueAction" name="addVariableValueAction" type="AddVariableValueAction" subsettedProperty="A_input_action-action" association="A_insertAt_addVariableValueAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_insertAt_addVariableValueAction-addVariableValueAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_insertAt_addStructuralFeatureValueAction" name="A_insertAt_addStructuralFeatureValueAction" visibility="private" memberEnd="AddStructuralFeatureValueAction-insertAt A_insertAt_addStructuralFeatureValueAction-addStructuralFeatureValueAction">
      <ownedEnd xmi:id="A_insertAt_addStructuralFeatureValueAction-addStructuralFeatureValueAction" name="addStructuralFeatureValueAction" type="AddStructuralFeatureValueAction" subsettedProperty="A_input_action-action" association="A_insertAt_addStructuralFeatureValueAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_insertAt_addStructuralFeatureValueAction-addStructuralFeatureValueAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_fromAction_actionInputPin" name="A_fromAction_actionInputPin" visibility="private" memberEnd="ActionInputPin-fromAction A_fromAction_actionInputPin-actionInputPin">
      <ownedEnd xmi:id="A_fromAction_actionInputPin-actionInputPin" name="actionInputPin" type="ActionInputPin" subsettedProperty="Element-owner" association="A_fromAction_actionInputPin">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_fromAction_actionInputPin-actionInputPin-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_output_action" name="A_output_action" visibility="private" isDerived="true" memberEnd="Action-output A_output_action-action">
      <ownedEnd xmi:id="A_output_action-action" name="action" type="Action" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="Element-owner" association="A_output_action">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_output_action-action-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_context_action" name="A_context_action" visibility="private" isDerived="true" memberEnd="Action-context A_context_action-action">
      <ownedEnd xmi:id="A_context_action-action" name="action" type="Action" association="A_context_action">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_context_action-action-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_context_action-action-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_input_action" name="A_input_action" visibility="private" isDerived="true" memberEnd="Action-input A_input_action-action">
      <ownedEnd xmi:id="A_input_action-action" name="action" type="Action" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="Element-owner" association="A_input_action">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_input_action-action-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_localPrecondition_action" name="A_localPrecondition_action" visibility="private" memberEnd="Action-localPrecondition A_localPrecondition_action-action">
      <ownedEnd xmi:id="A_localPrecondition_action-action" name="action" type="Action" subsettedProperty="Element-owner" association="A_localPrecondition_action">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_localPrecondition_action-action-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_localPostcondition_action" name="A_localPostcondition_action" visibility="private" memberEnd="Action-localPostcondition A_localPostcondition_action-action">
      <ownedEnd xmi:id="A_localPostcondition_action-action" name="action" type="Action" subsettedProperty="Element-owner" association="A_localPostcondition_action">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_localPostcondition_action-action-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_trigger_acceptEventAction" name="A_trigger_acceptEventAction" visibility="private" memberEnd="AcceptEventAction-trigger A_trigger_acceptEventAction-acceptEventAction">
      <ownedEnd xmi:id="A_trigger_acceptEventAction-acceptEventAction" name="acceptEventAction" type="AcceptEventAction" subsettedProperty="Element-owner" association="A_trigger_acceptEventAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_trigger_acceptEventAction-acceptEventAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_result_acceptEventAction" name="A_result_acceptEventAction" visibility="private" memberEnd="AcceptEventAction-result A_result_acceptEventAction-acceptEventAction">
      <ownedEnd xmi:id="A_result_acceptEventAction-acceptEventAction" name="acceptEventAction" type="AcceptEventAction" subsettedProperty="A_output_action-action" association="A_result_acceptEventAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_acceptEventAction-acceptEventAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_returnInformation_acceptCallAction" name="A_returnInformation_acceptCallAction" visibility="private" memberEnd="AcceptCallAction-returnInformation A_returnInformation_acceptCallAction-acceptCallAction">
      <ownedEnd xmi:id="A_returnInformation_acceptCallAction-acceptCallAction" name="acceptCallAction" type="AcceptCallAction" subsettedProperty="A_output_action-action" association="A_returnInformation_acceptCallAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_returnInformation_acceptCallAction-acceptCallAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_value_writeVariableAction" name="A_value_writeVariableAction" visibility="private" memberEnd="WriteVariableAction-value A_value_writeVariableAction-writeVariableAction">
      <ownedEnd xmi:id="A_value_writeVariableAction-writeVariableAction" name="writeVariableAction" type="WriteVariableAction" subsettedProperty="A_input_action-action" association="A_value_writeVariableAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_value_writeVariableAction-writeVariableAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_result_writeStructuralFeatureAction" name="A_result_writeStructuralFeatureAction" visibility="private" memberEnd="WriteStructuralFeatureAction-result A_result_writeStructuralFeatureAction-writeStructuralFeatureAction">
      <ownedEnd xmi:id="A_result_writeStructuralFeatureAction-writeStructuralFeatureAction" name="writeStructuralFeatureAction" type="WriteStructuralFeatureAction" subsettedProperty="A_output_action-action" association="A_result_writeStructuralFeatureAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_writeStructuralFeatureAction-writeStructuralFeatureAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_value_writeStructuralFeatureAction" name="A_value_writeStructuralFeatureAction" visibility="private" memberEnd="WriteStructuralFeatureAction-value A_value_writeStructuralFeatureAction-writeStructuralFeatureAction">
      <ownedEnd xmi:id="A_value_writeStructuralFeatureAction-writeStructuralFeatureAction" name="writeStructuralFeatureAction" type="WriteStructuralFeatureAction" subsettedProperty="A_input_action-action" association="A_value_writeStructuralFeatureAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_value_writeStructuralFeatureAction-writeStructuralFeatureAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_variable_variableAction" name="A_variable_variableAction" visibility="private" memberEnd="VariableAction-variable A_variable_variableAction-variableAction">
      <ownedEnd xmi:id="A_variable_variableAction-variableAction" name="variableAction" type="VariableAction" association="A_variable_variableAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_variable_variableAction-variableAction-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_variable_variableAction-variableAction-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_result_valueSpecificationAction" name="A_result_valueSpecificationAction" visibility="private" memberEnd="ValueSpecificationAction-result A_result_valueSpecificationAction-valueSpecificationAction">
      <ownedEnd xmi:id="A_result_valueSpecificationAction-valueSpecificationAction" name="valueSpecificationAction" type="ValueSpecificationAction" subsettedProperty="A_output_action-action" association="A_result_valueSpecificationAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_valueSpecificationAction-valueSpecificationAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_value_valueSpecificationAction" name="A_value_valueSpecificationAction" visibility="private" memberEnd="ValueSpecificationAction-value A_value_valueSpecificationAction-valueSpecificationAction">
      <ownedEnd xmi:id="A_value_valueSpecificationAction-valueSpecificationAction" name="valueSpecificationAction" type="ValueSpecificationAction" subsettedProperty="Element-owner" association="A_value_valueSpecificationAction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_value_valueSpecificationAction-valueSpecificationAction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Activity" name="Activity">
      <ownedComment xmi:id="Activity-_ownedComment.0" annotatedElement="Activity">
        <body>An Activity is the specification of parameterized Behavior as the coordinated sequencing of subordinate units.</body>
      </ownedComment>
      <ownedRule xmi:id="Activity-maximum_one_parameter_node" name="maximum_one_parameter_node" constrainedElement="Activity">
        <ownedComment xmi:id="Activity-maximum_one_parameter_node-_ownedComment.0" annotatedElement="Activity-maximum_one_parameter_node">
          <body>A Parameter with direction other than inout must have exactly one ActivityParameterNode in an Activity.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Activity-maximum_one_parameter_node-_specification">
          <language>OCL</language>
          <body>ownedParameter->forAll(p | &#xD;
   p.direction &lt;> ParameterDirectionKind::inout implies node->select(&#xD;
       oclIsKindOf(ActivityParameterNode) and oclAsType(ActivityParameterNode).parameter = p)->size()= 1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Activity-maximum_two_parameter_nodes" name="maximum_two_parameter_nodes" constrainedElement="Activity">
        <ownedComment xmi:id="Activity-maximum_two_parameter_nodes-_ownedComment.0" annotatedElement="Activity-maximum_two_parameter_nodes">
          <body>A Parameter with direction inout must have exactly two ActivityParameterNodes in an Activity, at most one with incoming ActivityEdges and at most one with outgoing ActivityEdges.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Activity-maximum_two_parameter_nodes-_specification">
          <language>OCL</language>
          <body>ownedParameter->forAll(p | &#xD;
p.direction = ParameterDirectionKind::inout implies&#xD;
let associatedNodes : Set(ActivityNode) = node->select(&#xD;
       oclIsKindOf(ActivityParameterNode) and oclAsType(ActivityParameterNode).parameter = p) in &#xD;
  associatedNodes->size()=2 and&#xD;
  associatedNodes->select(incoming->notEmpty())->size()&lt;=1 and&#xD;
  associatedNodes->select(outgoing->notEmpty())->size()&lt;=1&#xD;
)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Activity-_generalization.0" general="Behavior"/>
      <ownedAttribute xmi:id="Activity-ownedGroup" name="ownedGroup" visibility="protected" type="ActivityGroup" aggregation="composite" subsettedProperty="Activity-group">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Activity-ownedGroup-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Activity-ownedGroup-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Activity-ownedNode" name="ownedNode" visibility="protected" type="ActivityNode" aggregation="composite" subsettedProperty="Activity-node">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Activity-ownedNode-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Activity-ownedNode-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Activity-edge" name="edge" type="ActivityEdge" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_edge_activity">
        <ownedComment xmi:id="Activity-edge-_ownedComment.0" annotatedElement="Activity-edge">
          <body>ActivityEdges expressing flow between the nodes of the Activity.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Activity-edge-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Activity-edge-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Activity-group" name="group" visibility="protected" type="ActivityGroup" aggregation="composite" isDerived="true" subsettedProperty="Element-ownedElement" association="A_group_inActivity">
        <ownedComment xmi:id="Activity-group-_ownedComment.0" annotatedElement="Activity-group">
          <body>Top-level ActivityGroups in the Activity.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Activity-group-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Activity-group-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Activity-isReadOnly" name="isReadOnly">
        <ownedComment xmi:id="Activity-isReadOnly-_ownedComment.0" annotatedElement="Activity-isReadOnly">
          <body>If true, this Activity must not make any changes to objects. The default is false (an Activity may make nonlocal changes). (This is an assertion, not an executable property. It may be used by an execution engine to optimize model execution. If the assertion is violated by the Activity, then the model is ill-formed.)</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Activity-isReadOnly-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Activity-isSingleExecution" name="isSingleExecution">
        <ownedComment xmi:id="Activity-isSingleExecution-_ownedComment.0" annotatedElement="Activity-isSingleExecution">
          <body>If true, all invocations of the Activity are handled by the same execution.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Activity-isSingleExecution-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Activity-node" name="node" visibility="protected" type="ActivityNode" aggregation="composite" isDerived="true" subsettedProperty="Element-ownedElement" association="A_node_activity">
        <ownedComment xmi:id="Activity-node-_ownedComment.0" annotatedElement="Activity-node">
          <body>ActivityNodes coordinated by the Activity.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Activity-node-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Activity-node-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Activity-partition" name="partition" visibility="protected" type="ActivityPartition" subsettedProperty="Activity-group Activity-ownedGroup" association="A_partition_activity">
        <ownedComment xmi:id="Activity-partition-_ownedComment.0" annotatedElement="Activity-partition">
          <body>Top-level ActivityPartitions in the Activity.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Activity-partition-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Activity-partition-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Activity-structuredNode" name="structuredNode" visibility="protected" type="StructuredActivityNode" aggregation="composite" subsettedProperty="Activity-group Activity-node" association="A_structuredNode_activity">
        <ownedComment xmi:id="Activity-structuredNode-_ownedComment.0" annotatedElement="Activity-structuredNode">
          <body>Top-level StructuredActivityNodes in the Activity.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Activity-structuredNode-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Activity-structuredNode-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Activity-variable" name="variable" type="Variable" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_variable_activityScope">
        <ownedComment xmi:id="Activity-variable-_ownedComment.0" annotatedElement="Activity-variable">
          <body>Top-level Variables defined by the Activity.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Activity-variable-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Activity-variable-_upperValue" value="*"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ActivityEdge" name="ActivityEdge" isAbstract="true">
      <ownedComment xmi:id="ActivityEdge-_ownedComment.0" annotatedElement="ActivityEdge">
        <body>An ActivityEdge is an abstract class for directed connections between two ActivityNodes.</body>
      </ownedComment>
      <ownedRule xmi:id="ActivityEdge-source_and_target" name="source_and_target" constrainedElement="ActivityEdge">
        <ownedComment xmi:id="ActivityEdge-source_and_target-_ownedComment.0" annotatedElement="ActivityEdge-source_and_target">
          <body>If an ActivityEdge is directly owned by an Activity, then its source and target must be directly or indirectly contained in the same Activity.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityEdge-source_and_target-_specification">
          <language>OCL</language>
          <body>activity&lt;>null implies source.containingActivity() = activity and target.containingActivity() = activity</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ActivityEdge-_generalization.0" general="RedefinableElement"/>
      <ownedAttribute xmi:id="ActivityEdge-activity" name="activity" type="Activity" subsettedProperty="Element-owner" association="A_edge_activity">
        <ownedComment xmi:id="ActivityEdge-activity-_ownedComment.0" annotatedElement="ActivityEdge-activity">
          <body>The Activity containing the ActivityEdge, if it is directly owned by an Activity.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityEdge-activity-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ActivityEdge-guard" name="guard" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_guard_activityEdge">
        <ownedComment xmi:id="ActivityEdge-guard-_ownedComment.0" annotatedElement="ActivityEdge-guard">
          <body>A ValueSpecification that is evaluated to determine if a token can traverse the ActivityEdge. If an ActivityEdge has no guard, then there is no restriction on tokens traversing the edge.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityEdge-guard-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ActivityEdge-inGroup" name="inGroup" type="ActivityGroup" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_containedEdge_inGroup">
        <ownedComment xmi:id="ActivityEdge-inGroup-_ownedComment.0" annotatedElement="ActivityEdge-inGroup">
          <body>ActivityGroups containing the ActivityEdge.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityEdge-inGroup-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityEdge-inGroup-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ActivityEdge-inPartition" name="inPartition" type="ActivityPartition" subsettedProperty="ActivityEdge-inGroup" association="A_edge_inPartition">
        <ownedComment xmi:id="ActivityEdge-inPartition-_ownedComment.0" annotatedElement="ActivityEdge-inPartition">
          <body>ActivityPartitions containing the ActivityEdge.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityEdge-inPartition-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityEdge-inPartition-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ActivityEdge-inStructuredNode" name="inStructuredNode" type="StructuredActivityNode" subsettedProperty="ActivityEdge-inGroup Element-owner" association="A_edge_inStructuredNode">
        <ownedComment xmi:id="ActivityEdge-inStructuredNode-_ownedComment.0" annotatedElement="ActivityEdge-inStructuredNode">
          <body>The StructuredActivityNode containing the ActivityEdge, if it is owned by a StructuredActivityNode.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityEdge-inStructuredNode-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ActivityEdge-interrupts" name="interrupts" type="InterruptibleActivityRegion" association="A_interruptingEdge_interrupts">
        <ownedComment xmi:id="ActivityEdge-interrupts-_ownedComment.0" annotatedElement="ActivityEdge-interrupts">
          <body>The InterruptibleActivityRegion for which this ActivityEdge is an interruptingEdge.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityEdge-interrupts-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ActivityEdge-redefinedEdge" name="redefinedEdge" type="ActivityEdge" subsettedProperty="RedefinableElement-redefinedElement" association="A_redefinedEdge_activityEdge">
        <ownedComment xmi:id="ActivityEdge-redefinedEdge-_ownedComment.0" annotatedElement="ActivityEdge-redefinedEdge">
          <body>ActivityEdges from a generalization of the Activity containing this ActivityEdge that are redefined by this ActivityEdge.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityEdge-redefinedEdge-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityEdge-redefinedEdge-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ActivityEdge-source" name="source" type="ActivityNode" association="A_outgoing_source_node">
        <ownedComment xmi:id="ActivityEdge-source-_ownedComment.0" annotatedElement="ActivityEdge-source">
          <body>The ActivityNode from which tokens are taken when they traverse the ActivityEdge.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ActivityEdge-target" name="target" type="ActivityNode" association="A_incoming_target_node">
        <ownedComment xmi:id="ActivityEdge-target-_ownedComment.0" annotatedElement="ActivityEdge-target">
          <body>The ActivityNode to which tokens are put when they traverse the ActivityEdge.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ActivityEdge-weight" name="weight" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_weight_activityEdge">
        <ownedComment xmi:id="ActivityEdge-weight-_ownedComment.0" annotatedElement="ActivityEdge-weight">
          <body>The minimum number of tokens that must traverse the ActivityEdge at the same time. If no weight is specified, this is equivalent to specifying a constant value of 1.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityEdge-weight-_lowerValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="ActivityEdge-isConsistentWith" name="isConsistentWith" bodyCondition="ActivityEdge-isConsistentWith-spec" isQuery="true" redefinedOperation="RedefinableElement-isConsistentWith">
        <ownedRule xmi:id="ActivityEdge-isConsistentWith-spec" name="spec" constrainedElement="ActivityEdge-isConsistentWith">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityEdge-isConsistentWith-spec-_specification">
            <language>OCL</language>
            <body>result = (redefiningElement.oclIsKindOf(ActivityEdge))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="ActivityEdge-isConsistentWith-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="ActivityEdge-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ActivityFinalNode" name="ActivityFinalNode">
      <ownedComment xmi:id="ActivityFinalNode-_ownedComment.0" annotatedElement="ActivityFinalNode">
        <body>An ActivityFinalNode is a FinalNode that terminates the execution of its owning Activity or StructuredActivityNode.</body>
      </ownedComment>
      <generalization xmi:id="ActivityFinalNode-_generalization.0" general="FinalNode"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ActivityGroup" name="ActivityGroup" isAbstract="true">
      <ownedComment xmi:id="ActivityGroup-_ownedComment.0" annotatedElement="ActivityGroup">
        <body>ActivityGroup is an abstract class for defining sets of ActivityNodes and ActivityEdges in an Activity.</body>
      </ownedComment>
      <ownedRule xmi:id="ActivityGroup-nodes_and_edges" name="nodes_and_edges" constrainedElement="ActivityGroup">
        <ownedComment xmi:id="ActivityGroup-nodes_and_edges-_ownedComment.0" annotatedElement="ActivityGroup-nodes_and_edges">
          <body>All containedNodes and containeEdges of an ActivityGroup must be in the same Activity as the group.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityGroup-nodes_and_edges-_specification">
          <language>OCL</language>
          <body>containedNode->forAll(activity = self.containingActivity()) and &#xD;
containedEdge->forAll(activity = self.containingActivity())</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ActivityGroup-not_contained" name="not_contained" constrainedElement="ActivityGroup">
        <ownedComment xmi:id="ActivityGroup-not_contained-_ownedComment.0" annotatedElement="ActivityGroup-not_contained">
          <body>No containedNode or containedEdge of an ActivityGroup may be contained by its subgroups or its superGroups, transitively.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityGroup-not_contained-_specification">
          <language>OCL</language>
          <body>subgroup->closure(subgroup).containedNode->excludesAll(containedNode) and&#xD;
superGroup->closure(superGroup).containedNode->excludesAll(containedNode) and &#xD;
subgroup->closure(subgroup).containedEdge->excludesAll(containedEdge) and &#xD;
superGroup->closure(superGroup).containedEdge->excludesAll(containedEdge)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ActivityGroup-_generalization.0" general="ActivityContent"/>
      <generalization xmi:id="ActivityGroup-_generalization.1" general="NamedElement"/>
      <ownedAttribute xmi:id="ActivityGroup-containedEdge" name="containedEdge" type="ActivityEdge" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_containedEdge_inGroup">
        <ownedComment xmi:id="ActivityGroup-containedEdge-_ownedComment.0" annotatedElement="ActivityGroup-containedEdge">
          <body>ActivityEdges immediately contained in the ActivityGroup.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityGroup-containedEdge-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityGroup-containedEdge-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ActivityGroup-containedNode" name="containedNode" type="ActivityNode" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_containedNode_inGroup">
        <ownedComment xmi:id="ActivityGroup-containedNode-_ownedComment.0" annotatedElement="ActivityGroup-containedNode">
          <body>ActivityNodes immediately contained in the ActivityGroup.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityGroup-containedNode-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityGroup-containedNode-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ActivityGroup-inActivity" name="inActivity" visibility="protected" type="Activity" subsettedProperty="Element-owner" association="A_group_inActivity">
        <ownedComment xmi:id="ActivityGroup-inActivity-_ownedComment.0" annotatedElement="ActivityGroup-inActivity">
          <body>The Activity containing the ActivityGroup, if it is directly owned by an Activity.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityGroup-inActivity-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ActivityGroup-subgroup" name="subgroup" type="ActivityGroup" isReadOnly="true" aggregation="composite" isDerived="true" isDerivedUnion="true" subsettedProperty="Element-ownedElement" association="A_subgroup_superGroup">
        <ownedComment xmi:id="ActivityGroup-subgroup-_ownedComment.0" annotatedElement="ActivityGroup-subgroup">
          <body>Other ActivityGroups immediately contained in this ActivityGroup.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityGroup-subgroup-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityGroup-subgroup-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ActivityGroup-superGroup" name="superGroup" type="ActivityGroup" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="Element-owner" association="A_subgroup_superGroup">
        <ownedComment xmi:id="ActivityGroup-superGroup-_ownedComment.0" annotatedElement="ActivityGroup-superGroup">
          <body>The ActivityGroup immediately containing this ActivityGroup, if it is directly owned by another ActivityGroup.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityGroup-superGroup-_lowerValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="ActivityGroup-containingActivity" name="containingActivity" bodyCondition="ActivityGroup-containingActivity-spec" isQuery="true" redefinedOperation="ActivityContent-containingActivity">
        <ownedComment xmi:id="ActivityGroup-containingActivity-_ownedComment.0" annotatedElement="ActivityGroup-containingActivity">
          <body>The Activity that directly or indirectly contains this ActivityGroup.</body>
        </ownedComment>
        <ownedRule xmi:id="ActivityGroup-containingActivity-spec" name="spec" constrainedElement="ActivityGroup-containingActivity">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityGroup-containingActivity-spec-_specification">
            <language>OCL</language>
            <body>result = (if superGroup&lt;>null then superGroup.containingActivity()&#xD;
else inActivity&#xD;
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="ActivityGroup-containingActivity-result" name="result" type="Activity" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityGroup-containingActivity-result-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ActivityNode" name="ActivityNode" isAbstract="true">
      <ownedComment xmi:id="ActivityNode-_ownedComment.0" annotatedElement="ActivityNode">
        <body>ActivityNode is an abstract class for points in the flow of an Activity connected by ActivityEdges.</body>
      </ownedComment>
      <generalization xmi:id="ActivityNode-_generalization.0" general="ActivityContent"/>
      <generalization xmi:id="ActivityNode-_generalization.1" general="RedefinableElement"/>
      <ownedAttribute xmi:id="ActivityNode-activity" name="activity" visibility="protected" type="Activity" subsettedProperty="Element-owner" association="A_node_activity">
        <ownedComment xmi:id="ActivityNode-activity-_ownedComment.0" annotatedElement="ActivityNode-activity">
          <body>The Activity containing the ActivityNode, if it is directly owned by an Activity.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityNode-activity-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ActivityNode-inGroup" name="inGroup" type="ActivityGroup" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_containedNode_inGroup">
        <ownedComment xmi:id="ActivityNode-inGroup-_ownedComment.0" annotatedElement="ActivityNode-inGroup">
          <body>ActivityGroups containing the ActivityNode.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityNode-inGroup-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityNode-inGroup-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ActivityNode-inInterruptibleRegion" name="inInterruptibleRegion" type="InterruptibleActivityRegion" subsettedProperty="ActivityNode-inGroup" association="A_inInterruptibleRegion_node">
        <ownedComment xmi:id="ActivityNode-inInterruptibleRegion-_ownedComment.0" annotatedElement="ActivityNode-inInterruptibleRegion">
          <body>InterruptibleActivityRegions containing the ActivityNode.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityNode-inInterruptibleRegion-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityNode-inInterruptibleRegion-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ActivityNode-inPartition" name="inPartition" type="ActivityPartition" subsettedProperty="ActivityNode-inGroup" association="A_inPartition_node">
        <ownedComment xmi:id="ActivityNode-inPartition-_ownedComment.0" annotatedElement="ActivityNode-inPartition">
          <body>ActivityPartitions containing the ActivityNode.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityNode-inPartition-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityNode-inPartition-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ActivityNode-inStructuredNode" name="inStructuredNode" type="StructuredActivityNode" subsettedProperty="ActivityNode-inGroup Element-owner" association="A_node_inStructuredNode">
        <ownedComment xmi:id="ActivityNode-inStructuredNode-_ownedComment.0" annotatedElement="ActivityNode-inStructuredNode">
          <body>The StructuredActivityNode containing the ActvityNode, if it is directly owned by a StructuredActivityNode.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityNode-inStructuredNode-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ActivityNode-incoming" name="incoming" type="ActivityEdge" association="A_incoming_target_node">
        <ownedComment xmi:id="ActivityNode-incoming-_ownedComment.0" annotatedElement="ActivityNode-incoming">
          <body>ActivityEdges that have the ActivityNode as their target.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityNode-incoming-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityNode-incoming-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ActivityNode-outgoing" name="outgoing" type="ActivityEdge" association="A_outgoing_source_node">
        <ownedComment xmi:id="ActivityNode-outgoing-_ownedComment.0" annotatedElement="ActivityNode-outgoing">
          <body>ActivityEdges that have the ActivityNode as their source.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityNode-outgoing-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityNode-outgoing-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ActivityNode-redefinedNode" name="redefinedNode" type="ActivityNode" subsettedProperty="RedefinableElement-redefinedElement" association="A_redefinedNode_activityNode">
        <ownedComment xmi:id="ActivityNode-redefinedNode-_ownedComment.0" annotatedElement="ActivityNode-redefinedNode">
          <body>ActivityNodes from a generalization of the Activity containining this ActivityNode that are redefined by this ActivityNode.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityNode-redefinedNode-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityNode-redefinedNode-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="ActivityNode-containingActivity" name="containingActivity" bodyCondition="ActivityNode-containingActivity-spec" isQuery="true" redefinedOperation="ActivityContent-containingActivity">
        <ownedComment xmi:id="ActivityNode-containingActivity-_ownedComment.0" annotatedElement="ActivityNode-containingActivity">
          <body>The Activity that directly or indirectly contains this ActivityNode.</body>
        </ownedComment>
        <ownedRule xmi:id="ActivityNode-containingActivity-spec" name="spec" constrainedElement="ActivityNode-containingActivity">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityNode-containingActivity-spec-_specification">
            <language>OCL</language>
            <body>result = (if inStructuredNode&lt;>null then inStructuredNode.containingActivity()&#xD;
else activity&#xD;
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="ActivityNode-containingActivity-result" name="result" type="Activity" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityNode-containingActivity-result-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="ActivityNode-isConsistentWith" name="isConsistentWith" bodyCondition="ActivityNode-isConsistentWith-spec" isQuery="true" redefinedOperation="RedefinableElement-isConsistentWith">
        <ownedRule xmi:id="ActivityNode-isConsistentWith-spec" name="spec" constrainedElement="ActivityNode-isConsistentWith">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityNode-isConsistentWith-spec-_specification">
            <language>OCL</language>
            <body>result = (redefiningElement.oclIsKindOf(ActivityNode))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="ActivityNode-isConsistentWith-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="ActivityNode-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ActivityParameterNode" name="ActivityParameterNode">
      <ownedComment xmi:id="ActivityParameterNode-_ownedComment.0" annotatedElement="ActivityParameterNode">
        <body>An ActivityParameterNode is an ObjectNode for accepting values from the input Parameters or providing values to the output Parameters of an Activity.</body>
      </ownedComment>
      <ownedRule xmi:id="ActivityParameterNode-no_outgoing_edges" name="no_outgoing_edges" constrainedElement="ActivityParameterNode">
        <ownedComment xmi:id="ActivityParameterNode-no_outgoing_edges-_ownedComment.0" annotatedElement="ActivityParameterNode-no_outgoing_edges">
          <body>An ActivityParameterNode with no outgoing ActivityEdges and one or more incoming ActivityEdges must have a parameter with direction out, inout, or return.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityParameterNode-no_outgoing_edges-_specification">
          <language>OCL</language>
          <body>(incoming->notEmpty() and outgoing->isEmpty()) implies &#xD;
	(parameter.direction = ParameterDirectionKind::out or &#xD;
	 parameter.direction = ParameterDirectionKind::inout or &#xD;
	 parameter.direction = ParameterDirectionKind::return)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ActivityParameterNode-has_parameters" name="has_parameters" constrainedElement="ActivityParameterNode">
        <ownedComment xmi:id="ActivityParameterNode-has_parameters-_ownedComment.0" annotatedElement="ActivityParameterNode-has_parameters">
          <body>The parameter of an ActivityParameterNode must be from the containing Activity.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityParameterNode-has_parameters-_specification">
          <language>OCL</language>
          <body>activity.ownedParameter->includes(parameter)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ActivityParameterNode-same_type" name="same_type" constrainedElement="ActivityParameterNode">
        <ownedComment xmi:id="ActivityParameterNode-same_type-_ownedComment.0" annotatedElement="ActivityParameterNode-same_type">
          <body>The type of an ActivityParameterNode is the same as the type of its parameter.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityParameterNode-same_type-_specification">
          <language>OCL</language>
          <body>type = parameter.type</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ActivityParameterNode-no_incoming_edges" name="no_incoming_edges" constrainedElement="ActivityParameterNode">
        <ownedComment xmi:id="ActivityParameterNode-no_incoming_edges-_ownedComment.0" annotatedElement="ActivityParameterNode-no_incoming_edges">
          <body>An ActivityParameterNode with no incoming ActivityEdges and one or more outgoing ActivityEdges must have a parameter with direction in or inout.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityParameterNode-no_incoming_edges-_specification">
          <language>OCL</language>
          <body>(outgoing->notEmpty() and incoming->isEmpty()) implies &#xD;
	(parameter.direction = ParameterDirectionKind::_'in' or &#xD;
	 parameter.direction = ParameterDirectionKind::inout)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ActivityParameterNode-no_edges" name="no_edges" constrainedElement="ActivityParameterNode">
        <ownedComment xmi:id="ActivityParameterNode-no_edges-_ownedComment.0" annotatedElement="ActivityParameterNode-no_edges">
          <body>An ActivityParameterNode may have all incoming ActivityEdges or all outgoing ActivityEdges, but it must not have both incoming and outgoing ActivityEdges.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityParameterNode-no_edges-_specification">
          <language>OCL</language>
          <body>incoming->isEmpty() or outgoing->isEmpty()</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ActivityParameterNode-_generalization.0" general="ObjectNode"/>
      <ownedAttribute xmi:id="ActivityParameterNode-parameter" name="parameter" type="Parameter" association="A_parameter_activityParameterNode">
        <ownedComment xmi:id="ActivityParameterNode-parameter-_ownedComment.0" annotatedElement="ActivityParameterNode-parameter">
          <body>The Parameter for which the ActivityParameterNode will be accepting or providing values.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ActivityPartition" name="ActivityPartition">
      <ownedComment xmi:id="ActivityPartition-_ownedComment.0" annotatedElement="ActivityPartition">
        <body>An ActivityPartition is a kind of ActivityGroup for identifying ActivityNodes that have some characteristic in common.</body>
      </ownedComment>
      <ownedRule xmi:id="ActivityPartition-represents_classifier" name="represents_classifier" constrainedElement="ActivityPartition">
        <ownedComment xmi:id="ActivityPartition-represents_classifier-_ownedComment.0" annotatedElement="ActivityPartition-represents_classifier">
          <body>If a non-external ActivityPartition represents a Classifier and has a superPartition, then the superPartition must represent a Classifier, and the Classifier of the subpartition must be nested (nestedClassifier or ownedBehavior) in the Classifier represented by the superPartition, or be at the contained end of a composition Association with the Classifier represented by the superPartition.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityPartition-represents_classifier-_specification">
          <language>OCL</language>
          <body>(not isExternal and represents.oclIsKindOf(Classifier) and superPartition->notEmpty()) implies&#xD;
(&#xD;
   let representedClassifier : Classifier = represents.oclAsType(Classifier) in&#xD;
     superPartition.represents.oclIsKindOf(Classifier) and&#xD;
      let representedSuperClassifier : Classifier = superPartition.represents.oclAsType(Classifier) in&#xD;
       (representedSuperClassifier.oclIsKindOf(BehavioredClassifier) and representedClassifier.oclIsKindOf(Behavior) and &#xD;
        representedSuperClassifier.oclAsType(BehavioredClassifier).ownedBehavior->includes(representedClassifier.oclAsType(Behavior))) &#xD;
       or&#xD;
       (representedSuperClassifier.oclIsKindOf(Class) and  representedSuperClassifier.oclAsType(Class).nestedClassifier->includes(representedClassifier))&#xD;
       or&#xD;
       (Association.allInstances()->exists(a | a.memberEnd->exists(end1 | end1.isComposite and end1.type = representedClassifier and &#xD;
                                                                      a.memberEnd->exists(end2 | end1&lt;>end2 and end2.type = representedSuperClassifier))))&#xD;
)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ActivityPartition-represents_property_and_is_contained" name="represents_property_and_is_contained" constrainedElement="ActivityPartition">
        <ownedComment xmi:id="ActivityPartition-represents_property_and_is_contained-_ownedComment.0" annotatedElement="ActivityPartition-represents_property_and_is_contained">
          <body>If an ActivityPartition represents a Property and has a superPartition, then the Property must be of a Classifier represented by the superPartition, or of a Classifier that is the type of a Property represented by the superPartition.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityPartition-represents_property_and_is_contained-_specification">
          <language>OCL</language>
          <body>(represents.oclIsKindOf(Property) and superPartition->notEmpty()) implies&#xD;
(&#xD;
  (superPartition.represents.oclIsKindOf(Classifier) and represents.owner = superPartition.represents) or &#xD;
  (superPartition.represents.oclIsKindOf(Property) and represents.owner = superPartition.represents.oclAsType(Property).type)&#xD;
)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ActivityPartition-represents_property" name="represents_property" constrainedElement="ActivityPartition">
        <ownedComment xmi:id="ActivityPartition-represents_property-_ownedComment.0" annotatedElement="ActivityPartition-represents_property">
          <body>If an ActivityPartition represents a Property and has a superPartition representing a Classifier, then all the other non-external subpartitions of the superPartition must represent Properties directly owned by the same Classifier.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityPartition-represents_property-_specification">
          <language>OCL</language>
          <body>(represents.oclIsKindOf(Property) and superPartition->notEmpty() and superPartition.represents.oclIsKindOf(Classifier)) implies&#xD;
(&#xD;
  let representedClassifier : Classifier = superPartition.represents.oclAsType(Classifier)&#xD;
  in&#xD;
    superPartition.subpartition->reject(isExternal)->forAll(p | &#xD;
       p.represents.oclIsKindOf(Property) and p.owner=representedClassifier)&#xD;
)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ActivityPartition-dimension_not_contained" name="dimension_not_contained" constrainedElement="ActivityPartition">
        <ownedComment xmi:id="ActivityPartition-dimension_not_contained-_ownedComment.0" annotatedElement="ActivityPartition-dimension_not_contained">
          <body>An ActvivityPartition with isDimension = true may not be contained by another ActivityPartition.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ActivityPartition-dimension_not_contained-_specification">
          <language>OCL</language>
          <body>isDimension implies superPartition->isEmpty()</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ActivityPartition-_generalization.0" general="ActivityGroup"/>
      <ownedAttribute xmi:id="ActivityPartition-edge" name="edge" type="ActivityEdge" subsettedProperty="ActivityGroup-containedEdge" association="A_edge_inPartition">
        <ownedComment xmi:id="ActivityPartition-edge-_ownedComment.0" annotatedElement="ActivityPartition-edge">
          <body>ActivityEdges immediately contained in the ActivityPartition.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityPartition-edge-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityPartition-edge-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ActivityPartition-isDimension" name="isDimension">
        <ownedComment xmi:id="ActivityPartition-isDimension-_ownedComment.0" annotatedElement="ActivityPartition-isDimension">
          <body>Indicates whether the ActivityPartition groups other ActivityPartitions along a dimension.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ActivityPartition-isDimension-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ActivityPartition-isExternal" name="isExternal">
        <ownedComment xmi:id="ActivityPartition-isExternal-_ownedComment.0" annotatedElement="ActivityPartition-isExternal">
          <body>Indicates whether the ActivityPartition represents an entity to which the partitioning structure does not apply.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ActivityPartition-isExternal-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ActivityPartition-node" name="node" type="ActivityNode" subsettedProperty="ActivityGroup-containedNode" association="A_inPartition_node">
        <ownedComment xmi:id="ActivityPartition-node-_ownedComment.0" annotatedElement="ActivityPartition-node">
          <body>ActivityNodes immediately contained in the ActivityPartition.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityPartition-node-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityPartition-node-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ActivityPartition-represents" name="represents" type="Element" association="A_represents_activityPartition">
        <ownedComment xmi:id="ActivityPartition-represents-_ownedComment.0" annotatedElement="ActivityPartition-represents">
          <body>An Element represented by the functionality modeled within the ActivityPartition.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityPartition-represents-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ActivityPartition-subpartition" name="subpartition" type="ActivityPartition" aggregation="composite" subsettedProperty="ActivityGroup-subgroup" association="A_subpartition_superPartition">
        <ownedComment xmi:id="ActivityPartition-subpartition-_ownedComment.0" annotatedElement="ActivityPartition-subpartition">
          <body>Other ActivityPartitions immediately contained in this ActivityPartition (as its subgroups).</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityPartition-subpartition-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ActivityPartition-subpartition-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ActivityPartition-superPartition" name="superPartition" type="ActivityPartition" subsettedProperty="ActivityGroup-superGroup" association="A_subpartition_superPartition">
        <ownedComment xmi:id="ActivityPartition-superPartition-_ownedComment.0" annotatedElement="ActivityPartition-superPartition">
          <body>Other ActivityPartitions immediately containing this ActivityPartition (as its superGroups).</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ActivityPartition-superPartition-_lowerValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="CentralBufferNode" name="CentralBufferNode">
      <ownedComment xmi:id="CentralBufferNode-_ownedComment.0" annotatedElement="CentralBufferNode">
        <body>A CentralBufferNode is an ObjectNode for managing flows from multiple sources and targets.</body>
      </ownedComment>
      <generalization xmi:id="CentralBufferNode-_generalization.0" general="ObjectNode"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ControlFlow" name="ControlFlow">
      <ownedComment xmi:id="ControlFlow-_ownedComment.0" annotatedElement="ControlFlow">
        <body>A ControlFlow is an ActivityEdge traversed by control tokens or object tokens of control type, which are use to control the execution of ExecutableNodes.</body>
      </ownedComment>
      <ownedRule xmi:id="ControlFlow-object_nodes" name="object_nodes" constrainedElement="ControlFlow">
        <ownedComment xmi:id="ControlFlow-object_nodes-_ownedComment.0" annotatedElement="ControlFlow-object_nodes">
          <body>ControlFlows may not have ObjectNodes at either end, except for ObjectNodes with control type.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ControlFlow-object_nodes-_specification">
          <language>OCL</language>
          <body>(source.oclIsKindOf(ObjectNode) implies source.oclAsType(ObjectNode).isControlType) and &#xD;
(target.oclIsKindOf(ObjectNode) implies target.oclAsType(ObjectNode).isControlType)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ControlFlow-_generalization.0" general="ActivityEdge"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ControlNode" name="ControlNode" isAbstract="true">
      <ownedComment xmi:id="ControlNode-_ownedComment.0" annotatedElement="ControlNode">
        <body>A ControlNode is an abstract ActivityNode that coordinates flows in an Activity.</body>
      </ownedComment>
      <generalization xmi:id="ControlNode-_generalization.0" general="ActivityNode"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="DataStoreNode" name="DataStoreNode">
      <ownedComment xmi:id="DataStoreNode-_ownedComment.0" annotatedElement="DataStoreNode">
        <body>A DataStoreNode is a CentralBufferNode for persistent data.</body>
      </ownedComment>
      <generalization xmi:id="DataStoreNode-_generalization.0" general="CentralBufferNode"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="DecisionNode" name="DecisionNode">
      <ownedComment xmi:id="DecisionNode-_ownedComment.0" annotatedElement="DecisionNode">
        <body>A DecisionNode is a ControlNode that chooses between outgoing ActivityEdges for the routing of tokens.</body>
      </ownedComment>
      <ownedRule xmi:id="DecisionNode-zero_input_parameters" name="zero_input_parameters" constrainedElement="DecisionNode">
        <ownedComment xmi:id="DecisionNode-zero_input_parameters-_ownedComment.0" annotatedElement="DecisionNode-zero_input_parameters">
          <body>If the DecisionNode has no decisionInputFlow and an incoming ControlFlow, then any decisionInput Behavior has no in parameters.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="DecisionNode-zero_input_parameters-_specification">
          <language>OCL</language>
          <body>(decisionInput&lt;>null and decisionInputFlow=null and incoming->exists(oclIsKindOf(ControlFlow))) implies&#xD;
   decisionInput.inputParameters()->isEmpty()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="DecisionNode-edges" name="edges" constrainedElement="DecisionNode">
        <ownedComment xmi:id="DecisionNode-edges-_ownedComment.0" annotatedElement="DecisionNode-edges">
          <body>The ActivityEdges incoming to and outgoing from a DecisionNode, other than the decisionInputFlow (if any), must be either all ObjectFlows or all ControlFlows.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="DecisionNode-edges-_specification">
          <language>OCL</language>
          <body>let allEdges: Set(ActivityEdge) = incoming->union(outgoing) in&#xD;
let allRelevantEdges: Set(ActivityEdge) = if decisionInputFlow->notEmpty() then allEdges->excluding(decisionInputFlow) else allEdges endif in&#xD;
allRelevantEdges->forAll(oclIsKindOf(ControlFlow)) or allRelevantEdges->forAll(oclIsKindOf(ObjectFlow))&#xD;
</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="DecisionNode-decision_input_flow_incoming" name="decision_input_flow_incoming" constrainedElement="DecisionNode">
        <ownedComment xmi:id="DecisionNode-decision_input_flow_incoming-_ownedComment.0" annotatedElement="DecisionNode-decision_input_flow_incoming">
          <body>The decisionInputFlow of a DecisionNode must be an incoming ActivityEdge of the DecisionNode.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="DecisionNode-decision_input_flow_incoming-_specification">
          <language>OCL</language>
          <body>incoming->includes(decisionInputFlow)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="DecisionNode-two_input_parameters" name="two_input_parameters" constrainedElement="DecisionNode">
        <ownedComment xmi:id="DecisionNode-two_input_parameters-_ownedComment.0" annotatedElement="DecisionNode-two_input_parameters">
          <body>If the DecisionNode has a decisionInputFlow and an second incoming ObjectFlow, then any decisionInput has two in Parameters, the first of which has a type that is the same as or a supertype of the type of object tokens offered on the non-decisionInputFlow and the second of which has a type that is the same as or a supertype of the type of object tokens offered on the decisionInputFlow.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="DecisionNode-two_input_parameters-_specification">
          <language>OCL</language>
          <body>(decisionInput&lt;>null and decisionInputFlow&lt;>null and incoming->forAll(oclIsKindOf(ObjectFlow))) implies&#xD;
	decisionInput.inputParameters()->size()=2</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="DecisionNode-incoming_outgoing_edges" name="incoming_outgoing_edges" constrainedElement="DecisionNode">
        <ownedComment xmi:id="DecisionNode-incoming_outgoing_edges-_ownedComment.0" annotatedElement="DecisionNode-incoming_outgoing_edges">
          <body>A DecisionNode has one or two incoming ActivityEdges and at least one outgoing ActivityEdge.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="DecisionNode-incoming_outgoing_edges-_specification">
          <language>OCL</language>
          <body>(incoming->size() = 1 or incoming->size() = 2) and outgoing->size() > 0</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="DecisionNode-incoming_control_one_input_parameter" name="incoming_control_one_input_parameter" constrainedElement="DecisionNode">
        <ownedComment xmi:id="DecisionNode-incoming_control_one_input_parameter-_ownedComment.0" annotatedElement="DecisionNode-incoming_control_one_input_parameter">
          <body>If the DecisionNode has a decisionInputFlow and an incoming ControlFlow, then any decisionInput Behavior has one in Parameter whose type is the same as or a supertype of the type of object tokens offered on the decisionInputFlow.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="DecisionNode-incoming_control_one_input_parameter-_specification">
          <language>OCL</language>
          <body>(decisionInput&lt;>null and decisionInputFlow&lt;>null and incoming->exists(oclIsKindOf(ControlFlow))) implies&#xD;
	decisionInput.inputParameters()->size()=1</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="DecisionNode-parameters" name="parameters" constrainedElement="DecisionNode">
        <ownedComment xmi:id="DecisionNode-parameters-_ownedComment.0" annotatedElement="DecisionNode-parameters">
          <body>A decisionInput Behavior has no out parameters, no inout parameters, and one return parameter.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="DecisionNode-parameters-_specification">
          <language>OCL</language>
          <body>decisionInput&lt;>null implies &#xD;
  (decisionInput.ownedParameter->forAll(par | &#xD;
     par.direction &lt;> ParameterDirectionKind::out and &#xD;
     par.direction &lt;> ParameterDirectionKind::inout ) and&#xD;
   decisionInput.ownedParameter->one(par | &#xD;
     par.direction &lt;> ParameterDirectionKind::return))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="DecisionNode-incoming_object_one_input_parameter" name="incoming_object_one_input_parameter" constrainedElement="DecisionNode">
        <ownedComment xmi:id="DecisionNode-incoming_object_one_input_parameter-_ownedComment.0" annotatedElement="DecisionNode-incoming_object_one_input_parameter">
          <body>If the DecisionNode has no decisionInputFlow and an incoming ObjectFlow, then any decisionInput Behavior has one in Parameter whose type is the same as or a supertype of the type of object tokens offered on the incoming ObjectFlow.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="DecisionNode-incoming_object_one_input_parameter-_specification">
          <language>OCL</language>
          <body>(decisionInput&lt;>null and decisionInputFlow=null and incoming->forAll(oclIsKindOf(ObjectFlow))) implies&#xD;
	decisionInput.inputParameters()->size()=1</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="DecisionNode-_generalization.0" general="ControlNode"/>
      <ownedAttribute xmi:id="DecisionNode-decisionInput" name="decisionInput" type="Behavior" association="A_decisionInput_decisionNode">
        <ownedComment xmi:id="DecisionNode-decisionInput-_ownedComment.0" annotatedElement="DecisionNode-decisionInput">
          <body>A Behavior that is executed to provide an input to guard ValueSpecifications on ActivityEdges outgoing from the DecisionNode.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DecisionNode-decisionInput-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="DecisionNode-decisionInputFlow" name="decisionInputFlow" type="ObjectFlow" association="A_decisionInputFlow_decisionNode">
        <ownedComment xmi:id="DecisionNode-decisionInputFlow-_ownedComment.0" annotatedElement="DecisionNode-decisionInputFlow">
          <body>An additional ActivityEdge incoming to the DecisionNode that provides a decision input value for the guards ValueSpecifications on ActivityEdges outgoing from the DecisionNode.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DecisionNode-decisionInputFlow-_lowerValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ExceptionHandler" name="ExceptionHandler">
      <ownedComment xmi:id="ExceptionHandler-_ownedComment.0" annotatedElement="ExceptionHandler">
        <body>An ExceptionHandler is an Element that specifies a handlerBody ExecutableNode to execute in case the specified exception occurs during the execution of the protected ExecutableNode.</body>
      </ownedComment>
      <ownedRule xmi:id="ExceptionHandler-handler_body_edges" name="handler_body_edges" constrainedElement="ExceptionHandler">
        <ownedComment xmi:id="ExceptionHandler-handler_body_edges-_ownedComment.0" annotatedElement="ExceptionHandler-handler_body_edges">
          <body>The handlerBody has no incoming or outgoing ActivityEdges and the exceptionInput has no incoming ActivityEdges.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ExceptionHandler-handler_body_edges-_specification">
          <language>OCL</language>
          <body>handlerBody.incoming->isEmpty() and handlerBody.outgoing->isEmpty() and exceptionInput.incoming->isEmpty()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ExceptionHandler-output_pins" name="output_pins" constrainedElement="ExceptionHandler">
        <ownedComment xmi:id="ExceptionHandler-output_pins-_ownedComment.0" annotatedElement="ExceptionHandler-output_pins">
          <body>If the protectedNode is an Action with OutputPins, then the handlerBody must also be an Action with the same number of OutputPins, which are compatible in type, ordering, and multiplicity to those of the protectedNode.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ExceptionHandler-output_pins-_specification">
          <language>OCL</language>
          <body>(protectedNode.oclIsKindOf(Action) and protectedNode.oclAsType(Action).output->notEmpty()) implies&#xD;
(&#xD;
  handlerBody.oclIsKindOf(Action) and &#xD;
  let protectedNodeOutput : OrderedSet(OutputPin) = protectedNode.oclAsType(Action).output,&#xD;
        handlerBodyOutput : OrderedSet(OutputPin) =  handlerBody.oclAsType(Action).output in&#xD;
    protectedNodeOutput->size() = handlerBodyOutput->size() and&#xD;
    Sequence{1..protectedNodeOutput->size()}->forAll(i |&#xD;
    	handlerBodyOutput->at(i).type.conformsTo(protectedNodeOutput->at(i).type) and&#xD;
    	handlerBodyOutput->at(i).isOrdered=protectedNodeOutput->at(i).isOrdered and&#xD;
    	handlerBodyOutput->at(i).compatibleWith(protectedNodeOutput->at(i)))&#xD;
)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ExceptionHandler-one_input" name="one_input" constrainedElement="ExceptionHandler">
        <ownedComment xmi:id="ExceptionHandler-one_input-_ownedComment.0" annotatedElement="ExceptionHandler-one_input">
          <body>The handlerBody is an Action with one InputPin, and that InputPin is the same as the exceptionInput.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ExceptionHandler-one_input-_specification">
          <language>OCL</language>
          <body>handlerBody.oclIsKindOf(Action) and&#xD;
let inputs: OrderedSet(InputPin) = handlerBody.oclAsType(Action).input in&#xD;
inputs->size()=1 and inputs->first()=exceptionInput</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ExceptionHandler-edge_source_target" name="edge_source_target" constrainedElement="ExceptionHandler">
        <ownedComment xmi:id="ExceptionHandler-edge_source_target-_ownedComment.0" annotatedElement="ExceptionHandler-edge_source_target">
          <body>An ActivityEdge that has a source within the handlerBody of an ExceptionHandler must have its target in the handlerBody also, and vice versa.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ExceptionHandler-edge_source_target-_specification">
          <language>OCL</language>
          <body>let nodes:Set(ActivityNode) = handlerBody.oclAsType(Action).allOwnedNodes() in&#xD;
nodes.outgoing->forAll(nodes->includes(target)) and&#xD;
nodes.incoming->forAll(nodes->includes(source))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ExceptionHandler-handler_body_owner" name="handler_body_owner" constrainedElement="ExceptionHandler">
        <ownedComment xmi:id="ExceptionHandler-handler_body_owner-_ownedComment.0" annotatedElement="ExceptionHandler-handler_body_owner">
          <body>The handlerBody must have the same owner as the protectedNode.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ExceptionHandler-handler_body_owner-_specification">
          <language>OCL</language>
          <body>handlerBody.owner=protectedNode.owner</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ExceptionHandler-exception_input_type" name="exception_input_type" constrainedElement="ExceptionHandler">
        <ownedComment xmi:id="ExceptionHandler-exception_input_type-_ownedComment.0" annotatedElement="ExceptionHandler-exception_input_type">
          <body>The exceptionInput must either have no type or every exceptionType must conform to the exceptionInput type.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ExceptionHandler-exception_input_type-_specification">
          <language>OCL</language>
          <body>exceptionInput.type=null or &#xD;
exceptionType->forAll(conformsTo(exceptionInput.type.oclAsType(Classifier)))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ExceptionHandler-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="ExceptionHandler-exceptionInput" name="exceptionInput" type="ObjectNode" association="A_exceptionInput_exceptionHandler">
        <ownedComment xmi:id="ExceptionHandler-exceptionInput-_ownedComment.0" annotatedElement="ExceptionHandler-exceptionInput">
          <body>An ObjectNode within the handlerBody. When the ExceptionHandler catches an exception, the exception token is placed on this ObjectNode, causing the handlerBody to execute.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ExceptionHandler-exceptionType" name="exceptionType" type="Classifier" association="A_exceptionType_exceptionHandler">
        <ownedComment xmi:id="ExceptionHandler-exceptionType-_ownedComment.0" annotatedElement="ExceptionHandler-exceptionType">
          <body>The Classifiers whose instances the ExceptionHandler catches as exceptions. If an exception occurs whose type is any exceptionType, the ExceptionHandler catches the exception and executes the handlerBody.</body>
        </ownedComment>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ExceptionHandler-exceptionType-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ExceptionHandler-handlerBody" name="handlerBody" type="ExecutableNode" association="A_handlerBody_exceptionHandler">
        <ownedComment xmi:id="ExceptionHandler-handlerBody-_ownedComment.0" annotatedElement="ExceptionHandler-handlerBody">
          <body>An ExecutableNode that is executed if the ExceptionHandler catches an exception.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ExceptionHandler-protectedNode" name="protectedNode" type="ExecutableNode" subsettedProperty="Element-owner" association="A_handler_protectedNode">
        <ownedComment xmi:id="ExceptionHandler-protectedNode-_ownedComment.0" annotatedElement="ExceptionHandler-protectedNode">
          <body>The ExecutableNode protected by the ExceptionHandler. If an exception propagates out of the protectedNode and has a type matching one of the exceptionTypes, then it is caught by this ExceptionHandler.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ExecutableNode" name="ExecutableNode" isAbstract="true">
      <ownedComment xmi:id="ExecutableNode-_ownedComment.0" annotatedElement="ExecutableNode">
        <body>An ExecutableNode is an abstract class for ActivityNodes whose execution may be controlled using ControlFlows and to which ExceptionHandlers may be attached.</body>
      </ownedComment>
      <generalization xmi:id="ExecutableNode-_generalization.0" general="ActivityNode"/>
      <ownedAttribute xmi:id="ExecutableNode-handler" name="handler" type="ExceptionHandler" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_handler_protectedNode">
        <ownedComment xmi:id="ExecutableNode-handler-_ownedComment.0" annotatedElement="ExecutableNode-handler">
          <body>A set of ExceptionHandlers that are examined if an exception propagates out of the ExceptionNode.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ExecutableNode-handler-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ExecutableNode-handler-_upperValue" value="*"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="FinalNode" name="FinalNode" isAbstract="true">
      <ownedComment xmi:id="FinalNode-_ownedComment.0" annotatedElement="FinalNode">
        <body>A FinalNode is an abstract ControlNode at which a flow in an Activity stops.</body>
      </ownedComment>
      <ownedRule xmi:id="FinalNode-no_outgoing_edges" name="no_outgoing_edges" constrainedElement="FinalNode">
        <ownedComment xmi:id="FinalNode-no_outgoing_edges-_ownedComment.0" annotatedElement="FinalNode-no_outgoing_edges">
          <body>A FinalNode has no outgoing ActivityEdges.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="FinalNode-no_outgoing_edges-_specification">
          <language>OCL</language>
          <body>outgoing->isEmpty()</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="FinalNode-_generalization.0" general="ControlNode"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="FlowFinalNode" name="FlowFinalNode">
      <ownedComment xmi:id="FlowFinalNode-_ownedComment.0" annotatedElement="FlowFinalNode">
        <body>A FlowFinalNode is a FinalNode that terminates a flow by consuming the tokens offered to it.</body>
      </ownedComment>
      <generalization xmi:id="FlowFinalNode-_generalization.0" general="FinalNode"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ForkNode" name="ForkNode">
      <ownedComment xmi:id="ForkNode-_ownedComment.0" annotatedElement="ForkNode">
        <body>A ForkNode is a ControlNode that splits a flow into multiple concurrent flows.</body>
      </ownedComment>
      <ownedRule xmi:id="ForkNode-edges" name="edges" constrainedElement="ForkNode">
        <ownedComment xmi:id="ForkNode-edges-_ownedComment.0" annotatedElement="ForkNode-edges">
          <body>The ActivityEdges incoming to and outgoing from a ForkNode must be either all ObjectFlows or all ControlFlows.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ForkNode-edges-_specification">
          <language>OCL</language>
          <body>let allEdges : Set(ActivityEdge) = incoming->union(outgoing) in&#xD;
allEdges->forAll(oclIsKindOf(ControlFlow)) or allEdges->forAll(oclIsKindOf(ObjectFlow))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ForkNode-one_incoming_edge" name="one_incoming_edge" constrainedElement="ForkNode">
        <ownedComment xmi:id="ForkNode-one_incoming_edge-_ownedComment.0" annotatedElement="ForkNode-one_incoming_edge">
          <body>A ForkNode has one incoming ActivityEdge.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ForkNode-one_incoming_edge-_specification">
          <language>OCL</language>
          <body>incoming->size()=1</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ForkNode-_generalization.0" general="ControlNode"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="InitialNode" name="InitialNode">
      <ownedComment xmi:id="InitialNode-_ownedComment.0" annotatedElement="InitialNode">
        <body>An InitialNode is a ControlNode that offers a single control token when initially enabled.</body>
      </ownedComment>
      <ownedRule xmi:id="InitialNode-no_incoming_edges" name="no_incoming_edges" constrainedElement="InitialNode">
        <ownedComment xmi:id="InitialNode-no_incoming_edges-_ownedComment.0" annotatedElement="InitialNode-no_incoming_edges">
          <body>An InitialNode has no incoming ActivityEdges.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="InitialNode-no_incoming_edges-_specification">
          <language>OCL</language>
          <body>incoming->isEmpty()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="InitialNode-control_edges" name="control_edges" constrainedElement="InitialNode">
        <ownedComment xmi:id="InitialNode-control_edges-_ownedComment.0" annotatedElement="InitialNode-control_edges">
          <body>All the outgoing ActivityEdges from an InitialNode must be ControlFlows.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="InitialNode-control_edges-_specification">
          <language>OCL</language>
          <body>outgoing->forAll(oclIsKindOf(ControlFlow))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="InitialNode-_generalization.0" general="ControlNode"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="InterruptibleActivityRegion" name="InterruptibleActivityRegion">
      <ownedComment xmi:id="InterruptibleActivityRegion-_ownedComment.0" annotatedElement="InterruptibleActivityRegion">
        <body>An InterruptibleActivityRegion is an ActivityGroup that supports the termination of tokens flowing in the portions of an activity within it.</body>
      </ownedComment>
      <ownedRule xmi:id="InterruptibleActivityRegion-interrupting_edges" name="interrupting_edges" constrainedElement="InterruptibleActivityRegion">
        <ownedComment xmi:id="InterruptibleActivityRegion-interrupting_edges-_ownedComment.0" annotatedElement="InterruptibleActivityRegion-interrupting_edges">
          <body>The interruptingEdges of an InterruptibleActivityRegion must have their source in the region and their target outside the region, but within the same Activity containing the region.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="InterruptibleActivityRegion-interrupting_edges-_specification">
          <language>OCL</language>
          <body>interruptingEdge->forAll(edge | &#xD;
  node->includes(edge.source) and node->excludes(edge.target) and edge.target.containingActivity() = inActivity)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="InterruptibleActivityRegion-_generalization.0" general="ActivityGroup"/>
      <ownedAttribute xmi:id="InterruptibleActivityRegion-interruptingEdge" name="interruptingEdge" type="ActivityEdge" association="A_interruptingEdge_interrupts">
        <ownedComment xmi:id="InterruptibleActivityRegion-interruptingEdge-_ownedComment.0" annotatedElement="InterruptibleActivityRegion-interruptingEdge">
          <body>The ActivityEdges leaving the InterruptibleActivityRegion on which a traversing token will result in the termination of other tokens flowing in the InterruptibleActivityRegion.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InterruptibleActivityRegion-interruptingEdge-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InterruptibleActivityRegion-interruptingEdge-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="InterruptibleActivityRegion-node" name="node" type="ActivityNode" subsettedProperty="ActivityGroup-containedNode" association="A_inInterruptibleRegion_node">
        <ownedComment xmi:id="InterruptibleActivityRegion-node-_ownedComment.0" annotatedElement="InterruptibleActivityRegion-node">
          <body>ActivityNodes immediately contained in the InterruptibleActivityRegion.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InterruptibleActivityRegion-node-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InterruptibleActivityRegion-node-_upperValue" value="*"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="JoinNode" name="JoinNode">
      <ownedComment xmi:id="JoinNode-_ownedComment.0" annotatedElement="JoinNode">
        <body>A JoinNode is a ControlNode that synchronizes multiple flows.</body>
      </ownedComment>
      <ownedRule xmi:id="JoinNode-one_outgoing_edge" name="one_outgoing_edge" constrainedElement="JoinNode">
        <ownedComment xmi:id="JoinNode-one_outgoing_edge-_ownedComment.0" annotatedElement="JoinNode-one_outgoing_edge">
          <body>A JoinNode has one outgoing ActivityEdge.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="JoinNode-one_outgoing_edge-_specification">
          <language>OCL</language>
          <body>outgoing->size() = 1</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="JoinNode-incoming_object_flow" name="incoming_object_flow" constrainedElement="JoinNode">
        <ownedComment xmi:id="JoinNode-incoming_object_flow-_ownedComment.0" annotatedElement="JoinNode-incoming_object_flow">
          <body>If one of the incoming ActivityEdges of a JoinNode is an ObjectFlow, then its outgoing ActivityEdge must be an ObjectFlow. Otherwise its outgoing ActivityEdge must be a ControlFlow.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="JoinNode-incoming_object_flow-_specification">
          <language>OCL</language>
          <body>if incoming->exists(oclIsKindOf(ObjectFlow)) then outgoing->forAll(oclIsKindOf(ObjectFlow))&#xD;
else outgoing->forAll(oclIsKindOf(ControlFlow))&#xD;
endif</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="JoinNode-_generalization.0" general="ControlNode"/>
      <ownedAttribute xmi:id="JoinNode-isCombineDuplicate" name="isCombineDuplicate">
        <ownedComment xmi:id="JoinNode-isCombineDuplicate-_ownedComment.0" annotatedElement="JoinNode-isCombineDuplicate">
          <body>Indicates whether incoming tokens having objects with the same identity are combined into one by the JoinNode.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="JoinNode-isCombineDuplicate-_defaultValue" value="true"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="JoinNode-joinSpec" name="joinSpec" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_joinSpec_joinNode">
        <ownedComment xmi:id="JoinNode-joinSpec-_ownedComment.0" annotatedElement="JoinNode-joinSpec">
          <body>A ValueSpecification giving the condition under which the JoinNode will offer a token on its outgoing ActivityEdge. If no joinSpec is specified, then the JoinNode will offer an outgoing token if tokens are offered on all of its incoming ActivityEdges (an &quot;and&quot; condition).</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="JoinNode-joinSpec-_lowerValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="MergeNode" name="MergeNode">
      <ownedComment xmi:id="MergeNode-_ownedComment.0" annotatedElement="MergeNode">
        <body>A merge node is a control node that brings together multiple alternate flows. It is not used to synchronize concurrent flows but to accept one among several alternate flows.</body>
      </ownedComment>
      <ownedRule xmi:id="MergeNode-one_outgoing_edge" name="one_outgoing_edge" constrainedElement="MergeNode">
        <ownedComment xmi:id="MergeNode-one_outgoing_edge-_ownedComment.0" annotatedElement="MergeNode-one_outgoing_edge">
          <body>A MergeNode has one outgoing ActivityEdge.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="MergeNode-one_outgoing_edge-_specification">
          <language>OCL</language>
          <body>outgoing->size()=1</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="MergeNode-edges" name="edges" constrainedElement="MergeNode">
        <ownedComment xmi:id="MergeNode-edges-_ownedComment.0" annotatedElement="MergeNode-edges">
          <body>The ActivityEdges incoming to and outgoing from a MergeNode must be either all ObjectFlows or all ControlFlows.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="MergeNode-edges-_specification">
          <language>OCL</language>
          <body>let allEdges : Set(ActivityEdge) = incoming->union(outgoing) in&#xD;
allEdges->forAll(oclIsKindOf(ControlFlow)) or allEdges->forAll(oclIsKindOf(ObjectFlow))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="MergeNode-_generalization.0" general="ControlNode"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ObjectFlow" name="ObjectFlow">
      <ownedComment xmi:id="ObjectFlow-_ownedComment.0" annotatedElement="ObjectFlow">
        <body>An ObjectFlow is an ActivityEdge that is traversed by object tokens that may hold values. Object flows also support multicast/receive, token selection from object nodes, and transformation of tokens.</body>
      </ownedComment>
      <ownedRule xmi:id="ObjectFlow-input_and_output_parameter" name="input_and_output_parameter" constrainedElement="ObjectFlow">
        <ownedComment xmi:id="ObjectFlow-input_and_output_parameter-_ownedComment.0" annotatedElement="ObjectFlow-input_and_output_parameter">
          <body>A selection Behavior has one input Parameter and one output Parameter. The input Parameter must have the same as or a supertype of the type of the source ObjectNode, be non-unique and have multiplicity 0..*. The output Parameter must be the same or a subtype of the type of source ObjectNode. The Behavior cannot have side effects.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ObjectFlow-input_and_output_parameter-_specification">
          <language>OCL</language>
          <body>selection&lt;>null implies&#xD;
	selection.inputParameters()->size()=1 and&#xD;
	selection.inputParameters()->forAll(not isUnique and is(0,*)) and&#xD;
	selection.outputParameters()->size()=1</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ObjectFlow-no_executable_nodes" name="no_executable_nodes" constrainedElement="ObjectFlow">
        <ownedComment xmi:id="ObjectFlow-no_executable_nodes-_ownedComment.0" annotatedElement="ObjectFlow-no_executable_nodes">
          <body>ObjectFlows may not have ExecutableNodes at either end.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ObjectFlow-no_executable_nodes-_specification">
          <language>OCL</language>
          <body>not (source.oclIsKindOf(ExecutableNode) or target.oclIsKindOf(ExecutableNode))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ObjectFlow-transformation_behavior" name="transformation_behavior" constrainedElement="ObjectFlow">
        <ownedComment xmi:id="ObjectFlow-transformation_behavior-_ownedComment.0" annotatedElement="ObjectFlow-transformation_behavior">
          <body>A transformation Behavior has one input Parameter and one output Parameter. The input Parameter must be the same as or a supertype of the type of object token coming from the source end. The output Parameter must be the same or a subtype of the type of object token expected downstream. The Behavior cannot have side effects.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ObjectFlow-transformation_behavior-_specification">
          <language>OCL</language>
          <body>transformation&lt;>null implies&#xD;
	transformation.inputParameters()->size()=1 and&#xD;
	transformation.outputParameters()->size()=1</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ObjectFlow-selection_behavior" name="selection_behavior" constrainedElement="ObjectFlow">
        <ownedComment xmi:id="ObjectFlow-selection_behavior-_ownedComment.0" annotatedElement="ObjectFlow-selection_behavior">
          <body>An ObjectFlow may have a selection Behavior only if it has an ObjectNode as its source.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ObjectFlow-selection_behavior-_specification">
          <language>OCL</language>
          <body>selection&lt;>null implies source.oclIsKindOf(ObjectNode)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ObjectFlow-compatible_types" name="compatible_types" constrainedElement="ObjectFlow">
        <ownedComment xmi:id="ObjectFlow-compatible_types-_ownedComment.0" annotatedElement="ObjectFlow-compatible_types">
          <body>ObjectNodes connected by an ObjectFlow, with optionally intervening ControlNodes, must have compatible types. In particular, the downstream ObjectNode type must be the same or a supertype of the upstream ObjectNode type.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ObjectFlow-compatible_types-_specification" language=""/>
      </ownedRule>
      <ownedRule xmi:id="ObjectFlow-same_upper_bounds" name="same_upper_bounds" constrainedElement="ObjectFlow">
        <ownedComment xmi:id="ObjectFlow-same_upper_bounds-_ownedComment.0" annotatedElement="ObjectFlow-same_upper_bounds">
          <body>ObjectNodes connected by an ObjectFlow, with optionally intervening ControlNodes, must have the same upperBounds.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ObjectFlow-same_upper_bounds-_specification" language=""/>
      </ownedRule>
      <ownedRule xmi:id="ObjectFlow-target" name="target" constrainedElement="ObjectFlow">
        <ownedComment xmi:id="ObjectFlow-target-_ownedComment.0" annotatedElement="ObjectFlow-target">
          <body>An ObjectFlow with a constant weight may not target an ObjectNode, with optionally intervening ControlNodes, that has an upper bound less than the weight.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ObjectFlow-target-_specification" language=""/>
      </ownedRule>
      <ownedRule xmi:id="ObjectFlow-is_multicast_or_is_multireceive" name="is_multicast_or_is_multireceive" constrainedElement="ObjectFlow">
        <ownedComment xmi:id="ObjectFlow-is_multicast_or_is_multireceive-_ownedComment.0" annotatedElement="ObjectFlow-is_multicast_or_is_multireceive">
          <body>isMulticast and isMultireceive cannot both be true.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ObjectFlow-is_multicast_or_is_multireceive-_specification">
          <language>OCL</language>
          <body>not (isMulticast and isMultireceive)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ObjectFlow-_generalization.0" general="ActivityEdge"/>
      <ownedAttribute xmi:id="ObjectFlow-isMulticast" name="isMulticast">
        <ownedComment xmi:id="ObjectFlow-isMulticast-_ownedComment.0" annotatedElement="ObjectFlow-isMulticast">
          <body>Indicates whether the objects in the ObjectFlow are passed by multicasting.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ObjectFlow-isMulticast-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ObjectFlow-isMultireceive" name="isMultireceive">
        <ownedComment xmi:id="ObjectFlow-isMultireceive-_ownedComment.0" annotatedElement="ObjectFlow-isMultireceive">
          <body>Indicates whether the objects in the ObjectFlow are gathered from respondents to multicasting.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ObjectFlow-isMultireceive-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ObjectFlow-selection" name="selection" type="Behavior" association="A_selection_objectFlow">
        <ownedComment xmi:id="ObjectFlow-selection-_ownedComment.0" annotatedElement="ObjectFlow-selection">
          <body>A Behavior used to select tokens from a source ObjectNode.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ObjectFlow-selection-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ObjectFlow-transformation" name="transformation" type="Behavior" association="A_transformation_objectFlow">
        <ownedComment xmi:id="ObjectFlow-transformation-_ownedComment.0" annotatedElement="ObjectFlow-transformation">
          <body>A Behavior used to change or replace object tokens flowing along the ObjectFlow.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ObjectFlow-transformation-_lowerValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ObjectNode" name="ObjectNode" isAbstract="true">
      <ownedComment xmi:id="ObjectNode-_ownedComment.0" annotatedElement="ObjectNode">
        <body>An ObjectNode is an abstract ActivityNode that may hold tokens within the object flow in an Activity. ObjectNodes also support token selection, limitation on the number of tokens held, specification of the state required for tokens being held, and carrying control values.</body>
      </ownedComment>
      <ownedRule xmi:id="ObjectNode-input_output_parameter" name="input_output_parameter" constrainedElement="ObjectNode">
        <ownedComment xmi:id="ObjectNode-input_output_parameter-_ownedComment.0" annotatedElement="ObjectNode-input_output_parameter">
          <body>A selection Behavior has one input Parameter and one output Parameter. The input Parameter must have the same type as  or a supertype of the type of ObjectNode, be non-unique, and have multiplicity 0..*. The output Parameter must be the same or a subtype of the type of ObjectNode. The Behavior cannot have side effects.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ObjectNode-input_output_parameter-_specification">
          <language>OCL</language>
          <body>selection&lt;>null implies&#xD;
	selection.inputParameters()->size()=1 and&#xD;
	selection.inputParameters()->forAll(p | not p.isUnique and p.is(0,*) and self.type.conformsTo(p.type)) and&#xD;
	selection.outputParameters()->size()=1 and&#xD;
		selection.inputParameters()->forAll(p | self.type.conformsTo(p.type))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ObjectNode-selection_behavior" name="selection_behavior" constrainedElement="ObjectNode">
        <ownedComment xmi:id="ObjectNode-selection_behavior-_ownedComment.0" annotatedElement="ObjectNode-selection_behavior">
          <body>If an ObjectNode has a selection Behavior, then the ordering of the object node is ordered, and vice versa.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ObjectNode-selection_behavior-_specification">
          <language>OCL</language>
          <body>(selection&lt;>null) = (ordering=ObjectNodeOrderingKind::ordered)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ObjectNode-object_flow_edges" name="object_flow_edges" constrainedElement="ObjectNode">
        <ownedComment xmi:id="ObjectNode-object_flow_edges-_ownedComment.0" annotatedElement="ObjectNode-object_flow_edges">
          <body>If isControlType=false, the ActivityEdges incoming to or outgoing from an ObjectNode must all be ObjectFlows.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ObjectNode-object_flow_edges-_specification">
          <language>OCL</language>
          <body>(not isControlType) implies incoming->union(outgoing)->forAll(oclIsKindOf(ObjectFlow))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ObjectNode-_generalization.0" general="TypedElement"/>
      <generalization xmi:id="ObjectNode-_generalization.1" general="ActivityNode"/>
      <ownedAttribute xmi:id="ObjectNode-inState" name="inState" type="State" association="A_inState_objectNode">
        <ownedComment xmi:id="ObjectNode-inState-_ownedComment.0" annotatedElement="ObjectNode-inState">
          <body>The States required to be associated with the values held by tokens on this ObjectNode.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ObjectNode-inState-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ObjectNode-inState-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ObjectNode-isControlType" name="isControlType">
        <ownedComment xmi:id="ObjectNode-isControlType-_ownedComment.0" annotatedElement="ObjectNode-isControlType">
          <body>Indicates whether the type of the ObjectNode is to be treated as representing control values that may traverse ControlFlows.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ObjectNode-isControlType-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ObjectNode-ordering" name="ordering" type="ObjectNodeOrderingKind">
        <ownedComment xmi:id="ObjectNode-ordering-_ownedComment.0" annotatedElement="ObjectNode-ordering">
          <body>Indicates how the tokens held by the ObjectNode are ordered for selection to traverse ActivityEdges outgoing from the ObjectNode.</body>
        </ownedComment>
        <defaultValue xmi:type="uml:InstanceValue" xmi:id="ObjectNode-ordering-_defaultValue" type="ObjectNodeOrderingKind" instance="ObjectNodeOrderingKind-FIFO"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ObjectNode-selection" name="selection" type="Behavior" association="A_selection_objectNode">
        <ownedComment xmi:id="ObjectNode-selection-_ownedComment.0" annotatedElement="ObjectNode-selection">
          <body>A Behavior used to select tokens to be offered on outgoing ActivityEdges.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ObjectNode-selection-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ObjectNode-upperBound" name="upperBound" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_upperBound_objectNode">
        <ownedComment xmi:id="ObjectNode-upperBound-_ownedComment.0" annotatedElement="ObjectNode-upperBound">
          <body>The maximum number of tokens that may be held by this ObjectNode. Tokens cannot flow into the ObjectNode if the upperBound is reached. If no upperBound is specified, then there is no limit on how many tokens the ObjectNode can hold.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ObjectNode-upperBound-_lowerValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Variable" name="Variable">
      <ownedComment xmi:id="Variable-_ownedComment.0" annotatedElement="Variable">
        <body>A Variable is a ConnectableElement that may store values during the execution of an Activity. Reading and writing the values of a Variable provides an alternative means for passing data than the use of ObjectFlows. A Variable may be owned directly by an Activity, in which case it is accessible from anywhere within that activity, or it may be owned by a StructuredActivityNode, in which case it is only accessible within that node.</body>
      </ownedComment>
      <generalization xmi:id="Variable-_generalization.0" general="ConnectableElement"/>
      <generalization xmi:id="Variable-_generalization.1" general="MultiplicityElement"/>
      <ownedAttribute xmi:id="Variable-activityScope" name="activityScope" type="Activity" subsettedProperty="NamedElement-namespace" association="A_variable_activityScope">
        <ownedComment xmi:id="Variable-activityScope-_ownedComment.0" annotatedElement="Variable-activityScope">
          <body>An Activity that owns the Variable.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Variable-activityScope-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Variable-scope" name="scope" type="StructuredActivityNode" subsettedProperty="NamedElement-namespace" association="A_variable_scope">
        <ownedComment xmi:id="Variable-scope-_ownedComment.0" annotatedElement="Variable-scope">
          <body>A StructuredActivityNode that owns the Variable.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Variable-scope-_lowerValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Variable-isAccessibleBy" name="isAccessibleBy" bodyCondition="Variable-isAccessibleBy-spec" isQuery="true">
        <ownedComment xmi:id="Variable-isAccessibleBy-_ownedComment.0" annotatedElement="Variable-isAccessibleBy">
          <body>A Variable is accessible by Actions within its scope (the Activity or StructuredActivityNode that owns it).</body>
        </ownedComment>
        <ownedRule xmi:id="Variable-isAccessibleBy-spec" name="spec" constrainedElement="Variable-isAccessibleBy">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Variable-isAccessibleBy-spec-_specification">
            <language>OCL</language>
            <body>result = (if scope&lt;>null then scope.allOwnedNodes()->includes(a)&#xD;
else a.containingActivity()=activityScope&#xD;
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Variable-isAccessibleBy-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Variable-isAccessibleBy-a" name="a" type="Action"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Enumeration" xmi:id="ObjectNodeOrderingKind" name="ObjectNodeOrderingKind">
      <ownedComment xmi:id="ObjectNodeOrderingKind-_ownedComment.0" annotatedElement="ObjectNodeOrderingKind">
        <body>ObjectNodeOrderingKind is an enumeration indicating queuing order for offering the tokens held by an ObjectNode.</body>
      </ownedComment>
      <ownedLiteral xmi:id="ObjectNodeOrderingKind-unordered" name="unordered">
        <ownedComment xmi:id="ObjectNodeOrderingKind-unordered-_ownedComment.0" annotatedElement="ObjectNodeOrderingKind-unordered">
          <body>Indicates that tokens are unordered.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="ObjectNodeOrderingKind-ordered" name="ordered">
        <ownedComment xmi:id="ObjectNodeOrderingKind-ordered-_ownedComment.0" annotatedElement="ObjectNodeOrderingKind-ordered">
          <body>Indicates that tokens are ordered.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="ObjectNodeOrderingKind-LIFO" name="LIFO">
        <ownedComment xmi:id="ObjectNodeOrderingKind-LIFO-_ownedComment.0" annotatedElement="ObjectNodeOrderingKind-LIFO">
          <body>Indicates that tokens are queued in a last in, first out manner.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="ObjectNodeOrderingKind-FIFO" name="FIFO">
        <ownedComment xmi:id="ObjectNodeOrderingKind-FIFO-_ownedComment.0" annotatedElement="ObjectNodeOrderingKind-FIFO">
          <body>Indicates that tokens are queued in a first in, first out manner.</body>
        </ownedComment>
      </ownedLiteral>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_selection_objectNode" name="A_selection_objectNode" visibility="private" memberEnd="ObjectNode-selection A_selection_objectNode-objectNode">
      <ownedEnd xmi:id="A_selection_objectNode-objectNode" name="objectNode" type="ObjectNode" association="A_selection_objectNode">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_selection_objectNode-objectNode-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_selection_objectNode-objectNode-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_inState_objectNode" name="A_inState_objectNode" visibility="private" memberEnd="ObjectNode-inState A_inState_objectNode-objectNode">
      <ownedEnd xmi:id="A_inState_objectNode-objectNode" name="objectNode" type="ObjectNode" association="A_inState_objectNode">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_inState_objectNode-objectNode-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_inState_objectNode-objectNode-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_upperBound_objectNode" name="A_upperBound_objectNode" visibility="private" memberEnd="ObjectNode-upperBound A_upperBound_objectNode-objectNode">
      <ownedEnd xmi:id="A_upperBound_objectNode-objectNode" name="objectNode" type="ObjectNode" subsettedProperty="Element-owner" association="A_upperBound_objectNode">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_upperBound_objectNode-objectNode-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_transformation_objectFlow" name="A_transformation_objectFlow" visibility="private" memberEnd="ObjectFlow-transformation A_transformation_objectFlow-objectFlow">
      <ownedEnd xmi:id="A_transformation_objectFlow-objectFlow" name="objectFlow" type="ObjectFlow" association="A_transformation_objectFlow">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_transformation_objectFlow-objectFlow-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_transformation_objectFlow-objectFlow-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_selection_objectFlow" name="A_selection_objectFlow" visibility="private" memberEnd="ObjectFlow-selection A_selection_objectFlow-objectFlow">
      <ownedEnd xmi:id="A_selection_objectFlow-objectFlow" name="objectFlow" type="ObjectFlow" association="A_selection_objectFlow">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_selection_objectFlow-objectFlow-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_selection_objectFlow-objectFlow-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_joinSpec_joinNode" name="A_joinSpec_joinNode" visibility="private" memberEnd="JoinNode-joinSpec A_joinSpec_joinNode-joinNode">
      <ownedEnd xmi:id="A_joinSpec_joinNode-joinNode" name="joinNode" type="JoinNode" subsettedProperty="Element-owner" association="A_joinSpec_joinNode">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_joinSpec_joinNode-joinNode-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_interruptingEdge_interrupts" name="A_interruptingEdge_interrupts" visibility="private" memberEnd="InterruptibleActivityRegion-interruptingEdge ActivityEdge-interrupts"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_handler_protectedNode" name="A_handler_protectedNode" visibility="private" memberEnd="ExecutableNode-handler ExceptionHandler-protectedNode"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_handlerBody_exceptionHandler" name="A_handlerBody_exceptionHandler" visibility="private" memberEnd="ExceptionHandler-handlerBody A_handlerBody_exceptionHandler-exceptionHandler">
      <ownedEnd xmi:id="A_handlerBody_exceptionHandler-exceptionHandler" name="exceptionHandler" type="ExceptionHandler" association="A_handlerBody_exceptionHandler">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_handlerBody_exceptionHandler-exceptionHandler-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_handlerBody_exceptionHandler-exceptionHandler-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_exceptionType_exceptionHandler" name="A_exceptionType_exceptionHandler" visibility="private" memberEnd="ExceptionHandler-exceptionType A_exceptionType_exceptionHandler-exceptionHandler">
      <ownedEnd xmi:id="A_exceptionType_exceptionHandler-exceptionHandler" name="exceptionHandler" type="ExceptionHandler" association="A_exceptionType_exceptionHandler">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_exceptionType_exceptionHandler-exceptionHandler-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_exceptionType_exceptionHandler-exceptionHandler-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_exceptionInput_exceptionHandler" name="A_exceptionInput_exceptionHandler" visibility="private" memberEnd="ExceptionHandler-exceptionInput A_exceptionInput_exceptionHandler-exceptionHandler">
      <ownedEnd xmi:id="A_exceptionInput_exceptionHandler-exceptionHandler" name="exceptionHandler" type="ExceptionHandler" association="A_exceptionInput_exceptionHandler">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_exceptionInput_exceptionHandler-exceptionHandler-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_exceptionInput_exceptionHandler-exceptionHandler-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_decisionInput_decisionNode" name="A_decisionInput_decisionNode" visibility="private" memberEnd="DecisionNode-decisionInput A_decisionInput_decisionNode-decisionNode">
      <ownedEnd xmi:id="A_decisionInput_decisionNode-decisionNode" name="decisionNode" type="DecisionNode" association="A_decisionInput_decisionNode">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_decisionInput_decisionNode-decisionNode-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_decisionInput_decisionNode-decisionNode-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_decisionInputFlow_decisionNode" name="A_decisionInputFlow_decisionNode" visibility="private" memberEnd="DecisionNode-decisionInputFlow A_decisionInputFlow_decisionNode-decisionNode">
      <ownedEnd xmi:id="A_decisionInputFlow_decisionNode-decisionNode" name="decisionNode" type="DecisionNode" association="A_decisionInputFlow_decisionNode">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_decisionInputFlow_decisionNode-decisionNode-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_represents_activityPartition" name="A_represents_activityPartition" visibility="private" memberEnd="ActivityPartition-represents A_represents_activityPartition-activityPartition">
      <ownedEnd xmi:id="A_represents_activityPartition-activityPartition" name="activityPartition" type="ActivityPartition" association="A_represents_activityPartition">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_represents_activityPartition-activityPartition-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_represents_activityPartition-activityPartition-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_subpartition_superPartition" name="A_subpartition_superPartition" visibility="private" memberEnd="ActivityPartition-subpartition ActivityPartition-superPartition"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_edge_inPartition" name="A_edge_inPartition" visibility="private" memberEnd="ActivityPartition-edge ActivityEdge-inPartition"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_parameter_activityParameterNode" name="A_parameter_activityParameterNode" visibility="private" memberEnd="ActivityParameterNode-parameter A_parameter_activityParameterNode-activityParameterNode">
      <ownedEnd xmi:id="A_parameter_activityParameterNode-activityParameterNode" name="activityParameterNode" type="ActivityParameterNode" association="A_parameter_activityParameterNode">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_parameter_activityParameterNode-activityParameterNode-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_parameter_activityParameterNode-activityParameterNode-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_inInterruptibleRegion_node" name="A_inInterruptibleRegion_node" visibility="private" memberEnd="ActivityNode-inInterruptibleRegion InterruptibleActivityRegion-node"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_inPartition_node" name="A_inPartition_node" visibility="private" memberEnd="ActivityNode-inPartition ActivityPartition-node"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_incoming_target_node" name="A_incoming_target_node" visibility="private" memberEnd="ActivityNode-incoming ActivityEdge-target"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_outgoing_source_node" name="A_outgoing_source_node" visibility="private" memberEnd="ActivityNode-outgoing ActivityEdge-source"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_redefinedNode_activityNode" name="A_redefinedNode_activityNode" visibility="private" memberEnd="ActivityNode-redefinedNode A_redefinedNode_activityNode-activityNode">
      <ownedEnd xmi:id="A_redefinedNode_activityNode-activityNode" name="activityNode" type="ActivityNode" subsettedProperty="A_redefinedElement_redefinableElement-redefinableElement" association="A_redefinedNode_activityNode">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinedNode_activityNode-activityNode-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinedNode_activityNode-activityNode-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_containedEdge_inGroup" name="A_containedEdge_inGroup" visibility="private" isDerived="true" memberEnd="ActivityGroup-containedEdge ActivityEdge-inGroup"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_containedNode_inGroup" name="A_containedNode_inGroup" visibility="private" isDerived="true" memberEnd="ActivityGroup-containedNode ActivityNode-inGroup"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_subgroup_superGroup" name="A_subgroup_superGroup" visibility="private" isDerived="true" memberEnd="ActivityGroup-subgroup ActivityGroup-superGroup"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_redefinedEdge_activityEdge" name="A_redefinedEdge_activityEdge" visibility="private" memberEnd="ActivityEdge-redefinedEdge A_redefinedEdge_activityEdge-activityEdge">
      <ownedEnd xmi:id="A_redefinedEdge_activityEdge-activityEdge" name="activityEdge" type="ActivityEdge" subsettedProperty="A_redefinedElement_redefinableElement-redefinableElement" association="A_redefinedEdge_activityEdge">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinedEdge_activityEdge-activityEdge-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinedEdge_activityEdge-activityEdge-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_weight_activityEdge" name="A_weight_activityEdge" visibility="private" memberEnd="ActivityEdge-weight A_weight_activityEdge-activityEdge">
      <ownedEnd xmi:id="A_weight_activityEdge-activityEdge" name="activityEdge" type="ActivityEdge" subsettedProperty="Element-owner" association="A_weight_activityEdge">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_weight_activityEdge-activityEdge-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_guard_activityEdge" name="A_guard_activityEdge" visibility="private" memberEnd="ActivityEdge-guard A_guard_activityEdge-activityEdge">
      <ownedEnd xmi:id="A_guard_activityEdge-activityEdge" name="activityEdge" type="ActivityEdge" subsettedProperty="Element-owner" association="A_guard_activityEdge">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_guard_activityEdge-activityEdge-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_structuredNode_activity" name="A_structuredNode_activity" visibility="private" memberEnd="Activity-structuredNode StructuredActivityNode-activity A_structuredNode_activity-activity">
      <ownedEnd xmi:id="A_structuredNode_activity-activity" name="activity" visibility="private" type="Activity" association="A_structuredNode_activity">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_structuredNode_activity-activity-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_group_inActivity" name="A_group_inActivity" visibility="private" memberEnd="Activity-group ActivityGroup-inActivity"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_node_activity" name="A_node_activity" visibility="private" memberEnd="Activity-node ActivityNode-activity"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_variable_activityScope" name="A_variable_activityScope" visibility="private" memberEnd="Activity-variable Variable-activityScope"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_edge_activity" name="A_edge_activity" visibility="private" memberEnd="Activity-edge ActivityEdge-activity"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_partition_activity" name="A_partition_activity" visibility="private" memberEnd="Activity-partition A_partition_activity-activity">
      <ownedEnd xmi:id="A_partition_activity-activity" name="activity" type="Activity" subsettedProperty="ActivityGroup-inActivity" association="A_partition_activity">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_partition_activity-activity-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Substitution" name="Substitution">
      <ownedComment xmi:id="Substitution-_ownedComment.0" annotatedElement="Substitution">
        <body>A substitution is a relationship between two classifiers signifying that the substituting classifier complies with the contract specified by the contract classifier. This implies that instances of the substituting classifier are runtime substitutable where instances of the contract classifier are expected.</body>
      </ownedComment>
      <generalization xmi:id="Substitution-_generalization.0" general="Realization"/>
      <ownedAttribute xmi:id="Substitution-contract" name="contract" type="Classifier" subsettedProperty="Dependency-supplier" association="A_contract_substitution">
        <ownedComment xmi:id="Substitution-contract-_ownedComment.0" annotatedElement="Substitution-contract">
          <body>The contract with which the substituting classifier complies.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="Substitution-substitutingClassifier" name="substitutingClassifier" type="Classifier" subsettedProperty="Dependency-client Element-owner" association="A_substitution_substitutingClassifier">
        <ownedComment xmi:id="Substitution-substitutingClassifier-_ownedComment.0" annotatedElement="Substitution-substitutingClassifier">
          <body>Instances of the substituting classifier are runtime substitutable where instances of the contract classifier are expected.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="BehavioralFeature" name="BehavioralFeature" isAbstract="true">
      <ownedComment xmi:id="BehavioralFeature-_ownedComment.0" annotatedElement="BehavioralFeature">
        <body>A BehavioralFeature is a feature of a Classifier that specifies an aspect of the behavior of its instances.  A BehavioralFeature is implemented (realized) by a Behavior. A BehavioralFeature specifies that a Classifier will respond to a designated request by invoking its implementing method.</body>
      </ownedComment>
      <ownedRule xmi:id="BehavioralFeature-abstract_no_method" name="abstract_no_method" constrainedElement="BehavioralFeature">
        <ownedComment xmi:id="BehavioralFeature-abstract_no_method-_ownedComment.0" annotatedElement="BehavioralFeature-abstract_no_method">
          <body>When isAbstract is true there are no methods.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="BehavioralFeature-abstract_no_method-_specification">
          <language>OCL</language>
          <body>isAbstract implies method->isEmpty()</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="BehavioralFeature-_generalization.0" general="Feature"/>
      <generalization xmi:id="BehavioralFeature-_generalization.1" general="Namespace"/>
      <ownedAttribute xmi:id="BehavioralFeature-concurrency" name="concurrency" type="CallConcurrencyKind">
        <ownedComment xmi:id="BehavioralFeature-concurrency-_ownedComment.0" annotatedElement="BehavioralFeature-concurrency">
          <body>Specifies the semantics of concurrent calls to the same passive instance (i.e., an instance originating from a Class with isActive being false). Active instances control access to their own BehavioralFeatures.</body>
        </ownedComment>
        <defaultValue xmi:type="uml:InstanceValue" xmi:id="BehavioralFeature-concurrency-_defaultValue" type="CallConcurrencyKind" instance="CallConcurrencyKind-sequential"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="BehavioralFeature-isAbstract" name="isAbstract">
        <ownedComment xmi:id="BehavioralFeature-isAbstract-_ownedComment.0" annotatedElement="BehavioralFeature-isAbstract">
          <body>If true, then the BehavioralFeature does not have an implementation, and one must be supplied by a more specific Classifier. If false, the BehavioralFeature must have an implementation in the Classifier or one must be inherited.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="BehavioralFeature-isAbstract-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="BehavioralFeature-method" name="method" type="Behavior" association="A_method_specification">
        <ownedComment xmi:id="BehavioralFeature-method-_ownedComment.0" annotatedElement="BehavioralFeature-method">
          <body>A Behavior that implements the BehavioralFeature. There may be at most one Behavior for a particular pairing of a Classifier (as owner of the Behavior) and a BehavioralFeature (as specification of the Behavior).</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioralFeature-method-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioralFeature-method-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="BehavioralFeature-ownedParameter" name="ownedParameter" type="Parameter" isOrdered="true" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_ownedParameter_ownerFormalParam">
        <ownedComment xmi:id="BehavioralFeature-ownedParameter-_ownedComment.0" annotatedElement="BehavioralFeature-ownedParameter">
          <body>The ordered set of formal Parameters of this BehavioralFeature.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioralFeature-ownedParameter-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioralFeature-ownedParameter-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="BehavioralFeature-ownedParameterSet" name="ownedParameterSet" type="ParameterSet" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_ownedParameterSet_behavioralFeature">
        <ownedComment xmi:id="BehavioralFeature-ownedParameterSet-_ownedComment.0" annotatedElement="BehavioralFeature-ownedParameterSet">
          <body>The ParameterSets owned by this BehavioralFeature.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioralFeature-ownedParameterSet-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioralFeature-ownedParameterSet-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="BehavioralFeature-raisedException" name="raisedException" type="Type" association="A_raisedException_behavioralFeature">
        <ownedComment xmi:id="BehavioralFeature-raisedException-_ownedComment.0" annotatedElement="BehavioralFeature-raisedException">
          <body>The Types representing exceptions that may be raised during an invocation of this BehavioralFeature.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioralFeature-raisedException-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioralFeature-raisedException-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="BehavioralFeature-createReturnResult" name="createReturnResult">
        <ownedComment xmi:id="BehavioralFeature-createReturnResult-_ownedComment.0" annotatedElement="BehavioralFeature-createReturnResult">
          <body>Creates a return result parameter with the specified name and type.</body>
        </ownedComment>
        <ownedParameter xmi:id="BehavioralFeature-createReturnResult-_ownedParameter.0" type="Parameter" direction="return"/>
        <ownedParameter xmi:id="BehavioralFeature-createReturnResult-name" name="name" effect="read">
          <ownedComment xmi:id="BehavioralFeature-createReturnResult-name-_ownedComment.0" annotatedElement="BehavioralFeature-createReturnResult-name">
            <body>The name for the new return result, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioralFeature-createReturnResult-name-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioralFeature-createReturnResult-name-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="BehavioralFeature-createReturnResult-type" name="type" type="Type" effect="read">
          <ownedComment xmi:id="BehavioralFeature-createReturnResult-type-_ownedComment.0" annotatedElement="BehavioralFeature-createReturnResult-type">
            <body>The type for the new return result, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioralFeature-createReturnResult-type-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioralFeature-createReturnResult-type-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="BehavioralFeature-isDistinguishableFrom" name="isDistinguishableFrom" bodyCondition="BehavioralFeature-isDistinguishableFrom-spec" isQuery="true" redefinedOperation="NamedElement-isDistinguishableFrom">
        <ownedComment xmi:id="BehavioralFeature-isDistinguishableFrom-_ownedComment.0" annotatedElement="BehavioralFeature-isDistinguishableFrom">
          <body>The query isDistinguishableFrom() determines whether two BehavioralFeatures may coexist in the same Namespace. It specifies that they must have different signatures.</body>
        </ownedComment>
        <ownedRule xmi:id="BehavioralFeature-isDistinguishableFrom-spec" name="spec" constrainedElement="BehavioralFeature-isDistinguishableFrom">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="BehavioralFeature-isDistinguishableFrom-spec-_specification">
            <language>OCL</language>
            <body>result = ((n.oclIsKindOf(BehavioralFeature) and ns.getNamesOfMember(self)->intersection(ns.getNamesOfMember(n))->notEmpty()) implies
  Set{self}->including(n.oclAsType(BehavioralFeature))->isUnique(ownedParameter->collect(p|
  Tuple { name=p.name, type=p.type,effect=p.effect,direction=p.direction,isException=p.isException,
              isStream=p.isStream,isOrdered=p.isOrdered,isUnique=p.isUnique,lower=p.lower, upper=p.upper }))
  )</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="BehavioralFeature-isDistinguishableFrom-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="BehavioralFeature-isDistinguishableFrom-n" name="n" type="NamedElement"/>
        <ownedParameter xmi:id="BehavioralFeature-isDistinguishableFrom-ns" name="ns" type="Namespace"/>
      </ownedOperation>
      <ownedOperation xmi:id="BehavioralFeature-inputParameters" name="inputParameters" bodyCondition="BehavioralFeature-inputParameters-spec" isQuery="true">
        <ownedComment xmi:id="BehavioralFeature-inputParameters-_ownedComment.0" annotatedElement="BehavioralFeature-inputParameters">
          <body>The ownedParameters with direction in and inout.</body>
        </ownedComment>
        <ownedRule xmi:id="BehavioralFeature-inputParameters-spec" name="spec" constrainedElement="BehavioralFeature-inputParameters">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="BehavioralFeature-inputParameters-spec-_specification">
            <language>OCL</language>
            <body>result = (ownedParameter->select(direction=ParameterDirectionKind::_'in' or direction=ParameterDirectionKind::inout))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="BehavioralFeature-inputParameters-result" name="result" type="Parameter" isOrdered="true" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioralFeature-inputParameters-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioralFeature-inputParameters-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="BehavioralFeature-outputParameters" name="outputParameters" bodyCondition="BehavioralFeature-outputParameters-spec" isQuery="true">
        <ownedComment xmi:id="BehavioralFeature-outputParameters-_ownedComment.0" annotatedElement="BehavioralFeature-outputParameters">
          <body>The ownedParameters with direction out, inout, or return.</body>
        </ownedComment>
        <ownedRule xmi:id="BehavioralFeature-outputParameters-spec" name="spec" constrainedElement="BehavioralFeature-outputParameters">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="BehavioralFeature-outputParameters-spec-_specification">
            <language>OCL</language>
            <body>result = (ownedParameter->select(direction=ParameterDirectionKind::out or direction=ParameterDirectionKind::inout or direction=ParameterDirectionKind::return))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="BehavioralFeature-outputParameters-result" name="result" type="Parameter" isOrdered="true" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioralFeature-outputParameters-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioralFeature-outputParameters-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Classifier" name="Classifier" isAbstract="true">
      <ownedComment xmi:id="Classifier-_ownedComment.0" annotatedElement="Classifier">
        <body>A Classifier represents a classification of instances according to their Features.</body>
      </ownedComment>
      <ownedRule xmi:id="Classifier-specialize_type" name="specialize_type" constrainedElement="Classifier">
        <ownedComment xmi:id="Classifier-specialize_type-_ownedComment.0" annotatedElement="Classifier-specialize_type">
          <body>A Classifier may only specialize Classifiers of a valid type.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-specialize_type-_specification">
          <language>OCL</language>
          <body>parents()->forAll(c | self.maySpecializeType(c))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Classifier-maps_to_generalization_set" name="maps_to_generalization_set" constrainedElement="Classifier">
        <ownedComment xmi:id="Classifier-maps_to_generalization_set-_ownedComment.0" annotatedElement="Classifier-maps_to_generalization_set">
          <body>The Classifier that maps to a GeneralizationSet may neither be a specific nor a general Classifier in any of the Generalization relationships defined for that GeneralizationSet. In other words, a power type may not be an instance of itself nor may its instances also be its subclasses.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-maps_to_generalization_set-_specification">
          <language>OCL</language>
          <body>powertypeExtent->forAll( gs | &#xD;
  gs.generalization->forAll( gen | &#xD;
    not (gen.general = self) and not gen.general.allParents()->includes(self) and not (gen.specific = self) and not self.allParents()->includes(gen.specific) &#xD;
  ))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Classifier-non_final_parents" name="non_final_parents" constrainedElement="Classifier">
        <ownedComment xmi:id="Classifier-non_final_parents-_ownedComment.0" annotatedElement="Classifier-non_final_parents">
          <body>The parents of a Classifier must be non-final.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-non_final_parents-_specification">
          <language>OCL</language>
          <body>parents()->forAll(not isFinalSpecialization)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Classifier-no_cycles_in_generalization" name="no_cycles_in_generalization" constrainedElement="Classifier">
        <ownedComment xmi:id="Classifier-no_cycles_in_generalization-_ownedComment.0" annotatedElement="Classifier-no_cycles_in_generalization">
          <body>Generalization hierarchies must be directed and acyclical. A Classifier can not be both a transitively general and transitively specific Classifier of the same Classifier.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-no_cycles_in_generalization-_specification">
          <language>OCL</language>
          <body>not allParents()->includes(self)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Classifier-_generalization.0" general="Namespace"/>
      <generalization xmi:id="Classifier-_generalization.1" general="Type"/>
      <generalization xmi:id="Classifier-_generalization.2" general="TemplateableElement"/>
      <generalization xmi:id="Classifier-_generalization.3" general="RedefinableElement"/>
      <ownedAttribute xmi:id="Classifier-attribute" name="attribute" type="Property" isOrdered="true" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement Classifier-feature" association="A_attribute_classifier">
        <ownedComment xmi:id="Classifier-attribute-_ownedComment.0" annotatedElement="Classifier-attribute">
          <body>All of the Properties that are direct (i.e., not inherited or imported) attributes of the Classifier.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-attribute-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-attribute-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Classifier-collaborationUse" name="collaborationUse" type="CollaborationUse" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_collaborationUse_classifier">
        <ownedComment xmi:id="Classifier-collaborationUse-_ownedComment.0" annotatedElement="Classifier-collaborationUse">
          <body>The CollaborationUses owned by the Classifier.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-collaborationUse-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-collaborationUse-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Classifier-feature" name="feature" type="Feature" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="Namespace-member" association="A_feature_featuringClassifier">
        <ownedComment xmi:id="Classifier-feature-_ownedComment.0" annotatedElement="Classifier-feature">
          <body>Specifies each Feature directly defined in the classifier. Note that there may be members of the Classifier that are of the type Feature but are not included, e.g., inherited features.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-feature-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-feature-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Classifier-general" name="general" type="Classifier" isDerived="true" association="A_general_classifier">
        <ownedComment xmi:id="Classifier-general-_ownedComment.0" annotatedElement="Classifier-general">
          <body>The generalizing Classifiers for this Classifier.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-general-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-general-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Classifier-generalization" name="generalization" type="Generalization" aggregation="composite" subsettedProperty="A_source_directedRelationship-directedRelationship Element-ownedElement" association="A_generalization_specific">
        <ownedComment xmi:id="Classifier-generalization-_ownedComment.0" annotatedElement="Classifier-generalization">
          <body>The Generalization relationships for this Classifier. These Generalizations navigate to more general Classifiers in the generalization hierarchy.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-generalization-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-generalization-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Classifier-inheritedMember" name="inheritedMember" type="NamedElement" isReadOnly="true" isDerived="true" subsettedProperty="Namespace-member" association="A_inheritedMember_inheritingClassifier">
        <ownedComment xmi:id="Classifier-inheritedMember-_ownedComment.0" annotatedElement="Classifier-inheritedMember">
          <body>All elements inherited by this Classifier from its general Classifiers.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-inheritedMember-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-inheritedMember-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Classifier-isAbstract" name="isAbstract">
        <ownedComment xmi:id="Classifier-isAbstract-_ownedComment.0" annotatedElement="Classifier-isAbstract">
          <body>If true, the Classifier can only be instantiated by instantiating one of its specializations. An abstract Classifier is intended to be used by other Classifiers e.g., as the target of Associations or Generalizations.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Classifier-isAbstract-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Classifier-isFinalSpecialization" name="isFinalSpecialization">
        <ownedComment xmi:id="Classifier-isFinalSpecialization-_ownedComment.0" annotatedElement="Classifier-isFinalSpecialization">
          <body>If true, the Classifier cannot be specialized.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Classifier-isFinalSpecialization-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Classifier-ownedTemplateSignature" name="ownedTemplateSignature" type="RedefinableTemplateSignature" aggregation="composite" redefinedProperty="TemplateableElement-ownedTemplateSignature" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement" association="A_ownedTemplateSignature_classifier">
        <ownedComment xmi:id="Classifier-ownedTemplateSignature-_ownedComment.0" annotatedElement="Classifier-ownedTemplateSignature">
          <body>The optional RedefinableTemplateSignature specifying the formal template parameters.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-ownedTemplateSignature-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Classifier-ownedUseCase" name="ownedUseCase" type="UseCase" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_ownedUseCase_classifier">
        <ownedComment xmi:id="Classifier-ownedUseCase-_ownedComment.0" annotatedElement="Classifier-ownedUseCase">
          <body>The UseCases owned by this classifier.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-ownedUseCase-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-ownedUseCase-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Classifier-powertypeExtent" name="powertypeExtent" type="GeneralizationSet" association="A_powertypeExtent_powertype">
        <ownedComment xmi:id="Classifier-powertypeExtent-_ownedComment.0" annotatedElement="Classifier-powertypeExtent">
          <body>The GeneralizationSet of which this Classifier is a power type.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-powertypeExtent-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-powertypeExtent-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Classifier-redefinedClassifier" name="redefinedClassifier" type="Classifier" subsettedProperty="RedefinableElement-redefinedElement" association="A_redefinedClassifier_classifier">
        <ownedComment xmi:id="Classifier-redefinedClassifier-_ownedComment.0" annotatedElement="Classifier-redefinedClassifier">
          <body>The Classifiers redefined by this Classifier.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-redefinedClassifier-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-redefinedClassifier-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Classifier-representation" name="representation" type="CollaborationUse" subsettedProperty="Classifier-collaborationUse" association="A_representation_classifier">
        <ownedComment xmi:id="Classifier-representation-_ownedComment.0" annotatedElement="Classifier-representation">
          <body>A CollaborationUse which indicates the Collaboration that represents this Classifier.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-representation-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Classifier-substitution" name="substitution" type="Substitution" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_substitution_substitutingClassifier">
        <ownedComment xmi:id="Classifier-substitution-_ownedComment.0" annotatedElement="Classifier-substitution">
          <body>The Substitutions owned by this Classifier.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-substitution-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-substitution-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Classifier-templateParameter" name="templateParameter" type="ClassifierTemplateParameter" redefinedProperty="ParameterableElement-templateParameter" association="A_classifier_templateParameter_parameteredElement">
        <ownedComment xmi:id="Classifier-templateParameter-_ownedComment.0" annotatedElement="Classifier-templateParameter">
          <body>TheClassifierTemplateParameter that exposes this element as a formal parameter.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-templateParameter-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Classifier-useCase" name="useCase" type="UseCase" association="A_subject_useCase">
        <ownedComment xmi:id="Classifier-useCase-_ownedComment.0" annotatedElement="Classifier-useCase">
          <body>The set of UseCases for which this Classifier is the subject.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-useCase-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-useCase-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Classifier-getAllAttributes" name="getAllAttributes" isQuery="true">
        <ownedComment xmi:id="Classifier-getAllAttributes-_ownedComment.0" annotatedElement="Classifier-getAllAttributes">
          <body>Retrieves all the attributes of this classifier, including those inherited from its parents.</body>
        </ownedComment>
        <ownedParameter xmi:id="Classifier-getAllAttributes-_ownedParameter.0" type="Property" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getAllAttributes-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getAllAttributes-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-getAllOperations" name="getAllOperations" isQuery="true">
        <ownedComment xmi:id="Classifier-getAllOperations-_ownedComment.0" annotatedElement="Classifier-getAllOperations">
          <body>Retrieves all the operations of this classifier, including those inherited from its parents.</body>
        </ownedComment>
        <ownedParameter xmi:id="Classifier-getAllOperations-_ownedParameter.0" type="Operation" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getAllOperations-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getAllOperations-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-getAllUsedInterfaces" name="getAllUsedInterfaces">
        <ownedComment xmi:id="Classifier-getAllUsedInterfaces-_ownedComment.0" annotatedElement="Classifier-getAllUsedInterfaces">
          <body>Retrieves all the interfaces on which this classifier or any of its parents has a usage dependency.</body>
        </ownedComment>
        <ownedParameter xmi:id="Classifier-getAllUsedInterfaces-_ownedParameter.0" type="Interface" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getAllUsedInterfaces-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getAllUsedInterfaces-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-getOperation" name="getOperation" isQuery="true">
        <ownedComment xmi:id="Classifier-getOperation-_ownedComment.0" annotatedElement="Classifier-getOperation">
          <body>Retrieves the first operation with the specified name, parameter names, and parameter types from this classifier.</body>
        </ownedComment>
        <ownedParameter xmi:id="Classifier-getOperation-_ownedParameter.0" type="Operation" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getOperation-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getOperation-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Classifier-getOperation-name" name="name" effect="read">
          <ownedComment xmi:id="Classifier-getOperation-name-_ownedComment.0" annotatedElement="Classifier-getOperation-name">
            <body>The name of the operation to retrieve, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getOperation-name-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getOperation-name-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Classifier-getOperation-parameterNames" name="parameterNames" isOrdered="true" effect="read">
          <ownedComment xmi:id="Classifier-getOperation-parameterNames-_ownedComment.0" annotatedElement="Classifier-getOperation-parameterNames">
            <body>The parameter names of the operation to retrieve, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getOperation-parameterNames-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getOperation-parameterNames-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Classifier-getOperation-parameterTypes" name="parameterTypes" type="Type" isOrdered="true" isUnique="false" effect="read">
          <ownedComment xmi:id="Classifier-getOperation-parameterTypes-_ownedComment.0" annotatedElement="Classifier-getOperation-parameterTypes">
            <body>The parameter types of the operation to retrieve, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getOperation-parameterTypes-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getOperation-parameterTypes-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-getOperation.1" name="getOperation" isQuery="true">
        <ownedComment xmi:id="Classifier-getOperation.1-_ownedComment.0" annotatedElement="Classifier-getOperation.1">
          <body>Retrieves the first operation with the specified name, parameter names, and parameter types from this classifier, ignoring case if indicated.</body>
        </ownedComment>
        <ownedParameter xmi:id="Classifier-getOperation.1-_ownedParameter.0" type="Operation" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getOperation.1-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getOperation.1-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Classifier-getOperation.1-name" name="name" effect="read">
          <ownedComment xmi:id="Classifier-getOperation.1-name-_ownedComment.0" annotatedElement="Classifier-getOperation.1-name">
            <body>The name of the operation to retrieve, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getOperation.1-name-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getOperation.1-name-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Classifier-getOperation.1-parameterNames" name="parameterNames" isOrdered="true" effect="read">
          <ownedComment xmi:id="Classifier-getOperation.1-parameterNames-_ownedComment.0" annotatedElement="Classifier-getOperation.1-parameterNames">
            <body>The parameter names of the operation to retrieve, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getOperation.1-parameterNames-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getOperation.1-parameterNames-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Classifier-getOperation.1-parameterTypes" name="parameterTypes" type="Type" isOrdered="true" isUnique="false" effect="read">
          <ownedComment xmi:id="Classifier-getOperation.1-parameterTypes-_ownedComment.0" annotatedElement="Classifier-getOperation.1-parameterTypes">
            <body>The parameter types of the operation to retrieve, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getOperation.1-parameterTypes-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getOperation.1-parameterTypes-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Classifier-getOperation.1-ignoreCase" name="ignoreCase" effect="read">
          <ownedComment xmi:id="Classifier-getOperation.1-ignoreCase-_ownedComment.0" annotatedElement="Classifier-getOperation.1-ignoreCase">
            <body>Whether to ignore case in String comparisons.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-getOperations" name="getOperations" isQuery="true">
        <ownedComment xmi:id="Classifier-getOperations-_ownedComment.0" annotatedElement="Classifier-getOperations">
          <body>Retrieves the operations of this classifier.</body>
        </ownedComment>
        <ownedParameter xmi:id="Classifier-getOperations-_ownedParameter.0" type="Operation" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getOperations-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getOperations-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-getUsedInterfaces" name="getUsedInterfaces">
        <ownedComment xmi:id="Classifier-getUsedInterfaces-_ownedComment.0" annotatedElement="Classifier-getUsedInterfaces">
          <body>Retrieves the interfaces on which this classifier has a usage dependency.</body>
        </ownedComment>
        <ownedParameter xmi:id="Classifier-getUsedInterfaces-_ownedParameter.0" type="Interface" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-getUsedInterfaces-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-getUsedInterfaces-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-allFeatures" name="allFeatures" bodyCondition="Classifier-allFeatures-spec" isQuery="true">
        <ownedComment xmi:id="Classifier-allFeatures-_ownedComment.0" annotatedElement="Classifier-allFeatures">
          <body>The query allFeatures() gives all of the Features in the namespace of the Classifier. In general, through mechanisms such as inheritance, this will be a larger set than feature.</body>
        </ownedComment>
        <ownedRule xmi:id="Classifier-allFeatures-spec" name="spec" constrainedElement="Classifier-allFeatures">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-allFeatures-spec-_specification">
            <language>OCL</language>
            <body>result = (member->select(oclIsKindOf(Feature))->collect(oclAsType(Feature))->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Classifier-allFeatures-result" name="result" type="Feature" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-allFeatures-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-allFeatures-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-allParents" name="allParents" bodyCondition="Classifier-allParents-spec" isQuery="true">
        <ownedComment xmi:id="Classifier-allParents-_ownedComment.0" annotatedElement="Classifier-allParents">
          <body>The query allParents() gives all of the direct and indirect ancestors of a generalized Classifier.</body>
        </ownedComment>
        <ownedRule xmi:id="Classifier-allParents-spec" name="spec" constrainedElement="Classifier-allParents">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-allParents-spec-_specification">
            <language>OCL</language>
            <body>result = (parents()->union(parents()->collect(allParents())->asSet()))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Classifier-allParents-result" name="result" type="Classifier" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-allParents-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-allParents-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-conformsTo" name="conformsTo" bodyCondition="Classifier-conformsTo-spec" isQuery="true" redefinedOperation="Type-conformsTo">
        <ownedComment xmi:id="Classifier-conformsTo-_ownedComment.0" annotatedElement="Classifier-conformsTo">
          <body>The query conformsTo() gives true for a Classifier that defines a type that conforms to another. This is used, for example, in the specification of signature conformance for operations.</body>
        </ownedComment>
        <ownedRule xmi:id="Classifier-conformsTo-spec" name="spec" constrainedElement="Classifier-conformsTo">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-conformsTo-spec-_specification">
            <language>OCL</language>
            <body>result = (if other.oclIsKindOf(Classifier) then&#xD;
  let otherClassifier : Classifier = other.oclAsType(Classifier) in&#xD;
    self = otherClassifier or allParents()->includes(otherClassifier)&#xD;
else&#xD;
  false&#xD;
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Classifier-conformsTo-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Classifier-conformsTo-other" name="other" type="Type"/>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-general.1" name="general" visibility="protected" bodyCondition="Classifier-general.1-spec" isQuery="true">
        <ownedComment xmi:id="Classifier-general.1-_ownedComment.0" annotatedElement="Classifier-general.1">
          <body>The general Classifiers are the ones referenced by the Generalization relationships.</body>
        </ownedComment>
        <ownedRule xmi:id="Classifier-general.1-spec" name="spec" constrainedElement="Classifier-general.1 Classifier-general">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-general.1-spec-_specification">
            <language>OCL</language>
            <body>result = (parents())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Classifier-general.1-result" name="result" type="Classifier" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-general.1-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-general.1-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-hasVisibilityOf" name="hasVisibilityOf" bodyCondition="Classifier-hasVisibilityOf-spec" isQuery="true" precondition="Classifier-hasVisibilityOf-pre">
        <ownedComment xmi:id="Classifier-hasVisibilityOf-_ownedComment.0" annotatedElement="Classifier-hasVisibilityOf">
          <body>The query hasVisibilityOf() determines whether a NamedElement is visible in the classifier. Non-private members are visible. It is only called when the argument is something owned by a parent.</body>
        </ownedComment>
        <ownedRule xmi:id="Classifier-hasVisibilityOf-pre" name="pre" constrainedElement="Classifier-hasVisibilityOf">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-hasVisibilityOf-pre-_specification">
            <language>OCL</language>
            <body>allParents()->including(self)->collect(member)->includes(n)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:id="Classifier-hasVisibilityOf-spec" name="spec" constrainedElement="Classifier-hasVisibilityOf">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-hasVisibilityOf-spec-_specification">
            <language>OCL</language>
            <body>result = (n.visibility &lt;> VisibilityKind::private)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Classifier-hasVisibilityOf-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Classifier-hasVisibilityOf-n" name="n" type="NamedElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-inherit" name="inherit" bodyCondition="Classifier-inherit-spec" isQuery="true">
        <ownedComment xmi:id="Classifier-inherit-_ownedComment.0" annotatedElement="Classifier-inherit">
          <body>The query inherit() defines how to inherit a set of elements passed as its argument.  It excludes redefined elements from the result.</body>
        </ownedComment>
        <ownedRule xmi:id="Classifier-inherit-spec" name="spec" constrainedElement="Classifier-inherit">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-inherit-spec-_specification">
            <language>OCL</language>
            <body>result = (inhs->reject(inh |&#xD;
  inh.oclIsKindOf(RedefinableElement) and&#xD;
  ownedMember->select(oclIsKindOf(RedefinableElement))->&#xD;
    select(redefinedElement->includes(inh.oclAsType(RedefinableElement)))&#xD;
       ->notEmpty()))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Classifier-inherit-result" name="result" type="NamedElement" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-inherit-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-inherit-result-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Classifier-inherit-inhs" name="inhs" type="NamedElement">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-inherit-inhs-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-inherit-inhs-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-inheritableMembers" name="inheritableMembers" bodyCondition="Classifier-inheritableMembers-spec" isQuery="true" precondition="Classifier-inheritableMembers-pre">
        <ownedComment xmi:id="Classifier-inheritableMembers-_ownedComment.0" annotatedElement="Classifier-inheritableMembers">
          <body>The query inheritableMembers() gives all of the members of a Classifier that may be inherited in one of its descendants, subject to whatever visibility restrictions apply.</body>
        </ownedComment>
        <ownedRule xmi:id="Classifier-inheritableMembers-pre" name="pre" constrainedElement="Classifier-inheritableMembers">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-inheritableMembers-pre-_specification">
            <language>OCL</language>
            <body>c.allParents()->includes(self)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:id="Classifier-inheritableMembers-spec" name="spec" constrainedElement="Classifier-inheritableMembers">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-inheritableMembers-spec-_specification">
            <language>OCL</language>
            <body>result = (member->select(m | c.hasVisibilityOf(m)))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Classifier-inheritableMembers-result" name="result" type="NamedElement" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-inheritableMembers-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-inheritableMembers-result-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Classifier-inheritableMembers-c" name="c" type="Classifier"/>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-inheritedMember.1" name="inheritedMember" visibility="protected" bodyCondition="Classifier-inheritedMember.1-spec" isQuery="true">
        <ownedComment xmi:id="Classifier-inheritedMember.1-_ownedComment.0" annotatedElement="Classifier-inheritedMember.1">
          <body>The inheritedMember association is derived by inheriting the inheritable members of the parents.</body>
        </ownedComment>
        <ownedRule xmi:id="Classifier-inheritedMember.1-spec" name="spec" constrainedElement="Classifier-inheritedMember.1 Classifier-inheritedMember">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-inheritedMember.1-spec-_specification">
            <language>OCL</language>
            <body>result = (inherit(parents()->collect(inheritableMembers(self))->asSet()))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Classifier-inheritedMember.1-result" name="result" type="NamedElement" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-inheritedMember.1-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-inheritedMember.1-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-isTemplate" name="isTemplate" bodyCondition="Classifier-isTemplate-spec" isQuery="true" redefinedOperation="TemplateableElement-isTemplate">
        <ownedComment xmi:id="Classifier-isTemplate-_ownedComment.0" annotatedElement="Classifier-isTemplate">
          <body>The query isTemplate() returns whether this Classifier is actually a template.</body>
        </ownedComment>
        <ownedRule xmi:id="Classifier-isTemplate-spec" name="spec" constrainedElement="Classifier-isTemplate">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-isTemplate-spec-_specification">
            <language>OCL</language>
            <body>result = (ownedTemplateSignature &lt;> null or general->exists(g | g.isTemplate()))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Classifier-isTemplate-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-maySpecializeType" name="maySpecializeType" bodyCondition="Classifier-maySpecializeType-spec" isQuery="true">
        <ownedComment xmi:id="Classifier-maySpecializeType-_ownedComment.0" annotatedElement="Classifier-maySpecializeType">
          <body>The query maySpecializeType() determines whether this classifier may have a generalization relationship to classifiers of the specified type. By default a classifier may specialize classifiers of the same or a more general type. It is intended to be redefined by classifiers that have different specialization constraints.</body>
        </ownedComment>
        <ownedRule xmi:id="Classifier-maySpecializeType-spec" name="spec" constrainedElement="Classifier-maySpecializeType">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-maySpecializeType-spec-_specification">
            <language>OCL</language>
            <body>result = (self.oclIsKindOf(c.oclType()))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Classifier-maySpecializeType-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Classifier-maySpecializeType-c" name="c" type="Classifier"/>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-parents" name="parents" bodyCondition="Classifier-parents-spec" isQuery="true">
        <ownedComment xmi:id="Classifier-parents-_ownedComment.0" annotatedElement="Classifier-parents">
          <body>The query parents() gives all of the immediate ancestors of a generalized Classifier.</body>
        </ownedComment>
        <ownedRule xmi:id="Classifier-parents-spec" name="spec" constrainedElement="Classifier-parents">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-parents-spec-_specification">
            <language>OCL</language>
            <body>result = (generalization.general->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Classifier-parents-result" name="result" type="Classifier" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-parents-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-parents-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-directlyRealizedInterfaces" name="directlyRealizedInterfaces" bodyCondition="Classifier-directlyRealizedInterfaces-spec" isQuery="true">
        <ownedComment xmi:id="Classifier-directlyRealizedInterfaces-_ownedComment.0" annotatedElement="Classifier-directlyRealizedInterfaces">
          <body>The Interfaces directly realized by this Classifier</body>
        </ownedComment>
        <ownedRule xmi:id="Classifier-directlyRealizedInterfaces-spec" name="spec" constrainedElement="Classifier-directlyRealizedInterfaces">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-directlyRealizedInterfaces-spec-_specification">
            <language>OCL</language>
            <body>result = ((clientDependency->&#xD;
  select(oclIsKindOf(Realization) and supplier->forAll(oclIsKindOf(Interface))))->&#xD;
      collect(supplier.oclAsType(Interface))->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Classifier-directlyRealizedInterfaces-result" name="result" type="Interface" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-directlyRealizedInterfaces-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-directlyRealizedInterfaces-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-directlyUsedInterfaces" name="directlyUsedInterfaces" bodyCondition="Classifier-directlyUsedInterfaces-spec" isQuery="true">
        <ownedComment xmi:id="Classifier-directlyUsedInterfaces-_ownedComment.0" annotatedElement="Classifier-directlyUsedInterfaces">
          <body>The Interfaces directly used by this Classifier</body>
        </ownedComment>
        <ownedRule xmi:id="Classifier-directlyUsedInterfaces-spec" name="spec" constrainedElement="Classifier-directlyUsedInterfaces">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-directlyUsedInterfaces-spec-_specification">
            <language>OCL</language>
            <body>result = ((supplierDependency->&#xD;
  select(oclIsKindOf(Usage) and client->forAll(oclIsKindOf(Interface))))->&#xD;
    collect(client.oclAsType(Interface))->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Classifier-directlyUsedInterfaces-result" name="result" type="Interface" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-directlyUsedInterfaces-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-directlyUsedInterfaces-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-allRealizedInterfaces" name="allRealizedInterfaces" bodyCondition="Classifier-allRealizedInterfaces-spec" isQuery="true">
        <ownedComment xmi:id="Classifier-allRealizedInterfaces-_ownedComment.0" annotatedElement="Classifier-allRealizedInterfaces">
          <body>The Interfaces realized by this Classifier and all of its generalizations</body>
        </ownedComment>
        <ownedRule xmi:id="Classifier-allRealizedInterfaces-spec" name="spec" constrainedElement="Classifier-allRealizedInterfaces">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-allRealizedInterfaces-spec-_specification">
            <language>OCL</language>
            <body>result = (directlyRealizedInterfaces()->union(self.allParents()->collect(directlyRealizedInterfaces()))->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Classifier-allRealizedInterfaces-result" name="result" type="Interface" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-allRealizedInterfaces-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-allRealizedInterfaces-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-allUsedInterfaces" name="allUsedInterfaces" bodyCondition="Classifier-allUsedInterfaces-spec" isQuery="true">
        <ownedComment xmi:id="Classifier-allUsedInterfaces-_ownedComment.0" annotatedElement="Classifier-allUsedInterfaces">
          <body>The Interfaces used by this Classifier and all of its generalizations</body>
        </ownedComment>
        <ownedRule xmi:id="Classifier-allUsedInterfaces-spec" name="spec" constrainedElement="Classifier-allUsedInterfaces">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-allUsedInterfaces-spec-_specification">
            <language>OCL</language>
            <body>result = (directlyUsedInterfaces()->union(self.allParents()->collect(directlyUsedInterfaces()))->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Classifier-allUsedInterfaces-result" name="result" type="Interface" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-allUsedInterfaces-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-allUsedInterfaces-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-isSubstitutableFor" name="isSubstitutableFor" bodyCondition="Classifier-isSubstitutableFor-spec" isQuery="true">
        <ownedRule xmi:id="Classifier-isSubstitutableFor-spec" name="spec" constrainedElement="Classifier-isSubstitutableFor">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-isSubstitutableFor-spec-_specification">
            <language>OCL</language>
            <body>result = (substitution.contract->includes(contract))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Classifier-isSubstitutableFor-contract" name="contract" type="Classifier"/>
        <ownedParameter xmi:id="Classifier-isSubstitutableFor-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-allAttributes" name="allAttributes" bodyCondition="Classifier-allAttributes-spec" isQuery="true">
        <ownedComment xmi:id="Classifier-allAttributes-_ownedComment.0" annotatedElement="Classifier-allAttributes">
          <body>The query allAttributes gives an ordered set of all owned and inherited attributes of the Classifier. All owned attributes appear before any inherited attributes, and the attributes inherited from any more specific parent Classifier appear before those of any more general parent Classifier. However, if the Classifier has multiple immediate parents, then the relative ordering of the sets of attributes from those parents is not defined.</body>
        </ownedComment>
        <ownedRule xmi:id="Classifier-allAttributes-spec" name="spec" constrainedElement="Classifier-allAttributes">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-allAttributes-spec-_specification">
            <language>OCL</language>
            <body>result = (attribute->asSequence()->union(parents()->asSequence().allAttributes())->select(p | member->includes(p))->asOrderedSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Classifier-allAttributes-result" name="result" type="Property" isOrdered="true" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-allAttributes-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-allAttributes-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Classifier-allSlottableFeatures" name="allSlottableFeatures" bodyCondition="Classifier-allSlottableFeatures-spec" isQuery="true">
        <ownedComment xmi:id="Classifier-allSlottableFeatures-_ownedComment.0" annotatedElement="Classifier-allSlottableFeatures">
          <body>All StructuralFeatures related to the Classifier that may have Slots, including direct attributes, inherited attributes, private attributes in generalizations, and memberEnds of Associations, but excluding redefined StructuralFeatures.</body>
        </ownedComment>
        <ownedRule xmi:id="Classifier-allSlottableFeatures-spec" name="spec" constrainedElement="Classifier-allSlottableFeatures">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Classifier-allSlottableFeatures-spec-_specification">
            <language>OCL</language>
            <body>result = (member->select(oclIsKindOf(StructuralFeature))->&#xD;
  collect(oclAsType(StructuralFeature))->&#xD;
   union(self.inherit(self.allParents()->collect(p | p.attribute)->asSet())->&#xD;
     collect(oclAsType(StructuralFeature)))->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Classifier-allSlottableFeatures-result" name="result" type="StructuralFeature" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Classifier-allSlottableFeatures-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Classifier-allSlottableFeatures-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ClassifierTemplateParameter" name="ClassifierTemplateParameter">
      <ownedComment xmi:id="ClassifierTemplateParameter-_ownedComment.0" annotatedElement="ClassifierTemplateParameter">
        <body>A ClassifierTemplateParameter exposes a Classifier as a formal template parameter.</body>
      </ownedComment>
      <ownedRule xmi:id="ClassifierTemplateParameter-has_constraining_classifier" name="has_constraining_classifier" constrainedElement="ClassifierTemplateParameter">
        <ownedComment xmi:id="ClassifierTemplateParameter-has_constraining_classifier-_ownedComment.0" annotatedElement="ClassifierTemplateParameter-has_constraining_classifier">
          <body>If allowSubstitutable is true, then there must be a constrainingClassifier.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ClassifierTemplateParameter-has_constraining_classifier-_specification">
          <language>OCL</language>
          <body>allowSubstitutable implies constrainingClassifier->notEmpty()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ClassifierTemplateParameter-parametered_element_no_features" name="parametered_element_no_features" constrainedElement="ClassifierTemplateParameter">
        <ownedComment xmi:id="ClassifierTemplateParameter-parametered_element_no_features-_ownedComment.0" annotatedElement="ClassifierTemplateParameter-parametered_element_no_features">
          <body>The parameteredElement has no direct features, and if constrainedElement is empty it has no generalizations.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ClassifierTemplateParameter-parametered_element_no_features-_specification">
          <language>OCL</language>
          <body>parameteredElement.feature->isEmpty() and (constrainingClassifier->isEmpty() implies  parameteredElement.allParents()->isEmpty())</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ClassifierTemplateParameter-matching_abstract" name="matching_abstract" constrainedElement="ClassifierTemplateParameter">
        <ownedComment xmi:id="ClassifierTemplateParameter-matching_abstract-_ownedComment.0" annotatedElement="ClassifierTemplateParameter-matching_abstract">
          <body>If the parameteredElement is not abstract, then the Classifier used as an argument shall not be abstract.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ClassifierTemplateParameter-matching_abstract-_specification">
          <language>OCL</language>
          <body>(not parameteredElement.isAbstract) implies templateParameterSubstitution.actual->forAll(a | not a.oclAsType(Classifier).isAbstract)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ClassifierTemplateParameter-actual_is_classifier" name="actual_is_classifier" constrainedElement="ClassifierTemplateParameter">
        <ownedComment xmi:id="ClassifierTemplateParameter-actual_is_classifier-_ownedComment.0" annotatedElement="ClassifierTemplateParameter-actual_is_classifier">
          <body>The argument to a ClassifierTemplateParameter is a Classifier.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ClassifierTemplateParameter-actual_is_classifier-_specification">
          <language>OCL</language>
          <body> templateParameterSubstitution.actual->forAll(a | a.oclIsKindOf(Classifier))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ClassifierTemplateParameter-constraining_classifiers_constrain_args" name="constraining_classifiers_constrain_args" constrainedElement="ClassifierTemplateParameter">
        <ownedComment xmi:id="ClassifierTemplateParameter-constraining_classifiers_constrain_args-_ownedComment.0" annotatedElement="ClassifierTemplateParameter-constraining_classifiers_constrain_args">
          <body>If there are any constrainingClassifiers, then every argument must be the same as or a specialization of them, or if allowSubstitutable is true, then it can also be substitutable.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ClassifierTemplateParameter-constraining_classifiers_constrain_args-_specification">
          <language>OCL</language>
          <body>templateParameterSubstitution.actual->forAll( a |&#xD;
  let arg : Classifier = a.oclAsType(Classifier) in&#xD;
    constrainingClassifier->forAll(&#xD;
      cc |  &#xD;
         arg = cc or arg.conformsTo(cc) or (allowSubstitutable and arg.isSubstitutableFor(cc))&#xD;
      )&#xD;
)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ClassifierTemplateParameter-constraining_classifiers_constrain_parametered_element" name="constraining_classifiers_constrain_parametered_element" constrainedElement="ClassifierTemplateParameter">
        <ownedComment xmi:id="ClassifierTemplateParameter-constraining_classifiers_constrain_parametered_element-_ownedComment.0" annotatedElement="ClassifierTemplateParameter-constraining_classifiers_constrain_parametered_element">
          <body>If there are any constrainingClassifiers, then the parameteredElement must be the same as or a specialization of them, or if allowSubstitutable is true, then it can also be substitutable.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ClassifierTemplateParameter-constraining_classifiers_constrain_parametered_element-_specification">
          <language>OCL</language>
          <body>constrainingClassifier->forAll(&#xD;
     cc |  parameteredElement = cc or parameteredElement.conformsTo(cc) or (allowSubstitutable and parameteredElement.isSubstitutableFor(cc))&#xD;
)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ClassifierTemplateParameter-_generalization.0" general="TemplateParameter"/>
      <ownedAttribute xmi:id="ClassifierTemplateParameter-allowSubstitutable" name="allowSubstitutable">
        <ownedComment xmi:id="ClassifierTemplateParameter-allowSubstitutable-_ownedComment.0" annotatedElement="ClassifierTemplateParameter-allowSubstitutable">
          <body>Constrains the required relationship between an actual parameter and the parameteredElement for this formal parameter.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ClassifierTemplateParameter-allowSubstitutable-_defaultValue" value="true"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ClassifierTemplateParameter-constrainingClassifier" name="constrainingClassifier" type="Classifier" association="A_constrainingClassifier_classifierTemplateParameter">
        <ownedComment xmi:id="ClassifierTemplateParameter-constrainingClassifier-_ownedComment.0" annotatedElement="ClassifierTemplateParameter-constrainingClassifier">
          <body>The classifiers that constrain the argument that can be used for the parameter. If the allowSubstitutable attribute is true, then any Classifier that is compatible with this constraining Classifier can be substituted; otherwise, it must be either this Classifier or one of its specializations. If this property is empty, there are no constraints on the Classifier that can be used as an argument.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ClassifierTemplateParameter-constrainingClassifier-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ClassifierTemplateParameter-constrainingClassifier-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ClassifierTemplateParameter-parameteredElement" name="parameteredElement" type="Classifier" redefinedProperty="TemplateParameter-parameteredElement" association="A_classifier_templateParameter_parameteredElement">
        <ownedComment xmi:id="ClassifierTemplateParameter-parameteredElement-_ownedComment.0" annotatedElement="ClassifierTemplateParameter-parameteredElement">
          <body>The Classifier exposed by this ClassifierTemplateParameter.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Feature" name="Feature" isAbstract="true">
      <ownedComment xmi:id="Feature-_ownedComment.0" annotatedElement="Feature">
        <body>A Feature declares a behavioral or structural characteristic of Classifiers.</body>
      </ownedComment>
      <generalization xmi:id="Feature-_generalization.0" general="RedefinableElement"/>
      <ownedAttribute xmi:id="Feature-featuringClassifier" name="featuringClassifier" type="Classifier" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="A_member_memberNamespace-memberNamespace" association="A_feature_featuringClassifier">
        <ownedComment xmi:id="Feature-featuringClassifier-_ownedComment.0" annotatedElement="Feature-featuringClassifier">
          <body>The Classifiers that have this Feature as a feature.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Feature-featuringClassifier-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Feature-featuringClassifier-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Feature-isStatic" name="isStatic">
        <ownedComment xmi:id="Feature-isStatic-_ownedComment.0" annotatedElement="Feature-isStatic">
          <body>Specifies whether this Feature characterizes individual instances classified by the Classifier (false) or the Classifier itself (true).</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Feature-isStatic-_defaultValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Generalization" name="Generalization">
      <ownedComment xmi:id="Generalization-_ownedComment.0" annotatedElement="Generalization">
        <body>A Generalization is a taxonomic relationship between a more general Classifier and a more specific Classifier. Each instance of the specific Classifier is also an instance of the general Classifier. The specific Classifier inherits the features of the more general Classifier. A Generalization is owned by the specific Classifier.</body>
      </ownedComment>
      <generalization xmi:id="Generalization-_generalization.0" general="DirectedRelationship"/>
      <ownedAttribute xmi:id="Generalization-general" name="general" type="Classifier" subsettedProperty="DirectedRelationship-target" association="A_general_generalization">
        <ownedComment xmi:id="Generalization-general-_ownedComment.0" annotatedElement="Generalization-general">
          <body>The general classifier in the Generalization relationship.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="Generalization-generalizationSet" name="generalizationSet" type="GeneralizationSet" association="A_generalizationSet_generalization">
        <ownedComment xmi:id="Generalization-generalizationSet-_ownedComment.0" annotatedElement="Generalization-generalizationSet">
          <body>Represents a set of instances of Generalization.  A Generalization may appear in many GeneralizationSets.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Generalization-generalizationSet-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Generalization-generalizationSet-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Generalization-isSubstitutable" name="isSubstitutable">
        <ownedComment xmi:id="Generalization-isSubstitutable-_ownedComment.0" annotatedElement="Generalization-isSubstitutable">
          <body>Indicates whether the specific Classifier can be used wherever the general Classifier can be used. If true, the execution traces of the specific Classifier shall be a superset of the execution traces of the general Classifier. If false, there is no such constraint on execution traces. If unset, the modeler has not stated whether there is such a constraint or not.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Generalization-isSubstitutable-_lowerValue"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Generalization-isSubstitutable-_defaultValue" value="true"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Generalization-specific" name="specific" type="Classifier" subsettedProperty="DirectedRelationship-source Element-owner" association="A_generalization_specific">
        <ownedComment xmi:id="Generalization-specific-_ownedComment.0" annotatedElement="Generalization-specific">
          <body>The specializing Classifier in the Generalization relationship.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="GeneralizationSet" name="GeneralizationSet">
      <ownedComment xmi:id="GeneralizationSet-_ownedComment.0" annotatedElement="GeneralizationSet">
        <body>A GeneralizationSet is a PackageableElement whose instances represent sets of Generalization relationships.</body>
      </ownedComment>
      <ownedRule xmi:id="GeneralizationSet-generalization_same_classifier" name="generalization_same_classifier" constrainedElement="GeneralizationSet">
        <ownedComment xmi:id="GeneralizationSet-generalization_same_classifier-_ownedComment.0" annotatedElement="GeneralizationSet-generalization_same_classifier">
          <body>Every Generalization associated with a particular GeneralizationSet must have the same general Classifier.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="GeneralizationSet-generalization_same_classifier-_specification">
          <language>OCL</language>
          <body>generalization->collect(general)->asSet()->size() &lt;= 1</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="GeneralizationSet-maps_to_generalization_set" name="maps_to_generalization_set" constrainedElement="GeneralizationSet">
        <ownedComment xmi:id="GeneralizationSet-maps_to_generalization_set-_ownedComment.0" annotatedElement="GeneralizationSet-maps_to_generalization_set">
          <body>The Classifier that maps to a GeneralizationSet may neither be a specific nor a general Classifier in any of the Generalization relationships defined for that GeneralizationSet. In other words, a power type may not be an instance of itself nor may its instances be its subclasses.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="GeneralizationSet-maps_to_generalization_set-_specification">
          <language>OCL</language>
          <body>powertype &lt;> null implies generalization->forAll( gen | &#xD;
    not (gen.general = powertype) and not gen.general.allParents()->includes(powertype) and not (gen.specific = powertype) and not powertype.allParents()->includes(gen.specific)&#xD;
  )</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="GeneralizationSet-_generalization.0" general="PackageableElement"/>
      <ownedAttribute xmi:id="GeneralizationSet-generalization" name="generalization" type="Generalization" association="A_generalizationSet_generalization">
        <ownedComment xmi:id="GeneralizationSet-generalization-_ownedComment.0" annotatedElement="GeneralizationSet-generalization">
          <body>Designates the instances of Generalization that are members of this GeneralizationSet.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="GeneralizationSet-generalization-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="GeneralizationSet-generalization-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="GeneralizationSet-isCovering" name="isCovering">
        <ownedComment xmi:id="GeneralizationSet-isCovering-_ownedComment.0" annotatedElement="GeneralizationSet-isCovering">
          <body>Indicates (via the associated Generalizations) whether or not the set of specific Classifiers are covering for a particular general classifier. When isCovering is true, every instance of a particular general Classifier is also an instance of at least one of its specific Classifiers for the GeneralizationSet. When isCovering is false, there are one or more instances of the particular general Classifier that are not instances of at least one of its specific Classifiers defined for the GeneralizationSet.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="GeneralizationSet-isCovering-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="GeneralizationSet-isDisjoint" name="isDisjoint">
        <ownedComment xmi:id="GeneralizationSet-isDisjoint-_ownedComment.0" annotatedElement="GeneralizationSet-isDisjoint">
          <body>Indicates whether or not the set of specific Classifiers in a Generalization relationship have instance in common. If isDisjoint is true, the specific Classifiers for a particular GeneralizationSet have no members in common; that is, their intersection is empty. If isDisjoint is false, the specific Classifiers in a particular GeneralizationSet have one or more members in common; that is, their intersection is not empty.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="GeneralizationSet-isDisjoint-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="GeneralizationSet-powertype" name="powertype" type="Classifier" association="A_powertypeExtent_powertype">
        <ownedComment xmi:id="GeneralizationSet-powertype-_ownedComment.0" annotatedElement="GeneralizationSet-powertype">
          <body>Designates the Classifier that is defined as the power type for the associated GeneralizationSet, if there is one.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="GeneralizationSet-powertype-_lowerValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="InstanceSpecification" name="InstanceSpecification">
      <ownedComment xmi:id="InstanceSpecification-_ownedComment.0" annotatedElement="InstanceSpecification">
        <body>An InstanceSpecification is a model element that represents an instance in a modeled system. An InstanceSpecification can act as a DeploymentTarget in a Deployment relationship, in the case that it represents an instance of a Node. It can also act as a DeployedArtifact, if it represents an instance of an Artifact.</body>
      </ownedComment>
      <ownedRule xmi:id="InstanceSpecification-deployment_artifact" name="deployment_artifact" constrainedElement="InstanceSpecification">
        <ownedComment xmi:id="InstanceSpecification-deployment_artifact-_ownedComment.0" annotatedElement="InstanceSpecification-deployment_artifact">
          <body>An InstanceSpecification can act as a DeployedArtifact if it represents an instance of an Artifact.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="InstanceSpecification-deployment_artifact-_specification">
          <language>OCL</language>
          <body>deploymentForArtifact->notEmpty() implies classifier->exists(oclIsKindOf(Artifact))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="InstanceSpecification-structural_feature" name="structural_feature" constrainedElement="InstanceSpecification">
        <ownedComment xmi:id="InstanceSpecification-structural_feature-_ownedComment.0" annotatedElement="InstanceSpecification-structural_feature">
          <body>No more than one slot in an InstanceSpecification may have the same definingFeature.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="InstanceSpecification-structural_feature-_specification">
          <language>OCL</language>
          <body>classifier->forAll(c | (c.allSlottableFeatures()->forAll(f | slot->select(s | s.definingFeature = f)->size() &lt;= 1)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="InstanceSpecification-defining_feature" name="defining_feature" constrainedElement="InstanceSpecification">
        <ownedComment xmi:id="InstanceSpecification-defining_feature-_ownedComment.0" annotatedElement="InstanceSpecification-defining_feature">
          <body>The definingFeature of each slot is a StructuralFeature related to a classifier of the InstanceSpecification, including direct attributes, inherited attributes, private attributes in generalizations, and memberEnds of Associations, but excluding redefined StructuralFeatures.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="InstanceSpecification-defining_feature-_specification">
          <language>OCL</language>
          <body>slot->forAll(s | classifier->exists (c | c.allSlottableFeatures()->includes (s.definingFeature)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="InstanceSpecification-deployment_target" name="deployment_target" constrainedElement="InstanceSpecification">
        <ownedComment xmi:id="InstanceSpecification-deployment_target-_ownedComment.0" annotatedElement="InstanceSpecification-deployment_target">
          <body>An InstanceSpecification can act as a DeploymentTarget if it represents an instance of a Node and functions as a part in the internal structure of an encompassing Node.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="InstanceSpecification-deployment_target-_specification">
          <language>OCL</language>
          <body>deployment->notEmpty() implies classifier->exists(node | node.oclIsKindOf(Node) and Node.allInstances()->exists(n | n.part->exists(p | p.type = node)))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="InstanceSpecification-_generalization.0" general="DeploymentTarget"/>
      <generalization xmi:id="InstanceSpecification-_generalization.1" general="PackageableElement"/>
      <generalization xmi:id="InstanceSpecification-_generalization.2" general="DeployedArtifact"/>
      <ownedAttribute xmi:id="InstanceSpecification-classifier" name="classifier" type="Classifier" association="A_classifier_instanceSpecification">
        <ownedComment xmi:id="InstanceSpecification-classifier-_ownedComment.0" annotatedElement="InstanceSpecification-classifier">
          <body>The Classifier or Classifiers of the represented instance. If multiple Classifiers are specified, the instance is classified by all of them.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InstanceSpecification-classifier-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InstanceSpecification-classifier-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="InstanceSpecification-slot" name="slot" type="Slot" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_slot_owningInstance">
        <ownedComment xmi:id="InstanceSpecification-slot-_ownedComment.0" annotatedElement="InstanceSpecification-slot">
          <body>A Slot giving the value or values of a StructuralFeature of the instance. An InstanceSpecification can have one Slot per StructuralFeature of its Classifiers, including inherited features. It is not necessary to model a Slot for every StructuralFeature, in which case the InstanceSpecification is a partial description.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InstanceSpecification-slot-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InstanceSpecification-slot-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="InstanceSpecification-specification" name="specification" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_specification_owningInstanceSpec">
        <ownedComment xmi:id="InstanceSpecification-specification-_ownedComment.0" annotatedElement="InstanceSpecification-specification">
          <body>A specification of how to compute, derive, or construct the instance.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InstanceSpecification-specification-_lowerValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="InstanceValue" name="InstanceValue">
      <ownedComment xmi:id="InstanceValue-_ownedComment.0" annotatedElement="InstanceValue">
        <body>An InstanceValue is a ValueSpecification that identifies an instance.</body>
      </ownedComment>
      <generalization xmi:id="InstanceValue-_generalization.0" general="ValueSpecification"/>
      <ownedAttribute xmi:id="InstanceValue-instance" name="instance" type="InstanceSpecification" association="A_instance_instanceValue">
        <ownedComment xmi:id="InstanceValue-instance-_ownedComment.0" annotatedElement="InstanceValue-instance">
          <body>The InstanceSpecification that represents the specified value.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedOperation xmi:id="InstanceValue-stringValue" name="stringValue" visibility="protected" isQuery="true">
        <ownedParameter xmi:id="InstanceValue-stringValue-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Operation" name="Operation">
      <ownedComment xmi:id="Operation-_ownedComment.0" annotatedElement="Operation">
        <body>An Operation is a BehavioralFeature of a Classifier that specifies the name, type, parameters, and constraints for invoking an associated Behavior. An Operation may invoke both the execution of method behaviors as well as other behavioral responses. Operation specializes TemplateableElement in order to support specification of template operations and bound operations. Operation specializes ParameterableElement to specify that an operation can be exposed as a formal template parameter, and provided as an actual parameter in a binding of a template.</body>
      </ownedComment>
      <ownedRule xmi:id="Operation-at_most_one_return" name="at_most_one_return" constrainedElement="Operation">
        <ownedComment xmi:id="Operation-at_most_one_return-_ownedComment.0" annotatedElement="Operation-at_most_one_return">
          <body>An Operation can have at most one return parameter; i.e., an owned parameter with the direction set to 'return.'</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Operation-at_most_one_return-_specification">
          <language>OCL</language>
          <body>self.ownedParameter->select(direction = ParameterDirectionKind::return)->size() &lt;= 1</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Operation-only_body_for_query" name="only_body_for_query" constrainedElement="Operation">
        <ownedComment xmi:id="Operation-only_body_for_query-_ownedComment.0" annotatedElement="Operation-only_body_for_query">
          <body>A bodyCondition can only be specified for a query Operation.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Operation-only_body_for_query-_specification">
          <language>OCL</language>
          <body>bodyCondition &lt;> null implies isQuery</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Operation-_generalization.0" general="TemplateableElement"/>
      <generalization xmi:id="Operation-_generalization.1" general="ParameterableElement"/>
      <generalization xmi:id="Operation-_generalization.2" general="BehavioralFeature"/>
      <ownedAttribute xmi:id="Operation-bodyCondition" name="bodyCondition" type="Constraint" aggregation="composite" subsettedProperty="Namespace-ownedRule" association="A_bodyCondition_bodyContext">
        <ownedComment xmi:id="Operation-bodyCondition-_ownedComment.0" annotatedElement="Operation-bodyCondition">
          <body>An optional Constraint on the result values of an invocation of this Operation.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-bodyCondition-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Operation-class" name="class" type="Class" subsettedProperty="Feature-featuringClassifier NamedElement-namespace RedefinableElement-redefinitionContext" association="A_ownedOperation_class">
        <ownedComment xmi:id="Operation-class-_ownedComment.0" annotatedElement="Operation-class">
          <body>The Class that owns this operation, if any.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-class-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Operation-datatype" name="datatype" type="DataType" subsettedProperty="Feature-featuringClassifier NamedElement-namespace RedefinableElement-redefinitionContext" association="A_ownedOperation_datatype">
        <ownedComment xmi:id="Operation-datatype-_ownedComment.0" annotatedElement="Operation-datatype">
          <body>The DataType that owns this Operation, if any.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-datatype-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Operation-interface" name="interface" type="Interface" subsettedProperty="Feature-featuringClassifier NamedElement-namespace RedefinableElement-redefinitionContext" association="A_ownedOperation_interface">
        <ownedComment xmi:id="Operation-interface-_ownedComment.0" annotatedElement="Operation-interface">
          <body>The Interface that owns this Operation, if any.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-interface-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Operation-isOrdered" name="isOrdered" isReadOnly="true" isDerived="true">
        <ownedComment xmi:id="Operation-isOrdered-_ownedComment.0" annotatedElement="Operation-isOrdered">
          <body>Specifies whether the return parameter is ordered or not, if present.  This information is derived from the return result for this Operation.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Operation-isQuery" name="isQuery">
        <ownedComment xmi:id="Operation-isQuery-_ownedComment.0" annotatedElement="Operation-isQuery">
          <body>Specifies whether an execution of the BehavioralFeature leaves the state of the system unchanged (isQuery=true) or whether side effects may occur (isQuery=false).</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Operation-isQuery-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Operation-isUnique" name="isUnique" isReadOnly="true" isDerived="true">
        <ownedComment xmi:id="Operation-isUnique-_ownedComment.0" annotatedElement="Operation-isUnique">
          <body>Specifies whether the return parameter is unique or not, if present. This information is derived from the return result for this Operation.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Operation-isUnique-_defaultValue" value="true"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Operation-lower" name="lower" isReadOnly="true" isDerived="true">
        <ownedComment xmi:id="Operation-lower-_ownedComment.0" annotatedElement="Operation-lower">
          <body>Specifies the lower multiplicity of the return parameter, if present. This information is derived from the return result for this Operation.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-lower-_lowerValue"/>
        <defaultValue xmi:type="uml:LiteralInteger" xmi:id="Operation-lower-_defaultValue" value="1"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Operation-ownedParameter" name="ownedParameter" type="Parameter" isOrdered="true" aggregation="composite" redefinedProperty="BehavioralFeature-ownedParameter" association="A_ownedParameter_operation">
        <ownedComment xmi:id="Operation-ownedParameter-_ownedComment.0" annotatedElement="Operation-ownedParameter">
          <body>The parameters owned by this Operation.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-ownedParameter-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Operation-ownedParameter-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Operation-postcondition" name="postcondition" type="Constraint" aggregation="composite" subsettedProperty="Namespace-ownedRule" association="A_postcondition_postContext">
        <ownedComment xmi:id="Operation-postcondition-_ownedComment.0" annotatedElement="Operation-postcondition">
          <body>An optional set of Constraints specifying the state of the system when the Operation is completed.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-postcondition-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Operation-postcondition-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Operation-precondition" name="precondition" type="Constraint" aggregation="composite" subsettedProperty="Namespace-ownedRule" association="A_precondition_preContext">
        <ownedComment xmi:id="Operation-precondition-_ownedComment.0" annotatedElement="Operation-precondition">
          <body>An optional set of Constraints on the state of the system when the Operation is invoked.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-precondition-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Operation-precondition-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Operation-raisedException" name="raisedException" type="Type" redefinedProperty="BehavioralFeature-raisedException" association="A_raisedException_operation">
        <ownedComment xmi:id="Operation-raisedException-_ownedComment.0" annotatedElement="Operation-raisedException">
          <body>The Types representing exceptions that may be raised during an invocation of this operation.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-raisedException-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Operation-raisedException-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Operation-redefinedOperation" name="redefinedOperation" type="Operation" subsettedProperty="RedefinableElement-redefinedElement" association="A_redefinedOperation_operation">
        <ownedComment xmi:id="Operation-redefinedOperation-_ownedComment.0" annotatedElement="Operation-redefinedOperation">
          <body>The Operations that are redefined by this Operation.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-redefinedOperation-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Operation-redefinedOperation-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Operation-templateParameter" name="templateParameter" type="OperationTemplateParameter" redefinedProperty="ParameterableElement-templateParameter" association="A_operation_templateParameter_parameteredElement">
        <ownedComment xmi:id="Operation-templateParameter-_ownedComment.0" annotatedElement="Operation-templateParameter">
          <body>The OperationTemplateParameter that exposes this element as a formal parameter.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-templateParameter-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Operation-type" name="type" type="Type" isReadOnly="true" isDerived="true" association="A_type_operation">
        <ownedComment xmi:id="Operation-type-_ownedComment.0" annotatedElement="Operation-type">
          <body>The return type of the operation, if present. This information is derived from the return result for this Operation.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-type-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Operation-upper" name="upper" isReadOnly="true" isDerived="true">
        <ownedComment xmi:id="Operation-upper-_ownedComment.0" annotatedElement="Operation-upper">
          <body>The upper multiplicity of the return parameter, if present. This information is derived from the return result for this Operation.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-upper-_lowerValue"/>
        <defaultValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Operation-upper-_defaultValue" value="1"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Operation-getReturnResult" name="getReturnResult">
        <ownedComment xmi:id="Operation-getReturnResult-_ownedComment.0" annotatedElement="Operation-getReturnResult">
          <body>Retrieves the (only) return result parameter for this operation.</body>
        </ownedComment>
        <ownedParameter xmi:id="Operation-getReturnResult-_ownedParameter.0" type="Parameter" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-getReturnResult-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Operation-getReturnResult-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Operation-setIsOrdered" name="setIsOrdered">
        <ownedParameter xmi:id="Operation-setIsOrdered-newIsOrdered" name="newIsOrdered" effect="read">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Operation-setIsUnique" name="setIsUnique">
        <ownedParameter xmi:id="Operation-setIsUnique-newIsUnique" name="newIsUnique" effect="read">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Operation-setLower" name="setLower">
        <ownedParameter xmi:id="Operation-setLower-newLower" name="newLower" effect="read">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Operation-setType" name="setType">
        <ownedParameter xmi:id="Operation-setType-newType" name="newType" type="Type" effect="read"/>
      </ownedOperation>
      <ownedOperation xmi:id="Operation-setUpper" name="setUpper">
        <ownedParameter xmi:id="Operation-setUpper-newUpper" name="newUpper" effect="read">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Operation-isConsistentWith" name="isConsistentWith" bodyCondition="Operation-isConsistentWith-spec" isQuery="true" precondition="Operation-isConsistentWith-pre" redefinedOperation="RedefinableElement-isConsistentWith">
        <ownedComment xmi:id="Operation-isConsistentWith-_ownedComment.0" annotatedElement="Operation-isConsistentWith">
          <body>The query isConsistentWith() specifies, for any two Operations in a context in which redefinition is possible, whether redefinition would be consistent. A redefining operation is consistent with a redefined operation if&#xD;
it has the same number of owned parameters, and for each parameter the following holds:&#xD;
&#xD;
- Direction, ordering and uniqueness are the same.&#xD;
- The corresponding types are covariant, contravariant or invariant.&#xD;
- The multiplicities are compatible, depending on the parameter direction.</body>
        </ownedComment>
        <ownedRule xmi:id="Operation-isConsistentWith-spec" name="spec" constrainedElement="Operation-isConsistentWith">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Operation-isConsistentWith-spec-_specification">
            <language>OCL</language>
            <body>result = (redefiningElement.oclIsKindOf(Operation) and&#xD;
let op : Operation = redefiningElement.oclAsType(Operation) in&#xD;
	self.ownedParameter->size() = op.ownedParameter->size() and&#xD;
	Sequence{1..self.ownedParameter->size()}->&#xD;
		forAll(i |  &#xD;
		  let redefiningParam : Parameter = op.ownedParameter->at(i),&#xD;
               redefinedParam : Parameter = self.ownedParameter->at(i) in&#xD;
                 (redefiningParam.isUnique = redefinedParam.isUnique) and&#xD;
                 (redefiningParam.isOrdered = redefinedParam. isOrdered) and&#xD;
                 (redefiningParam.direction = redefinedParam.direction) and&#xD;
                 (redefiningParam.type.conformsTo(redefinedParam.type) or&#xD;
                     redefinedParam.type.conformsTo(redefiningParam.type)) and&#xD;
                 (redefiningParam.direction = ParameterDirectionKind::inout implies&#xD;
                         (redefinedParam.compatibleWith(redefiningParam) and&#xD;
                         redefiningParam.compatibleWith(redefinedParam))) and&#xD;
                 (redefiningParam.direction = ParameterDirectionKind::_'in' implies&#xD;
                         redefinedParam.compatibleWith(redefiningParam)) and&#xD;
                 ((redefiningParam.direction = ParameterDirectionKind::out or&#xD;
                      redefiningParam.direction = ParameterDirectionKind::return) implies&#xD;
                         redefiningParam.compatibleWith(redefinedParam))&#xD;
		))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:id="Operation-isConsistentWith-pre" name="pre" constrainedElement="Operation-isConsistentWith">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Operation-isConsistentWith-pre-_specification">
            <language>OCL</language>
            <body>redefiningElement.isRedefinitionContextValid(self)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Operation-isConsistentWith-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Operation-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="Operation-isOrdered.1" name="isOrdered" bodyCondition="Operation-isOrdered.1-spec" isQuery="true">
        <ownedComment xmi:id="Operation-isOrdered.1-_ownedComment.0" annotatedElement="Operation-isOrdered.1">
          <body>If this operation has a return parameter, isOrdered equals the value of isOrdered for that parameter. Otherwise isOrdered is false.</body>
        </ownedComment>
        <ownedRule xmi:id="Operation-isOrdered.1-spec" name="spec" constrainedElement="Operation-isOrdered.1 Operation-isOrdered">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Operation-isOrdered.1-spec-_specification">
            <language>OCL</language>
            <body>result = (if returnResult()->notEmpty() then returnResult()-> exists(isOrdered) else false endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Operation-isOrdered.1-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Operation-isUnique.1" name="isUnique" bodyCondition="Operation-isUnique.1-spec" isQuery="true">
        <ownedComment xmi:id="Operation-isUnique.1-_ownedComment.0" annotatedElement="Operation-isUnique.1">
          <body>If this operation has a return parameter, isUnique equals the value of isUnique for that parameter. Otherwise isUnique is true.</body>
        </ownedComment>
        <ownedRule xmi:id="Operation-isUnique.1-spec" name="spec" constrainedElement="Operation-isUnique.1 Operation-isUnique">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Operation-isUnique.1-spec-_specification">
            <language>OCL</language>
            <body>result = (if returnResult()->notEmpty() then returnResult()->exists(isUnique) else true endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Operation-isUnique.1-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Operation-lower.1" name="lower" visibility="protected" bodyCondition="Operation-lower.1-spec" isQuery="true">
        <ownedComment xmi:id="Operation-lower.1-_ownedComment.0" annotatedElement="Operation-lower.1">
          <body>If this operation has a return parameter, lower equals the value of lower for that parameter. Otherwise lower has no value.</body>
        </ownedComment>
        <ownedRule xmi:id="Operation-lower.1-spec" name="spec" constrainedElement="Operation-lower.1 Operation-lower">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Operation-lower.1-spec-_specification">
            <language>OCL</language>
            <body>result = (if returnResult()->notEmpty() then returnResult()->any(true).lower else null endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Operation-lower.1-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Operation-returnResult" name="returnResult" bodyCondition="Operation-returnResult-spec" isQuery="true">
        <ownedComment xmi:id="Operation-returnResult-_ownedComment.0" annotatedElement="Operation-returnResult">
          <body>The query returnResult() returns the set containing the return parameter of the Operation if one exists, otherwise, it returns an empty set</body>
        </ownedComment>
        <ownedRule xmi:id="Operation-returnResult-spec" name="spec" constrainedElement="Operation-returnResult">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Operation-returnResult-spec-_specification">
            <language>OCL</language>
            <body>result = (ownedParameter->select (direction = ParameterDirectionKind::return)->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Operation-returnResult-result" name="result" type="Parameter" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Operation-returnResult-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Operation-returnResult-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Operation-type.1" name="type" visibility="protected" bodyCondition="Operation-type.1-spec" isQuery="true">
        <ownedComment xmi:id="Operation-type.1-_ownedComment.0" annotatedElement="Operation-type.1">
          <body>If this operation has a return parameter, type equals the value of type for that parameter. Otherwise type has no value.</body>
        </ownedComment>
        <ownedRule xmi:id="Operation-type.1-spec" name="spec" constrainedElement="Operation-type.1 Operation-type">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Operation-type.1-spec-_specification">
            <language>OCL</language>
            <body>result = (if returnResult()->notEmpty() then returnResult()->any(true).type else null endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Operation-type.1-result" name="result" type="Type" direction="return"/>
      </ownedOperation>
      <ownedOperation xmi:id="Operation-upper.1" name="upper" visibility="protected" bodyCondition="Operation-upper.1-spec" isQuery="true">
        <ownedComment xmi:id="Operation-upper.1-_ownedComment.0" annotatedElement="Operation-upper.1">
          <body>If this operation has a return parameter, upper equals the value of upper for that parameter. Otherwise upper has no value.</body>
        </ownedComment>
        <ownedRule xmi:id="Operation-upper.1-spec" name="spec" constrainedElement="Operation-upper.1 Operation-upper">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Operation-upper.1-spec-_specification">
            <language>OCL</language>
            <body>result = (if returnResult()->notEmpty() then returnResult()->any(true).upper else null endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Operation-upper.1-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="OperationTemplateParameter" name="OperationTemplateParameter">
      <ownedComment xmi:id="OperationTemplateParameter-_ownedComment.0" annotatedElement="OperationTemplateParameter">
        <body>An OperationTemplateParameter exposes an Operation as a formal parameter for a template.</body>
      </ownedComment>
      <ownedRule xmi:id="OperationTemplateParameter-match_default_signature" name="match_default_signature" constrainedElement="OperationTemplateParameter">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="OperationTemplateParameter-match_default_signature-_specification">
          <ownedComment xmi:id="OperationTemplateParameter-match_default_signature-_specification-_ownedComment.0" annotatedElement="OperationTemplateParameter-match_default_signature-_specification">
            <body>A default for an OperationTemplateParameter must be an Operation with the same Parameter types, directions and multiplicities as the exposed Operation.</body>
          </ownedComment>
          <language>OCL</language>
          <body>default->notEmpty() implies (default.oclIsKindOf(Operation) and (let defaultOp : Operation = default.oclAsType(Operation) in &#xD;
    defaultOp.ownedParameter->size() = parameteredElement.ownedParameter->size() and&#xD;
    Sequence{1.. defaultOp.ownedParameter->size()}->forAll( ix | &#xD;
        let p1: Parameter = defaultOp.ownedParameter->at(ix), p2 : Parameter = parameteredElement.ownedParameter->at(ix) in&#xD;
          p1.type = p2.type and p1.upper = p2.upper and p1.lower = p2.lower and p1.direction = p2.direction and p1.isOrdered = p2.isOrdered and p1.isUnique = p2.isUnique)))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="OperationTemplateParameter-_generalization.0" general="TemplateParameter"/>
      <ownedAttribute xmi:id="OperationTemplateParameter-parameteredElement" name="parameteredElement" type="Operation" redefinedProperty="TemplateParameter-parameteredElement" association="A_operation_templateParameter_parameteredElement">
        <ownedComment xmi:id="OperationTemplateParameter-parameteredElement-_ownedComment.0" annotatedElement="OperationTemplateParameter-parameteredElement">
          <body>The Operation exposed by this OperationTemplateParameter.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Parameter" name="Parameter">
      <ownedComment xmi:id="Parameter-_ownedComment.0" annotatedElement="Parameter">
        <body>A Parameter is a specification of an argument used to pass information into or out of an invocation of a BehavioralFeature.  Parameters can be treated as ConnectableElements within Collaborations.</body>
      </ownedComment>
      <ownedRule xmi:id="Parameter-in_and_out" name="in_and_out" constrainedElement="Parameter">
        <ownedComment xmi:id="Parameter-in_and_out-_ownedComment.0" annotatedElement="Parameter-in_and_out">
          <body>Only in and inout Parameters may have a delete effect. Only out, inout, and return Parameters may have a create effect.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Parameter-in_and_out-_specification">
          <language>OCL</language>
          <body>(effect = ParameterEffectKind::delete implies (direction = ParameterDirectionKind::_'in' or direction = ParameterDirectionKind::inout))&#xD;
and&#xD;
(effect = ParameterEffectKind::create implies (direction = ParameterDirectionKind::out or direction = ParameterDirectionKind::inout or direction = ParameterDirectionKind::return))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Parameter-not_exception" name="not_exception" constrainedElement="Parameter">
        <ownedComment xmi:id="Parameter-not_exception-_ownedComment.0" annotatedElement="Parameter-not_exception">
          <body>An input Parameter cannot be an exception.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Parameter-not_exception-_specification">
          <language>OCL</language>
          <body>isException implies (direction &lt;> ParameterDirectionKind::_'in' and direction &lt;> ParameterDirectionKind::inout)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Parameter-connector_end" name="connector_end" constrainedElement="Parameter">
        <ownedComment xmi:id="Parameter-connector_end-_ownedComment.0" annotatedElement="Parameter-connector_end">
          <body>A Parameter may only be associated with a Connector end within the context of a Collaboration.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Parameter-connector_end-_specification">
          <language>OCL</language>
          <body>end->notEmpty() implies collaboration->notEmpty()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Parameter-reentrant_behaviors" name="reentrant_behaviors" constrainedElement="Parameter">
        <ownedComment xmi:id="Parameter-reentrant_behaviors-_ownedComment.0" annotatedElement="Parameter-reentrant_behaviors">
          <body>Reentrant behaviors cannot have stream Parameters.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Parameter-reentrant_behaviors-_specification">
          <language>OCL</language>
          <body>(isStream and behavior &lt;> null) implies not behavior.isReentrant</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Parameter-stream_and_exception" name="stream_and_exception" constrainedElement="Parameter">
        <ownedComment xmi:id="Parameter-stream_and_exception-_ownedComment.0" annotatedElement="Parameter-stream_and_exception">
          <body>A Parameter cannot be a stream and exception at the same time.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Parameter-stream_and_exception-_specification">
          <language>OCL</language>
          <body>not (isException and isStream)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Parameter-object_effect" name="object_effect" constrainedElement="Parameter">
        <ownedComment xmi:id="Parameter-object_effect-_ownedComment.0" annotatedElement="Parameter-object_effect">
          <body>Parameters typed by DataTypes cannot have an effect.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Parameter-object_effect-_specification">
          <language>OCL</language>
          <body>(type.oclIsKindOf(DataType)) implies (effect = null)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Parameter-_generalization.0" general="MultiplicityElement"/>
      <generalization xmi:id="Parameter-_generalization.1" general="ConnectableElement"/>
      <ownedAttribute xmi:id="Parameter-default" name="default" isDerived="true">
        <ownedComment xmi:id="Parameter-default-_ownedComment.0" annotatedElement="Parameter-default">
          <body>A String that represents a value to be used when no argument is supplied for the Parameter.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Parameter-default-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Parameter-defaultValue" name="defaultValue" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_defaultValue_owningParameter">
        <ownedComment xmi:id="Parameter-defaultValue-_ownedComment.0" annotatedElement="Parameter-defaultValue">
          <body>Specifies a ValueSpecification that represents a value to be used when no argument is supplied for the Parameter.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Parameter-defaultValue-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Parameter-direction" name="direction" type="ParameterDirectionKind">
        <ownedComment xmi:id="Parameter-direction-_ownedComment.0" annotatedElement="Parameter-direction">
          <body>Indicates whether a parameter is being sent into or out of a behavioral element.</body>
        </ownedComment>
        <defaultValue xmi:type="uml:InstanceValue" xmi:id="Parameter-direction-_defaultValue" type="ParameterDirectionKind" instance="ParameterDirectionKind-in"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Parameter-effect" name="effect" type="ParameterEffectKind">
        <ownedComment xmi:id="Parameter-effect-_ownedComment.0" annotatedElement="Parameter-effect">
          <body>Specifies the effect that executions of the owner of the Parameter have on objects passed in or out of the parameter.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Parameter-effect-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Parameter-isException" name="isException">
        <ownedComment xmi:id="Parameter-isException-_ownedComment.0" annotatedElement="Parameter-isException">
          <body>Tells whether an output parameter may emit a value to the exclusion of the other outputs.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Parameter-isException-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Parameter-isStream" name="isStream">
        <ownedComment xmi:id="Parameter-isStream-_ownedComment.0" annotatedElement="Parameter-isStream">
          <body>Tells whether an input parameter may accept values while its behavior is executing, or whether an output parameter may post values while the behavior is executing.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Parameter-isStream-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Parameter-operation" name="operation" type="Operation" subsettedProperty="A_ownedParameter_ownerFormalParam-ownerFormalParam NamedElement-namespace" association="A_ownedParameter_operation">
        <ownedComment xmi:id="Parameter-operation-_ownedComment.0" annotatedElement="Parameter-operation">
          <body>The Operation owning this parameter.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Parameter-operation-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Parameter-parameterSet" name="parameterSet" type="ParameterSet" association="A_parameterSet_parameter">
        <ownedComment xmi:id="Parameter-parameterSet-_ownedComment.0" annotatedElement="Parameter-parameterSet">
          <body>The ParameterSets containing the parameter. See ParameterSet.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Parameter-parameterSet-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Parameter-parameterSet-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Parameter-isSetDefault" name="isSetDefault" visibility="protected" isQuery="true">
        <ownedParameter xmi:id="Parameter-isSetDefault-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Parameter-setBooleanDefaultValue" name="setBooleanDefaultValue">
        <ownedComment xmi:id="Parameter-setBooleanDefaultValue-_ownedComment.0" annotatedElement="Parameter-setBooleanDefaultValue">
          <body>Sets the default value for this parameter to the specified Boolean value.</body>
        </ownedComment>
        <ownedParameter xmi:id="Parameter-setBooleanDefaultValue-value" name="value" effect="read">
          <ownedComment xmi:id="Parameter-setBooleanDefaultValue-value-_ownedComment.0" annotatedElement="Parameter-setBooleanDefaultValue-value">
            <body>The new default value.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Parameter-setDefault" name="setDefault" visibility="protected">
        <ownedParameter xmi:id="Parameter-setDefault-newDefault" name="newDefault" visibility="protected" effect="read">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Parameter-setIntegerDefaultValue" name="setIntegerDefaultValue">
        <ownedComment xmi:id="Parameter-setIntegerDefaultValue-_ownedComment.0" annotatedElement="Parameter-setIntegerDefaultValue">
          <body>Sets the default value for this parameter to the specified integer value.</body>
        </ownedComment>
        <ownedParameter xmi:id="Parameter-setIntegerDefaultValue-value" name="value" effect="read">
          <ownedComment xmi:id="Parameter-setIntegerDefaultValue-value-_ownedComment.0" annotatedElement="Parameter-setIntegerDefaultValue-value">
            <body>The new default value.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Parameter-setNullDefaultValue" name="setNullDefaultValue">
        <ownedComment xmi:id="Parameter-setNullDefaultValue-_ownedComment.0" annotatedElement="Parameter-setNullDefaultValue">
          <body>Sets the default value for this parameter to the null value.</body>
        </ownedComment>
      </ownedOperation>
      <ownedOperation xmi:id="Parameter-setRealDefaultValue" name="setRealDefaultValue">
        <ownedComment xmi:id="Parameter-setRealDefaultValue-_ownedComment.0" annotatedElement="Parameter-setRealDefaultValue">
          <body>Sets the default value for this parameter to the specified real value.</body>
        </ownedComment>
        <ownedParameter xmi:id="Parameter-setRealDefaultValue-value" name="value" effect="read">
          <ownedComment xmi:id="Parameter-setRealDefaultValue-value-_ownedComment.0" annotatedElement="Parameter-setRealDefaultValue-value">
            <body>The new default value.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Parameter-setStringDefaultValue" name="setStringDefaultValue">
        <ownedComment xmi:id="Parameter-setStringDefaultValue-_ownedComment.0" annotatedElement="Parameter-setStringDefaultValue">
          <body>Sets the default value for this parameter to the specified string value.</body>
        </ownedComment>
        <ownedParameter xmi:id="Parameter-setStringDefaultValue-value" name="value" effect="read">
          <ownedComment xmi:id="Parameter-setStringDefaultValue-value-_ownedComment.0" annotatedElement="Parameter-setStringDefaultValue-value">
            <body>The new default value.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Parameter-setUnlimitedNaturalDefaultValue" name="setUnlimitedNaturalDefaultValue">
        <ownedComment xmi:id="Parameter-setUnlimitedNaturalDefaultValue-_ownedComment.0" annotatedElement="Parameter-setUnlimitedNaturalDefaultValue">
          <body>Sets the default value for this parameter to the specified unlimited natural value.</body>
        </ownedComment>
        <ownedParameter xmi:id="Parameter-setUnlimitedNaturalDefaultValue-value" name="value" effect="read">
          <ownedComment xmi:id="Parameter-setUnlimitedNaturalDefaultValue-value-_ownedComment.0" annotatedElement="Parameter-setUnlimitedNaturalDefaultValue-value">
            <body>The new default value.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Parameter-unsetDefault" name="unsetDefault" visibility="protected"/>
      <ownedOperation xmi:id="Parameter-default.1" name="default" visibility="protected" bodyCondition="Parameter-default.1-spec" isQuery="true">
        <ownedComment xmi:id="Parameter-default.1-_ownedComment.0" annotatedElement="Parameter-default.1">
          <body>Derivation for Parameter::/default</body>
        </ownedComment>
        <ownedRule xmi:id="Parameter-default.1-spec" name="spec" constrainedElement="Parameter-default.1 Parameter-default">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Parameter-default.1-spec-_specification">
            <language>OCL</language>
            <body>result = (if self.type = String then defaultValue.stringValue() else null endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Parameter-default.1-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Parameter-default.1-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Parameter-default.1-result-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ParameterSet" name="ParameterSet">
      <ownedComment xmi:id="ParameterSet-_ownedComment.0" annotatedElement="ParameterSet">
        <body>A ParameterSet designates alternative sets of inputs or outputs that a Behavior may use.</body>
      </ownedComment>
      <ownedRule xmi:id="ParameterSet-same_parameterized_entity" name="same_parameterized_entity" constrainedElement="ParameterSet">
        <ownedComment xmi:id="ParameterSet-same_parameterized_entity-_ownedComment.0" annotatedElement="ParameterSet-same_parameterized_entity">
          <body>The Parameters in a ParameterSet must all be inputs or all be outputs of the same parameterized entity, and the ParameterSet is owned by that entity.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ParameterSet-same_parameterized_entity-_specification">
          <language>OCL</language>
          <body>parameter->forAll(p1, p2 | self.owner = p1.owner and self.owner = p2.owner and p1.direction = p2.direction)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ParameterSet-input" name="input" constrainedElement="ParameterSet">
        <ownedComment xmi:id="ParameterSet-input-_ownedComment.0" annotatedElement="ParameterSet-input">
          <body>If a parameterized entity has input Parameters that are in a ParameterSet, then any inputs that are not in a ParameterSet must be streaming. Same for output Parameters.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ParameterSet-input-_specification">
          <language>OCL</language>
          <body>((parameter->exists(direction = ParameterDirectionKind::_'in')) implies &#xD;
    behavioralFeature.ownedParameter->select(p | p.direction = ParameterDirectionKind::_'in' and p.parameterSet->isEmpty())->forAll(isStream))&#xD;
    and&#xD;
((parameter->exists(direction = ParameterDirectionKind::out)) implies &#xD;
    behavioralFeature.ownedParameter->select(p | p.direction = ParameterDirectionKind::out and p.parameterSet->isEmpty())->forAll(isStream))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ParameterSet-two_parameter_sets" name="two_parameter_sets" constrainedElement="ParameterSet">
        <ownedComment xmi:id="ParameterSet-two_parameter_sets-_ownedComment.0" annotatedElement="ParameterSet-two_parameter_sets">
          <body>Two ParameterSets cannot have exactly the same set of Parameters.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ParameterSet-two_parameter_sets-_specification">
          <language>OCL</language>
          <body>parameter->forAll(parameterSet->forAll(s1, s2 | s1->size() = s2->size() implies s1.parameter->exists(p | not s2.parameter->includes(p))))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ParameterSet-_generalization.0" general="NamedElement"/>
      <ownedAttribute xmi:id="ParameterSet-condition" name="condition" type="Constraint" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_condition_parameterSet">
        <ownedComment xmi:id="ParameterSet-condition-_ownedComment.0" annotatedElement="ParameterSet-condition">
          <body>A constraint that should be satisfied for the owner of the Parameters in an input ParameterSet to start execution using the values provided for those Parameters, or the owner of the Parameters in an output ParameterSet to end execution providing the values for those Parameters, if all preconditions and conditions on input ParameterSets were satisfied.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ParameterSet-condition-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ParameterSet-condition-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ParameterSet-parameter" name="parameter" type="Parameter" association="A_parameterSet_parameter">
        <ownedComment xmi:id="ParameterSet-parameter-_ownedComment.0" annotatedElement="ParameterSet-parameter">
          <body>Parameters in the ParameterSet.</body>
        </ownedComment>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ParameterSet-parameter-_upperValue" value="*"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Property" name="Property">
      <ownedComment xmi:id="Property-_ownedComment.0" annotatedElement="Property">
        <body>A Property is a StructuralFeature. A Property related by ownedAttribute to a Classifier (other than an association) represents an attribute and might also represent an association end. It relates an instance of the Classifier to a value or set of values of the type of the attribute. A Property related by memberEnd to an Association represents an end of the Association. The type of the Property is the type of the end of the Association. A Property has the capability of being a DeploymentTarget in a Deployment relationship. This enables modeling the deployment to hierarchical nodes that have Properties functioning as internal parts.  Property specializes ParameterableElement to specify that a Property can be exposed as a formal template parameter, and provided as an actual parameter in a binding of a template.</body>
      </ownedComment>
      <ownedRule xmi:id="Property-subsetting_context_conforms" name="subsetting_context_conforms" constrainedElement="Property">
        <ownedComment xmi:id="Property-subsetting_context_conforms-_ownedComment.0" annotatedElement="Property-subsetting_context_conforms">
          <body>Subsetting may only occur when the context of the subsetting property conforms to the context of the subsetted property.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-subsetting_context_conforms-_specification">
          <language>OCL</language>
          <body>subsettedProperty->notEmpty() implies
  (subsettingContext()->notEmpty() and subsettingContext()->forAll (sc |
    subsettedProperty->forAll(sp |
      sp.subsettingContext()->exists(c | sc.conformsTo(c)))))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Property-derived_union_is_read_only" name="derived_union_is_read_only" constrainedElement="Property">
        <ownedComment xmi:id="Property-derived_union_is_read_only-_ownedComment.0" annotatedElement="Property-derived_union_is_read_only">
          <body>A derived union is read only.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-derived_union_is_read_only-_specification">
          <language>OCL</language>
          <body>isDerivedUnion implies isReadOnly</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Property-multiplicity_of_composite" name="multiplicity_of_composite" constrainedElement="Property">
        <ownedComment xmi:id="Property-multiplicity_of_composite-_ownedComment.0" annotatedElement="Property-multiplicity_of_composite">
          <body>A multiplicity on the composing end of a composite aggregation must not have an upper bound greater than 1.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-multiplicity_of_composite-_specification">
          <language>OCL</language>
          <body>isComposite and association &lt;> null implies opposite.upperBound() &lt;= 1</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Property-redefined_property_inherited" name="redefined_property_inherited" constrainedElement="Property">
        <ownedComment xmi:id="Property-redefined_property_inherited-_ownedComment.0" annotatedElement="Property-redefined_property_inherited">
          <body>A redefined Property must be inherited from a more general Classifier.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-redefined_property_inherited-_specification">
          <language>OCL</language>
          <body>(redefinedProperty->notEmpty()) implies&#xD;
  (redefinitionContext->notEmpty() and&#xD;
      redefinedProperty->forAll(rp|&#xD;
        ((redefinitionContext->collect(fc|&#xD;
          fc.allParents()))->asSet())->collect(c| c.allFeatures())->asSet()->includes(rp)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Property-subsetting_rules" name="subsetting_rules" constrainedElement="Property">
        <ownedComment xmi:id="Property-subsetting_rules-_ownedComment.0" annotatedElement="Property-subsetting_rules">
          <body>A subsetting Property may strengthen the type of the subsetted Property, and its upper bound may be less.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-subsetting_rules-_specification">
          <language>OCL</language>
          <body>subsettedProperty->forAll(sp |
  self.type.conformsTo(sp.type) and
    ((self.upperBound()->notEmpty() and sp.upperBound()->notEmpty()) implies
      self.upperBound() &lt;= sp.upperBound() ))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Property-binding_to_attribute" name="binding_to_attribute" constrainedElement="Property">
        <ownedComment xmi:id="Property-binding_to_attribute-_ownedComment.0" annotatedElement="Property-binding_to_attribute">
          <body>A binding of a PropertyTemplateParameter representing an attribute must be to an attribute.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-binding_to_attribute-_specification">
          <language>OCL</language>
          <body>(self.isAttribute()&#xD;
and (templateParameterSubstitution->notEmpty())&#xD;
implies (templateParameterSubstitution->forAll(ts |&#xD;
    ts.formal.oclIsKindOf(Property)&#xD;
    and ts.formal.oclAsType(Property).isAttribute())))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Property-derived_union_is_derived" name="derived_union_is_derived" constrainedElement="Property">
        <ownedComment xmi:id="Property-derived_union_is_derived-_ownedComment.0" annotatedElement="Property-derived_union_is_derived">
          <body>A derived union is derived.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-derived_union_is_derived-_specification">
          <language>OCL</language>
          <body>isDerivedUnion implies isDerived</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Property-deployment_target" name="deployment_target" constrainedElement="Property">
        <ownedComment xmi:id="Property-deployment_target-_ownedComment.0" annotatedElement="Property-deployment_target">
          <body>A Property can be a DeploymentTarget if it is a kind of Node and functions as a part in the internal structure of an encompassing Node.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-deployment_target-_specification">
          <language>OCL</language>
          <body>deployment->notEmpty() implies owner.oclIsKindOf(Node) and Node.allInstances()->exists(n | n.part->exists(p | p = self))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Property-subsetted_property_names" name="subsetted_property_names" constrainedElement="Property">
        <ownedComment xmi:id="Property-subsetted_property_names-_ownedComment.0" annotatedElement="Property-subsetted_property_names">
          <body>A Property may not subset a Property with the same name.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-subsetted_property_names-_specification">
          <language>OCL</language>
          <body>subsettedProperty->forAll(sp | sp.name &lt;> name)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Property-type_of_opposite_end" name="type_of_opposite_end" constrainedElement="Property">
        <ownedComment xmi:id="Property-type_of_opposite_end-_ownedComment.0" annotatedElement="Property-type_of_opposite_end">
          <body>If a Property is a classifier-owned end of a binary Association, its owner must be the type of the opposite end.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-type_of_opposite_end-_specification">
          <language>OCL</language>
          <body>(opposite->notEmpty() and owningAssociation->isEmpty()) implies classifier = opposite.type</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Property-qualified_is_association_end" name="qualified_is_association_end" constrainedElement="Property">
        <ownedComment xmi:id="Property-qualified_is_association_end-_ownedComment.0" annotatedElement="Property-qualified_is_association_end">
          <body>All qualified Properties must be Association ends</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-qualified_is_association_end-_specification">
          <language>OCL</language>
          <body>qualifier->notEmpty() implies association->notEmpty()</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Property-_generalization.0" general="ConnectableElement"/>
      <generalization xmi:id="Property-_generalization.1" general="DeploymentTarget"/>
      <generalization xmi:id="Property-_generalization.2" general="StructuralFeature"/>
      <ownedAttribute xmi:id="Property-default" name="default" visibility="protected" isDerived="true">
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-default-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Property-aggregation" name="aggregation" type="AggregationKind">
        <ownedComment xmi:id="Property-aggregation-_ownedComment.0" annotatedElement="Property-aggregation">
          <body>Specifies the kind of aggregation that applies to the Property.</body>
        </ownedComment>
        <defaultValue xmi:type="uml:InstanceValue" xmi:id="Property-aggregation-_defaultValue" type="AggregationKind" instance="AggregationKind-none"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Property-association" name="association" type="Association" subsettedProperty="A_member_memberNamespace-memberNamespace" association="A_memberEnd_association">
        <ownedComment xmi:id="Property-association-_ownedComment.0" annotatedElement="Property-association">
          <body>The Association of which this Property is a member, if any.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-association-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Property-associationEnd" name="associationEnd" type="Property" subsettedProperty="Element-owner" association="A_qualifier_associationEnd">
        <ownedComment xmi:id="Property-associationEnd-_ownedComment.0" annotatedElement="Property-associationEnd">
          <body>Designates the optional association end that owns a qualifier attribute.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-associationEnd-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Property-class" name="class" type="Class" subsettedProperty="A_attribute_classifier-classifier A_ownedAttribute_structuredClassifier-structuredClassifier NamedElement-namespace Feature-featuringClassifier RedefinableElement-redefinitionContext" association="A_ownedAttribute_class">
        <ownedComment xmi:id="Property-class-_ownedComment.0" annotatedElement="Property-class">
          <body>The Class that owns this Property, if any.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-class-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Property-datatype" name="datatype" type="DataType" subsettedProperty="A_attribute_classifier-classifier NamedElement-namespace Feature-featuringClassifier RedefinableElement-redefinitionContext" association="A_ownedAttribute_datatype">
        <ownedComment xmi:id="Property-datatype-_ownedComment.0" annotatedElement="Property-datatype">
          <body>The DataType that owns this Property, if any.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-datatype-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Property-defaultValue" name="defaultValue" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_defaultValue_owningProperty">
        <ownedComment xmi:id="Property-defaultValue-_ownedComment.0" annotatedElement="Property-defaultValue">
          <body>A ValueSpecification that is evaluated to give a default value for the Property when an instance of the owning Classifier is instantiated.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-defaultValue-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Property-interface" name="interface" type="Interface" subsettedProperty="A_attribute_classifier-classifier NamedElement-namespace Feature-featuringClassifier RedefinableElement-redefinitionContext" association="A_ownedAttribute_interface">
        <ownedComment xmi:id="Property-interface-_ownedComment.0" annotatedElement="Property-interface">
          <body>The Interface that owns this Property, if any.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-interface-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Property-isComposite" name="isComposite" isDerived="true">
        <ownedComment xmi:id="Property-isComposite-_ownedComment.0" annotatedElement="Property-isComposite">
          <body>If isComposite is true, the object containing the attribute is a container for the object or value contained in the attribute. This is a derived value, indicating whether the aggregation of the Property is composite or not.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Property-isComposite-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Property-isDerived" name="isDerived">
        <ownedComment xmi:id="Property-isDerived-_ownedComment.0" annotatedElement="Property-isDerived">
          <body>Specifies whether the Property is derived, i.e., whether its value or values can be computed from other information.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Property-isDerived-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Property-isDerivedUnion" name="isDerivedUnion">
        <ownedComment xmi:id="Property-isDerivedUnion-_ownedComment.0" annotatedElement="Property-isDerivedUnion">
          <body>Specifies whether the property is derived as the union of all of the Properties that are constrained to subset it.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Property-isDerivedUnion-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Property-isID" name="isID">
        <ownedComment xmi:id="Property-isID-_ownedComment.0" annotatedElement="Property-isID">
          <body>True indicates this property can be used to uniquely identify an instance of the containing Class.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Property-isID-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Property-opposite" name="opposite" type="Property" isDerived="true" association="A_opposite_property">
        <ownedComment xmi:id="Property-opposite-_ownedComment.0" annotatedElement="Property-opposite">
          <body>In the case where the Property is one end of a binary association this gives the other end.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-opposite-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Property-owningAssociation" name="owningAssociation" type="Association" subsettedProperty="Feature-featuringClassifier NamedElement-namespace Property-association RedefinableElement-redefinitionContext" association="A_ownedEnd_owningAssociation">
        <ownedComment xmi:id="Property-owningAssociation-_ownedComment.0" annotatedElement="Property-owningAssociation">
          <body>The owning association of this property, if any.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-owningAssociation-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Property-qualifier" name="qualifier" type="Property" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_qualifier_associationEnd">
        <ownedComment xmi:id="Property-qualifier-_ownedComment.0" annotatedElement="Property-qualifier">
          <body>An optional list of ordered qualifier attributes for the end.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-qualifier-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Property-qualifier-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Property-redefinedProperty" name="redefinedProperty" type="Property" subsettedProperty="RedefinableElement-redefinedElement" association="A_redefinedProperty_property">
        <ownedComment xmi:id="Property-redefinedProperty-_ownedComment.0" annotatedElement="Property-redefinedProperty">
          <body>The properties that are redefined by this property, if any.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-redefinedProperty-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Property-redefinedProperty-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Property-subsettedProperty" name="subsettedProperty" type="Property" association="A_subsettedProperty_property">
        <ownedComment xmi:id="Property-subsettedProperty-_ownedComment.0" annotatedElement="Property-subsettedProperty">
          <body>The properties of which this Property is constrained to be a subset, if any.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-subsettedProperty-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Property-subsettedProperty-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Property-getDefault" name="getDefault" isQuery="true">
        <ownedComment xmi:id="Property-getDefault-_ownedComment.0" annotatedElement="Property-getDefault">
          <body>Retrieves a string representation of the default value for this property.</body>
        </ownedComment>
        <ownedParameter xmi:id="Property-getDefault-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-getDefault-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Property-getDefault-result-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-getOtherEnd" name="getOtherEnd">
        <ownedComment xmi:id="Property-getOtherEnd-_ownedComment.0" annotatedElement="Property-getOtherEnd">
          <body>Retrieves the other end of the (binary) association in which this property is a member end.</body>
        </ownedComment>
        <ownedParameter xmi:id="Property-getOtherEnd-_ownedParameter.0" type="Property" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-getOtherEnd-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Property-getOtherEnd-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-isSetDefault" name="isSetDefault" visibility="protected" isQuery="true">
        <ownedParameter xmi:id="Property-isSetDefault-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-setBooleanDefaultValue" name="setBooleanDefaultValue">
        <ownedComment xmi:id="Property-setBooleanDefaultValue-_ownedComment.0" annotatedElement="Property-setBooleanDefaultValue">
          <body>Sets the default value for this property to the specified Boolean value.</body>
        </ownedComment>
        <ownedParameter xmi:id="Property-setBooleanDefaultValue-value" name="value" effect="read">
          <ownedComment xmi:id="Property-setBooleanDefaultValue-value-_ownedComment.0" annotatedElement="Property-setBooleanDefaultValue-value">
            <body>The new default value.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-setDefault" name="setDefault">
        <ownedComment xmi:id="Property-setDefault-_ownedComment.0" annotatedElement="Property-setDefault">
          <body>Sets the default value for this property based on the specified string representation.</body>
        </ownedComment>
        <ownedParameter xmi:id="Property-setDefault-newDefault" name="newDefault" effect="read">
          <ownedComment xmi:id="Property-setDefault-newDefault-_ownedComment.0" annotatedElement="Property-setDefault-newDefault">
            <body>A string repesentation of the new default value.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-setIntegerDefaultValue" name="setIntegerDefaultValue">
        <ownedComment xmi:id="Property-setIntegerDefaultValue-_ownedComment.0" annotatedElement="Property-setIntegerDefaultValue">
          <body>Sets the default value for this property to the specified integer value.</body>
        </ownedComment>
        <ownedParameter xmi:id="Property-setIntegerDefaultValue-value" name="value" effect="read">
          <ownedComment xmi:id="Property-setIntegerDefaultValue-value-_ownedComment.0" annotatedElement="Property-setIntegerDefaultValue-value">
            <body>The new default value.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-setIsComposite" name="setIsComposite" visibility="protected">
        <ownedParameter xmi:id="Property-setIsComposite-newIsComposite" name="newIsComposite" effect="read">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-setIsNavigable" name="setIsNavigable">
        <ownedComment xmi:id="Property-setIsNavigable-_ownedComment.0" annotatedElement="Property-setIsNavigable">
          <body>Sets the navigability of this property as indicated.</body>
        </ownedComment>
        <ownedParameter xmi:id="Property-setIsNavigable-isNavigable" name="isNavigable" effect="read">
          <ownedComment xmi:id="Property-setIsNavigable-isNavigable-_ownedComment.0" annotatedElement="Property-setIsNavigable-isNavigable">
            <body>The new navigability.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-setNullDefaultValue" name="setNullDefaultValue">
        <ownedComment xmi:id="Property-setNullDefaultValue-_ownedComment.0" annotatedElement="Property-setNullDefaultValue">
          <body>Sets the default value for this property to the null value.</body>
        </ownedComment>
      </ownedOperation>
      <ownedOperation xmi:id="Property-setOpposite" name="setOpposite" visibility="protected">
        <ownedParameter xmi:id="Property-setOpposite-newOpposite" name="newOpposite" visibility="protected" type="Property" effect="read"/>
      </ownedOperation>
      <ownedOperation xmi:id="Property-setRealDefaultValue" name="setRealDefaultValue">
        <ownedComment xmi:id="Property-setRealDefaultValue-_ownedComment.0" annotatedElement="Property-setRealDefaultValue">
          <body>Sets the default value for this property to the specified real value.</body>
        </ownedComment>
        <ownedParameter xmi:id="Property-setRealDefaultValue-value" name="value" effect="read">
          <ownedComment xmi:id="Property-setRealDefaultValue-value-_ownedComment.0" annotatedElement="Property-setRealDefaultValue-value">
            <body>The new default value.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-setStringDefaultValue" name="setStringDefaultValue">
        <ownedComment xmi:id="Property-setStringDefaultValue-_ownedComment.0" annotatedElement="Property-setStringDefaultValue">
          <body>Sets the default value for this property to the specified string value.</body>
        </ownedComment>
        <ownedParameter xmi:id="Property-setStringDefaultValue-value" name="value" effect="read">
          <ownedComment xmi:id="Property-setStringDefaultValue-value-_ownedComment.0" annotatedElement="Property-setStringDefaultValue-value">
            <body>The new default value.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-setUnlimitedNaturalDefaultValue" name="setUnlimitedNaturalDefaultValue">
        <ownedComment xmi:id="Property-setUnlimitedNaturalDefaultValue-_ownedComment.0" annotatedElement="Property-setUnlimitedNaturalDefaultValue">
          <body>Sets the default value for this property to the specified unlimited natural value.</body>
        </ownedComment>
        <ownedParameter xmi:id="Property-setUnlimitedNaturalDefaultValue-value" name="value" effect="read">
          <ownedComment xmi:id="Property-setUnlimitedNaturalDefaultValue-value-_ownedComment.0" annotatedElement="Property-setUnlimitedNaturalDefaultValue-value">
            <body>The new default value.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-unsetDefault" name="unsetDefault" visibility="protected"/>
      <ownedOperation xmi:id="Property-isAttribute" name="isAttribute" bodyCondition="Property-isAttribute-spec" isQuery="true">
        <ownedComment xmi:id="Property-isAttribute-_ownedComment.0" annotatedElement="Property-isAttribute">
          <body>The query isAttribute() is true if the Property is defined as an attribute of some Classifier.</body>
        </ownedComment>
        <ownedRule xmi:id="Property-isAttribute-spec" name="spec" constrainedElement="Property-isAttribute">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-isAttribute-spec-_specification">
            <language>OCL</language>
            <body>result = (not classifier->isEmpty())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Property-isAttribute-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-isCompatibleWith" name="isCompatibleWith" bodyCondition="Property-isCompatibleWith-spec" isQuery="true" redefinedOperation="ParameterableElement-isCompatibleWith">
        <ownedComment xmi:id="Property-isCompatibleWith-_ownedComment.0" annotatedElement="Property-isCompatibleWith">
          <body>The query isCompatibleWith() determines if this Property is compatible with the specified ParameterableElement. This Property is compatible with ParameterableElement p if the kind of this Property is thesame as or a subtype of the kind of p. Further, if p is a TypedElement, then the type of this Property must be conformant with the type of p.</body>
        </ownedComment>
        <ownedRule xmi:id="Property-isCompatibleWith-spec" name="spec" constrainedElement="Property-isCompatibleWith">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-isCompatibleWith-spec-_specification">
            <language>OCL</language>
            <body>result = (self.oclIsKindOf(p.oclType()) and (p.oclIsKindOf(TypedElement) implies&#xD;
self.type.conformsTo(p.oclAsType(TypedElement).type)))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Property-isCompatibleWith-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Property-isCompatibleWith-p" name="p" type="ParameterableElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="Property-isComposite.1" name="isComposite" bodyCondition="Property-isComposite.1-spec" isQuery="true">
        <ownedComment xmi:id="Property-isComposite.1-_ownedComment.0" annotatedElement="Property-isComposite.1">
          <body>The value of isComposite is true only if aggregation is composite.</body>
        </ownedComment>
        <ownedRule xmi:id="Property-isComposite.1-spec" name="spec" constrainedElement="Property-isComposite.1 Property-isComposite">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-isComposite.1-spec-_specification">
            <language>OCL</language>
            <body>result = (aggregation = AggregationKind::composite)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Property-isComposite.1-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-isConsistentWith" name="isConsistentWith" bodyCondition="Property-isConsistentWith-spec" isQuery="true" precondition="Property-isConsistentWith-pre" redefinedOperation="RedefinableElement-isConsistentWith">
        <ownedComment xmi:id="Property-isConsistentWith-_ownedComment.0" annotatedElement="Property-isConsistentWith">
          <body>The query isConsistentWith() specifies, for any two Properties in a context in which redefinition is possible, whether redefinition would be logically consistent. A redefining Property is consistent with a redefined Property if the type of the redefining Property conforms to the type of the redefined Property, and the multiplicity of the redefining Property (if specified) is contained in the multiplicity of the redefined Property.</body>
        </ownedComment>
        <ownedRule xmi:id="Property-isConsistentWith-pre" name="pre" constrainedElement="Property-isConsistentWith">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-isConsistentWith-pre-_specification">
            <language>OCL</language>
            <body>redefiningElement.isRedefinitionContextValid(self)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:id="Property-isConsistentWith-spec" name="spec" constrainedElement="Property-isConsistentWith">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-isConsistentWith-spec-_specification">
            <language>OCL</language>
            <body>result = (redefiningElement.oclIsKindOf(Property) and 
  let prop : Property = redefiningElement.oclAsType(Property) in 
  (prop.type.conformsTo(self.type) and 
  ((prop.lowerBound()->notEmpty() and self.lowerBound()->notEmpty()) implies prop.lowerBound() >= self.lowerBound()) and 
  ((prop.upperBound()->notEmpty() and self.upperBound()->notEmpty()) implies prop.lowerBound() &lt;= self.lowerBound()) and 
  (self.isComposite implies prop.isComposite)))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Property-isConsistentWith-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Property-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="Property-isNavigable" name="isNavigable" bodyCondition="Property-isNavigable-spec" isQuery="true">
        <ownedComment xmi:id="Property-isNavigable-_ownedComment.0" annotatedElement="Property-isNavigable">
          <body>The query isNavigable() indicates whether it is possible to navigate across the property.</body>
        </ownedComment>
        <ownedRule xmi:id="Property-isNavigable-spec" name="spec" constrainedElement="Property-isNavigable">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-isNavigable-spec-_specification">
            <language>OCL</language>
            <body>result = (not classifier->isEmpty() or association.navigableOwnedEnd->includes(self))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Property-isNavigable-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-opposite.1" name="opposite" visibility="protected" bodyCondition="Property-opposite.1-spec" isQuery="true">
        <ownedComment xmi:id="Property-opposite.1-_ownedComment.0" annotatedElement="Property-opposite.1">
          <body>If this property is a memberEnd of a binary association, then opposite gives the other end.</body>
        </ownedComment>
        <ownedRule xmi:id="Property-opposite.1-spec" name="spec" constrainedElement="Property-opposite.1 Property-opposite">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-opposite.1-spec-_specification">
            <language>OCL</language>
            <body>result = (if association &lt;> null and association.memberEnd->size() = 2
then
    association.memberEnd->any(e | e &lt;> self)
else
    null
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Property-opposite.1-result" name="result" type="Property" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-opposite.1-result-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Property-subsettingContext" name="subsettingContext" bodyCondition="Property-subsettingContext-spec" isQuery="true">
        <ownedComment xmi:id="Property-subsettingContext-_ownedComment.0" annotatedElement="Property-subsettingContext">
          <body>The query subsettingContext() gives the context for subsetting a Property. It consists, in the case of an attribute, of the corresponding Classifier, and in the case of an association end, all of the Classifiers at the other ends.</body>
        </ownedComment>
        <ownedRule xmi:id="Property-subsettingContext-spec" name="spec" constrainedElement="Property-subsettingContext">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Property-subsettingContext-spec-_specification">
            <language>OCL</language>
            <body>result = (if association &lt;> null
then association.memberEnd->excluding(self)->collect(type)->asSet()
else 
  if classifier&lt;>null
  then classifier->asSet()
  else Set{} 
  endif
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Property-subsettingContext-result" name="result" type="Type" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Property-subsettingContext-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Property-subsettingContext-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="RedefinableElement" name="RedefinableElement" isAbstract="true">
      <ownedComment xmi:id="RedefinableElement-_ownedComment.0" annotatedElement="RedefinableElement">
        <body>A RedefinableElement is an element that, when defined in the context of a Classifier, can be redefined more specifically or differently in the context of another Classifier that specializes (directly or indirectly) the context Classifier.</body>
      </ownedComment>
      <ownedRule xmi:id="RedefinableElement-redefinition_consistent" name="redefinition_consistent" constrainedElement="RedefinableElement">
        <ownedComment xmi:id="RedefinableElement-redefinition_consistent-_ownedComment.0" annotatedElement="RedefinableElement-redefinition_consistent">
          <body>A redefining element must be consistent with each redefined element.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="RedefinableElement-redefinition_consistent-_specification">
          <language>OCL</language>
          <body>redefinedElement->forAll(re | re.isConsistentWith(self))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="RedefinableElement-non_leaf_redefinition" name="non_leaf_redefinition" constrainedElement="RedefinableElement">
        <ownedComment xmi:id="RedefinableElement-non_leaf_redefinition-_ownedComment.0" annotatedElement="RedefinableElement-non_leaf_redefinition">
          <body>A RedefinableElement can only redefine non-leaf RedefinableElements.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="RedefinableElement-non_leaf_redefinition-_specification">
          <language>OCL</language>
          <body>redefinedElement->forAll(re | not re.isLeaf)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="RedefinableElement-redefinition_context_valid" name="redefinition_context_valid" constrainedElement="RedefinableElement">
        <ownedComment xmi:id="RedefinableElement-redefinition_context_valid-_ownedComment.0" annotatedElement="RedefinableElement-redefinition_context_valid">
          <body>At least one of the redefinition contexts of the redefining element must be a specialization of at least one of the redefinition contexts for each redefined element.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="RedefinableElement-redefinition_context_valid-_specification">
          <language>OCL</language>
          <body>redefinedElement->forAll(re | self.isRedefinitionContextValid(re))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="RedefinableElement-_generalization.0" general="NamedElement"/>
      <ownedAttribute xmi:id="RedefinableElement-isLeaf" name="isLeaf">
        <ownedComment xmi:id="RedefinableElement-isLeaf-_ownedComment.0" annotatedElement="RedefinableElement-isLeaf">
          <body>Indicates whether it is possible to further redefine a RedefinableElement. If the value is true, then it is not possible to further redefine the RedefinableElement.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="RedefinableElement-isLeaf-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="RedefinableElement-redefinedElement" name="redefinedElement" type="RedefinableElement" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_redefinedElement_redefinableElement">
        <ownedComment xmi:id="RedefinableElement-redefinedElement-_ownedComment.0" annotatedElement="RedefinableElement-redefinedElement">
          <body>The RedefinableElement that is being redefined by this element.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="RedefinableElement-redefinedElement-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="RedefinableElement-redefinedElement-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="RedefinableElement-redefinitionContext" name="redefinitionContext" type="Classifier" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_redefinitionContext_redefinableElement">
        <ownedComment xmi:id="RedefinableElement-redefinitionContext-_ownedComment.0" annotatedElement="RedefinableElement-redefinitionContext">
          <body>The contexts that this element may be redefined from.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="RedefinableElement-redefinitionContext-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="RedefinableElement-redefinitionContext-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="RedefinableElement-isConsistentWith" name="isConsistentWith" bodyCondition="RedefinableElement-isConsistentWith-spec" isQuery="true" precondition="RedefinableElement-isConsistentWith-pre">
        <ownedComment xmi:id="RedefinableElement-isConsistentWith-_ownedComment.0" annotatedElement="RedefinableElement-isConsistentWith">
          <body>The query isConsistentWith() specifies, for any two RedefinableElements in a context in which redefinition is possible, whether redefinition would be logically consistent. By default, this is false; this operation must be overridden for subclasses of RedefinableElement to define the consistency conditions.</body>
        </ownedComment>
        <ownedRule xmi:id="RedefinableElement-isConsistentWith-spec" name="spec" constrainedElement="RedefinableElement-isConsistentWith">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="RedefinableElement-isConsistentWith-spec-_specification">
            <language>OCL</language>
            <body>result = (false)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:id="RedefinableElement-isConsistentWith-pre" name="pre" constrainedElement="RedefinableElement-isConsistentWith">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="RedefinableElement-isConsistentWith-pre-_specification">
            <language>OCL</language>
            <body>redefiningElement.isRedefinitionContextValid(self)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="RedefinableElement-isConsistentWith-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="RedefinableElement-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="RedefinableElement-isRedefinitionContextValid" name="isRedefinitionContextValid" bodyCondition="RedefinableElement-isRedefinitionContextValid-spec" isQuery="true">
        <ownedComment xmi:id="RedefinableElement-isRedefinitionContextValid-_ownedComment.0" annotatedElement="RedefinableElement-isRedefinitionContextValid">
          <body>The query isRedefinitionContextValid() specifies whether the redefinition contexts of this RedefinableElement are properly related to the redefinition contexts of the specified RedefinableElement to allow this element to redefine the other. By default at least one of the redefinition contexts of this element must be a specialization of at least one of the redefinition contexts of the specified element.</body>
        </ownedComment>
        <ownedRule xmi:id="RedefinableElement-isRedefinitionContextValid-spec" name="spec" constrainedElement="RedefinableElement-isRedefinitionContextValid">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="RedefinableElement-isRedefinitionContextValid-spec-_specification">
            <language>OCL</language>
            <body>result = (redefinitionContext->exists(c | c.allParents()->includesAll(redefinedElement.redefinitionContext)))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="RedefinableElement-isRedefinitionContextValid-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="RedefinableElement-isRedefinitionContextValid-redefinedElement" name="redefinedElement" type="RedefinableElement"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="RedefinableTemplateSignature" name="RedefinableTemplateSignature">
      <ownedComment xmi:id="RedefinableTemplateSignature-_ownedComment.0" annotatedElement="RedefinableTemplateSignature">
        <body>A RedefinableTemplateSignature supports the addition of formal template parameters in a specialization of a template classifier.</body>
      </ownedComment>
      <ownedRule xmi:id="RedefinableTemplateSignature-redefines_parents" name="redefines_parents" constrainedElement="RedefinableTemplateSignature">
        <ownedComment xmi:id="RedefinableTemplateSignature-redefines_parents-_ownedComment.0" annotatedElement="RedefinableTemplateSignature-redefines_parents">
          <body>If any of the parent Classifiers are a template, then the extendedSignature must include the signature of that Classifier.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="RedefinableTemplateSignature-redefines_parents-_specification">
          <language>OCL</language>
          <body>classifier.allParents()->forAll(c | c.ownedTemplateSignature->notEmpty() implies self->closure(extendedSignature)->includes(c.ownedTemplateSignature))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="RedefinableTemplateSignature-_generalization.0" general="RedefinableElement"/>
      <generalization xmi:id="RedefinableTemplateSignature-_generalization.1" general="TemplateSignature"/>
      <ownedAttribute xmi:id="RedefinableTemplateSignature-classifier" name="classifier" type="Classifier" redefinedProperty="TemplateSignature-template" subsettedProperty="RedefinableElement-redefinitionContext" association="A_ownedTemplateSignature_classifier">
        <ownedComment xmi:id="RedefinableTemplateSignature-classifier-_ownedComment.0" annotatedElement="RedefinableTemplateSignature-classifier">
          <body>The Classifier that owns this RedefinableTemplateSignature.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="RedefinableTemplateSignature-extendedSignature" name="extendedSignature" type="RedefinableTemplateSignature" subsettedProperty="RedefinableElement-redefinedElement" association="A_extendedSignature_redefinableTemplateSignature">
        <ownedComment xmi:id="RedefinableTemplateSignature-extendedSignature-_ownedComment.0" annotatedElement="RedefinableTemplateSignature-extendedSignature">
          <body>The signatures extended by this RedefinableTemplateSignature.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="RedefinableTemplateSignature-extendedSignature-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="RedefinableTemplateSignature-extendedSignature-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="RedefinableTemplateSignature-inheritedParameter" name="inheritedParameter" type="TemplateParameter" isReadOnly="true" isDerived="true" subsettedProperty="TemplateSignature-parameter" association="A_inheritedParameter_redefinableTemplateSignature">
        <ownedComment xmi:id="RedefinableTemplateSignature-inheritedParameter-_ownedComment.0" annotatedElement="RedefinableTemplateSignature-inheritedParameter">
          <body>The formal template parameters of the extended signatures.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="RedefinableTemplateSignature-inheritedParameter-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="RedefinableTemplateSignature-inheritedParameter-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="RedefinableTemplateSignature-inheritedParameter.1" name="inheritedParameter" visibility="protected" bodyCondition="RedefinableTemplateSignature-inheritedParameter.1-spec" isQuery="true">
        <ownedComment xmi:id="RedefinableTemplateSignature-inheritedParameter.1-_ownedComment.0" annotatedElement="RedefinableTemplateSignature-inheritedParameter.1">
          <body>Derivation for RedefinableTemplateSignature::/inheritedParameter</body>
        </ownedComment>
        <ownedRule xmi:id="RedefinableTemplateSignature-inheritedParameter.1-spec" name="spec" constrainedElement="RedefinableTemplateSignature-inheritedParameter.1 RedefinableTemplateSignature-inheritedParameter">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="RedefinableTemplateSignature-inheritedParameter.1-spec-_specification">
            <language>OCL</language>
            <body>result = (if extendedSignature->isEmpty() then Set{} else extendedSignature.parameter->asSet() endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="RedefinableTemplateSignature-inheritedParameter.1-result" name="result" type="TemplateParameter" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="RedefinableTemplateSignature-inheritedParameter.1-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="RedefinableTemplateSignature-inheritedParameter.1-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="RedefinableTemplateSignature-isConsistentWith" name="isConsistentWith" bodyCondition="RedefinableTemplateSignature-isConsistentWith-spec" isQuery="true" precondition="RedefinableTemplateSignature-isConsistentWith-pre" redefinedOperation="RedefinableElement-isConsistentWith">
        <ownedComment xmi:id="RedefinableTemplateSignature-isConsistentWith-_ownedComment.0" annotatedElement="RedefinableTemplateSignature-isConsistentWith">
          <body>The query isConsistentWith() specifies, for any two RedefinableTemplateSignatures in a context in which redefinition is possible, whether redefinition would be logically consistent. A redefining template signature is always consistent with a redefined template signature, as redefinition only adds new formal parameters.</body>
        </ownedComment>
        <ownedRule xmi:id="RedefinableTemplateSignature-isConsistentWith-spec" name="spec" constrainedElement="RedefinableTemplateSignature-isConsistentWith">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="RedefinableTemplateSignature-isConsistentWith-spec-spec" name="spec">
            <language>OCL</language>
            <body>result = (redefiningElement.oclIsKindOf(RedefinableTemplateSignature))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:id="RedefinableTemplateSignature-isConsistentWith-pre" name="pre" constrainedElement="RedefinableTemplateSignature-isConsistentWith">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="RedefinableTemplateSignature-isConsistentWith-pre-_specification">
            <language>OCL</language>
            <body>redefiningElement.isRedefinitionContextValid(self)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="RedefinableTemplateSignature-isConsistentWith-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="RedefinableTemplateSignature-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Slot" name="Slot">
      <ownedComment xmi:id="Slot-_ownedComment.0" annotatedElement="Slot">
        <body>A Slot designates that an entity modeled by an InstanceSpecification has a value or values for a specific StructuralFeature.</body>
      </ownedComment>
      <generalization xmi:id="Slot-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="Slot-definingFeature" name="definingFeature" type="StructuralFeature" association="A_definingFeature_slot">
        <ownedComment xmi:id="Slot-definingFeature-_ownedComment.0" annotatedElement="Slot-definingFeature">
          <body>The StructuralFeature that specifies the values that may be held by the Slot.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="Slot-owningInstance" name="owningInstance" type="InstanceSpecification" subsettedProperty="Element-owner" association="A_slot_owningInstance">
        <ownedComment xmi:id="Slot-owningInstance-_ownedComment.0" annotatedElement="Slot-owningInstance">
          <body>The InstanceSpecification that owns this Slot.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="Slot-value" name="value" type="ValueSpecification" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_value_owningSlot">
        <ownedComment xmi:id="Slot-value-_ownedComment.0" annotatedElement="Slot-value">
          <body>The value or values held by the Slot.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Slot-value-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Slot-value-_upperValue" value="*"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="StructuralFeature" name="StructuralFeature" isAbstract="true">
      <ownedComment xmi:id="StructuralFeature-_ownedComment.0" annotatedElement="StructuralFeature">
        <body>A StructuralFeature is a typed feature of a Classifier that specifies the structure of instances of the Classifier.</body>
      </ownedComment>
      <generalization xmi:id="StructuralFeature-_generalization.0" general="MultiplicityElement"/>
      <generalization xmi:id="StructuralFeature-_generalization.1" general="TypedElement"/>
      <generalization xmi:id="StructuralFeature-_generalization.2" general="Feature"/>
      <ownedAttribute xmi:id="StructuralFeature-isReadOnly" name="isReadOnly">
        <ownedComment xmi:id="StructuralFeature-isReadOnly-_ownedComment.0" annotatedElement="StructuralFeature-isReadOnly">
          <body>If isReadOnly is true, the StructuralFeature may not be written to after initialization.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="StructuralFeature-isReadOnly-_defaultValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Enumeration" xmi:id="AggregationKind" name="AggregationKind" visibility="private">
      <ownedComment xmi:id="AggregationKind-_ownedComment.0" annotatedElement="AggregationKind">
        <body>AggregationKind is an Enumeration for specifying the kind of aggregation of a Property.</body>
      </ownedComment>
      <ownedLiteral xmi:id="AggregationKind-none" name="none">
        <ownedComment xmi:id="AggregationKind-none-_ownedComment.0" annotatedElement="AggregationKind-none">
          <body>Indicates that the Property has no aggregation.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="AggregationKind-shared" name="shared">
        <ownedComment xmi:id="AggregationKind-shared-_ownedComment.0" annotatedElement="AggregationKind-shared">
          <body>Indicates that the Property has shared aggregation.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="AggregationKind-composite" name="composite">
        <ownedComment xmi:id="AggregationKind-composite-_ownedComment.0" annotatedElement="AggregationKind-composite">
          <body>Indicates that the Property is aggregated compositely, i.e., the composite object has responsibility for the existence and storage of the composed objects (parts).</body>
        </ownedComment>
      </ownedLiteral>
    </packagedElement>
    <packagedElement xmi:type="uml:Enumeration" xmi:id="CallConcurrencyKind" name="CallConcurrencyKind">
      <ownedComment xmi:id="CallConcurrencyKind-_ownedComment.0" annotatedElement="CallConcurrencyKind">
        <body>CallConcurrencyKind is an Enumeration used to specify the semantics of concurrent calls to a BehavioralFeature.</body>
      </ownedComment>
      <ownedLiteral xmi:id="CallConcurrencyKind-sequential" name="sequential">
        <ownedComment xmi:id="CallConcurrencyKind-sequential-_ownedComment.0" annotatedElement="CallConcurrencyKind-sequential">
          <body>No concurrency management mechanism is associated with the BehavioralFeature and, therefore, concurrency conflicts may occur. Instances that invoke a BehavioralFeature need to coordinate so that only one invocation to a target on any BehavioralFeature occurs at once.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="CallConcurrencyKind-guarded" name="guarded">
        <ownedComment xmi:id="CallConcurrencyKind-guarded-_ownedComment.0" annotatedElement="CallConcurrencyKind-guarded">
          <body>Multiple invocations of a BehavioralFeature that overlap in time may occur to one instance, but only one is allowed to commence. The others are blocked until the performance of the currently executing BehavioralFeature is complete. It is the responsibility of the system designer to ensure that deadlocks do not occur due to simultaneous blocking.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="CallConcurrencyKind-concurrent" name="concurrent">
        <ownedComment xmi:id="CallConcurrencyKind-concurrent-_ownedComment.0" annotatedElement="CallConcurrencyKind-concurrent">
          <body>Multiple invocations of a BehavioralFeature that overlap in time may occur to one instance and all of them may proceed concurrently.</body>
        </ownedComment>
      </ownedLiteral>
    </packagedElement>
    <packagedElement xmi:type="uml:Enumeration" xmi:id="ParameterDirectionKind" name="ParameterDirectionKind">
      <ownedComment xmi:id="ParameterDirectionKind-_ownedComment.0" annotatedElement="ParameterDirectionKind">
        <body>ParameterDirectionKind is an Enumeration that defines literals used to specify direction of parameters.</body>
      </ownedComment>
      <ownedLiteral xmi:id="ParameterDirectionKind-in" name="in">
        <ownedComment xmi:id="ParameterDirectionKind-in-_ownedComment.0" annotatedElement="ParameterDirectionKind-in">
          <body>Indicates that Parameter values are passed in by the caller.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="ParameterDirectionKind-inout" name="inout">
        <ownedComment xmi:id="ParameterDirectionKind-inout-_ownedComment.0" annotatedElement="ParameterDirectionKind-inout">
          <body>Indicates that Parameter values are passed in by the caller and (possibly different) values passed out to the caller.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="ParameterDirectionKind-out" name="out">
        <ownedComment xmi:id="ParameterDirectionKind-out-_ownedComment.0" annotatedElement="ParameterDirectionKind-out">
          <body>Indicates that Parameter values are passed out to the caller.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="ParameterDirectionKind-return" name="return">
        <ownedComment xmi:id="ParameterDirectionKind-return-_ownedComment.0" annotatedElement="ParameterDirectionKind-return">
          <body>Indicates that Parameter values are passed as return values back to the caller.</body>
        </ownedComment>
      </ownedLiteral>
    </packagedElement>
    <packagedElement xmi:type="uml:Enumeration" xmi:id="ParameterEffectKind" name="ParameterEffectKind" visibility="private">
      <ownedComment xmi:id="ParameterEffectKind-_ownedComment.0" annotatedElement="ParameterEffectKind">
        <body>ParameterEffectKind is an Enumeration that indicates the effect of a Behavior on values passed in or out of its parameters.</body>
      </ownedComment>
      <ownedLiteral xmi:id="ParameterEffectKind-create" name="create">
        <ownedComment xmi:id="ParameterEffectKind-create-_ownedComment.0" annotatedElement="ParameterEffectKind-create">
          <body>Indicates that the behavior creates values.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="ParameterEffectKind-read" name="read">
        <ownedComment xmi:id="ParameterEffectKind-read-_ownedComment.0" annotatedElement="ParameterEffectKind-read">
          <body>Indicates objects that are values of the parameter have values of their properties, or links in which they participate, or their classifiers retrieved during executions of the behavior.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="ParameterEffectKind-update" name="update">
        <ownedComment xmi:id="ParameterEffectKind-update-_ownedComment.0" annotatedElement="ParameterEffectKind-update">
          <body>Indicates objects that are values of the parameter have values of their properties, or links in which they participate, or their classification changed during executions of the behavior.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="ParameterEffectKind-delete" name="delete">
        <ownedComment xmi:id="ParameterEffectKind-delete-_ownedComment.0" annotatedElement="ParameterEffectKind-delete">
          <body>Indicates objects that are values of the parameter do not exist after executions of the behavior are finished.</body>
        </ownedComment>
      </ownedLiteral>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_definingFeature_slot" name="A_definingFeature_slot" visibility="private" memberEnd="Slot-definingFeature A_definingFeature_slot-slot">
      <ownedEnd xmi:id="A_definingFeature_slot-slot" name="slot" type="Slot" association="A_definingFeature_slot">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_definingFeature_slot-slot-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_definingFeature_slot-slot-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_value_owningSlot" name="A_value_owningSlot" visibility="private" memberEnd="Slot-value A_value_owningSlot-owningSlot">
      <ownedEnd xmi:id="A_value_owningSlot-owningSlot" name="owningSlot" type="Slot" subsettedProperty="Element-owner" association="A_value_owningSlot">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_value_owningSlot-owningSlot-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_extendedSignature_redefinableTemplateSignature" name="A_extendedSignature_redefinableTemplateSignature" visibility="private" memberEnd="RedefinableTemplateSignature-extendedSignature A_extendedSignature_redefinableTemplateSignature-redefinableTemplateSignature">
      <ownedEnd xmi:id="A_extendedSignature_redefinableTemplateSignature-redefinableTemplateSignature" name="redefinableTemplateSignature" type="RedefinableTemplateSignature" subsettedProperty="A_redefinedElement_redefinableElement-redefinableElement" association="A_extendedSignature_redefinableTemplateSignature">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_extendedSignature_redefinableTemplateSignature-redefinableTemplateSignature-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_extendedSignature_redefinableTemplateSignature-redefinableTemplateSignature-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_inheritedParameter_redefinableTemplateSignature" name="A_inheritedParameter_redefinableTemplateSignature" visibility="private" isDerived="true" memberEnd="RedefinableTemplateSignature-inheritedParameter A_inheritedParameter_redefinableTemplateSignature-redefinableTemplateSignature">
      <ownedEnd xmi:id="A_inheritedParameter_redefinableTemplateSignature-redefinableTemplateSignature" name="redefinableTemplateSignature" type="RedefinableTemplateSignature" subsettedProperty="A_parameter_templateSignature-templateSignature" association="A_inheritedParameter_redefinableTemplateSignature">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_inheritedParameter_redefinableTemplateSignature-redefinableTemplateSignature-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_inheritedParameter_redefinableTemplateSignature-redefinableTemplateSignature-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_redefinitionContext_redefinableElement" name="A_redefinitionContext_redefinableElement" visibility="private" isDerived="true" memberEnd="RedefinableElement-redefinitionContext A_redefinitionContext_redefinableElement-redefinableElement">
      <ownedEnd xmi:id="A_redefinitionContext_redefinableElement-redefinableElement" name="redefinableElement" type="RedefinableElement" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_redefinitionContext_redefinableElement">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinitionContext_redefinableElement-redefinableElement-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinitionContext_redefinableElement-redefinableElement-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_redefinedElement_redefinableElement" name="A_redefinedElement_redefinableElement" visibility="private" isDerived="true" memberEnd="RedefinableElement-redefinedElement A_redefinedElement_redefinableElement-redefinableElement">
      <ownedEnd xmi:id="A_redefinedElement_redefinableElement-redefinableElement" name="redefinableElement" type="RedefinableElement" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_redefinedElement_redefinableElement">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinedElement_redefinableElement-redefinableElement-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinedElement_redefinableElement-redefinableElement-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_qualifier_associationEnd" name="A_qualifier_associationEnd" visibility="private" memberEnd="Property-qualifier Property-associationEnd"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_redefinedProperty_property" name="A_redefinedProperty_property" visibility="private" memberEnd="Property-redefinedProperty A_redefinedProperty_property-property">
      <ownedEnd xmi:id="A_redefinedProperty_property-property" name="property" type="Property" subsettedProperty="A_redefinedElement_redefinableElement-redefinableElement" association="A_redefinedProperty_property">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinedProperty_property-property-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinedProperty_property-property-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_defaultValue_owningProperty" name="A_defaultValue_owningProperty" visibility="private" memberEnd="Property-defaultValue A_defaultValue_owningProperty-owningProperty">
      <ownedEnd xmi:id="A_defaultValue_owningProperty-owningProperty" name="owningProperty" type="Property" subsettedProperty="Element-owner" association="A_defaultValue_owningProperty">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_defaultValue_owningProperty-owningProperty-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_opposite_property" name="A_opposite_property" visibility="private" isDerived="true" memberEnd="Property-opposite A_opposite_property-property">
      <ownedEnd xmi:id="A_opposite_property-property" name="property" type="Property" association="A_opposite_property">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_opposite_property-property-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_subsettedProperty_property" name="A_subsettedProperty_property" visibility="private" memberEnd="Property-subsettedProperty A_subsettedProperty_property-property">
      <ownedEnd xmi:id="A_subsettedProperty_property-property" name="property" type="Property" association="A_subsettedProperty_property">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_subsettedProperty_property-property-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_subsettedProperty_property-property-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_condition_parameterSet" name="A_condition_parameterSet" visibility="private" memberEnd="ParameterSet-condition A_condition_parameterSet-parameterSet">
      <ownedEnd xmi:id="A_condition_parameterSet-parameterSet" name="parameterSet" type="ParameterSet" subsettedProperty="Element-owner" association="A_condition_parameterSet">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_condition_parameterSet-parameterSet-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_parameterSet_parameter" name="A_parameterSet_parameter" visibility="private" memberEnd="Parameter-parameterSet ParameterSet-parameter"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_defaultValue_owningParameter" name="A_defaultValue_owningParameter" visibility="private" memberEnd="Parameter-defaultValue A_defaultValue_owningParameter-owningParameter">
      <ownedEnd xmi:id="A_defaultValue_owningParameter-owningParameter" name="owningParameter" type="Parameter" subsettedProperty="Element-owner" association="A_defaultValue_owningParameter">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_defaultValue_owningParameter-owningParameter-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_type_operation" name="A_type_operation" visibility="private" isDerived="true" memberEnd="Operation-type A_type_operation-operation">
      <ownedEnd xmi:id="A_type_operation-operation" name="operation" type="Operation" association="A_type_operation">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_type_operation-operation-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_type_operation-operation-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_operation_templateParameter_parameteredElement" name="A_operation_templateParameter_parameteredElement" visibility="private" memberEnd="Operation-templateParameter OperationTemplateParameter-parameteredElement"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_bodyCondition_bodyContext" name="A_bodyCondition_bodyContext" visibility="private" memberEnd="Operation-bodyCondition A_bodyCondition_bodyContext-bodyContext">
      <ownedEnd xmi:id="A_bodyCondition_bodyContext-bodyContext" name="bodyContext" type="Operation" subsettedProperty="Constraint-context" association="A_bodyCondition_bodyContext">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_bodyCondition_bodyContext-bodyContext-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_postcondition_postContext" name="A_postcondition_postContext" visibility="private" memberEnd="Operation-postcondition A_postcondition_postContext-postContext">
      <ownedEnd xmi:id="A_postcondition_postContext-postContext" name="postContext" type="Operation" subsettedProperty="Constraint-context" association="A_postcondition_postContext">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_postcondition_postContext-postContext-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_redefinedOperation_operation" name="A_redefinedOperation_operation" visibility="private" memberEnd="Operation-redefinedOperation A_redefinedOperation_operation-operation">
      <ownedEnd xmi:id="A_redefinedOperation_operation-operation" name="operation" type="Operation" subsettedProperty="A_redefinedElement_redefinableElement-redefinableElement" association="A_redefinedOperation_operation">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinedOperation_operation-operation-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinedOperation_operation-operation-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_raisedException_operation" name="A_raisedException_operation" visibility="private" memberEnd="Operation-raisedException A_raisedException_operation-operation">
      <ownedEnd xmi:id="A_raisedException_operation-operation" name="operation" type="Operation" subsettedProperty="A_raisedException_behavioralFeature-behavioralFeature" association="A_raisedException_operation">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_raisedException_operation-operation-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_raisedException_operation-operation-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_precondition_preContext" name="A_precondition_preContext" visibility="private" memberEnd="Operation-precondition A_precondition_preContext-preContext">
      <ownedEnd xmi:id="A_precondition_preContext-preContext" name="preContext" type="Operation" subsettedProperty="Constraint-context" association="A_precondition_preContext">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_precondition_preContext-preContext-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedParameter_operation" name="A_ownedParameter_operation" visibility="private" memberEnd="Operation-ownedParameter Parameter-operation"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_instance_instanceValue" name="A_instance_instanceValue" visibility="private" memberEnd="InstanceValue-instance A_instance_instanceValue-instanceValue">
      <ownedEnd xmi:id="A_instance_instanceValue-instanceValue" name="instanceValue" type="InstanceValue" association="A_instance_instanceValue">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_instance_instanceValue-instanceValue-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_instance_instanceValue-instanceValue-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_classifier_instanceSpecification" name="A_classifier_instanceSpecification" visibility="private" memberEnd="InstanceSpecification-classifier A_classifier_instanceSpecification-instanceSpecification">
      <ownedEnd xmi:id="A_classifier_instanceSpecification-instanceSpecification" name="instanceSpecification" type="InstanceSpecification" association="A_classifier_instanceSpecification">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_classifier_instanceSpecification-instanceSpecification-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_classifier_instanceSpecification-instanceSpecification-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_slot_owningInstance" name="A_slot_owningInstance" visibility="private" memberEnd="InstanceSpecification-slot Slot-owningInstance"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_specification_owningInstanceSpec" name="A_specification_owningInstanceSpec" visibility="private" memberEnd="InstanceSpecification-specification A_specification_owningInstanceSpec-owningInstanceSpec">
      <ownedEnd xmi:id="A_specification_owningInstanceSpec-owningInstanceSpec" name="owningInstanceSpec" type="InstanceSpecification" subsettedProperty="Element-owner" association="A_specification_owningInstanceSpec">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_specification_owningInstanceSpec-owningInstanceSpec-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_generalizationSet_generalization" name="A_generalizationSet_generalization" visibility="private" memberEnd="Generalization-generalizationSet GeneralizationSet-generalization"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_general_generalization" name="A_general_generalization" visibility="private" memberEnd="Generalization-general A_general_generalization-generalization">
      <ownedEnd xmi:id="A_general_generalization-generalization" name="generalization" type="Generalization" subsettedProperty="A_target_directedRelationship-directedRelationship" association="A_general_generalization">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_general_generalization-generalization-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_general_generalization-generalization-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_constrainingClassifier_classifierTemplateParameter" name="A_constrainingClassifier_classifierTemplateParameter" visibility="private" memberEnd="ClassifierTemplateParameter-constrainingClassifier A_constrainingClassifier_classifierTemplateParameter-classifierTemplateParameter">
      <ownedEnd xmi:id="A_constrainingClassifier_classifierTemplateParameter-classifierTemplateParameter" name="classifierTemplateParameter" type="ClassifierTemplateParameter" association="A_constrainingClassifier_classifierTemplateParameter">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_constrainingClassifier_classifierTemplateParameter-classifierTemplateParameter-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_constrainingClassifier_classifierTemplateParameter-classifierTemplateParameter-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_classifier_templateParameter_parameteredElement" name="A_classifier_templateParameter_parameteredElement" visibility="private" memberEnd="Classifier-templateParameter ClassifierTemplateParameter-parameteredElement"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_powertypeExtent_powertype" name="A_powertypeExtent_powertype" visibility="private" memberEnd="Classifier-powertypeExtent GeneralizationSet-powertype"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_generalization_specific" name="A_generalization_specific" visibility="private" memberEnd="Classifier-generalization Generalization-specific"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_general_classifier" name="A_general_classifier" visibility="private" isDerived="true" memberEnd="Classifier-general A_general_classifier-classifier">
      <ownedEnd xmi:id="A_general_classifier-classifier" name="classifier" type="Classifier" association="A_general_classifier">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_general_classifier-classifier-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_general_classifier-classifier-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_feature_featuringClassifier" name="A_feature_featuringClassifier" visibility="private" isDerived="true" memberEnd="Classifier-feature Feature-featuringClassifier"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_substitution_substitutingClassifier" name="A_substitution_substitutingClassifier" visibility="private" memberEnd="Classifier-substitution Substitution-substitutingClassifier"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_representation_classifier" name="A_representation_classifier" visibility="private" memberEnd="Classifier-representation A_representation_classifier-classifier">
      <generalization xmi:id="A_representation_classifier-_generalization.0" general="A_collaborationUse_classifier"/>
      <ownedEnd xmi:id="A_representation_classifier-classifier" name="classifier" type="Classifier" redefinedProperty="A_collaborationUse_classifier-classifier" association="A_representation_classifier">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_representation_classifier-classifier-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedTemplateSignature_classifier" name="A_ownedTemplateSignature_classifier" visibility="private" memberEnd="Classifier-ownedTemplateSignature RedefinableTemplateSignature-classifier"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_inheritedMember_inheritingClassifier" name="A_inheritedMember_inheritingClassifier" visibility="private" isDerived="true" memberEnd="Classifier-inheritedMember A_inheritedMember_inheritingClassifier-inheritingClassifier">
      <ownedEnd xmi:id="A_inheritedMember_inheritingClassifier-inheritingClassifier" name="inheritingClassifier" type="Classifier" subsettedProperty="A_member_memberNamespace-memberNamespace" association="A_inheritedMember_inheritingClassifier">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_inheritedMember_inheritingClassifier-inheritingClassifier-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_inheritedMember_inheritingClassifier-inheritingClassifier-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_redefinedClassifier_classifier" name="A_redefinedClassifier_classifier" visibility="private" memberEnd="Classifier-redefinedClassifier A_redefinedClassifier_classifier-classifier">
      <ownedEnd xmi:id="A_redefinedClassifier_classifier-classifier" name="classifier" type="Classifier" subsettedProperty="A_redefinedElement_redefinableElement-redefinableElement" association="A_redefinedClassifier_classifier">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinedClassifier_classifier-classifier-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinedClassifier_classifier-classifier-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_collaborationUse_classifier" name="A_collaborationUse_classifier" visibility="private" memberEnd="Classifier-collaborationUse A_collaborationUse_classifier-classifier">
      <ownedEnd xmi:id="A_collaborationUse_classifier-classifier" name="classifier" type="Classifier" subsettedProperty="Element-owner" association="A_collaborationUse_classifier">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_collaborationUse_classifier-classifier-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_attribute_classifier" name="A_attribute_classifier" visibility="private" isDerived="true" memberEnd="Classifier-attribute A_attribute_classifier-classifier">
      <ownedEnd xmi:id="A_attribute_classifier-classifier" name="classifier" type="Classifier" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="Feature-featuringClassifier RedefinableElement-redefinitionContext" association="A_attribute_classifier">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_attribute_classifier-classifier-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedUseCase_classifier" name="A_ownedUseCase_classifier" visibility="private" memberEnd="Classifier-ownedUseCase A_ownedUseCase_classifier-classifier">
      <ownedEnd xmi:id="A_ownedUseCase_classifier-classifier" name="classifier" type="Classifier" subsettedProperty="NamedElement-namespace" association="A_ownedUseCase_classifier">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedUseCase_classifier-classifier-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedParameter_ownerFormalParam" name="A_ownedParameter_ownerFormalParam" visibility="private" memberEnd="BehavioralFeature-ownedParameter A_ownedParameter_ownerFormalParam-ownerFormalParam">
      <ownedEnd xmi:id="A_ownedParameter_ownerFormalParam-ownerFormalParam" name="ownerFormalParam" type="BehavioralFeature" subsettedProperty="NamedElement-namespace" association="A_ownedParameter_ownerFormalParam">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedParameter_ownerFormalParam-ownerFormalParam-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_raisedException_behavioralFeature" name="A_raisedException_behavioralFeature" visibility="private" memberEnd="BehavioralFeature-raisedException A_raisedException_behavioralFeature-behavioralFeature">
      <ownedEnd xmi:id="A_raisedException_behavioralFeature-behavioralFeature" name="behavioralFeature" type="BehavioralFeature" association="A_raisedException_behavioralFeature">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_raisedException_behavioralFeature-behavioralFeature-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_raisedException_behavioralFeature-behavioralFeature-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedParameterSet_behavioralFeature" name="A_ownedParameterSet_behavioralFeature" visibility="private" memberEnd="BehavioralFeature-ownedParameterSet A_ownedParameterSet_behavioralFeature-behavioralFeature">
      <ownedEnd xmi:id="A_ownedParameterSet_behavioralFeature-behavioralFeature" name="behavioralFeature" type="BehavioralFeature" subsettedProperty="NamedElement-namespace" association="A_ownedParameterSet_behavioralFeature">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedParameterSet_behavioralFeature-behavioralFeature-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_method_specification" name="A_method_specification" visibility="private" memberEnd="BehavioralFeature-method Behavior-specification"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_contract_substitution" name="A_contract_substitution" visibility="private" memberEnd="Substitution-contract A_contract_substitution-substitution">
      <ownedEnd xmi:id="A_contract_substitution-substitution" name="substitution" type="Substitution" subsettedProperty="A_supplier_supplierDependency-supplierDependency" association="A_contract_substitution">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_contract_substitution-substitution-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_contract_substitution-substitution-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="AnyReceiveEvent" name="AnyReceiveEvent">
      <ownedComment xmi:id="AnyReceiveEvent-_ownedComment.0" annotatedElement="AnyReceiveEvent">
        <body>A trigger for an AnyReceiveEvent is triggered by the receipt of any message that is not explicitly handled by any related trigger.</body>
      </ownedComment>
      <generalization xmi:id="AnyReceiveEvent-_generalization.0" general="MessageEvent"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Behavior" name="Behavior" isAbstract="true">
      <ownedComment xmi:id="Behavior-_ownedComment.0" annotatedElement="Behavior">
        <body>Behavior is a specification of how its context BehavioredClassifier changes state over time. This specification may be either a definition of possible behavior execution or emergent behavior, or a selective illustration of an interesting subset of possible executions. The latter form is typically used for capturing examples, such as a trace of a particular execution.</body>
      </ownedComment>
      <ownedRule xmi:id="Behavior-most_one_behavior" name="most_one_behavior" constrainedElement="Behavior">
        <ownedComment xmi:id="Behavior-most_one_behavior-_ownedComment.0" annotatedElement="Behavior-most_one_behavior">
          <body>There may be at most one Behavior for a given pairing of BehavioredClassifier (as owner of the Behavior) and BehavioralFeature (as specification of the Behavior).</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Behavior-most_one_behavior-_specification">
          <language>OCL</language>
          <body>specification &lt;> null implies _'context'.ownedBehavior->select(specification=self.specification)->size() = 1</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Behavior-parameters_match" name="parameters_match" constrainedElement="Behavior">
        <ownedComment xmi:id="Behavior-parameters_match-_ownedComment.0" annotatedElement="Behavior-parameters_match">
          <body>If a Behavior has a specification BehavioralFeature, then it must have the same number of ownedParameters as its specification. The Behavior Parameters must also &quot;match&quot; the BehavioralParameter Parameters, but the exact requirements for this matching are not formalized.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Behavior-parameters_match-_specification">
          <language>OCL</language>
          <body>specification &lt;> null implies ownedParameter->size() = specification.ownedParameter->size()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Behavior-feature_of_context_classifier" name="feature_of_context_classifier" constrainedElement="Behavior">
        <ownedComment xmi:id="Behavior-feature_of_context_classifier-_ownedComment.0" annotatedElement="Behavior-feature_of_context_classifier">
          <body>The specification BehavioralFeature must be a feature (possibly inherited) of the context BehavioredClassifier of the Behavior.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Behavior-feature_of_context_classifier-_specification">
          <language>OCL</language>
          <body>_'context'.feature->includes(specification)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Behavior-_generalization.0" general="Class"/>
      <ownedAttribute xmi:id="Behavior-context" name="context" type="BehavioredClassifier" isReadOnly="true" isDerived="true" subsettedProperty="RedefinableElement-redefinitionContext" association="A_context_behavior">
        <ownedComment xmi:id="Behavior-context-_ownedComment.0" annotatedElement="Behavior-context">
          <body>The BehavioredClassifier that is the context for the execution of the Behavior. A Behavior that is directly owned as a nestedClassifier does not have a context. Otherwise, to determine the context of a Behavior, find the first BehavioredClassifier reached by following the chain of owner relationships from the Behavior, if any. If there is such a BehavioredClassifier, then it is the context, unless it is itself a Behavior with a non-empty context, in which case that is also the context for the original Behavior. For example, following this algorithm, the context of an entry Behavior in a StateMachine is the BehavioredClassifier that owns the StateMachine. The features of the context BehavioredClassifier as well as the Elements visible to the context Classifier are visible to the Behavior.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Behavior-context-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Behavior-isReentrant" name="isReentrant">
        <ownedComment xmi:id="Behavior-isReentrant-_ownedComment.0" annotatedElement="Behavior-isReentrant">
          <body>Tells whether the Behavior can be invoked while it is still executing from a previous invocation.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Behavior-isReentrant-_lowerValue"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Behavior-isReentrant-_defaultValue" value="true"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Behavior-ownedParameter" name="ownedParameter" type="Parameter" isOrdered="true" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_ownedParameter_behavior">
        <ownedComment xmi:id="Behavior-ownedParameter-_ownedComment.0" annotatedElement="Behavior-ownedParameter">
          <body>References a list of Parameters to the Behavior which describes the order and type of arguments that can be given when the Behavior is invoked and of the values which will be returned when the Behavior completes its execution.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Behavior-ownedParameter-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Behavior-ownedParameter-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Behavior-ownedParameterSet" name="ownedParameterSet" type="ParameterSet" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_ownedParameterSet_behavior">
        <ownedComment xmi:id="Behavior-ownedParameterSet-_ownedComment.0" annotatedElement="Behavior-ownedParameterSet">
          <body>The ParameterSets owned by this Behavior.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Behavior-ownedParameterSet-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Behavior-ownedParameterSet-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Behavior-postcondition" name="postcondition" type="Constraint" aggregation="composite" subsettedProperty="Namespace-ownedRule" association="A_postcondition_behavior">
        <ownedComment xmi:id="Behavior-postcondition-_ownedComment.0" annotatedElement="Behavior-postcondition">
          <body>An optional set of Constraints specifying what is fulfilled after the execution of the Behavior is completed, if its precondition was fulfilled before its invocation.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Behavior-postcondition-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Behavior-postcondition-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Behavior-precondition" name="precondition" type="Constraint" aggregation="composite" subsettedProperty="Namespace-ownedRule" association="A_precondition_behavior">
        <ownedComment xmi:id="Behavior-precondition-_ownedComment.0" annotatedElement="Behavior-precondition">
          <body>An optional set of Constraints specifying what must be fulfilled before the Behavior is invoked.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Behavior-precondition-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Behavior-precondition-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Behavior-specification" name="specification" type="BehavioralFeature" association="A_method_specification">
        <ownedComment xmi:id="Behavior-specification-_ownedComment.0" annotatedElement="Behavior-specification">
          <body>Designates a BehavioralFeature that the Behavior implements. The BehavioralFeature must be owned by the BehavioredClassifier that owns the Behavior or be inherited by it. The Parameters of the BehavioralFeature and the implementing Behavior must match. A Behavior does not need to have a specification, in which case it either is the classifierBehavior of a BehavioredClassifier or it can only be invoked by another Behavior of the Classifier.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Behavior-specification-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Behavior-redefinedBehavior" name="redefinedBehavior" type="Behavior" subsettedProperty="Classifier-redefinedClassifier" association="A_redefinedBehavior_behavior">
        <ownedComment xmi:id="Behavior-redefinedBehavior-_ownedComment.0" annotatedElement="Behavior-redefinedBehavior">
          <body>References the Behavior that this Behavior redefines. A subtype of Behavior may redefine any other subtype of Behavior. If the Behavior implements a BehavioralFeature, it replaces the redefined Behavior. If the Behavior is a classifierBehavior, it extends the redefined Behavior.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Behavior-redefinedBehavior-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Behavior-redefinedBehavior-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Behavior-context.1" name="context" visibility="protected" bodyCondition="Behavior-context.1-spec" isQuery="true">
        <ownedComment xmi:id="Behavior-context.1-_ownedComment.0" annotatedElement="Behavior-context.1">
          <body>A Behavior that is directly owned as a nestedClassifier does not have a context. Otherwise, to determine the context of a Behavior, find the first BehavioredClassifier reached by following the chain of owner relationships from the Behavior, if any. If there is such a BehavioredClassifier, then it is the context, unless it is itself a Behavior with a non-empty context, in which case that is also the context for the original Behavior.</body>
        </ownedComment>
        <ownedRule xmi:id="Behavior-context.1-spec" name="spec" constrainedElement="Behavior-context.1 Behavior-context">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Behavior-context.1-spec-_specification">
            <language>OCL</language>
            <body>result = (if nestingClass &lt;> null then&#xD;
    null&#xD;
else&#xD;
    let b:BehavioredClassifier = self.behavioredClassifier(self.owner) in&#xD;
    if b.oclIsKindOf(Behavior) and b.oclAsType(Behavior)._'context' &lt;> null then &#xD;
        b.oclAsType(Behavior)._'context'&#xD;
    else &#xD;
        b &#xD;
    endif&#xD;
endif&#xD;
        )</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Behavior-context.1-result" name="result" type="BehavioredClassifier" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Behavior-context.1-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Behavior-context.1-result-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Behavior-behavioredClassifier" name="behavioredClassifier" isQuery="true" precondition="Behavior-behavioredClassifier-spec">
        <ownedComment xmi:id="Behavior-behavioredClassifier-_ownedComment.0" annotatedElement="Behavior-behavioredClassifier">
          <body>The first BehavioredClassifier reached by following the chain of owner relationships from the Behavior, if any.</body>
        </ownedComment>
        <ownedRule xmi:id="Behavior-behavioredClassifier-spec" name="spec" constrainedElement="Behavior-behavioredClassifier">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Behavior-behavioredClassifier-spec-_specification">
            <language>OCL</language>
            <body>if from.oclIsKindOf(BehavioredClassifier) then&#xD;
    from.oclAsType(BehavioredClassifier)&#xD;
else if from.owner = null then&#xD;
    null&#xD;
else&#xD;
    self.behavioredClassifier(from.owner)&#xD;
endif&#xD;
endif</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Behavior-behavioredClassifier-from" name="from" type="Element"/>
        <ownedParameter xmi:id="Behavior-behavioredClassifier-result" name="result" type="BehavioredClassifier" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Behavior-behavioredClassifier-result-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Behavior-inputParameters" name="inputParameters" bodyCondition="Behavior-inputParameters-spec" isQuery="true">
        <ownedComment xmi:id="Behavior-inputParameters-_ownedComment.0" annotatedElement="Behavior-inputParameters">
          <body>The in and inout ownedParameters of the Behavior.</body>
        </ownedComment>
        <ownedRule xmi:id="Behavior-inputParameters-spec" name="spec" constrainedElement="Behavior-inputParameters">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Behavior-inputParameters-spec-_specification">
            <language>OCL</language>
            <body>result = (ownedParameter->select(direction=ParameterDirectionKind::_'in' or direction=ParameterDirectionKind::inout))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Behavior-inputParameters-result" name="result" type="Parameter" isOrdered="true" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Behavior-inputParameters-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Behavior-inputParameters-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Behavior-outputParameters" name="outputParameters" bodyCondition="Behavior-outputParameters-spec" isQuery="true">
        <ownedComment xmi:id="Behavior-outputParameters-_ownedComment.0" annotatedElement="Behavior-outputParameters">
          <body>The out, inout and return ownedParameters.</body>
        </ownedComment>
        <ownedRule xmi:id="Behavior-outputParameters-spec" name="spec" constrainedElement="Behavior-outputParameters">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Behavior-outputParameters-spec-_specification">
            <language>OCL</language>
            <body>result = (ownedParameter->select(direction=ParameterDirectionKind::out or direction=ParameterDirectionKind::inout or direction=ParameterDirectionKind::return))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Behavior-outputParameters-result" name="result" type="Parameter" isOrdered="true" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Behavior-outputParameters-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Behavior-outputParameters-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="CallEvent" name="CallEvent">
      <ownedComment xmi:id="CallEvent-_ownedComment.0" annotatedElement="CallEvent">
        <body>A CallEvent models the receipt by an object of a message invoking a call of an Operation.</body>
      </ownedComment>
      <generalization xmi:id="CallEvent-_generalization.0" general="MessageEvent"/>
      <ownedAttribute xmi:id="CallEvent-operation" name="operation" type="Operation" association="A_operation_callEvent">
        <ownedComment xmi:id="CallEvent-operation-_ownedComment.0" annotatedElement="CallEvent-operation">
          <body>Designates the Operation whose invocation raised the CalEvent.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ChangeEvent" name="ChangeEvent">
      <ownedComment xmi:id="ChangeEvent-_ownedComment.0" annotatedElement="ChangeEvent">
        <body>A ChangeEvent models a change in the system configuration that makes a condition true.</body>
      </ownedComment>
      <generalization xmi:id="ChangeEvent-_generalization.0" general="Event"/>
      <ownedAttribute xmi:id="ChangeEvent-changeExpression" name="changeExpression" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_changeExpression_changeEvent">
        <ownedComment xmi:id="ChangeEvent-changeExpression-_ownedComment.0" annotatedElement="ChangeEvent-changeExpression">
          <body>A Boolean-valued ValueSpecification that will result in a ChangeEvent whenever its value changes from false to true.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Event" name="Event" isAbstract="true">
      <ownedComment xmi:id="Event-_ownedComment.0" annotatedElement="Event">
        <body>An Event is the specification of some occurrence that may potentially trigger effects by an object.</body>
      </ownedComment>
      <generalization xmi:id="Event-_generalization.0" general="PackageableElement"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="FunctionBehavior" name="FunctionBehavior">
      <ownedComment xmi:id="FunctionBehavior-_ownedComment.0" annotatedElement="FunctionBehavior">
        <body>A FunctionBehavior is an OpaqueBehavior that does not access or modify any objects or other external data.</body>
      </ownedComment>
      <ownedRule xmi:id="FunctionBehavior-one_output_parameter" name="one_output_parameter" constrainedElement="FunctionBehavior">
        <ownedComment xmi:id="FunctionBehavior-one_output_parameter-_ownedComment.0" annotatedElement="FunctionBehavior-one_output_parameter">
          <body>A FunctionBehavior has at least one output Parameter.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="FunctionBehavior-one_output_parameter-_specification">
          <language>OCL</language>
          <body>self.ownedParameter->&#xD;
  select(p | p.direction = ParameterDirectionKind::out or p.direction= ParameterDirectionKind::inout or p.direction= ParameterDirectionKind::return)->size() >= 1</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="FunctionBehavior-types_of_parameters" name="types_of_parameters" constrainedElement="FunctionBehavior">
        <ownedComment xmi:id="FunctionBehavior-types_of_parameters-_ownedComment.0" annotatedElement="FunctionBehavior-types_of_parameters">
          <body>The types of the ownedParameters are all DataTypes, which may not nest anything but other DataTypes.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="FunctionBehavior-types_of_parameters-_specification">
          <language>OCL</language>
          <body>ownedParameter->forAll(p | p.type &lt;> null and&#xD;
  p.type.oclIsTypeOf(DataType) and hasAllDataTypeAttributes(p.type.oclAsType(DataType)))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="FunctionBehavior-_generalization.0" general="OpaqueBehavior"/>
      <ownedOperation xmi:id="FunctionBehavior-hasAllDataTypeAttributes" name="hasAllDataTypeAttributes" bodyCondition="FunctionBehavior-hasAllDataTypeAttributes-spec" isQuery="true">
        <ownedComment xmi:id="FunctionBehavior-hasAllDataTypeAttributes-_ownedComment.0" annotatedElement="FunctionBehavior-hasAllDataTypeAttributes">
          <body>The hasAllDataTypeAttributes query tests whether the types of the attributes of the given DataType are all DataTypes, and similarly for all those DataTypes.</body>
        </ownedComment>
        <ownedRule xmi:id="FunctionBehavior-hasAllDataTypeAttributes-spec" name="spec" constrainedElement="FunctionBehavior-hasAllDataTypeAttributes">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="FunctionBehavior-hasAllDataTypeAttributes-spec-_specification">
            <language>OCL</language>
            <body>result = (d.ownedAttribute->forAll(a |&#xD;
    a.type.oclIsKindOf(DataType) and&#xD;
      hasAllDataTypeAttributes(a.type.oclAsType(DataType))))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="FunctionBehavior-hasAllDataTypeAttributes-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="FunctionBehavior-hasAllDataTypeAttributes-d" name="d" type="DataType"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="MessageEvent" name="MessageEvent" isAbstract="true">
      <ownedComment xmi:id="MessageEvent-_ownedComment.0" annotatedElement="MessageEvent">
        <body>A MessageEvent specifies the receipt by an object of either an Operation call or a Signal instance.</body>
      </ownedComment>
      <generalization xmi:id="MessageEvent-_generalization.0" general="Event"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="OpaqueBehavior" name="OpaqueBehavior">
      <ownedComment xmi:id="OpaqueBehavior-_ownedComment.0" annotatedElement="OpaqueBehavior">
        <body>An OpaqueBehavior is a Behavior whose specification is given in a textual language other than UML.</body>
      </ownedComment>
      <generalization xmi:id="OpaqueBehavior-_generalization.0" general="Behavior"/>
      <ownedAttribute xmi:id="OpaqueBehavior-body" name="body" isOrdered="true" isUnique="false">
        <ownedComment xmi:id="OpaqueBehavior-body-_ownedComment.0" annotatedElement="OpaqueBehavior-body">
          <body>Specifies the behavior in one or more languages.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OpaqueBehavior-body-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="OpaqueBehavior-body-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="OpaqueBehavior-language" name="language" isOrdered="true">
        <ownedComment xmi:id="OpaqueBehavior-language-_ownedComment.0" annotatedElement="OpaqueBehavior-language">
          <body>Languages the body strings use in the same order as the body strings.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OpaqueBehavior-language-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="OpaqueBehavior-language-_upperValue" value="*"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="SignalEvent" name="SignalEvent">
      <ownedComment xmi:id="SignalEvent-_ownedComment.0" annotatedElement="SignalEvent">
        <body>A SignalEvent represents the receipt of an asynchronous Signal instance.</body>
      </ownedComment>
      <generalization xmi:id="SignalEvent-_generalization.0" general="MessageEvent"/>
      <ownedAttribute xmi:id="SignalEvent-signal" name="signal" type="Signal" association="A_signal_signalEvent">
        <ownedComment xmi:id="SignalEvent-signal-_ownedComment.0" annotatedElement="SignalEvent-signal">
          <body>The specific Signal that is associated with this SignalEvent.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="TimeEvent" name="TimeEvent">
      <ownedComment xmi:id="TimeEvent-_ownedComment.0" annotatedElement="TimeEvent">
        <body>A TimeEvent is an Event that occurs at a specific point in time.</body>
      </ownedComment>
      <ownedRule xmi:id="TimeEvent-when_non_negative" name="when_non_negative" constrainedElement="TimeEvent">
        <ownedComment xmi:id="TimeEvent-when_non_negative-_ownedComment.0" annotatedElement="TimeEvent-when_non_negative">
          <body>The ValueSpecification when must return a non-negative Integer.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="TimeEvent-when_non_negative-_specification">
          <language>OCL</language>
          <body>when.integerValue() >= 0</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="TimeEvent-_generalization.0" general="Event"/>
      <ownedAttribute xmi:id="TimeEvent-isRelative" name="isRelative">
        <ownedComment xmi:id="TimeEvent-isRelative-_ownedComment.0" annotatedElement="TimeEvent-isRelative">
          <body>Specifies whether the TimeEvent is specified as an absolute or relative time.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="TimeEvent-isRelative-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="TimeEvent-when" name="when" type="TimeExpression" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_when_timeEvent">
        <ownedComment xmi:id="TimeEvent-when-_ownedComment.0" annotatedElement="TimeEvent-when">
          <body>Specifies the time of the TimeEvent.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Trigger" name="Trigger">
      <ownedComment xmi:id="Trigger-_ownedComment.0" annotatedElement="Trigger">
        <body>A Trigger specifies a specific point  at which an Event occurrence may trigger an effect in a Behavior. A Trigger may be qualified by the Port on which the Event occurred.</body>
      </ownedComment>
      <ownedRule xmi:id="Trigger-trigger_with_ports" name="trigger_with_ports" constrainedElement="Trigger">
        <ownedComment xmi:id="Trigger-trigger_with_ports-_ownedComment.0" annotatedElement="Trigger-trigger_with_ports">
          <body>If a Trigger specifies one or more ports, the event of the Trigger must be a MessageEvent.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Trigger-trigger_with_ports-_specification">
          <language>OCL</language>
          <body>port->notEmpty() implies event.oclIsKindOf(MessageEvent)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Trigger-_generalization.0" general="NamedElement"/>
      <ownedAttribute xmi:id="Trigger-event" name="event" type="Event" association="A_event_trigger">
        <ownedComment xmi:id="Trigger-event-_ownedComment.0" annotatedElement="Trigger-event">
          <body>The Event that detected by the Trigger.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="Trigger-port" name="port" type="Port" association="A_port_trigger">
        <ownedComment xmi:id="Trigger-port-_ownedComment.0" annotatedElement="Trigger-port">
          <body>A optional Port of through which the given effect is detected.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Trigger-port-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Trigger-port-_upperValue" value="*"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_event_trigger" name="A_event_trigger" visibility="private" memberEnd="Trigger-event A_event_trigger-trigger">
      <ownedEnd xmi:id="A_event_trigger-trigger" name="trigger" type="Trigger" association="A_event_trigger">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_event_trigger-trigger-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_event_trigger-trigger-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_port_trigger" name="A_port_trigger" visibility="private" memberEnd="Trigger-port A_port_trigger-trigger">
      <ownedEnd xmi:id="A_port_trigger-trigger" name="trigger" type="Trigger" association="A_port_trigger">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_port_trigger-trigger-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_port_trigger-trigger-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_when_timeEvent" name="A_when_timeEvent" visibility="private" memberEnd="TimeEvent-when A_when_timeEvent-timeEvent">
      <ownedEnd xmi:id="A_when_timeEvent-timeEvent" name="timeEvent" type="TimeEvent" subsettedProperty="Element-owner" association="A_when_timeEvent">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_when_timeEvent-timeEvent-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_signal_signalEvent" name="A_signal_signalEvent" visibility="private" memberEnd="SignalEvent-signal A_signal_signalEvent-signalEvent">
      <ownedEnd xmi:id="A_signal_signalEvent-signalEvent" name="signalEvent" type="SignalEvent" association="A_signal_signalEvent">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_signal_signalEvent-signalEvent-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_signal_signalEvent-signalEvent-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_changeExpression_changeEvent" name="A_changeExpression_changeEvent" visibility="private" memberEnd="ChangeEvent-changeExpression A_changeExpression_changeEvent-changeEvent">
      <ownedEnd xmi:id="A_changeExpression_changeEvent-changeEvent" name="changeEvent" type="ChangeEvent" subsettedProperty="Element-owner" association="A_changeExpression_changeEvent">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_changeExpression_changeEvent-changeEvent-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_operation_callEvent" name="A_operation_callEvent" visibility="private" memberEnd="CallEvent-operation A_operation_callEvent-callEvent">
      <ownedEnd xmi:id="A_operation_callEvent-callEvent" name="callEvent" type="CallEvent" association="A_operation_callEvent">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_operation_callEvent-callEvent-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_operation_callEvent-callEvent-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedParameterSet_behavior" name="A_ownedParameterSet_behavior" visibility="private" memberEnd="Behavior-ownedParameterSet A_ownedParameterSet_behavior-behavior">
      <ownedEnd xmi:id="A_ownedParameterSet_behavior-behavior" name="behavior" type="Behavior" subsettedProperty="NamedElement-namespace" association="A_ownedParameterSet_behavior">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedParameterSet_behavior-behavior-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_context_behavior" name="A_context_behavior" visibility="private" isDerived="true" memberEnd="Behavior-context A_context_behavior-behavior">
      <ownedEnd xmi:id="A_context_behavior-behavior" name="behavior" type="Behavior" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement" association="A_context_behavior">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_context_behavior-behavior-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_context_behavior-behavior-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_precondition_behavior" name="A_precondition_behavior" visibility="private" memberEnd="Behavior-precondition A_precondition_behavior-behavior">
      <ownedEnd xmi:id="A_precondition_behavior-behavior" name="behavior" type="Behavior" subsettedProperty="Constraint-context" association="A_precondition_behavior">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_precondition_behavior-behavior-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_postcondition_behavior" name="A_postcondition_behavior" visibility="private" memberEnd="Behavior-postcondition A_postcondition_behavior-behavior">
      <ownedEnd xmi:id="A_postcondition_behavior-behavior" name="behavior" type="Behavior" subsettedProperty="Constraint-context" association="A_postcondition_behavior">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_postcondition_behavior-behavior-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_redefinedBehavior_behavior" name="A_redefinedBehavior_behavior" visibility="private" memberEnd="Behavior-redefinedBehavior A_redefinedBehavior_behavior-behavior">
      <ownedEnd xmi:id="A_redefinedBehavior_behavior-behavior" name="behavior" type="Behavior" subsettedProperty="A_redefinedClassifier_classifier-classifier" association="A_redefinedBehavior_behavior">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinedBehavior_behavior-behavior-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinedBehavior_behavior-behavior-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedParameter_behavior" name="A_ownedParameter_behavior" visibility="private" memberEnd="Behavior-ownedParameter A_ownedParameter_behavior-behavior">
      <ownedEnd xmi:id="A_ownedParameter_behavior-behavior" name="behavior" type="Behavior" subsettedProperty="NamedElement-namespace" association="A_ownedParameter_behavior">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedParameter_behavior-behavior-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Abstraction" name="Abstraction">
      <ownedComment xmi:id="Abstraction-_ownedComment.0" annotatedElement="Abstraction">
        <body>An Abstraction is a Relationship that relates two Elements or sets of Elements that represent the same concept at different levels of abstraction or from different viewpoints.</body>
      </ownedComment>
      <generalization xmi:id="Abstraction-_generalization.0" general="Dependency"/>
      <ownedAttribute xmi:id="Abstraction-mapping" name="mapping" type="OpaqueExpression" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_mapping_abstraction">
        <ownedComment xmi:id="Abstraction-mapping-_ownedComment.0" annotatedElement="Abstraction-mapping">
          <body>An OpaqueExpression that states the abstraction relationship between the supplier(s) and the client(s). In some cases, such as derivation, it is usually formal and unidirectional; in other cases, such as trace, it is usually informal and bidirectional. The mapping expression is optional and may be omitted if the precise relationship between the Elements is not specified.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Abstraction-mapping-_lowerValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Comment" name="Comment">
      <ownedComment xmi:id="Comment-_ownedComment.0" annotatedElement="Comment">
        <body>A Comment is a textual annotation that can be attached to a set of Elements.</body>
      </ownedComment>
      <generalization xmi:id="Comment-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="Comment-annotatedElement" name="annotatedElement" type="Element" association="A_annotatedElement_comment">
        <ownedComment xmi:id="Comment-annotatedElement-_ownedComment.0" annotatedElement="Comment-annotatedElement">
          <body>References the Element(s) being commented.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Comment-annotatedElement-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Comment-annotatedElement-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Comment-body" name="body">
        <ownedComment xmi:id="Comment-body-_ownedComment.0" annotatedElement="Comment-body">
          <body>Specifies a string that is the comment.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Comment-body-_lowerValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Constraint" name="Constraint">
      <ownedComment xmi:id="Constraint-_ownedComment.0" annotatedElement="Constraint">
        <body>A Constraint is a condition or restriction expressed in natural language text or in a machine readable language for the purpose of declaring some of the semantics of an Element or set of Elements.</body>
      </ownedComment>
      <ownedRule xmi:id="Constraint-boolean_value" name="boolean_value" constrainedElement="Constraint">
        <ownedComment xmi:id="Constraint-boolean_value-_ownedComment.0" annotatedElement="Constraint-boolean_value">
          <body>The ValueSpecification for a Constraint must evaluate to a Boolean value.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Constraint-boolean_value-_specification" language=""/>
      </ownedRule>
      <ownedRule xmi:id="Constraint-no_side_effects" name="no_side_effects" constrainedElement="Constraint">
        <ownedComment xmi:id="Constraint-no_side_effects-_ownedComment.0" annotatedElement="Constraint-no_side_effects">
          <body>Evaluating the ValueSpecification for a Constraint must not have side effects.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Constraint-no_side_effects-_specification" language=""/>
      </ownedRule>
      <ownedRule xmi:id="Constraint-not_apply_to_self" name="not_apply_to_self" constrainedElement="Constraint">
        <ownedComment xmi:id="Constraint-not_apply_to_self-_ownedComment.0" annotatedElement="Constraint-not_apply_to_self">
          <body>A Constraint cannot be applied to itself.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Constraint-not_apply_to_self-_specification">
          <language>OCL</language>
          <body>not constrainedElement->includes(self)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Constraint-_generalization.0" general="PackageableElement"/>
      <ownedAttribute xmi:id="Constraint-constrainedElement" name="constrainedElement" type="Element" isOrdered="true" association="A_constrainedElement_constraint">
        <ownedComment xmi:id="Constraint-constrainedElement-_ownedComment.0" annotatedElement="Constraint-constrainedElement">
          <body>The ordered set of Elements referenced by this Constraint.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Constraint-constrainedElement-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Constraint-constrainedElement-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Constraint-context" name="context" type="Namespace" subsettedProperty="NamedElement-namespace" association="A_ownedRule_context">
        <ownedComment xmi:id="Constraint-context-_ownedComment.0" annotatedElement="Constraint-context">
          <body>Specifies the Namespace that owns the Constraint.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Constraint-context-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Constraint-specification" name="specification" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_specification_owningConstraint">
        <ownedComment xmi:id="Constraint-specification-_ownedComment.0" annotatedElement="Constraint-specification">
          <body>A condition that must be true when evaluated in order for the Constraint to be satisfied.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Dependency" name="Dependency">
      <ownedComment xmi:id="Dependency-_ownedComment.0" annotatedElement="Dependency">
        <body>A Dependency is a Relationship that signifies that a single model Element or a set of model Elements requires other model Elements for their specification or implementation. This means that the complete semantics of the client Element(s) are either semantically or structurally dependent on the definition of the supplier Element(s).</body>
      </ownedComment>
      <generalization xmi:id="Dependency-_generalization.0" general="DirectedRelationship"/>
      <generalization xmi:id="Dependency-_generalization.1" general="PackageableElement"/>
      <ownedAttribute xmi:id="Dependency-client" name="client" type="NamedElement" subsettedProperty="DirectedRelationship-source" association="A_clientDependency_client">
        <ownedComment xmi:id="Dependency-client-_ownedComment.0" annotatedElement="Dependency-client">
          <body>The Element(s) dependent on the supplier Element(s). In some cases (such as a trace Abstraction) the assignment of direction (that is, the designation of the client Element) is at the discretion of the modeler and is a stipulation.</body>
        </ownedComment>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Dependency-client-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Dependency-supplier" name="supplier" type="NamedElement" subsettedProperty="DirectedRelationship-target" association="A_supplier_supplierDependency">
        <ownedComment xmi:id="Dependency-supplier-_ownedComment.0" annotatedElement="Dependency-supplier">
          <body>The Element(s) on which the client Element(s) depend in some respect. The modeler may stipulate a sense of Dependency direction suitable for their domain.</body>
        </ownedComment>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Dependency-supplier-_upperValue" value="*"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="DirectedRelationship" name="DirectedRelationship" isAbstract="true">
      <ownedComment xmi:id="DirectedRelationship-_ownedComment.0" annotatedElement="DirectedRelationship">
        <body>A DirectedRelationship represents a relationship between a collection of source model Elements and a collection of target model Elements.</body>
      </ownedComment>
      <generalization xmi:id="DirectedRelationship-_generalization.0" general="Relationship"/>
      <ownedAttribute xmi:id="DirectedRelationship-source" name="source" type="Element" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="Relationship-relatedElement" association="A_source_directedRelationship">
        <ownedComment xmi:id="DirectedRelationship-source-_ownedComment.0" annotatedElement="DirectedRelationship-source">
          <body>Specifies the source Element(s) of the DirectedRelationship.</body>
        </ownedComment>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DirectedRelationship-source-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="DirectedRelationship-target" name="target" type="Element" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="Relationship-relatedElement" association="A_target_directedRelationship">
        <ownedComment xmi:id="DirectedRelationship-target-_ownedComment.0" annotatedElement="DirectedRelationship-target">
          <body>Specifies the target Element(s) of the DirectedRelationship.</body>
        </ownedComment>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DirectedRelationship-target-_upperValue" value="*"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Element" name="Element" isAbstract="true">
      <ownedComment xmi:id="Element-_ownedComment.0" annotatedElement="Element">
        <body>An Element is a constituent of a model. As such, it has the capability of owning other Elements.</body>
      </ownedComment>
      <ownedRule xmi:id="Element-has_owner" name="has_owner" constrainedElement="Element">
        <ownedComment xmi:id="Element-has_owner-_ownedComment.0" annotatedElement="Element-has_owner">
          <body>Elements that must be owned must have an owner.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Element-has_owner-_specification">
          <language>OCL</language>
          <body>mustBeOwned() implies owner->notEmpty()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Element-not_own_self" name="not_own_self" constrainedElement="Element">
        <ownedComment xmi:id="Element-not_own_self-_ownedComment.0" annotatedElement="Element-not_own_self">
          <body>An element may not directly or indirectly own itself.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Element-not_own_self-_specification">
          <language>OCL</language>
          <body>not allOwnedElements()->includes(self)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Element-_generalization.0">
        <general xmi:type="uml:Class" href="Ecore.metamodel.uml#EModelElement"/>
      </generalization>
      <ownedAttribute xmi:id="Element-ownedComment" name="ownedComment" type="Comment" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_ownedComment_owningElement">
        <ownedComment xmi:id="Element-ownedComment-_ownedComment.0" annotatedElement="Element-ownedComment">
          <body>The Comments owned by this Element.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-ownedComment-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-ownedComment-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Element-ownedElement" name="ownedElement" type="Element" isReadOnly="true" aggregation="composite" isDerived="true" isDerivedUnion="true" association="A_ownedElement_owner">
        <ownedComment xmi:id="Element-ownedElement-_ownedComment.0" annotatedElement="Element-ownedElement">
          <body>The Elements owned by this Element.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-ownedElement-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-ownedElement-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Element-owner" name="owner" type="Element" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_ownedElement_owner">
        <ownedComment xmi:id="Element-owner-_ownedComment.0" annotatedElement="Element-owner">
          <body>The Element that owns this Element.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-owner-_lowerValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Element-addKeyword" name="addKeyword">
        <ownedComment xmi:id="Element-addKeyword-_ownedComment.0" annotatedElement="Element-addKeyword">
          <body>Adds the specified keyword to this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-addKeyword-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-addKeyword-keyword" name="keyword" effect="read">
          <ownedComment xmi:id="Element-addKeyword-keyword-_ownedComment.0" annotatedElement="Element-addKeyword-keyword">
            <body>The keyword to add.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-applyStereotype" name="applyStereotype">
        <ownedComment xmi:id="Element-applyStereotype-_ownedComment.0" annotatedElement="Element-applyStereotype">
          <body>Applies the specified stereotype to this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-applyStereotype-_ownedParameter.0" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EObject"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-applyStereotype-stereotype" name="stereotype" type="Stereotype" effect="read">
          <ownedComment xmi:id="Element-applyStereotype-stereotype-_ownedComment.0" annotatedElement="Element-applyStereotype-stereotype">
            <body>The stereotype to apply.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-createEAnnotation" name="createEAnnotation">
        <ownedComment xmi:id="Element-createEAnnotation-_ownedComment.0" annotatedElement="Element-createEAnnotation">
          <body>Creates an annotation with the specified source and this element as its model element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-createEAnnotation-_ownedParameter.0" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EAnnotation"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-createEAnnotation-source" name="source" effect="read">
          <ownedComment xmi:id="Element-createEAnnotation-source-_ownedComment.0" annotatedElement="Element-createEAnnotation-source">
            <body>The source for the new annotation.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-destroy" name="destroy">
        <ownedComment xmi:id="Element-destroy-_ownedComment.0" annotatedElement="Element-destroy">
          <body>Destroys this element by removing all cross references to/from it and removing it from its containing resource or object.</body>
        </ownedComment>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getKeywords" name="getKeywords" isQuery="true">
        <ownedComment xmi:id="Element-getKeywords-_ownedComment.0" annotatedElement="Element-getKeywords">
          <body>Retrieves the keywords for this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getKeywords-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getKeywords-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getKeywords-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getApplicableStereotype" name="getApplicableStereotype" isQuery="true">
        <ownedComment xmi:id="Element-getApplicableStereotype-_ownedComment.0" annotatedElement="Element-getApplicableStereotype">
          <body>Retrieves the stereotype with the specified qualified name that is applicable to this element, or null if no such stereotype is applicable.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getApplicableStereotype-_ownedParameter.0" type="Stereotype" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getApplicableStereotype-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getApplicableStereotype-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-getApplicableStereotype-qualifiedName" name="qualifiedName" effect="read">
          <ownedComment xmi:id="Element-getApplicableStereotype-qualifiedName-_ownedComment.0" annotatedElement="Element-getApplicableStereotype-qualifiedName">
            <body>The qualified name of the applicable stereotype to retrieve.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getApplicableStereotypes" name="getApplicableStereotypes" isQuery="true">
        <ownedComment xmi:id="Element-getApplicableStereotypes-_ownedComment.0" annotatedElement="Element-getApplicableStereotypes">
          <body>Retrieves the stereotypes that are applicable to this element, including those that are required and/or may already be applied.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getApplicableStereotypes-_ownedParameter.0" type="Stereotype" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getApplicableStereotypes-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getApplicableStereotypes-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getAppliedStereotype" name="getAppliedStereotype" isQuery="true">
        <ownedComment xmi:id="Element-getAppliedStereotype-_ownedComment.0" annotatedElement="Element-getAppliedStereotype">
          <body>Retrieves the stereotype with the specified qualified name that is applied to this element, or null if no such stereotype is  applied.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getAppliedStereotype-_ownedParameter.0" type="Stereotype" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getAppliedStereotype-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getAppliedStereotype-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-getAppliedStereotype-qualifiedName" name="qualifiedName" effect="read">
          <ownedComment xmi:id="Element-getAppliedStereotype-qualifiedName-_ownedComment.0" annotatedElement="Element-getAppliedStereotype-qualifiedName">
            <body>The qualified name of the applied stereotype to retrieve.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getAppliedStereotypes" name="getAppliedStereotypes" isQuery="true">
        <ownedComment xmi:id="Element-getAppliedStereotypes-_ownedComment.0" annotatedElement="Element-getAppliedStereotypes">
          <body>Retrieves the stereotypes that are applied to this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getAppliedStereotypes-_ownedParameter.0" type="Stereotype" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getAppliedStereotypes-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getAppliedStereotypes-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getAppliedSubstereotype" name="getAppliedSubstereotype" isQuery="true">
        <ownedComment xmi:id="Element-getAppliedSubstereotype-_ownedComment.0" annotatedElement="Element-getAppliedSubstereotype">
          <body>Retrieves the substereotype of the specified stereotype with the specified qualified name that is applied to this element, or null if no such stereotype is applied.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getAppliedSubstereotype-_ownedParameter.0" type="Stereotype" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getAppliedSubstereotype-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getAppliedSubstereotype-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-getAppliedSubstereotype-stereotype" name="stereotype" type="Stereotype" effect="read">
          <ownedComment xmi:id="Element-getAppliedSubstereotype-stereotype-_ownedComment.0" annotatedElement="Element-getAppliedSubstereotype-stereotype">
            <body>The superstereotype of the applied substereotype to retrieve.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Element-getAppliedSubstereotype-qualifiedName" name="qualifiedName" effect="read">
          <ownedComment xmi:id="Element-getAppliedSubstereotype-qualifiedName-_ownedComment.0" annotatedElement="Element-getAppliedSubstereotype-qualifiedName">
            <body>The qualified name of the applied substereotype to retrieve.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getAppliedSubstereotypes" name="getAppliedSubstereotypes" isQuery="true">
        <ownedComment xmi:id="Element-getAppliedSubstereotypes-_ownedComment.0" annotatedElement="Element-getAppliedSubstereotypes">
          <body>Retrieves the substereotypes of the specified stereotype that are applied to this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getAppliedSubstereotypes-_ownedParameter.0" type="Stereotype" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getAppliedSubstereotypes-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getAppliedSubstereotypes-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-getAppliedSubstereotypes-stereotype" name="stereotype" type="Stereotype" effect="read">
          <ownedComment xmi:id="Element-getAppliedSubstereotypes-stereotype-_ownedComment.0" annotatedElement="Element-getAppliedSubstereotypes-stereotype">
            <body>The superstereotype of the applied substereotypes to retrieve.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getModel" name="getModel" isQuery="true">
        <ownedComment xmi:id="Element-getModel-_ownedComment.0" annotatedElement="Element-getModel">
          <body>Retrieves the model that owns (either directly or indirectly) this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getModel-_ownedParameter.0" type="Model" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getModel-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getModel-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getNearestPackage" name="getNearestPackage" isQuery="true">
        <ownedComment xmi:id="Element-getNearestPackage-_ownedComment.0" annotatedElement="Element-getNearestPackage">
          <body>Retrieves the nearest package that owns (either directly or indirectly) this element, or the element itself (if it is a package).</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getNearestPackage-_ownedParameter.0" type="Package" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getNearestPackage-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getNearestPackage-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getRelationships" name="getRelationships">
        <ownedComment xmi:id="Element-getRelationships-_ownedComment.0" annotatedElement="Element-getRelationships">
          <body>Retrieves the relationships in which this element is involved.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getRelationships-_ownedParameter.0" type="Relationship" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getRelationships-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getRelationships-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getRelationships.1" name="getRelationships">
        <ownedComment xmi:id="Element-getRelationships.1-_ownedComment.0" annotatedElement="Element-getRelationships.1">
          <body>Retrieves the relationships of the specified type in which this element is involved.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getRelationships.1-_ownedParameter.0" type="Relationship" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getRelationships.1-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getRelationships.1-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-getRelationships.1-eClass" name="eClass" effect="read">
          <ownedComment xmi:id="Element-getRelationships.1-eClass-_ownedComment.0" annotatedElement="Element-getRelationships.1-eClass">
            <body>The (meta)type of the relationships to retrieve.</body>
          </ownedComment>
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EClass"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getRequiredStereotype" name="getRequiredStereotype" isQuery="true">
        <ownedComment xmi:id="Element-getRequiredStereotype-_ownedComment.0" annotatedElement="Element-getRequiredStereotype">
          <body>Retrieves the stereotype with the specified qualified name that is required for this element, or null if no such stereotype is required.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getRequiredStereotype-_ownedParameter.0" type="Stereotype" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getRequiredStereotype-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getRequiredStereotype-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-getRequiredStereotype-qualifiedName" name="qualifiedName" effect="read">
          <ownedComment xmi:id="Element-getRequiredStereotype-qualifiedName-_ownedComment.0" annotatedElement="Element-getRequiredStereotype-qualifiedName">
            <body>The qualified name of the required stereotype to retrieve.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getRequiredStereotypes" name="getRequiredStereotypes" isQuery="true">
        <ownedComment xmi:id="Element-getRequiredStereotypes-_ownedComment.0" annotatedElement="Element-getRequiredStereotypes">
          <body>Retrieves the stereotypes that are required for this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getRequiredStereotypes-_ownedParameter.0" type="Stereotype" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getRequiredStereotypes-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getRequiredStereotypes-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getSourceDirectedRelationships" name="getSourceDirectedRelationships">
        <ownedComment xmi:id="Element-getSourceDirectedRelationships-_ownedComment.0" annotatedElement="Element-getSourceDirectedRelationships">
          <body>Retrieves the directed relationships for which this element is a source.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getSourceDirectedRelationships-_ownedParameter.0" type="DirectedRelationship" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getSourceDirectedRelationships-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getSourceDirectedRelationships-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getSourceDirectedRelationships.1" name="getSourceDirectedRelationships">
        <ownedComment xmi:id="Element-getSourceDirectedRelationships.1-_ownedComment.0" annotatedElement="Element-getSourceDirectedRelationships.1">
          <body>Retrieves the directed relationships of the specified type for which this element is a source.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getSourceDirectedRelationships.1-_ownedParameter.0" type="DirectedRelationship" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getSourceDirectedRelationships.1-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getSourceDirectedRelationships.1-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-getSourceDirectedRelationships.1-eClass" name="eClass" effect="read">
          <ownedComment xmi:id="Element-getSourceDirectedRelationships.1-eClass-_ownedComment.0" annotatedElement="Element-getSourceDirectedRelationships.1-eClass">
            <body>The (meta)type of the directed relationships to retrieve.</body>
          </ownedComment>
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EClass"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getStereotypeApplication" name="getStereotypeApplication" isQuery="true">
        <ownedComment xmi:id="Element-getStereotypeApplication-_ownedComment.0" annotatedElement="Element-getStereotypeApplication">
          <body>Retrieves the application of the specified stereotype for this element, or null if no such stereotype application exists.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getStereotypeApplication-_ownedParameter.0" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EObject"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getStereotypeApplication-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getStereotypeApplication-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-getStereotypeApplication-stereotype" name="stereotype" type="Stereotype" effect="read">
          <ownedComment xmi:id="Element-getStereotypeApplication-stereotype-_ownedComment.0" annotatedElement="Element-getStereotypeApplication-stereotype">
            <body>The stereotype for which to retrieve an application.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getStereotypeApplications" name="getStereotypeApplications" isQuery="true">
        <ownedComment xmi:id="Element-getStereotypeApplications-_ownedComment.0" annotatedElement="Element-getStereotypeApplications">
          <body>Retrieves the stereotype applications for this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getStereotypeApplications-_ownedParameter.0" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EObject"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getStereotypeApplications-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getStereotypeApplications-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getTargetDirectedRelationships" name="getTargetDirectedRelationships">
        <ownedComment xmi:id="Element-getTargetDirectedRelationships-_ownedComment.0" annotatedElement="Element-getTargetDirectedRelationships">
          <body>Retrieves the directed relationships for which this element is a target.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getTargetDirectedRelationships-_ownedParameter.0" type="DirectedRelationship" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getTargetDirectedRelationships-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getTargetDirectedRelationships-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getTargetDirectedRelationships.1" name="getTargetDirectedRelationships">
        <ownedComment xmi:id="Element-getTargetDirectedRelationships.1-_ownedComment.0" annotatedElement="Element-getTargetDirectedRelationships.1">
          <body>Retrieves the directed relationships of the specified type for which this element is a target.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getTargetDirectedRelationships.1-_ownedParameter.0" type="DirectedRelationship" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getTargetDirectedRelationships.1-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getTargetDirectedRelationships.1-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-getTargetDirectedRelationships.1-eClass" name="eClass" effect="read">
          <ownedComment xmi:id="Element-getTargetDirectedRelationships.1-eClass-_ownedComment.0" annotatedElement="Element-getTargetDirectedRelationships.1-eClass">
            <body>The (meta)type of the directed relationships to retrieve.</body>
          </ownedComment>
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EClass"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-getValue" name="getValue" isQuery="true">
        <ownedComment xmi:id="Element-getValue-_ownedComment.0" annotatedElement="Element-getValue">
          <body>Retrieves the value of the property with the specified name in the specified stereotype for this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-getValue-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="Ecore.metamodel.uml#EJavaObject"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-getValue-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-getValue-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-getValue-stereotype" name="stereotype" type="Stereotype" effect="read">
          <ownedComment xmi:id="Element-getValue-stereotype-_ownedComment.0" annotatedElement="Element-getValue-stereotype">
            <body>The stereotype for which to retrieve the value.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Element-getValue-propertyName" name="propertyName" effect="read">
          <ownedComment xmi:id="Element-getValue-propertyName-_ownedComment.0" annotatedElement="Element-getValue-propertyName">
            <body>The name of the property whose value to retrieve.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-hasKeyword" name="hasKeyword" isQuery="true">
        <ownedComment xmi:id="Element-hasKeyword-_ownedComment.0" annotatedElement="Element-hasKeyword">
          <body>Determines whether this element has the specified keyword.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-hasKeyword-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-hasKeyword-keyword" name="keyword" effect="read">
          <ownedComment xmi:id="Element-hasKeyword-keyword-_ownedComment.0" annotatedElement="Element-hasKeyword-keyword">
            <body>The keyword in question.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-hasValue" name="hasValue" isQuery="true">
        <ownedComment xmi:id="Element-hasValue-_ownedComment.0" annotatedElement="Element-hasValue">
          <body>Determines whether this element has a (non-default) value for the property with the specified name in the specified stereotype.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-hasValue-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-hasValue-stereotype" name="stereotype" type="Stereotype" effect="read">
          <ownedComment xmi:id="Element-hasValue-stereotype-_ownedComment.0" annotatedElement="Element-hasValue-stereotype">
            <body>The stereotype for which to test the property.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Element-hasValue-propertyName" name="propertyName" effect="read">
          <ownedComment xmi:id="Element-hasValue-propertyName-_ownedComment.0" annotatedElement="Element-hasValue-propertyName">
            <body>The name of the property in question.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-isStereotypeApplicable" name="isStereotypeApplicable" isQuery="true">
        <ownedComment xmi:id="Element-isStereotypeApplicable-_ownedComment.0" annotatedElement="Element-isStereotypeApplicable">
          <body>Determines whether the specified stereotype is applicable to this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-isStereotypeApplicable-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-isStereotypeApplicable-stereotype" name="stereotype" type="Stereotype" effect="read">
          <ownedComment xmi:id="Element-isStereotypeApplicable-stereotype-_ownedComment.0" annotatedElement="Element-isStereotypeApplicable-stereotype">
            <body>The stereotype in question.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-isStereotypeApplied" name="isStereotypeApplied" isQuery="true">
        <ownedComment xmi:id="Element-isStereotypeApplied-_ownedComment.0" annotatedElement="Element-isStereotypeApplied">
          <body>Determines whether the specified stereotype is applied to this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-isStereotypeApplied-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-isStereotypeApplied-stereotype" name="stereotype" type="Stereotype" effect="read">
          <ownedComment xmi:id="Element-isStereotypeApplied-stereotype-_ownedComment.0" annotatedElement="Element-isStereotypeApplied-stereotype">
            <body>The stereotype in question.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-isStereotypeRequired" name="isStereotypeRequired" isQuery="true">
        <ownedComment xmi:id="Element-isStereotypeRequired-_ownedComment.0" annotatedElement="Element-isStereotypeRequired">
          <body>Determines whether the specified stereotype is required for this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-isStereotypeRequired-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-isStereotypeRequired-stereotype" name="stereotype" type="Stereotype" effect="read">
          <ownedComment xmi:id="Element-isStereotypeRequired-stereotype-_ownedComment.0" annotatedElement="Element-isStereotypeRequired-stereotype">
            <body>The stereotype in question.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-removeKeyword" name="removeKeyword">
        <ownedComment xmi:id="Element-removeKeyword-_ownedComment.0" annotatedElement="Element-removeKeyword">
          <body>Removes the specified keyword from this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-removeKeyword-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-removeKeyword-keyword" name="keyword" effect="read">
          <ownedComment xmi:id="Element-removeKeyword-keyword-_ownedComment.0" annotatedElement="Element-removeKeyword-keyword">
            <body>The keyword to remove.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-setValue" name="setValue">
        <ownedComment xmi:id="Element-setValue-_ownedComment.0" annotatedElement="Element-setValue">
          <body>Sets the value of the property with the specified name in the specified stereotype for this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-setValue-stereotype" name="stereotype" type="Stereotype" effect="read">
          <ownedComment xmi:id="Element-setValue-stereotype-_ownedComment.0" annotatedElement="Element-setValue-stereotype">
            <body>The stereotype for which to set the value.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Element-setValue-propertyName" name="propertyName" effect="read">
          <ownedComment xmi:id="Element-setValue-propertyName-_ownedComment.0" annotatedElement="Element-setValue-propertyName">
            <body>The name of the property whose value to set.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-setValue-newValue" name="newValue" effect="read">
          <ownedComment xmi:id="Element-setValue-newValue-_ownedComment.0" annotatedElement="Element-setValue-newValue">
            <body>The new value for the property.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="Ecore.metamodel.uml#EJavaObject"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-unapplyStereotype" name="unapplyStereotype">
        <ownedComment xmi:id="Element-unapplyStereotype-_ownedComment.0" annotatedElement="Element-unapplyStereotype">
          <body>Unapplies the specified stereotype from this element.</body>
        </ownedComment>
        <ownedParameter xmi:id="Element-unapplyStereotype-_ownedParameter.0" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EObject"/>
        </ownedParameter>
        <ownedParameter xmi:id="Element-unapplyStereotype-stereotype" name="stereotype" type="Stereotype" effect="read">
          <ownedComment xmi:id="Element-unapplyStereotype-stereotype-_ownedComment.0" annotatedElement="Element-unapplyStereotype-stereotype">
            <body>The stereotype to unapply.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-allOwnedElements" name="allOwnedElements" bodyCondition="Element-allOwnedElements-spec" isQuery="true">
        <ownedComment xmi:id="Element-allOwnedElements-_ownedComment.0" annotatedElement="Element-allOwnedElements">
          <body>The query allOwnedElements() gives all of the direct and indirect ownedElements of an Element.</body>
        </ownedComment>
        <ownedRule xmi:id="Element-allOwnedElements-spec" name="spec" constrainedElement="Element-allOwnedElements">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Element-allOwnedElements-spec-_specification">
            <language>OCL</language>
            <body>result = (ownedElement->union(ownedElement->collect(e | e.allOwnedElements()))->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Element-allOwnedElements-result" name="result" type="Element" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Element-allOwnedElements-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Element-allOwnedElements-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Element-mustBeOwned" name="mustBeOwned" bodyCondition="Element-mustBeOwned-spec" isQuery="true">
        <ownedComment xmi:id="Element-mustBeOwned-_ownedComment.0" annotatedElement="Element-mustBeOwned">
          <body>The query mustBeOwned() indicates whether Elements of this type must have an owner. Subclasses of Element that do not require an owner must override this operation.</body>
        </ownedComment>
        <ownedRule xmi:id="Element-mustBeOwned-spec" name="spec" constrainedElement="Element-mustBeOwned">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Element-mustBeOwned-spec-_specification">
            <language>OCL</language>
            <body>result = (true)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Element-mustBeOwned-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ElementImport" name="ElementImport">
      <ownedComment xmi:id="ElementImport-_ownedComment.0" annotatedElement="ElementImport">
        <body>An ElementImport identifies a NamedElement in a Namespace other than the one that owns that NamedElement and allows the NamedElement to be referenced using an unqualified name in the Namespace owning the ElementImport.</body>
      </ownedComment>
      <ownedRule xmi:id="ElementImport-imported_element_is_public" name="imported_element_is_public" constrainedElement="ElementImport">
        <ownedComment xmi:id="ElementImport-imported_element_is_public-_ownedComment.0" annotatedElement="ElementImport-imported_element_is_public">
          <body>An importedElement has either public visibility or no visibility at all.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ElementImport-imported_element_is_public-_specification">
          <language>OCL</language>
          <body>importedElement.visibility &lt;> null implies importedElement.visibility = VisibilityKind::public</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ElementImport-visibility_public_or_private" name="visibility_public_or_private" constrainedElement="ElementImport">
        <ownedComment xmi:id="ElementImport-visibility_public_or_private-_ownedComment.0" annotatedElement="ElementImport-visibility_public_or_private">
          <body>The visibility of an ElementImport is either public or private.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ElementImport-visibility_public_or_private-_specification">
          <language>OCL</language>
          <body>visibility = VisibilityKind::public or visibility = VisibilityKind::private</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ElementImport-_generalization.0" general="DirectedRelationship"/>
      <ownedAttribute xmi:id="ElementImport-alias" name="alias">
        <ownedComment xmi:id="ElementImport-alias-_ownedComment.0" annotatedElement="ElementImport-alias">
          <body>Specifies the name that should be added to the importing Namespace in lieu of the name of the imported PackagableElement. The alias must not clash with any other member in the importing Namespace. By default, no alias is used.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ElementImport-alias-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ElementImport-importedElement" name="importedElement" type="PackageableElement" subsettedProperty="DirectedRelationship-target" association="A_importedElement_import">
        <ownedComment xmi:id="ElementImport-importedElement-_ownedComment.0" annotatedElement="ElementImport-importedElement">
          <body>Specifies the PackageableElement whose name is to be added to a Namespace.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ElementImport-importingNamespace" name="importingNamespace" type="Namespace" subsettedProperty="DirectedRelationship-source Element-owner" association="A_elementImport_importingNamespace">
        <ownedComment xmi:id="ElementImport-importingNamespace-_ownedComment.0" annotatedElement="ElementImport-importingNamespace">
          <body>Specifies the Namespace that imports a PackageableElement from another Namespace.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ElementImport-visibility" name="visibility" type="VisibilityKind">
        <ownedComment xmi:id="ElementImport-visibility-_ownedComment.0" annotatedElement="ElementImport-visibility">
          <body>Specifies the visibility of the imported PackageableElement within the importingNamespace, i.e., whether the  importedElement will in turn be visible to other Namespaces. If the ElementImport is public, the importedElement will be visible outside the importingNamespace while, if the ElementImport is private, it will not.</body>
        </ownedComment>
        <defaultValue xmi:type="uml:InstanceValue" xmi:id="ElementImport-visibility-_defaultValue" type="VisibilityKind" instance="VisibilityKind-public"/>
      </ownedAttribute>
      <ownedOperation xmi:id="ElementImport-getName" name="getName" bodyCondition="ElementImport-getName-spec" isQuery="true">
        <ownedComment xmi:id="ElementImport-getName-_ownedComment.0" annotatedElement="ElementImport-getName">
          <body>The query getName() returns the name under which the imported PackageableElement will be known in the importing namespace.</body>
        </ownedComment>
        <ownedRule xmi:id="ElementImport-getName-spec" name="spec" constrainedElement="ElementImport-getName">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ElementImport-getName-spec-_specification">
            <language>OCL</language>
            <body>result = (if alias->notEmpty() then
  alias
else
  importedElement.name
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="ElementImport-getName-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="MultiplicityElement" name="MultiplicityElement" isAbstract="true">
      <ownedComment xmi:id="MultiplicityElement-_ownedComment.0" annotatedElement="MultiplicityElement">
        <body>A multiplicity is a definition of an inclusive interval of non-negative integers beginning with a lower bound and ending with a (possibly infinite) upper bound. A MultiplicityElement embeds this information to specify the allowable cardinalities for an instantiation of the Element.</body>
      </ownedComment>
      <ownedRule xmi:id="MultiplicityElement-upper_ge_lower" name="upper_ge_lower" constrainedElement="MultiplicityElement">
        <ownedComment xmi:id="MultiplicityElement-upper_ge_lower-_ownedComment.0" annotatedElement="MultiplicityElement-upper_ge_lower">
          <body>The upper bound must be greater than or equal to the lower bound.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-upper_ge_lower-_specification">
          <language>OCL</language>
          <body>upperBound() >= lowerBound()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="MultiplicityElement-lower_ge_0" name="lower_ge_0" constrainedElement="MultiplicityElement">
        <ownedComment xmi:id="MultiplicityElement-lower_ge_0-_ownedComment.0" annotatedElement="MultiplicityElement-lower_ge_0">
          <body>The lower bound must be a non-negative integer literal.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-lower_ge_0-_specification">
          <language>OCL</language>
          <body>lowerBound() >= 0</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="MultiplicityElement-value_specification_no_side_effects" name="value_specification_no_side_effects" constrainedElement="MultiplicityElement">
        <ownedComment xmi:id="MultiplicityElement-value_specification_no_side_effects-_ownedComment.0" annotatedElement="MultiplicityElement-value_specification_no_side_effects">
          <body>If a non-literal ValueSpecification is used for lowerValue or upperValue, then evaluating that specification must not have side effects.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-value_specification_no_side_effects-_specification" language=""/>
      </ownedRule>
      <ownedRule xmi:id="MultiplicityElement-value_specification_constant" name="value_specification_constant" constrainedElement="MultiplicityElement">
        <ownedComment xmi:id="MultiplicityElement-value_specification_constant-_ownedComment.0" annotatedElement="MultiplicityElement-value_specification_constant">
          <body>If a non-literal ValueSpecification is used for lowerValue or upperValue, then that specification must be a constant expression.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-value_specification_constant-_specification" language=""/>
      </ownedRule>
      <ownedRule xmi:id="MultiplicityElement-lower_is_integer" name="lower_is_integer" constrainedElement="MultiplicityElement">
        <ownedComment xmi:id="MultiplicityElement-lower_is_integer-_ownedComment.0" annotatedElement="MultiplicityElement-lower_is_integer">
          <body>If it is not empty, then lowerValue must have an Integer value.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-lower_is_integer-_specification">
          <language>OCL</language>
          <body>lowerValue &lt;> null implies lowerValue.integerValue() &lt;> null</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="MultiplicityElement-upper_is_unlimitedNatural" name="upper_is_unlimitedNatural" constrainedElement="MultiplicityElement">
        <ownedComment xmi:id="MultiplicityElement-upper_is_unlimitedNatural-_ownedComment.0" annotatedElement="MultiplicityElement-upper_is_unlimitedNatural">
          <body>If it is not empty, then upperValue must have an UnlimitedNatural value.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-upper_is_unlimitedNatural-_specification">
          <language>OCL</language>
          <body>upperValue &lt;> null implies upperValue.unlimitedValue() &lt;> null</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="MultiplicityElement-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="MultiplicityElement-isOrdered" name="isOrdered">
        <ownedComment xmi:id="MultiplicityElement-isOrdered-_ownedComment.0" annotatedElement="MultiplicityElement-isOrdered">
          <body>For a multivalued multiplicity, this attribute specifies whether the values in an instantiation of this MultiplicityElement are sequentially ordered.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="MultiplicityElement-isOrdered-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="MultiplicityElement-isUnique" name="isUnique">
        <ownedComment xmi:id="MultiplicityElement-isUnique-_ownedComment.0" annotatedElement="MultiplicityElement-isUnique">
          <body>For a multivalued multiplicity, this attributes specifies whether the values in an instantiation of this MultiplicityElement are unique.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="MultiplicityElement-isUnique-_defaultValue" value="true"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="MultiplicityElement-lower" name="lower" isDerived="true">
        <ownedComment xmi:id="MultiplicityElement-lower-_ownedComment.0" annotatedElement="MultiplicityElement-lower">
          <body>The lower bound of the multiplicity interval.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        <defaultValue xmi:type="uml:LiteralInteger" xmi:id="MultiplicityElement-lower-_defaultValue" value="1"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="MultiplicityElement-lowerValue" name="lowerValue" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_lowerValue_owningLower">
        <ownedComment xmi:id="MultiplicityElement-lowerValue-_ownedComment.0" annotatedElement="MultiplicityElement-lowerValue">
          <body>The specification of the lower bound for this multiplicity.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="MultiplicityElement-lowerValue-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="MultiplicityElement-upper" name="upper" isDerived="true">
        <ownedComment xmi:id="MultiplicityElement-upper-_ownedComment.0" annotatedElement="MultiplicityElement-upper">
          <body>The upper bound of the multiplicity interval.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        <defaultValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="MultiplicityElement-upper-_defaultValue" value="1"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="MultiplicityElement-upperValue" name="upperValue" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_upperValue_owningUpper">
        <ownedComment xmi:id="MultiplicityElement-upperValue-_ownedComment.0" annotatedElement="MultiplicityElement-upperValue">
          <body>The specification of the upper bound for this multiplicity.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="MultiplicityElement-upperValue-_lowerValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="MultiplicityElement-setLower" name="setLower" visibility="protected">
        <ownedParameter xmi:id="MultiplicityElement-setLower-newLower" name="newLower" visibility="protected" effect="read">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="MultiplicityElement-setUpper" name="setUpper" visibility="protected">
        <ownedParameter xmi:id="MultiplicityElement-setUpper-newUpper" name="newUpper" visibility="protected" effect="read">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="MultiplicityElement-compatibleWith" name="compatibleWith" bodyCondition="MultiplicityElement-compatibleWith-spec" isQuery="true">
        <ownedComment xmi:id="MultiplicityElement-compatibleWith-_ownedComment.0" annotatedElement="MultiplicityElement-compatibleWith">
          <body>The operation compatibleWith takes another multiplicity as input. It returns true if the other multiplicity is wider than, or the same as, self.</body>
        </ownedComment>
        <ownedRule xmi:id="MultiplicityElement-compatibleWith-spec" name="spec" constrainedElement="MultiplicityElement-compatibleWith">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-compatibleWith-spec-_specification">
            <language>OCL</language>
            <body>result = ((other.lowerBound() &lt;= self.lowerBound()) and ((other.upperBound() = *) or (self.upperBound() &lt;= other.upperBound())))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="MultiplicityElement-compatibleWith-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="MultiplicityElement-compatibleWith-other" name="other" type="MultiplicityElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="MultiplicityElement-includesMultiplicity" name="includesMultiplicity" bodyCondition="MultiplicityElement-includesMultiplicity-spec" isQuery="true" precondition="MultiplicityElement-includesMultiplicity-pre">
        <ownedComment xmi:id="MultiplicityElement-includesMultiplicity-_ownedComment.0" annotatedElement="MultiplicityElement-includesMultiplicity">
          <body>The query includesMultiplicity() checks whether this multiplicity includes all the cardinalities allowed by the specified multiplicity.</body>
        </ownedComment>
        <ownedRule xmi:id="MultiplicityElement-includesMultiplicity-pre" name="pre" constrainedElement="MultiplicityElement-includesMultiplicity">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-includesMultiplicity-pre-_specification">
            <language>OCL</language>
            <body>self.upperBound()->notEmpty() and self.lowerBound()->notEmpty() and M.upperBound()->notEmpty() and M.lowerBound()->notEmpty()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:id="MultiplicityElement-includesMultiplicity-spec" name="spec" constrainedElement="MultiplicityElement-includesMultiplicity">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-includesMultiplicity-spec-_specification">
            <language>OCL</language>
            <body>result = ((self.lowerBound() &lt;= M.lowerBound()) and (self.upperBound() >= M.upperBound()))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="MultiplicityElement-includesMultiplicity-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="MultiplicityElement-includesMultiplicity-M" name="M" type="MultiplicityElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="MultiplicityElement-is" name="is" bodyCondition="MultiplicityElement-is-spec" isQuery="true">
        <ownedComment xmi:id="MultiplicityElement-is-_ownedComment.0" annotatedElement="MultiplicityElement-is">
          <body>The operation is determines if the upper and lower bound of the ranges are the ones given.</body>
        </ownedComment>
        <ownedRule xmi:id="MultiplicityElement-is-spec" name="spec" constrainedElement="MultiplicityElement-is">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-is-spec-_specification">
            <language>OCL</language>
            <body>result = (lowerbound = self.lowerBound() and upperbound = self.upperBound())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="MultiplicityElement-is-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="MultiplicityElement-is-lowerbound" name="lowerbound">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
        <ownedParameter xmi:id="MultiplicityElement-is-upperbound" name="upperbound">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="MultiplicityElement-isMultivalued" name="isMultivalued" bodyCondition="MultiplicityElement-isMultivalued-spec" isQuery="true" precondition="MultiplicityElement-isMultivalued-pre">
        <ownedComment xmi:id="MultiplicityElement-isMultivalued-_ownedComment.0" annotatedElement="MultiplicityElement-isMultivalued">
          <body>The query isMultivalued() checks whether this multiplicity has an upper bound greater than one.</body>
        </ownedComment>
        <ownedRule xmi:id="MultiplicityElement-isMultivalued-pre" name="pre" constrainedElement="MultiplicityElement-isMultivalued">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-isMultivalued-pre-_specification">
            <language>OCL</language>
            <body>upperBound()->notEmpty()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:id="MultiplicityElement-isMultivalued-spec" name="spec" constrainedElement="MultiplicityElement-isMultivalued">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-isMultivalued-spec-_specification">
            <language>OCL</language>
            <body>result = (upperBound() > 1)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="MultiplicityElement-isMultivalued-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="MultiplicityElement-lower.1" name="lower" visibility="protected" bodyCondition="MultiplicityElement-lower.1-spec" isQuery="true">
        <ownedComment xmi:id="MultiplicityElement-lower.1-_ownedComment.0" annotatedElement="MultiplicityElement-lower.1">
          <body>The derived lower attribute must equal the lowerBound.</body>
        </ownedComment>
        <ownedRule xmi:id="MultiplicityElement-lower.1-spec" name="spec" constrainedElement="MultiplicityElement-lower.1 MultiplicityElement-lower">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-lower.1-spec-_specification">
            <language>OCL</language>
            <body>result = (lowerBound())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="MultiplicityElement-lower.1-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="MultiplicityElement-lower.1-result-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="MultiplicityElement-lowerBound" name="lowerBound" bodyCondition="MultiplicityElement-lowerBound-spec" isQuery="true">
        <ownedComment xmi:id="MultiplicityElement-lowerBound-_ownedComment.0" annotatedElement="MultiplicityElement-lowerBound">
          <body>The query lowerBound() returns the lower bound of the multiplicity as an integer, which is the integerValue of lowerValue, if this is given, and 1 otherwise.</body>
        </ownedComment>
        <ownedRule xmi:id="MultiplicityElement-lowerBound-spec" name="spec" constrainedElement="MultiplicityElement-lowerBound">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-lowerBound-spec-_specification">
            <language>OCL</language>
            <body>result = (if (lowerValue=null or lowerValue.integerValue()=null) then 1 else lowerValue.integerValue() endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="MultiplicityElement-lowerBound-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="MultiplicityElement-upper.1" name="upper" visibility="protected" bodyCondition="MultiplicityElement-upper.1-spec" isQuery="true">
        <ownedComment xmi:id="MultiplicityElement-upper.1-_ownedComment.0" annotatedElement="MultiplicityElement-upper.1">
          <body>The derived upper attribute must equal the upperBound.</body>
        </ownedComment>
        <ownedRule xmi:id="MultiplicityElement-upper.1-spec" name="spec" constrainedElement="MultiplicityElement-upper.1 MultiplicityElement-upper">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-upper.1-spec-_specification">
            <language>OCL</language>
            <body>result = (upperBound())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="MultiplicityElement-upper.1-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="MultiplicityElement-upper.1-result-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="MultiplicityElement-upperBound" name="upperBound" bodyCondition="MultiplicityElement-upperBound-spec" isQuery="true">
        <ownedComment xmi:id="MultiplicityElement-upperBound-_ownedComment.0" annotatedElement="MultiplicityElement-upperBound">
          <body>The query upperBound() returns the upper bound of the multiplicity for a bounded multiplicity as an unlimited natural, which is the unlimitedNaturalValue of upperValue, if given, and 1, otherwise.</body>
        </ownedComment>
        <ownedRule xmi:id="MultiplicityElement-upperBound-spec" name="spec" constrainedElement="MultiplicityElement-upperBound">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MultiplicityElement-upperBound-spec-_specification">
            <language>OCL</language>
            <body>result = (if (upperValue=null or upperValue.unlimitedValue()=null) then 1 else upperValue.unlimitedValue() endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="MultiplicityElement-upperBound-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="NamedElement" name="NamedElement" isAbstract="true">
      <ownedComment xmi:id="NamedElement-_ownedComment.0" annotatedElement="NamedElement">
        <body>A NamedElement is an Element in a model that may have a name. The name may be given directly and/or via the use of a StringExpression.</body>
      </ownedComment>
      <ownedRule xmi:id="NamedElement-visibility_needs_ownership" name="visibility_needs_ownership" constrainedElement="NamedElement">
        <ownedComment xmi:id="NamedElement-visibility_needs_ownership-_ownedComment.0" annotatedElement="NamedElement-visibility_needs_ownership">
          <body>If a NamedElement is owned by something other than a Namespace, it does not have a visibility. One that is not owned by anything (and hence must be a Package, as this is the only kind of NamedElement that overrides mustBeOwned()) may have a visibility.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="NamedElement-visibility_needs_ownership-_specification">
          <language>OCL</language>
          <body>(namespace = null and owner &lt;> null) implies visibility = null</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="NamedElement-has_qualified_name" name="has_qualified_name" constrainedElement="NamedElement">
        <ownedComment xmi:id="NamedElement-has_qualified_name-_ownedComment.0" annotatedElement="NamedElement-has_qualified_name">
          <body>When there is a name, and all of the containing Namespaces have a name, the qualifiedName is constructed from the name of the NamedElement and the names of the containing Namespaces.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="NamedElement-has_qualified_name-_specification">
          <language>OCL</language>
          <body>(name &lt;> null and allNamespaces()->select(ns | ns.name = null)->isEmpty()) implies
  qualifiedName = allNamespaces()->iterate( ns : Namespace; agg: String = name | ns.name.concat(self.separator()).concat(agg))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="NamedElement-has_no_qualified_name" name="has_no_qualified_name" constrainedElement="NamedElement">
        <ownedComment xmi:id="NamedElement-has_no_qualified_name-_ownedComment.0" annotatedElement="NamedElement-has_no_qualified_name">
          <body>If there is no name, or one of the containing Namespaces has no name, there is no qualifiedName.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="NamedElement-has_no_qualified_name-_specification">
          <language>OCL</language>
          <body>name=null or allNamespaces()->select( ns | ns.name=null )->notEmpty() implies qualifiedName = null</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="NamedElement-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="NamedElement-clientDependency" name="clientDependency" type="Dependency" isReadOnly="true" isDerived="true" subsettedProperty="A_source_directedRelationship-directedRelationship" association="A_clientDependency_client">
        <ownedComment xmi:id="NamedElement-clientDependency-_ownedComment.0" annotatedElement="NamedElement-clientDependency">
          <body>Indicates the Dependencies that reference this NamedElement as a client.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-clientDependency-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="NamedElement-clientDependency-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="NamedElement-name" name="name">
        <ownedComment xmi:id="NamedElement-name-_ownedComment.0" annotatedElement="NamedElement-name">
          <body>The name of the NamedElement.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-name-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="NamedElement-nameExpression" name="nameExpression" type="StringExpression" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_nameExpression_namedElement">
        <ownedComment xmi:id="NamedElement-nameExpression-_ownedComment.0" annotatedElement="NamedElement-nameExpression">
          <body>The StringExpression used to define the name of this NamedElement.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-nameExpression-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="NamedElement-namespace" name="namespace" type="Namespace" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="A_member_memberNamespace-memberNamespace Element-owner" association="A_ownedMember_namespace">
        <ownedComment xmi:id="NamedElement-namespace-_ownedComment.0" annotatedElement="NamedElement-namespace">
          <body>Specifies the Namespace that owns the NamedElement.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-namespace-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="NamedElement-qualifiedName" name="qualifiedName" isReadOnly="true" isDerived="true">
        <ownedComment xmi:id="NamedElement-qualifiedName-_ownedComment.0" annotatedElement="NamedElement-qualifiedName">
          <body>A name that allows the NamedElement to be identified within a hierarchy of nested Namespaces. It is constructed from the names of the containing Namespaces starting at the root of the hierarchy and ending with the name of the NamedElement itself.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-qualifiedName-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="NamedElement-visibility" name="visibility" type="VisibilityKind">
        <ownedComment xmi:id="NamedElement-visibility-_ownedComment.0" annotatedElement="NamedElement-visibility">
          <body>Determines whether and how the NamedElement is visible outside its owning Namespace.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-visibility-_lowerValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="NamedElement-createDependency" name="createDependency">
        <ownedComment xmi:id="NamedElement-createDependency-_ownedComment.0" annotatedElement="NamedElement-createDependency">
          <body>Creates a dependency between this named element and the specified supplier, owned by this named element's nearest package.</body>
        </ownedComment>
        <ownedParameter xmi:id="NamedElement-createDependency-_ownedParameter.0" type="Dependency" direction="return"/>
        <ownedParameter xmi:id="NamedElement-createDependency-supplier" name="supplier" type="NamedElement" effect="read">
          <ownedComment xmi:id="NamedElement-createDependency-supplier-_ownedComment.0" annotatedElement="NamedElement-createDependency-supplier">
            <body>The supplier for the new dependency.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="NamedElement-createUsage" name="createUsage">
        <ownedComment xmi:id="NamedElement-createUsage-_ownedComment.0" annotatedElement="NamedElement-createUsage">
          <body>Creates a usage between this named element and the specified supplier, owned by this named element's nearest package.</body>
        </ownedComment>
        <ownedParameter xmi:id="NamedElement-createUsage-_ownedParameter.0" type="Usage" direction="return"/>
        <ownedParameter xmi:id="NamedElement-createUsage-supplier" name="supplier" type="NamedElement">
          <ownedComment xmi:id="NamedElement-createUsage-supplier-_ownedComment.0" annotatedElement="NamedElement-createUsage-supplier">
            <body>The supplier for the new usage.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="NamedElement-getLabel" name="getLabel" isQuery="true">
        <ownedComment xmi:id="NamedElement-getLabel-_ownedComment.0" annotatedElement="NamedElement-getLabel">
          <body>Retrieves a localized label for this named element.</body>
        </ownedComment>
        <ownedParameter xmi:id="NamedElement-getLabel-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-getLabel-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="NamedElement-getLabel-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="NamedElement-getLabel.1" name="getLabel" isQuery="true">
        <ownedComment xmi:id="NamedElement-getLabel.1-_ownedComment.0" annotatedElement="NamedElement-getLabel.1">
          <body>Retrieves a label for this named element, localized if indicated.</body>
        </ownedComment>
        <ownedParameter xmi:id="NamedElement-getLabel.1-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-getLabel.1-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="NamedElement-getLabel.1-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="NamedElement-getLabel.1-localize" name="localize" effect="read">
          <ownedComment xmi:id="NamedElement-getLabel.1-localize-_ownedComment.0" annotatedElement="NamedElement-getLabel.1-localize">
            <body>Whether to localize the label.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="NamedElement-namespace.1" name="namespace" visibility="protected">
        <ownedParameter xmi:id="NamedElement-namespace.1-result" name="result" type="Namespace" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-namespace.1-result-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="NamedElement-allNamespaces" name="allNamespaces" bodyCondition="NamedElement-allNamespaces-spec" isQuery="true">
        <ownedComment xmi:id="NamedElement-allNamespaces-_ownedComment.0" annotatedElement="NamedElement-allNamespaces">
          <body>The query allNamespaces() gives the sequence of Namespaces in which the NamedElement is nested, working outwards.</body>
        </ownedComment>
        <ownedRule xmi:id="NamedElement-allNamespaces-spec" name="spec" constrainedElement="NamedElement-allNamespaces">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="NamedElement-allNamespaces-spec-_specification">
            <language>OCL</language>
            <body>result = (
if owner = null
  then OrderedSet{}
else
  let enclosingNamespace : Namespace =
    if owner.oclIsKindOf(TemplateParameter) and owner.oclAsType(TemplateParameter).signature.template.oclIsKindOf(Namespace)
      then owner.oclAsType(TemplateParameter).signature.template.oclAsType(Namespace)
    else
      namespace
    endif
  in enclosingNamespace.allNamespaces()->prepend(enclosingNamespace)
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="NamedElement-allNamespaces-result" name="result" type="Namespace" isOrdered="true" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-allNamespaces-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="NamedElement-allNamespaces-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="NamedElement-allOwningPackages" name="allOwningPackages" bodyCondition="NamedElement-allOwningPackages-spec" isQuery="true">
        <ownedComment xmi:id="NamedElement-allOwningPackages-_ownedComment.0" annotatedElement="NamedElement-allOwningPackages">
          <body>The query allOwningPackages() returns the set of all the enclosing Namespaces of this NamedElement, working outwards, that are Packages, up to but not including the first such Namespace that is not a Package.</body>
        </ownedComment>
        <ownedRule xmi:id="NamedElement-allOwningPackages-spec" name="spec" constrainedElement="NamedElement-allOwningPackages">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="NamedElement-allOwningPackages-spec-_specification">
            <language>OCL</language>
            <body>result = (if namespace.oclIsKindOf(Package)&#xD;
then&#xD;
  let owningPackage : Package = namespace.oclAsType(Package) in&#xD;
    owningPackage->union(owningPackage.allOwningPackages())&#xD;
else&#xD;
  null&#xD;
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="NamedElement-allOwningPackages-result" name="result" type="Package" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-allOwningPackages-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="NamedElement-allOwningPackages-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="NamedElement-isDistinguishableFrom" name="isDistinguishableFrom" bodyCondition="NamedElement-isDistinguishableFrom-spec" isQuery="true">
        <ownedComment xmi:id="NamedElement-isDistinguishableFrom-_ownedComment.0" annotatedElement="NamedElement-isDistinguishableFrom">
          <body>The query isDistinguishableFrom() determines whether two NamedElements may logically co-exist within a Namespace. By default, two named elements are distinguishable if (a) they have types neither of which is a kind of the other or (b) they have different names.</body>
        </ownedComment>
        <ownedRule xmi:id="NamedElement-isDistinguishableFrom-spec" name="spec" constrainedElement="NamedElement-isDistinguishableFrom">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="NamedElement-isDistinguishableFrom-spec-_specification">
            <language>OCL</language>
            <body>result = ((self.oclIsKindOf(n.oclType()) or n.oclIsKindOf(self.oclType())) implies
    ns.getNamesOfMember(self)->intersection(ns.getNamesOfMember(n))->isEmpty()
)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="NamedElement-isDistinguishableFrom-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="NamedElement-isDistinguishableFrom-n" name="n" type="NamedElement"/>
        <ownedParameter xmi:id="NamedElement-isDistinguishableFrom-ns" name="ns" type="Namespace"/>
      </ownedOperation>
      <ownedOperation xmi:id="NamedElement-qualifiedName.1" name="qualifiedName" visibility="protected" bodyCondition="NamedElement-qualifiedName.1-spec" isQuery="true">
        <ownedComment xmi:id="NamedElement-qualifiedName.1-_ownedComment.0" annotatedElement="NamedElement-qualifiedName.1">
          <body>When a NamedElement has a name, and all of its containing Namespaces have a name, the qualifiedName is constructed from the name of the NamedElement and the names of the containing Namespaces.</body>
        </ownedComment>
        <ownedRule xmi:id="NamedElement-qualifiedName.1-spec" name="spec" constrainedElement="NamedElement-qualifiedName.1 NamedElement-qualifiedName">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="NamedElement-qualifiedName.1-spec-_specification">
            <language>OCL</language>
            <body>result = (if self.name &lt;> null and self.allNamespaces()->select( ns | ns.name=null )->isEmpty()
then 
    self.allNamespaces()->iterate( ns : Namespace; agg: String = self.name | ns.name.concat(self.separator()).concat(agg))
else
   null
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="NamedElement-qualifiedName.1-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-qualifiedName.1-result-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="NamedElement-separator" name="separator" bodyCondition="NamedElement-separator-spec" isQuery="true">
        <ownedComment xmi:id="NamedElement-separator-_ownedComment.0" annotatedElement="NamedElement-separator">
          <body>The query separator() gives the string that is used to separate names when constructing a qualifiedName.</body>
        </ownedComment>
        <ownedRule xmi:id="NamedElement-separator-spec" name="spec" constrainedElement="NamedElement-separator">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="NamedElement-separator-spec-_specification">
            <language>OCL</language>
            <body>result = ('::')</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="NamedElement-separator-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="NamedElement-clientDependency.1" name="clientDependency" visibility="protected" bodyCondition="NamedElement-clientDependency.1-spec" isQuery="true">
        <ownedRule xmi:id="NamedElement-clientDependency.1-spec" name="spec" constrainedElement="NamedElement-clientDependency.1 NamedElement-clientDependency">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="NamedElement-clientDependency.1-spec-_specification">
            <language>OCL</language>
            <body>result = (Dependency.allInstances()->select(d | d.client->includes(self)))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="NamedElement-clientDependency.1-result" name="result" type="Dependency" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="NamedElement-clientDependency.1-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="NamedElement-clientDependency.1-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Namespace" name="Namespace" isAbstract="true">
      <ownedComment xmi:id="Namespace-_ownedComment.0" annotatedElement="Namespace">
        <body>A Namespace is an Element in a model that owns and/or imports a set of NamedElements that can be identified by name.</body>
      </ownedComment>
      <ownedRule xmi:id="Namespace-members_distinguishable" name="members_distinguishable" constrainedElement="Namespace">
        <ownedComment xmi:id="Namespace-members_distinguishable-_ownedComment.0" annotatedElement="Namespace-members_distinguishable">
          <body>All the members of a Namespace are distinguishable within it.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Namespace-members_distinguishable-_specification">
          <language>OCL</language>
          <body>membersAreDistinguishable()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Namespace-cannot_import_self" name="cannot_import_self" constrainedElement="Namespace">
        <ownedComment xmi:id="Namespace-cannot_import_self-_ownedComment.0" annotatedElement="Namespace-cannot_import_self">
          <body>A Namespace cannot have a PackageImport to itself.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Namespace-cannot_import_self-_specification">
          <language>OCL</language>
          <body>packageImport.importedPackage.oclAsType(Namespace)->excludes(self)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Namespace-cannot_import_ownedMembers" name="cannot_import_ownedMembers" constrainedElement="Namespace">
        <ownedComment xmi:id="Namespace-cannot_import_ownedMembers-_ownedComment.0" annotatedElement="Namespace-cannot_import_ownedMembers">
          <body>A Namespace cannot have an ElementImport to one of its ownedMembers.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Namespace-cannot_import_ownedMembers-_specification">
          <language>OCL</language>
          <body>elementImport.importedElement.oclAsType(Element)->excludesAll(ownedMember)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Namespace-_generalization.0" general="NamedElement"/>
      <ownedAttribute xmi:id="Namespace-elementImport" name="elementImport" type="ElementImport" aggregation="composite" subsettedProperty="A_source_directedRelationship-directedRelationship Element-ownedElement" association="A_elementImport_importingNamespace">
        <ownedComment xmi:id="Namespace-elementImport-_ownedComment.0" annotatedElement="Namespace-elementImport">
          <body>References the ElementImports owned by the Namespace.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-elementImport-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-elementImport-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Namespace-importedMember" name="importedMember" type="PackageableElement" isReadOnly="true" isDerived="true" subsettedProperty="Namespace-member" association="A_importedMember_namespace">
        <ownedComment xmi:id="Namespace-importedMember-_ownedComment.0" annotatedElement="Namespace-importedMember">
          <body>References the PackageableElements that are members of this Namespace as a result of either PackageImports or ElementImports.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-importedMember-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-importedMember-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Namespace-member" name="member" type="NamedElement" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_member_memberNamespace">
        <ownedComment xmi:id="Namespace-member-_ownedComment.0" annotatedElement="Namespace-member">
          <body>A collection of NamedElements identifiable within the Namespace, either by being owned or by being introduced by importing or inheritance.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-member-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-member-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Namespace-ownedMember" name="ownedMember" type="NamedElement" isReadOnly="true" aggregation="composite" isDerived="true" isDerivedUnion="true" subsettedProperty="Element-ownedElement Namespace-member" association="A_ownedMember_namespace">
        <ownedComment xmi:id="Namespace-ownedMember-_ownedComment.0" annotatedElement="Namespace-ownedMember">
          <body>A collection of NamedElements owned by the Namespace.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-ownedMember-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-ownedMember-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Namespace-ownedRule" name="ownedRule" type="Constraint" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_ownedRule_context">
        <ownedComment xmi:id="Namespace-ownedRule-_ownedComment.0" annotatedElement="Namespace-ownedRule">
          <body>Specifies a set of Constraints owned by this Namespace.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-ownedRule-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-ownedRule-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Namespace-packageImport" name="packageImport" type="PackageImport" aggregation="composite" subsettedProperty="A_source_directedRelationship-directedRelationship Element-ownedElement" association="A_packageImport_importingNamespace">
        <ownedComment xmi:id="Namespace-packageImport-_ownedComment.0" annotatedElement="Namespace-packageImport">
          <body>References the PackageImports owned by the Namespace.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-packageImport-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-packageImport-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Namespace-createElementImport" name="createElementImport">
        <ownedComment xmi:id="Namespace-createElementImport-_ownedComment.0" annotatedElement="Namespace-createElementImport">
          <body>Creates an import of the specified element into this namespace with the specified visibility.</body>
        </ownedComment>
        <ownedParameter xmi:id="Namespace-createElementImport-_ownedParameter.0" type="ElementImport" direction="return"/>
        <ownedParameter xmi:id="Namespace-createElementImport-element" name="element" type="PackageableElement" effect="read">
          <ownedComment xmi:id="Namespace-createElementImport-element-_ownedComment.0" annotatedElement="Namespace-createElementImport-element">
            <body>The element to import.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Namespace-createElementImport-visibility" name="visibility" type="VisibilityKind" effect="read">
          <ownedComment xmi:id="Namespace-createElementImport-visibility-_ownedComment.0" annotatedElement="Namespace-createElementImport-visibility">
            <body>The visibility for the new element import.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Namespace-createPackageImport" name="createPackageImport">
        <ownedComment xmi:id="Namespace-createPackageImport-_ownedComment.0" annotatedElement="Namespace-createPackageImport">
          <body>Creates an import of the specified package into this namespace with the specified visibility.</body>
        </ownedComment>
        <ownedParameter xmi:id="Namespace-createPackageImport-_ownedParameter.0" type="PackageImport" direction="return"/>
        <ownedParameter xmi:id="Namespace-createPackageImport-package_" name="package_" type="Package" effect="read">
          <ownedComment xmi:id="Namespace-createPackageImport-package_-_ownedComment.0" annotatedElement="Namespace-createPackageImport-package_">
            <body>The package to import.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Namespace-createPackageImport-visibility" name="visibility" type="VisibilityKind" effect="read">
          <ownedComment xmi:id="Namespace-createPackageImport-visibility-_ownedComment.0" annotatedElement="Namespace-createPackageImport-visibility">
            <body>The visibility for the new package import.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Namespace-getImportedElements" name="getImportedElements" isQuery="true">
        <ownedComment xmi:id="Namespace-getImportedElements-_ownedComment.0" annotatedElement="Namespace-getImportedElements">
          <body>Retrieves the elements imported by this namespace.</body>
        </ownedComment>
        <ownedParameter xmi:id="Namespace-getImportedElements-_ownedParameter.0" type="PackageableElement" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-getImportedElements-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-getImportedElements-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Namespace-getImportedPackages" name="getImportedPackages" isQuery="true">
        <ownedComment xmi:id="Namespace-getImportedPackages-_ownedComment.0" annotatedElement="Namespace-getImportedPackages">
          <body>Retrieves the packages imported by this namespace.</body>
        </ownedComment>
        <ownedParameter xmi:id="Namespace-getImportedPackages-_ownedParameter.0" type="Package" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-getImportedPackages-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-getImportedPackages-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Namespace-ownedMember.1" name="ownedMember" visibility="protected">
        <ownedParameter xmi:id="Namespace-ownedMember.1-result" name="result" type="NamedElement" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-ownedMember.1-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-ownedMember.1-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Namespace-excludeCollisions" name="excludeCollisions" bodyCondition="Namespace-excludeCollisions-spec" isQuery="true">
        <ownedComment xmi:id="Namespace-excludeCollisions-_ownedComment.0" annotatedElement="Namespace-excludeCollisions">
          <body>The query excludeCollisions() excludes from a set of PackageableElements any that would not be distinguishable from each other in this Namespace.</body>
        </ownedComment>
        <ownedRule xmi:id="Namespace-excludeCollisions-spec" name="spec" constrainedElement="Namespace-excludeCollisions">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Namespace-excludeCollisions-spec-_specification">
            <language>OCL</language>
            <body>result = (imps->reject(imp1  | imps->exists(imp2 | not imp1.isDistinguishableFrom(imp2, self))))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Namespace-excludeCollisions-result" name="result" type="PackageableElement" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-excludeCollisions-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-excludeCollisions-result-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Namespace-excludeCollisions-imps" name="imps" type="PackageableElement">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-excludeCollisions-imps-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-excludeCollisions-imps-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Namespace-getNamesOfMember" name="getNamesOfMember" bodyCondition="Namespace-getNamesOfMember-spec" isQuery="true">
        <ownedComment xmi:id="Namespace-getNamesOfMember-_ownedComment.0" annotatedElement="Namespace-getNamesOfMember">
          <body>The query getNamesOfMember() gives a set of all of the names that a member would have in a Namespace, taking importing into account. In general a member can have multiple names in a Namespace if it is imported more than once with different aliases.</body>
        </ownedComment>
        <ownedRule xmi:id="Namespace-getNamesOfMember-spec" name="spec" constrainedElement="Namespace-getNamesOfMember">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Namespace-getNamesOfMember-spec-_specification">
            <language>OCL</language>
            <body>result = (if self.ownedMember ->includes(element)
then Set{element.name}
else let elementImports : Set(ElementImport) = self.elementImport->select(ei | ei.importedElement = element) in
  if elementImports->notEmpty()
  then
     elementImports->collect(el | el.getName())->asSet()
  else 
     self.packageImport->select(pi | pi.importedPackage.visibleMembers().oclAsType(NamedElement)->includes(element))-> collect(pi | pi.importedPackage.getNamesOfMember(element))->asSet()
  endif
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Namespace-getNamesOfMember-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-getNamesOfMember-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-getNamesOfMember-result-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Namespace-getNamesOfMember-element" name="element" type="NamedElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="Namespace-importMembers" name="importMembers" bodyCondition="Namespace-importMembers-spec" isQuery="true">
        <ownedComment xmi:id="Namespace-importMembers-_ownedComment.0" annotatedElement="Namespace-importMembers">
          <body>The query importMembers() defines which of a set of PackageableElements are actually imported into the Namespace. This excludes hidden ones, i.e., those which have names that conflict with names of ownedMembers, and it also excludes PackageableElements that would have the indistinguishable names when imported.</body>
        </ownedComment>
        <ownedRule xmi:id="Namespace-importMembers-spec" name="spec" constrainedElement="Namespace-importMembers">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Namespace-importMembers-spec-_specification">
            <language>OCL</language>
            <body>result = (self.excludeCollisions(imps)->select(imp | self.ownedMember->forAll(mem | imp.isDistinguishableFrom(mem, self))))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Namespace-importMembers-result" name="result" type="PackageableElement" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-importMembers-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-importMembers-result-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Namespace-importMembers-imps" name="imps" type="PackageableElement">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-importMembers-imps-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-importMembers-imps-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Namespace-importedMember.1" name="importedMember" visibility="protected" bodyCondition="Namespace-importedMember.1-spec" isQuery="true">
        <ownedComment xmi:id="Namespace-importedMember.1-_ownedComment.0" annotatedElement="Namespace-importedMember.1">
          <body>The importedMember property is derived as the PackageableElements that are members of this Namespace as a result of either PackageImports or ElementImports.</body>
        </ownedComment>
        <ownedRule xmi:id="Namespace-importedMember.1-spec" name="spec" constrainedElement="Namespace-importedMember.1 Namespace-importedMember">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Namespace-importedMember.1-spec-_specification">
            <language>OCL</language>
            <body>result = (self.importMembers(elementImport.importedElement->asSet()->union(packageImport.importedPackage->collect(p | p.visibleMembers()))->asSet()))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Namespace-importedMember.1-result" name="result" type="PackageableElement" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Namespace-importedMember.1-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Namespace-importedMember.1-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Namespace-membersAreDistinguishable" name="membersAreDistinguishable" bodyCondition="Namespace-membersAreDistinguishable-spec" isQuery="true">
        <ownedComment xmi:id="Namespace-membersAreDistinguishable-_ownedComment.0" annotatedElement="Namespace-membersAreDistinguishable">
          <body>The Boolean query membersAreDistinguishable() determines whether all of the Namespace's members are distinguishable within it.</body>
        </ownedComment>
        <ownedRule xmi:id="Namespace-membersAreDistinguishable-spec" name="spec" constrainedElement="Namespace-membersAreDistinguishable">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Namespace-membersAreDistinguishable-spec-_specification">
            <language>OCL</language>
            <body>result = (member->forAll( memb |
   member->excluding(memb)->forAll(other |
       memb.isDistinguishableFrom(other, self))))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Namespace-membersAreDistinguishable-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="PackageableElement" name="PackageableElement" isAbstract="true">
      <ownedComment xmi:id="PackageableElement-_ownedComment.0" annotatedElement="PackageableElement">
        <body>A PackageableElement is a NamedElement that may be owned directly by a Package. A PackageableElement is also able to serve as the parameteredElement of a TemplateParameter.</body>
      </ownedComment>
      <ownedRule xmi:id="PackageableElement-namespace_needs_visibility" name="namespace_needs_visibility" constrainedElement="PackageableElement">
        <ownedComment xmi:id="PackageableElement-namespace_needs_visibility-_ownedComment.0" annotatedElement="PackageableElement-namespace_needs_visibility">
          <body>A PackageableElement owned by a Namespace must have a visibility.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="PackageableElement-namespace_needs_visibility-_specification">
          <language>OCL</language>
          <body>visibility = null implies namespace = null</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="PackageableElement-_generalization.0" general="ParameterableElement"/>
      <generalization xmi:id="PackageableElement-_generalization.1" general="NamedElement"/>
      <ownedAttribute xmi:id="PackageableElement-visibility" name="visibility" type="VisibilityKind" redefinedProperty="NamedElement-visibility">
        <ownedComment xmi:id="PackageableElement-visibility-_ownedComment.0" annotatedElement="PackageableElement-visibility">
          <body>A PackageableElement must have a visibility specified if it is owned by a Namespace. The default visibility is public.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="PackageableElement-visibility-_lowerValue"/>
        <defaultValue xmi:type="uml:InstanceValue" xmi:id="PackageableElement-visibility-_defaultValue" type="VisibilityKind" instance="VisibilityKind-public"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="PackageImport" name="PackageImport">
      <ownedComment xmi:id="PackageImport-_ownedComment.0" annotatedElement="PackageImport">
        <body>A PackageImport is a Relationship that imports all the non-private members of a Package into the Namespace owning the PackageImport, so that those Elements may be referred to by their unqualified names in the importingNamespace.</body>
      </ownedComment>
      <ownedRule xmi:id="PackageImport-public_or_private" name="public_or_private" constrainedElement="PackageImport">
        <ownedComment xmi:id="PackageImport-public_or_private-_ownedComment.0" annotatedElement="PackageImport-public_or_private">
          <body>The visibility of a PackageImport is either public or private.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="PackageImport-public_or_private-_specification">
          <language>OCL</language>
          <body>visibility = VisibilityKind::public or visibility = VisibilityKind::private</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="PackageImport-_generalization.0" general="DirectedRelationship"/>
      <ownedAttribute xmi:id="PackageImport-importedPackage" name="importedPackage" type="Package" subsettedProperty="DirectedRelationship-target" association="A_importedPackage_packageImport">
        <ownedComment xmi:id="PackageImport-importedPackage-_ownedComment.0" annotatedElement="PackageImport-importedPackage">
          <body>Specifies the Package whose members are imported into a Namespace.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="PackageImport-importingNamespace" name="importingNamespace" type="Namespace" subsettedProperty="DirectedRelationship-source Element-owner" association="A_packageImport_importingNamespace">
        <ownedComment xmi:id="PackageImport-importingNamespace-_ownedComment.0" annotatedElement="PackageImport-importingNamespace">
          <body>Specifies the Namespace that imports the members from a Package.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="PackageImport-visibility" name="visibility" type="VisibilityKind">
        <ownedComment xmi:id="PackageImport-visibility-_ownedComment.0" annotatedElement="PackageImport-visibility">
          <body>Specifies the visibility of the imported PackageableElements within the importingNamespace, i.e., whether imported Elements will in turn be visible to other Namespaces. If the PackageImport is public, the imported Elements will be visible outside the importingNamespace, while, if the PackageImport is private, they will not.</body>
        </ownedComment>
        <defaultValue xmi:type="uml:InstanceValue" xmi:id="PackageImport-visibility-_defaultValue" type="VisibilityKind" instance="VisibilityKind-public"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ParameterableElement" name="ParameterableElement" isAbstract="true">
      <ownedComment xmi:id="ParameterableElement-_ownedComment.0" annotatedElement="ParameterableElement">
        <body>A ParameterableElement is an Element that can be exposed as a formal TemplateParameter for a template, or specified as an actual parameter in a binding of a template.</body>
      </ownedComment>
      <generalization xmi:id="ParameterableElement-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="ParameterableElement-owningTemplateParameter" name="owningTemplateParameter" type="TemplateParameter" subsettedProperty="Element-owner ParameterableElement-templateParameter" association="A_ownedParameteredElement_owningTemplateParameter">
        <ownedComment xmi:id="ParameterableElement-owningTemplateParameter-_ownedComment.0" annotatedElement="ParameterableElement-owningTemplateParameter">
          <body>The formal TemplateParameter that owns this ParameterableElement.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ParameterableElement-owningTemplateParameter-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ParameterableElement-templateParameter" name="templateParameter" type="TemplateParameter" association="A_parameteredElement_templateParameter">
        <ownedComment xmi:id="ParameterableElement-templateParameter-_ownedComment.0" annotatedElement="ParameterableElement-templateParameter">
          <body>The TemplateParameter that exposes this ParameterableElement as a formal parameter.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ParameterableElement-templateParameter-_lowerValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="ParameterableElement-isCompatibleWith" name="isCompatibleWith" bodyCondition="ParameterableElement-isCompatibleWith-spec" isQuery="true">
        <ownedComment xmi:id="ParameterableElement-isCompatibleWith-_ownedComment.0" annotatedElement="ParameterableElement-isCompatibleWith">
          <body>The query isCompatibleWith() determines if this ParameterableElement is compatible with the specified ParameterableElement. By default, this ParameterableElement is compatible with another ParameterableElement p if the kind of this ParameterableElement is the same as or a subtype of the kind of p. Subclasses of ParameterableElement should override this operation to specify different compatibility constraints.</body>
        </ownedComment>
        <ownedRule xmi:id="ParameterableElement-isCompatibleWith-spec" name="spec" constrainedElement="ParameterableElement-isCompatibleWith">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ParameterableElement-isCompatibleWith-spec-_specification">
            <language>OCL</language>
            <body>result = (self.oclIsKindOf(p.oclType()))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="ParameterableElement-isCompatibleWith-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="ParameterableElement-isCompatibleWith-p" name="p" type="ParameterableElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="ParameterableElement-isTemplateParameter" name="isTemplateParameter" bodyCondition="ParameterableElement-isTemplateParameter-spec" isQuery="true">
        <ownedComment xmi:id="ParameterableElement-isTemplateParameter-_ownedComment.0" annotatedElement="ParameterableElement-isTemplateParameter">
          <body>The query isTemplateParameter() determines if this ParameterableElement is exposed as a formal TemplateParameter.</body>
        </ownedComment>
        <ownedRule xmi:id="ParameterableElement-isTemplateParameter-spec" name="spec" constrainedElement="ParameterableElement-isTemplateParameter">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ParameterableElement-isTemplateParameter-spec-_specification">
            <language>OCL</language>
            <body>result = (templateParameter->notEmpty())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="ParameterableElement-isTemplateParameter-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Realization" name="Realization">
      <ownedComment xmi:id="Realization-_ownedComment.0" annotatedElement="Realization">
        <body>Realization is a specialized Abstraction relationship between two sets of model Elements, one representing a specification (the supplier) and the other represents an implementation of the latter (the client). Realization can be used to model stepwise refinement, optimizations, transformations, templates, model synthesis, framework composition, etc.</body>
      </ownedComment>
      <generalization xmi:id="Realization-_generalization.0" general="Abstraction"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Relationship" name="Relationship" isAbstract="true">
      <ownedComment xmi:id="Relationship-_ownedComment.0" annotatedElement="Relationship">
        <body>Relationship is an abstract concept that specifies some kind of relationship between Elements.</body>
      </ownedComment>
      <generalization xmi:id="Relationship-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="Relationship-relatedElement" name="relatedElement" type="Element" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_relatedElement_relationship">
        <ownedComment xmi:id="Relationship-relatedElement-_ownedComment.0" annotatedElement="Relationship-relatedElement">
          <body>Specifies the elements related by the Relationship.</body>
        </ownedComment>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Relationship-relatedElement-_upperValue" value="*"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="TemplateableElement" name="TemplateableElement" isAbstract="true">
      <ownedComment xmi:id="TemplateableElement-_ownedComment.0" annotatedElement="TemplateableElement">
        <body>A TemplateableElement is an Element that can optionally be defined as a template and bound to other templates.</body>
      </ownedComment>
      <generalization xmi:id="TemplateableElement-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="TemplateableElement-ownedTemplateSignature" name="ownedTemplateSignature" type="TemplateSignature" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_ownedTemplateSignature_template">
        <ownedComment xmi:id="TemplateableElement-ownedTemplateSignature-_ownedComment.0" annotatedElement="TemplateableElement-ownedTemplateSignature">
          <body>The optional TemplateSignature specifying the formal TemplateParameters for this TemplateableElement. If a TemplateableElement has a TemplateSignature, then it is a template.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TemplateableElement-ownedTemplateSignature-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="TemplateableElement-templateBinding" name="templateBinding" type="TemplateBinding" aggregation="composite" subsettedProperty="A_source_directedRelationship-directedRelationship Element-ownedElement" association="A_templateBinding_boundElement">
        <ownedComment xmi:id="TemplateableElement-templateBinding-_ownedComment.0" annotatedElement="TemplateableElement-templateBinding">
          <body>The optional TemplateBindings from this TemplateableElement to one or more templates.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TemplateableElement-templateBinding-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="TemplateableElement-templateBinding-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="TemplateableElement-isTemplate" name="isTemplate" bodyCondition="TemplateableElement-isTemplate-spec" isQuery="true">
        <ownedComment xmi:id="TemplateableElement-isTemplate-_ownedComment.0" annotatedElement="TemplateableElement-isTemplate">
          <body>The query isTemplate() returns whether this TemplateableElement is actually a template.</body>
        </ownedComment>
        <ownedRule xmi:id="TemplateableElement-isTemplate-spec" name="spec" constrainedElement="TemplateableElement-isTemplate">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="TemplateableElement-isTemplate-spec-_specification">
            <language>OCL</language>
            <body>result = (ownedTemplateSignature &lt;> null)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="TemplateableElement-isTemplate-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="TemplateableElement-parameterableElements" name="parameterableElements" bodyCondition="TemplateableElement-parameterableElements-spec" isQuery="true">
        <ownedComment xmi:id="TemplateableElement-parameterableElements-_ownedComment.0" annotatedElement="TemplateableElement-parameterableElements">
          <body>The query parameterableElements() returns the set of ParameterableElements that may be used as the parameteredElements for a TemplateParameter of this TemplateableElement. By default, this set includes all the ownedElements. Subclasses may override this operation if they choose to restrict the set of ParameterableElements.</body>
        </ownedComment>
        <ownedRule xmi:id="TemplateableElement-parameterableElements-spec" name="spec" constrainedElement="TemplateableElement-parameterableElements">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="TemplateableElement-parameterableElements-spec-_specification">
            <language>OCL</language>
            <body>result = (self.allOwnedElements()->select(oclIsKindOf(ParameterableElement)).oclAsType(ParameterableElement)->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="TemplateableElement-parameterableElements-result" name="result" type="ParameterableElement" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TemplateableElement-parameterableElements-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="TemplateableElement-parameterableElements-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="TemplateBinding" name="TemplateBinding">
      <ownedComment xmi:id="TemplateBinding-_ownedComment.0" annotatedElement="TemplateBinding">
        <body>A TemplateBinding is a DirectedRelationship between a TemplateableElement and a template. A TemplateBinding specifies the TemplateParameterSubstitutions of actual parameters for the formal parameters of the template.</body>
      </ownedComment>
      <ownedRule xmi:id="TemplateBinding-parameter_substitution_formal" name="parameter_substitution_formal" constrainedElement="TemplateBinding">
        <ownedComment xmi:id="TemplateBinding-parameter_substitution_formal-_ownedComment.0" annotatedElement="TemplateBinding-parameter_substitution_formal">
          <body>Each parameterSubstitution must refer to a formal TemplateParameter of the target TemplateSignature.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="TemplateBinding-parameter_substitution_formal-_specification">
          <language>OCL</language>
          <body>parameterSubstitution->forAll(b | signature.parameter->includes(b.formal))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="TemplateBinding-one_parameter_substitution" name="one_parameter_substitution" constrainedElement="TemplateBinding">
        <ownedComment xmi:id="TemplateBinding-one_parameter_substitution-_ownedComment.0" annotatedElement="TemplateBinding-one_parameter_substitution">
          <body>A TemplateBiinding contains at most one TemplateParameterSubstitution for each formal TemplateParameter of the target TemplateSignature.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="TemplateBinding-one_parameter_substitution-_specification">
          <language>OCL</language>
          <body>signature.parameter->forAll(p | parameterSubstitution->select(b | b.formal = p)->size() &lt;= 1)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="TemplateBinding-_generalization.0" general="DirectedRelationship"/>
      <ownedAttribute xmi:id="TemplateBinding-boundElement" name="boundElement" type="TemplateableElement" subsettedProperty="DirectedRelationship-source Element-owner" association="A_templateBinding_boundElement">
        <ownedComment xmi:id="TemplateBinding-boundElement-_ownedComment.0" annotatedElement="TemplateBinding-boundElement">
          <body>The TemplateableElement that is bound by this TemplateBinding.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="TemplateBinding-parameterSubstitution" name="parameterSubstitution" type="TemplateParameterSubstitution" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_parameterSubstitution_templateBinding">
        <ownedComment xmi:id="TemplateBinding-parameterSubstitution-_ownedComment.0" annotatedElement="TemplateBinding-parameterSubstitution">
          <body>The TemplateParameterSubstitutions owned by this TemplateBinding.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TemplateBinding-parameterSubstitution-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="TemplateBinding-parameterSubstitution-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="TemplateBinding-signature" name="signature" type="TemplateSignature" subsettedProperty="DirectedRelationship-target" association="A_signature_templateBinding">
        <ownedComment xmi:id="TemplateBinding-signature-_ownedComment.0" annotatedElement="TemplateBinding-signature">
          <body>The TemplateSignature for the template that is the target of this TemplateBinding.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="TemplateParameter" name="TemplateParameter">
      <ownedComment xmi:id="TemplateParameter-_ownedComment.0" annotatedElement="TemplateParameter">
        <body>A TemplateParameter exposes a ParameterableElement as a formal parameter of a template.</body>
      </ownedComment>
      <ownedRule xmi:id="TemplateParameter-must_be_compatible" name="must_be_compatible" constrainedElement="TemplateParameter">
        <ownedComment xmi:id="TemplateParameter-must_be_compatible-_ownedComment.0" annotatedElement="TemplateParameter-must_be_compatible">
          <body>The default must be compatible with the formal TemplateParameter.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="TemplateParameter-must_be_compatible-_specification">
          <language>OCL</language>
          <body>default &lt;> null implies default.isCompatibleWith(parameteredElement)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="TemplateParameter-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="TemplateParameter-default" name="default" type="ParameterableElement" association="A_default_templateParameter">
        <ownedComment xmi:id="TemplateParameter-default-_ownedComment.0" annotatedElement="TemplateParameter-default">
          <body>The ParameterableElement that is the default for this formal TemplateParameter.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TemplateParameter-default-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="TemplateParameter-ownedDefault" name="ownedDefault" type="ParameterableElement" aggregation="composite" subsettedProperty="Element-ownedElement TemplateParameter-default" association="A_ownedDefault_templateParameter">
        <ownedComment xmi:id="TemplateParameter-ownedDefault-_ownedComment.0" annotatedElement="TemplateParameter-ownedDefault">
          <body>The ParameterableElement that is owned by this TemplateParameter for the purpose of providing a default.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TemplateParameter-ownedDefault-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="TemplateParameter-ownedParameteredElement" name="ownedParameteredElement" type="ParameterableElement" aggregation="composite" subsettedProperty="Element-ownedElement TemplateParameter-parameteredElement" association="A_ownedParameteredElement_owningTemplateParameter">
        <ownedComment xmi:id="TemplateParameter-ownedParameteredElement-_ownedComment.0" annotatedElement="TemplateParameter-ownedParameteredElement">
          <body>The ParameterableElement that is owned by this TemplateParameter for the purpose of exposing it as the parameteredElement.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TemplateParameter-ownedParameteredElement-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="TemplateParameter-parameteredElement" name="parameteredElement" type="ParameterableElement" association="A_parameteredElement_templateParameter">
        <ownedComment xmi:id="TemplateParameter-parameteredElement-_ownedComment.0" annotatedElement="TemplateParameter-parameteredElement">
          <body>The ParameterableElement exposed by this TemplateParameter.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="TemplateParameter-signature" name="signature" type="TemplateSignature" subsettedProperty="A_parameter_templateSignature-templateSignature Element-owner" association="A_ownedParameter_signature">
        <ownedComment xmi:id="TemplateParameter-signature-_ownedComment.0" annotatedElement="TemplateParameter-signature">
          <body>The TemplateSignature that owns this TemplateParameter.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="TemplateParameterSubstitution" name="TemplateParameterSubstitution">
      <ownedComment xmi:id="TemplateParameterSubstitution-_ownedComment.0" annotatedElement="TemplateParameterSubstitution">
        <body>A TemplateParameterSubstitution relates the actual parameter to a formal TemplateParameter as part of a template binding.</body>
      </ownedComment>
      <ownedRule xmi:id="TemplateParameterSubstitution-must_be_compatible" name="must_be_compatible" constrainedElement="TemplateParameterSubstitution">
        <ownedComment xmi:id="TemplateParameterSubstitution-must_be_compatible-_ownedComment.0" annotatedElement="TemplateParameterSubstitution-must_be_compatible">
          <body>The actual ParameterableElement must be compatible with the formal TemplateParameter, e.g., the actual ParameterableElement for a Class TemplateParameter must be a Class.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="TemplateParameterSubstitution-must_be_compatible-_specification">
          <language>OCL</language>
          <body>actual->forAll(a | a.isCompatibleWith(formal.parameteredElement))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="TemplateParameterSubstitution-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="TemplateParameterSubstitution-actual" name="actual" type="ParameterableElement" association="A_actual_templateParameterSubstitution">
        <ownedComment xmi:id="TemplateParameterSubstitution-actual-_ownedComment.0" annotatedElement="TemplateParameterSubstitution-actual">
          <body>The ParameterableElement that is the actual parameter for this TemplateParameterSubstitution.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="TemplateParameterSubstitution-formal" name="formal" type="TemplateParameter" association="A_formal_templateParameterSubstitution">
        <ownedComment xmi:id="TemplateParameterSubstitution-formal-_ownedComment.0" annotatedElement="TemplateParameterSubstitution-formal">
          <body>The formal TemplateParameter that is associated with this TemplateParameterSubstitution.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="TemplateParameterSubstitution-ownedActual" name="ownedActual" type="ParameterableElement" aggregation="composite" subsettedProperty="Element-ownedElement TemplateParameterSubstitution-actual" association="A_ownedActual_owningTemplateParameterSubstitution">
        <ownedComment xmi:id="TemplateParameterSubstitution-ownedActual-_ownedComment.0" annotatedElement="TemplateParameterSubstitution-ownedActual">
          <body>The ParameterableElement that is owned by this TemplateParameterSubstitution as its actual parameter.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TemplateParameterSubstitution-ownedActual-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="TemplateParameterSubstitution-templateBinding" name="templateBinding" type="TemplateBinding" subsettedProperty="Element-owner" association="A_parameterSubstitution_templateBinding">
        <ownedComment xmi:id="TemplateParameterSubstitution-templateBinding-_ownedComment.0" annotatedElement="TemplateParameterSubstitution-templateBinding">
          <body>The TemplateBinding that owns this TemplateParameterSubstitution.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="TemplateSignature" name="TemplateSignature">
      <ownedComment xmi:id="TemplateSignature-_ownedComment.0" annotatedElement="TemplateSignature">
        <body>A Template Signature bundles the set of formal TemplateParameters for a template.</body>
      </ownedComment>
      <ownedRule xmi:id="TemplateSignature-own_elements" name="own_elements" constrainedElement="TemplateSignature">
        <ownedComment xmi:id="TemplateSignature-own_elements-_ownedComment.0" annotatedElement="TemplateSignature-own_elements">
          <body>Parameters must own the ParameterableElements they parameter or those ParameterableElements must be owned by the TemplateableElement being templated.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="TemplateSignature-own_elements-_specification">
          <language>OCL</language>
          <body>template.ownedElement->includesAll(parameter.parameteredElement->asSet() - parameter.ownedParameteredElement->asSet())</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="TemplateSignature-unique_parameters" name="unique_parameters" constrainedElement="TemplateSignature">
        <ownedComment xmi:id="TemplateSignature-unique_parameters-_ownedComment.0" annotatedElement="TemplateSignature-unique_parameters">
          <body>The names of the parameters of a TemplateSignature are unique.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="TemplateSignature-unique_parameters-_specification">
          <language>OCL</language>
          <body>parameter->forAll( p1, p2 | (p1 &lt;> p2 and p1.parameteredElement.oclIsKindOf(NamedElement) and p2.parameteredElement.oclIsKindOf(NamedElement) ) implies&#xD;
   p1.parameteredElement.oclAsType(NamedElement).name &lt;> p2.parameteredElement.oclAsType(NamedElement).name)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="TemplateSignature-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="TemplateSignature-ownedParameter" name="ownedParameter" type="TemplateParameter" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement TemplateSignature-parameter" association="A_ownedParameter_signature">
        <ownedComment xmi:id="TemplateSignature-ownedParameter-_ownedComment.0" annotatedElement="TemplateSignature-ownedParameter">
          <body>The formal parameters that are owned by this TemplateSignature.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TemplateSignature-ownedParameter-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="TemplateSignature-ownedParameter-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="TemplateSignature-parameter" name="parameter" type="TemplateParameter" isOrdered="true" association="A_parameter_templateSignature">
        <ownedComment xmi:id="TemplateSignature-parameter-_ownedComment.0" annotatedElement="TemplateSignature-parameter">
          <body>The ordered set of all formal TemplateParameters for this TemplateSignature.</body>
        </ownedComment>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="TemplateSignature-parameter-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="TemplateSignature-template" name="template" type="TemplateableElement" subsettedProperty="Element-owner" association="A_ownedTemplateSignature_template">
        <ownedComment xmi:id="TemplateSignature-template-_ownedComment.0" annotatedElement="TemplateSignature-template">
          <body>The TemplateableElement that owns this TemplateSignature.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Type" name="Type" isAbstract="true">
      <ownedComment xmi:id="Type-_ownedComment.0" annotatedElement="Type">
        <body>A Type constrains the values represented by a TypedElement.</body>
      </ownedComment>
      <generalization xmi:id="Type-_generalization.0" general="PackageableElement"/>
      <ownedAttribute xmi:id="Type-package" name="package" type="Package" subsettedProperty="A_packagedElement_owningPackage-owningPackage NamedElement-namespace" association="A_ownedType_package">
        <ownedComment xmi:id="Type-package-_ownedComment.0" annotatedElement="Type-package">
          <body>Specifies the owning Package of this Type, if any.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Type-package-_lowerValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Type-createAssociation" name="createAssociation">
        <ownedComment xmi:id="Type-createAssociation-_ownedComment.0" annotatedElement="Type-createAssociation">
          <body>Creates a(n) (binary) association between this type and the specified other type, with the specified navigabilities, aggregations, names, lower bounds, and upper bounds, and owned by this type's nearest package.</body>
        </ownedComment>
        <ownedParameter xmi:id="Type-createAssociation-_ownedParameter.0" type="Association" direction="return"/>
        <ownedParameter xmi:id="Type-createAssociation-end1IsNavigable" name="end1IsNavigable" effect="read">
          <ownedComment xmi:id="Type-createAssociation-end1IsNavigable-_ownedComment.0" annotatedElement="Type-createAssociation-end1IsNavigable">
            <body>The navigability for the first end of the new association.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Type-createAssociation-end1Aggregation" name="end1Aggregation" type="AggregationKind" effect="read">
          <ownedComment xmi:id="Type-createAssociation-end1Aggregation-_ownedComment.0" annotatedElement="Type-createAssociation-end1Aggregation">
            <body>The aggregation for the first end of the new association.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Type-createAssociation-end1Name" name="end1Name" effect="read">
          <ownedComment xmi:id="Type-createAssociation-end1Name-_ownedComment.0" annotatedElement="Type-createAssociation-end1Name">
            <body>The name for the first end of the new association.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
        <ownedParameter xmi:id="Type-createAssociation-end1Lower" name="end1Lower" effect="read">
          <ownedComment xmi:id="Type-createAssociation-end1Lower-_ownedComment.0" annotatedElement="Type-createAssociation-end1Lower">
            <body>The lower bound for the first end of the new association.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
        <ownedParameter xmi:id="Type-createAssociation-end1Upper" name="end1Upper" effect="read">
          <ownedComment xmi:id="Type-createAssociation-end1Upper-_ownedComment.0" annotatedElement="Type-createAssociation-end1Upper">
            <body>The upper bound for the first end of the new association.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
        <ownedParameter xmi:id="Type-createAssociation-end1Type" name="end1Type" type="Type" effect="read">
          <ownedComment xmi:id="Type-createAssociation-end1Type-_ownedComment.0" annotatedElement="Type-createAssociation-end1Type">
            <body>The type for the first end of the new association.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Type-createAssociation-end2IsNavigable" name="end2IsNavigable" effect="read">
          <ownedComment xmi:id="Type-createAssociation-end2IsNavigable-_ownedComment.0" annotatedElement="Type-createAssociation-end2IsNavigable">
            <body>The navigability for the second end of the new association.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Type-createAssociation-end2Aggregation" name="end2Aggregation" type="AggregationKind" effect="read">
          <ownedComment xmi:id="Type-createAssociation-end2Aggregation-_ownedComment.0" annotatedElement="Type-createAssociation-end2Aggregation">
            <body>The aggregation for the second end of the new association.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Type-createAssociation-end2Name" name="end2Name" effect="read">
          <ownedComment xmi:id="Type-createAssociation-end2Name-_ownedComment.0" annotatedElement="Type-createAssociation-end2Name">
            <body>The name for the second end of the new association.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
        <ownedParameter xmi:id="Type-createAssociation-end2Lower" name="end2Lower" effect="read">
          <ownedComment xmi:id="Type-createAssociation-end2Lower-_ownedComment.0" annotatedElement="Type-createAssociation-end2Lower">
            <body>The lower bound for the second end of the new association.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
        <ownedParameter xmi:id="Type-createAssociation-end2Upper" name="end2Upper" effect="read">
          <ownedComment xmi:id="Type-createAssociation-end2Upper-_ownedComment.0" annotatedElement="Type-createAssociation-end2Upper">
            <body>The upper bound for the second end of the new association.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Type-getAssociations" name="getAssociations">
        <ownedComment xmi:id="Type-getAssociations-_ownedComment.0" annotatedElement="Type-getAssociations">
          <body>Retrieves the associations in which this type is involved.</body>
        </ownedComment>
        <ownedParameter xmi:id="Type-getAssociations-_ownedParameter.0" type="Association" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Type-getAssociations-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Type-getAssociations-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Type-conformsTo" name="conformsTo" bodyCondition="Type-conformsTo-spec" isQuery="true">
        <ownedComment xmi:id="Type-conformsTo-_ownedComment.0" annotatedElement="Type-conformsTo">
          <body>The query conformsTo() gives true for a Type that conforms to another. By default, two Types do not conform to each other. This query is intended to be redefined for specific conformance situations.</body>
        </ownedComment>
        <ownedRule xmi:id="Type-conformsTo-spec" name="spec" constrainedElement="Type-conformsTo">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Type-conformsTo-spec-_specification">
            <language>OCL</language>
            <body>result = (false)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Type-conformsTo-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Type-conformsTo-other" name="other" type="Type"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="TypedElement" name="TypedElement" isAbstract="true">
      <ownedComment xmi:id="TypedElement-_ownedComment.0" annotatedElement="TypedElement">
        <body>A TypedElement is a NamedElement that may have a Type specified for it.</body>
      </ownedComment>
      <generalization xmi:id="TypedElement-_generalization.0" general="NamedElement"/>
      <ownedAttribute xmi:id="TypedElement-type" name="type" type="Type" association="A_type_typedElement">
        <ownedComment xmi:id="TypedElement-type-_ownedComment.0" annotatedElement="TypedElement-type">
          <body>The type of the TypedElement.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TypedElement-type-_lowerValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Usage" name="Usage">
      <ownedComment xmi:id="Usage-_ownedComment.0" annotatedElement="Usage">
        <body>A Usage is a Dependency in which the client Element requires the supplier Element (or set of Elements) for its full implementation or operation.</body>
      </ownedComment>
      <generalization xmi:id="Usage-_generalization.0" general="Dependency"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Enumeration" xmi:id="VisibilityKind" name="VisibilityKind" visibility="private">
      <ownedComment xmi:id="VisibilityKind-_ownedComment.0" annotatedElement="VisibilityKind">
        <body>VisibilityKind is an enumeration type that defines literals to determine the visibility of Elements in a model.</body>
      </ownedComment>
      <ownedLiteral xmi:id="VisibilityKind-public" name="public">
        <ownedComment xmi:id="VisibilityKind-public-_ownedComment.0" annotatedElement="VisibilityKind-public">
          <body>A Named Element with public visibility is visible to all elements that can access the contents of the Namespace that owns it.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="VisibilityKind-private" name="private">
        <ownedComment xmi:id="VisibilityKind-private-_ownedComment.0" annotatedElement="VisibilityKind-private">
          <body>A NamedElement with private visibility is only visible inside the Namespace that owns it.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="VisibilityKind-protected" name="protected">
        <ownedComment xmi:id="VisibilityKind-protected-_ownedComment.0" annotatedElement="VisibilityKind-protected">
          <body>A NamedElement with protected visibility is visible to Elements that have a generalization relationship to the Namespace that owns it.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="VisibilityKind-package" name="package">
        <ownedComment xmi:id="VisibilityKind-package-_ownedComment.0" annotatedElement="VisibilityKind-package">
          <body>A NamedElement with package visibility is visible to all Elements within the nearest enclosing Package (given that other owning Elements have proper visibility). Outside the nearest enclosing Package, a NamedElement marked as having package visibility is not visible.  Only NamedElements that are not owned by Packages can be marked as having package visibility.</body>
        </ownedComment>
      </ownedLiteral>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_type_typedElement" name="A_type_typedElement" visibility="private" memberEnd="TypedElement-type A_type_typedElement-typedElement">
      <ownedEnd xmi:id="A_type_typedElement-typedElement" name="typedElement" type="TypedElement" association="A_type_typedElement">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_type_typedElement-typedElement-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_type_typedElement-typedElement-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedParameter_signature" name="A_ownedParameter_signature" visibility="private" memberEnd="TemplateSignature-ownedParameter TemplateParameter-signature"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_parameter_templateSignature" name="A_parameter_templateSignature" visibility="private" memberEnd="TemplateSignature-parameter A_parameter_templateSignature-templateSignature">
      <ownedEnd xmi:id="A_parameter_templateSignature-templateSignature" name="templateSignature" type="TemplateSignature" association="A_parameter_templateSignature">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_parameter_templateSignature-templateSignature-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_parameter_templateSignature-templateSignature-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_actual_templateParameterSubstitution" name="A_actual_templateParameterSubstitution" visibility="private" memberEnd="TemplateParameterSubstitution-actual A_actual_templateParameterSubstitution-templateParameterSubstitution">
      <ownedEnd xmi:id="A_actual_templateParameterSubstitution-templateParameterSubstitution" name="templateParameterSubstitution" type="TemplateParameterSubstitution" association="A_actual_templateParameterSubstitution">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_actual_templateParameterSubstitution-templateParameterSubstitution-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_actual_templateParameterSubstitution-templateParameterSubstitution-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedActual_owningTemplateParameterSubstitution" name="A_ownedActual_owningTemplateParameterSubstitution" visibility="private" memberEnd="TemplateParameterSubstitution-ownedActual A_ownedActual_owningTemplateParameterSubstitution-owningTemplateParameterSubstitution">
      <generalization xmi:id="A_ownedActual_owningTemplateParameterSubstitution-_generalization.0" general="A_actual_templateParameterSubstitution"/>
      <ownedEnd xmi:id="A_ownedActual_owningTemplateParameterSubstitution-owningTemplateParameterSubstitution" name="owningTemplateParameterSubstitution" type="TemplateParameterSubstitution" redefinedProperty="A_actual_templateParameterSubstitution-templateParameterSubstitution" subsettedProperty="Element-owner" association="A_ownedActual_owningTemplateParameterSubstitution">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedActual_owningTemplateParameterSubstitution-owningTemplateParameterSubstitution-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_formal_templateParameterSubstitution" name="A_formal_templateParameterSubstitution" visibility="private" memberEnd="TemplateParameterSubstitution-formal A_formal_templateParameterSubstitution-templateParameterSubstitution">
      <ownedEnd xmi:id="A_formal_templateParameterSubstitution-templateParameterSubstitution" name="templateParameterSubstitution" type="TemplateParameterSubstitution" association="A_formal_templateParameterSubstitution">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_formal_templateParameterSubstitution-templateParameterSubstitution-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_formal_templateParameterSubstitution-templateParameterSubstitution-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedDefault_templateParameter" name="A_ownedDefault_templateParameter" visibility="private" memberEnd="TemplateParameter-ownedDefault A_ownedDefault_templateParameter-templateParameter">
      <generalization xmi:id="A_ownedDefault_templateParameter-_generalization.0" general="A_default_templateParameter"/>
      <ownedEnd xmi:id="A_ownedDefault_templateParameter-templateParameter" name="templateParameter" type="TemplateParameter" redefinedProperty="A_default_templateParameter-templateParameter" subsettedProperty="Element-owner" association="A_ownedDefault_templateParameter">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedDefault_templateParameter-templateParameter-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedParameteredElement_owningTemplateParameter" name="A_ownedParameteredElement_owningTemplateParameter" visibility="private" memberEnd="TemplateParameter-ownedParameteredElement ParameterableElement-owningTemplateParameter"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_default_templateParameter" name="A_default_templateParameter" visibility="private" memberEnd="TemplateParameter-default A_default_templateParameter-templateParameter">
      <ownedEnd xmi:id="A_default_templateParameter-templateParameter" name="templateParameter" type="TemplateParameter" association="A_default_templateParameter">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_default_templateParameter-templateParameter-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_default_templateParameter-templateParameter-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_parameteredElement_templateParameter" name="A_parameteredElement_templateParameter" visibility="private" memberEnd="TemplateParameter-parameteredElement ParameterableElement-templateParameter"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_signature_templateBinding" name="A_signature_templateBinding" visibility="private" memberEnd="TemplateBinding-signature A_signature_templateBinding-templateBinding">
      <ownedEnd xmi:id="A_signature_templateBinding-templateBinding" name="templateBinding" type="TemplateBinding" subsettedProperty="A_target_directedRelationship-directedRelationship" association="A_signature_templateBinding">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_signature_templateBinding-templateBinding-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_signature_templateBinding-templateBinding-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_parameterSubstitution_templateBinding" name="A_parameterSubstitution_templateBinding" visibility="private" memberEnd="TemplateBinding-parameterSubstitution TemplateParameterSubstitution-templateBinding"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_templateBinding_boundElement" name="A_templateBinding_boundElement" visibility="private" memberEnd="TemplateableElement-templateBinding TemplateBinding-boundElement"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedTemplateSignature_template" name="A_ownedTemplateSignature_template" visibility="private" memberEnd="TemplateableElement-ownedTemplateSignature TemplateSignature-template"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_relatedElement_relationship" name="A_relatedElement_relationship" visibility="private" isDerived="true" memberEnd="Relationship-relatedElement A_relatedElement_relationship-relationship">
      <ownedEnd xmi:id="A_relatedElement_relationship-relationship" name="relationship" type="Relationship" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_relatedElement_relationship">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_relatedElement_relationship-relationship-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_relatedElement_relationship-relationship-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_importedPackage_packageImport" name="A_importedPackage_packageImport" visibility="private" memberEnd="PackageImport-importedPackage A_importedPackage_packageImport-packageImport">
      <ownedEnd xmi:id="A_importedPackage_packageImport-packageImport" name="packageImport" type="PackageImport" subsettedProperty="A_target_directedRelationship-directedRelationship" association="A_importedPackage_packageImport">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_importedPackage_packageImport-packageImport-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_importedPackage_packageImport-packageImport-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_elementImport_importingNamespace" name="A_elementImport_importingNamespace" visibility="private" memberEnd="Namespace-elementImport ElementImport-importingNamespace"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedMember_namespace" name="A_ownedMember_namespace" visibility="private" isDerived="true" memberEnd="Namespace-ownedMember NamedElement-namespace"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedRule_context" name="A_ownedRule_context" visibility="private" memberEnd="Namespace-ownedRule Constraint-context"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_packageImport_importingNamespace" name="A_packageImport_importingNamespace" visibility="private" memberEnd="Namespace-packageImport PackageImport-importingNamespace"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_member_memberNamespace" name="A_member_memberNamespace" visibility="private" isDerived="true" memberEnd="Namespace-member A_member_memberNamespace-memberNamespace">
      <ownedEnd xmi:id="A_member_memberNamespace-memberNamespace" name="memberNamespace" type="Namespace" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="A_member_memberNamespace">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_member_memberNamespace-memberNamespace-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_member_memberNamespace-memberNamespace-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_importedMember_namespace" name="A_importedMember_namespace" visibility="private" isDerived="true" memberEnd="Namespace-importedMember A_importedMember_namespace-namespace">
      <ownedEnd xmi:id="A_importedMember_namespace-namespace" name="namespace" type="Namespace" subsettedProperty="A_member_memberNamespace-memberNamespace" association="A_importedMember_namespace">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_importedMember_namespace-namespace-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_importedMember_namespace-namespace-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_nameExpression_namedElement" name="A_nameExpression_namedElement" visibility="private" memberEnd="NamedElement-nameExpression A_nameExpression_namedElement-namedElement">
      <ownedEnd xmi:id="A_nameExpression_namedElement-namedElement" name="namedElement" type="NamedElement" subsettedProperty="Element-owner" association="A_nameExpression_namedElement">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_nameExpression_namedElement-namedElement-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_clientDependency_client" name="A_clientDependency_client" visibility="private" memberEnd="NamedElement-clientDependency Dependency-client A_clientDependency_client-_ownedEnd.0">
      <ownedEnd xmi:id="A_clientDependency_client-_ownedEnd.0" visibility="private" type="Dependency" association="A_clientDependency_client">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_clientDependency_client-_ownedEnd.0-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_clientDependency_client-_ownedEnd.0-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_lowerValue_owningLower" name="A_lowerValue_owningLower" visibility="private" memberEnd="MultiplicityElement-lowerValue A_lowerValue_owningLower-owningLower">
      <ownedEnd xmi:id="A_lowerValue_owningLower-owningLower" name="owningLower" type="MultiplicityElement" subsettedProperty="Element-owner" association="A_lowerValue_owningLower">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_lowerValue_owningLower-owningLower-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_upperValue_owningUpper" name="A_upperValue_owningUpper" visibility="private" memberEnd="MultiplicityElement-upperValue A_upperValue_owningUpper-owningUpper">
      <ownedEnd xmi:id="A_upperValue_owningUpper-owningUpper" name="owningUpper" type="MultiplicityElement" subsettedProperty="Element-owner" association="A_upperValue_owningUpper">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_upperValue_owningUpper-owningUpper-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_importedElement_import" name="A_importedElement_import" visibility="private" memberEnd="ElementImport-importedElement A_importedElement_import-import">
      <ownedEnd xmi:id="A_importedElement_import-import" name="import" type="ElementImport" subsettedProperty="A_target_directedRelationship-directedRelationship" association="A_importedElement_import">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_importedElement_import-import-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_importedElement_import-import-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedElement_owner" name="A_ownedElement_owner" visibility="private" isDerived="true" memberEnd="Element-ownedElement Element-owner"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedComment_owningElement" name="A_ownedComment_owningElement" visibility="private" memberEnd="Element-ownedComment A_ownedComment_owningElement-owningElement">
      <ownedEnd xmi:id="A_ownedComment_owningElement-owningElement" name="owningElement" type="Element" subsettedProperty="Element-owner" association="A_ownedComment_owningElement">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedComment_owningElement-owningElement-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_source_directedRelationship" name="A_source_directedRelationship" visibility="private" isDerived="true" memberEnd="DirectedRelationship-source A_source_directedRelationship-directedRelationship">
      <ownedEnd xmi:id="A_source_directedRelationship-directedRelationship" name="directedRelationship" type="DirectedRelationship" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="A_relatedElement_relationship-relationship" association="A_source_directedRelationship">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_source_directedRelationship-directedRelationship-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_source_directedRelationship-directedRelationship-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_target_directedRelationship" name="A_target_directedRelationship" visibility="private" isDerived="true" memberEnd="DirectedRelationship-target A_target_directedRelationship-directedRelationship">
      <ownedEnd xmi:id="A_target_directedRelationship-directedRelationship" name="directedRelationship" type="DirectedRelationship" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="A_relatedElement_relationship-relationship" association="A_target_directedRelationship">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_target_directedRelationship-directedRelationship-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_target_directedRelationship-directedRelationship-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_supplier_supplierDependency" name="A_supplier_supplierDependency" visibility="private" memberEnd="Dependency-supplier A_supplier_supplierDependency-supplierDependency">
      <ownedEnd xmi:id="A_supplier_supplierDependency-supplierDependency" name="supplierDependency" type="Dependency" subsettedProperty="A_target_directedRelationship-directedRelationship" association="A_supplier_supplierDependency">
        <ownedComment xmi:id="A_supplier_supplierDependency-supplierDependency-_ownedComment.0" annotatedElement="A_supplier_supplierDependency-supplierDependency">
          <body>Indicates the dependencies that reference the supplier.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_supplier_supplierDependency-supplierDependency-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_supplier_supplierDependency-supplierDependency-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_constrainedElement_constraint" name="A_constrainedElement_constraint" visibility="private" memberEnd="Constraint-constrainedElement A_constrainedElement_constraint-constraint">
      <ownedEnd xmi:id="A_constrainedElement_constraint-constraint" name="constraint" type="Constraint" association="A_constrainedElement_constraint">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_constrainedElement_constraint-constraint-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_constrainedElement_constraint-constraint-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_specification_owningConstraint" name="A_specification_owningConstraint" visibility="private" memberEnd="Constraint-specification A_specification_owningConstraint-owningConstraint">
      <ownedEnd xmi:id="A_specification_owningConstraint-owningConstraint" name="owningConstraint" type="Constraint" subsettedProperty="Element-owner" association="A_specification_owningConstraint">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_specification_owningConstraint-owningConstraint-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_annotatedElement_comment" name="A_annotatedElement_comment" visibility="private" memberEnd="Comment-annotatedElement A_annotatedElement_comment-comment">
      <ownedEnd xmi:id="A_annotatedElement_comment-comment" name="comment" type="Comment" association="A_annotatedElement_comment">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_annotatedElement_comment-comment-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_annotatedElement_comment-comment-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_mapping_abstraction" name="A_mapping_abstraction" visibility="private" memberEnd="Abstraction-mapping A_mapping_abstraction-abstraction">
      <ownedEnd xmi:id="A_mapping_abstraction-abstraction" name="abstraction" type="Abstraction" subsettedProperty="Element-owner" association="A_mapping_abstraction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_mapping_abstraction-abstraction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Artifact" name="Artifact">
      <ownedComment xmi:id="Artifact-_ownedComment.0" annotatedElement="Artifact">
        <body>An artifact is the specification of a physical piece of information that is used or produced by a software development process, or by deployment and operation of a system. Examples of artifacts include model files, source files, scripts, and binary executable files, a table in a database system, a development deliverable, or a word-processing document, a mail message.
An artifact is the source of a deployment to a node.</body>
      </ownedComment>
      <generalization xmi:id="Artifact-_generalization.0" general="Classifier"/>
      <generalization xmi:id="Artifact-_generalization.1" general="DeployedArtifact"/>
      <ownedAttribute xmi:id="Artifact-fileName" name="fileName">
        <ownedComment xmi:id="Artifact-fileName-_ownedComment.0" annotatedElement="Artifact-fileName">
          <body>A concrete name that is used to refer to the Artifact in a physical context. Example: file system name, universal resource locator.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-fileName-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Artifact-manifestation" name="manifestation" type="Manifestation" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_manifestation_artifact">
        <ownedComment xmi:id="Artifact-manifestation-_ownedComment.0" annotatedElement="Artifact-manifestation">
          <body>The set of model elements that are manifested in the Artifact. That is, these model elements are utilized in the construction (or generation) of the artifact.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-manifestation-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Artifact-manifestation-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Artifact-nestedArtifact" name="nestedArtifact" type="Artifact" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_nestedArtifact_artifact">
        <ownedComment xmi:id="Artifact-nestedArtifact-_ownedComment.0" annotatedElement="Artifact-nestedArtifact">
          <body>The Artifacts that are defined (nested) within the Artifact. The association is a specialization of the ownedMember association from Namespace to NamedElement.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-nestedArtifact-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Artifact-nestedArtifact-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Artifact-ownedAttribute" name="ownedAttribute" type="Property" isOrdered="true" aggregation="composite" subsettedProperty="Classifier-attribute Namespace-ownedMember" association="A_ownedAttribute_artifact">
        <ownedComment xmi:id="Artifact-ownedAttribute-_ownedComment.0" annotatedElement="Artifact-ownedAttribute">
          <body>The attributes or association ends defined for the Artifact. The association is a specialization of the ownedMember association.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-ownedAttribute-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Artifact-ownedAttribute-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Artifact-ownedOperation" name="ownedOperation" type="Operation" isOrdered="true" aggregation="composite" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement Classifier-feature Namespace-ownedMember" association="A_ownedOperation_artifact">
        <ownedComment xmi:id="Artifact-ownedOperation-_ownedComment.0" annotatedElement="Artifact-ownedOperation">
          <body>The Operations defined for the Artifact. The association is a specialization of the ownedMember association.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-ownedOperation-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Artifact-ownedOperation-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Artifact-createOwnedAttribute" name="createOwnedAttribute">
        <ownedComment xmi:id="Artifact-createOwnedAttribute-_ownedComment.0" annotatedElement="Artifact-createOwnedAttribute">
          <body>Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this artifact.</body>
        </ownedComment>
        <ownedParameter xmi:id="Artifact-createOwnedAttribute-_ownedParameter.0" type="Property" direction="return"/>
        <ownedParameter xmi:id="Artifact-createOwnedAttribute-name" name="name" effect="read">
          <ownedComment xmi:id="Artifact-createOwnedAttribute-name-_ownedComment.0" annotatedElement="Artifact-createOwnedAttribute-name">
            <body>The name for the new attribute, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-createOwnedAttribute-name-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Artifact-createOwnedAttribute-name-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Artifact-createOwnedAttribute-type" name="type" type="Type" effect="read">
          <ownedComment xmi:id="Artifact-createOwnedAttribute-type-_ownedComment.0" annotatedElement="Artifact-createOwnedAttribute-type">
            <body>The type for the new attribute, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-createOwnedAttribute-type-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Artifact-createOwnedAttribute-type-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Artifact-createOwnedAttribute-lower" name="lower" effect="read">
          <ownedComment xmi:id="Artifact-createOwnedAttribute-lower-_ownedComment.0" annotatedElement="Artifact-createOwnedAttribute-lower">
            <body>The lower bound for the new attribute.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
        <ownedParameter xmi:id="Artifact-createOwnedAttribute-upper" name="upper" effect="read">
          <ownedComment xmi:id="Artifact-createOwnedAttribute-upper-_ownedComment.0" annotatedElement="Artifact-createOwnedAttribute-upper">
            <body>The upper bound for the new attribute.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Artifact-createOwnedOperation" name="createOwnedOperation">
        <ownedComment xmi:id="Artifact-createOwnedOperation-_ownedComment.0" annotatedElement="Artifact-createOwnedOperation">
          <body>Creates an operation with the specified name, parameter names, parameter types, and return type (or null) as an owned operation of this artifact.</body>
        </ownedComment>
        <ownedParameter xmi:id="Artifact-createOwnedOperation-_ownedParameter.0" type="Operation" direction="return"/>
        <ownedParameter xmi:id="Artifact-createOwnedOperation-name" name="name" effect="read">
          <ownedComment xmi:id="Artifact-createOwnedOperation-name-_ownedComment.0" annotatedElement="Artifact-createOwnedOperation-name">
            <body>The name for the new operation, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-createOwnedOperation-name-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Artifact-createOwnedOperation-name-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Artifact-createOwnedOperation-parameterNames" name="parameterNames" effect="read">
          <ownedComment xmi:id="Artifact-createOwnedOperation-parameterNames-_ownedComment.0" annotatedElement="Artifact-createOwnedOperation-parameterNames">
            <body>The parameter names for  the new operation, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-createOwnedOperation-parameterNames-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Artifact-createOwnedOperation-parameterNames-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Artifact-createOwnedOperation-parameterTypes" name="parameterTypes" type="Type" effect="read">
          <ownedComment xmi:id="Artifact-createOwnedOperation-parameterTypes-_ownedComment.0" annotatedElement="Artifact-createOwnedOperation-parameterTypes">
            <body>The parameter types for the new operation, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-createOwnedOperation-parameterTypes-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Artifact-createOwnedOperation-parameterTypes-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Artifact-createOwnedOperation-returnType" name="returnType" type="Type" effect="read">
          <ownedComment xmi:id="Artifact-createOwnedOperation-returnType-_ownedComment.0" annotatedElement="Artifact-createOwnedOperation-returnType">
            <body>The return type for the new operation, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Artifact-createOwnedOperation-returnType-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Artifact-createOwnedOperation-returnType-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="CommunicationPath" name="CommunicationPath">
      <ownedComment xmi:id="CommunicationPath-_ownedComment.0" annotatedElement="CommunicationPath">
        <body>A communication path is an association between two deployment targets, through which they are able to exchange signals and messages.</body>
      </ownedComment>
      <ownedRule xmi:id="CommunicationPath-association_ends" name="association_ends" constrainedElement="CommunicationPath">
        <ownedComment xmi:id="CommunicationPath-association_ends-_ownedComment.0" annotatedElement="CommunicationPath-association_ends">
          <body>The association ends of a CommunicationPath are typed by DeploymentTargets.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="CommunicationPath-association_ends-_specification">
          <language>OCL</language>
          <body>endType->forAll (oclIsKindOf(DeploymentTarget))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="CommunicationPath-_generalization.0" general="Association"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="DeployedArtifact" name="DeployedArtifact" isAbstract="true">
      <ownedComment xmi:id="DeployedArtifact-_ownedComment.0" annotatedElement="DeployedArtifact">
        <body>A deployed artifact is an artifact or artifact instance that has been deployed to a deployment target.</body>
      </ownedComment>
      <generalization xmi:id="DeployedArtifact-_generalization.0" general="NamedElement"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Deployment" name="Deployment">
      <ownedComment xmi:id="Deployment-_ownedComment.0" annotatedElement="Deployment">
        <body>A deployment is the allocation of an artifact or artifact instance to a deployment target.
A component deployment is the deployment of one or more artifacts or artifact instances to a deployment target, optionally parameterized by a deployment specification. Examples are executables and configuration files.</body>
      </ownedComment>
      <generalization xmi:id="Deployment-_generalization.0" general="Dependency"/>
      <ownedAttribute xmi:id="Deployment-configuration" name="configuration" type="DeploymentSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_configuration_deployment">
        <ownedComment xmi:id="Deployment-configuration-_ownedComment.0" annotatedElement="Deployment-configuration">
          <body>The specification of properties that parameterize the deployment and execution of one or more Artifacts.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Deployment-configuration-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Deployment-configuration-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Deployment-deployedArtifact" name="deployedArtifact" type="DeployedArtifact" subsettedProperty="Dependency-supplier" association="A_deployedArtifact_deploymentForArtifact">
        <ownedComment xmi:id="Deployment-deployedArtifact-_ownedComment.0" annotatedElement="Deployment-deployedArtifact">
          <body>The Artifacts that are deployed onto a Node. This association specializes the supplier association.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Deployment-deployedArtifact-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Deployment-deployedArtifact-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Deployment-location" name="location" type="DeploymentTarget" subsettedProperty="Dependency-client Element-owner" association="A_deployment_location">
        <ownedComment xmi:id="Deployment-location-_ownedComment.0" annotatedElement="Deployment-location">
          <body>The DeployedTarget which is the target of a Deployment.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="DeploymentSpecification" name="DeploymentSpecification">
      <ownedComment xmi:id="DeploymentSpecification-_ownedComment.0" annotatedElement="DeploymentSpecification">
        <body>A deployment specification specifies a set of properties that determine execution parameters of a component artifact that is deployed on a node. A deployment specification can be aimed at a specific type of container. An artifact that reifies or implements deployment specification properties is a deployment descriptor.</body>
      </ownedComment>
      <ownedRule xmi:id="DeploymentSpecification-deployment_target" name="deployment_target" constrainedElement="DeploymentSpecification">
        <ownedComment xmi:id="DeploymentSpecification-deployment_target-_ownedComment.0" annotatedElement="DeploymentSpecification-deployment_target">
          <body>The DeploymentTarget of a DeploymentSpecification is a kind of ExecutionEnvironment.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="DeploymentSpecification-deployment_target-_specification">
          <language>OCL</language>
          <body>deployment->forAll (location.oclIsKindOf(ExecutionEnvironment))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="DeploymentSpecification-deployed_elements" name="deployed_elements" constrainedElement="DeploymentSpecification">
        <ownedComment xmi:id="DeploymentSpecification-deployed_elements-_ownedComment.0" annotatedElement="DeploymentSpecification-deployed_elements">
          <body>The deployedElements of a DeploymentTarget that are involved in a Deployment that has an associated Deployment-Specification is a kind of Component (i.e., the configured components).</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="DeploymentSpecification-deployed_elements-_specification">
          <language>OCL</language>
          <body>deployment->forAll (location.deployedElement->forAll (oclIsKindOf(Component)))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="DeploymentSpecification-_generalization.0" general="Artifact"/>
      <ownedAttribute xmi:id="DeploymentSpecification-deployment" name="deployment" type="Deployment" subsettedProperty="Element-owner" association="A_configuration_deployment">
        <ownedComment xmi:id="DeploymentSpecification-deployment-_ownedComment.0" annotatedElement="DeploymentSpecification-deployment">
          <body>The deployment with which the DeploymentSpecification is associated.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DeploymentSpecification-deployment-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="DeploymentSpecification-deploymentLocation" name="deploymentLocation">
        <ownedComment xmi:id="DeploymentSpecification-deploymentLocation-_ownedComment.0" annotatedElement="DeploymentSpecification-deploymentLocation">
          <body>The location where an Artifact is deployed onto a Node. This is typically a 'directory' or 'memory address.'</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DeploymentSpecification-deploymentLocation-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="DeploymentSpecification-executionLocation" name="executionLocation">
        <ownedComment xmi:id="DeploymentSpecification-executionLocation-_ownedComment.0" annotatedElement="DeploymentSpecification-executionLocation">
          <body>The location where a component Artifact executes. This may be a local or remote location.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DeploymentSpecification-executionLocation-_lowerValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="DeploymentTarget" name="DeploymentTarget" isAbstract="true">
      <ownedComment xmi:id="DeploymentTarget-_ownedComment.0" annotatedElement="DeploymentTarget">
        <body>A deployment target is the location for a deployed artifact.</body>
      </ownedComment>
      <generalization xmi:id="DeploymentTarget-_generalization.0" general="NamedElement"/>
      <ownedAttribute xmi:id="DeploymentTarget-deployedElement" name="deployedElement" type="PackageableElement" isReadOnly="true" isDerived="true" association="A_deployedElement_deploymentTarget">
        <ownedComment xmi:id="DeploymentTarget-deployedElement-_ownedComment.0" annotatedElement="DeploymentTarget-deployedElement">
          <body>The set of elements that are manifested in an Artifact that is involved in Deployment to a DeploymentTarget.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DeploymentTarget-deployedElement-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DeploymentTarget-deployedElement-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="DeploymentTarget-deployment" name="deployment" type="Deployment" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_deployment_location">
        <ownedComment xmi:id="DeploymentTarget-deployment-_ownedComment.0" annotatedElement="DeploymentTarget-deployment">
          <body>The set of Deployments for a DeploymentTarget.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DeploymentTarget-deployment-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DeploymentTarget-deployment-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="DeploymentTarget-deployedElement.1" name="deployedElement" visibility="protected" bodyCondition="DeploymentTarget-deployedElement.1-spec" isQuery="true">
        <ownedComment xmi:id="DeploymentTarget-deployedElement.1-_ownedComment.0" annotatedElement="DeploymentTarget-deployedElement.1">
          <body>Derivation for DeploymentTarget::/deployedElement</body>
        </ownedComment>
        <ownedRule xmi:id="DeploymentTarget-deployedElement.1-spec" name="spec" constrainedElement="DeploymentTarget-deployedElement.1 DeploymentTarget-deployedElement">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="DeploymentTarget-deployedElement.1-spec-_specification">
            <language>OCL</language>
            <body>result = (deployment.deployedArtifact->select(oclIsKindOf(Artifact))->collect(oclAsType(Artifact).manifestation)->collect(utilizedElement)->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="DeploymentTarget-deployedElement.1-result" name="result" type="PackageableElement" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DeploymentTarget-deployedElement.1-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DeploymentTarget-deployedElement.1-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Device" name="Device">
      <ownedComment xmi:id="Device-_ownedComment.0" annotatedElement="Device">
        <body>A device is a physical computational resource with processing capability upon which artifacts may be deployed for execution. Devices may be complex (i.e., they may consist of other devices).</body>
      </ownedComment>
      <generalization xmi:id="Device-_generalization.0" general="Node"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ExecutionEnvironment" name="ExecutionEnvironment">
      <ownedComment xmi:id="ExecutionEnvironment-_ownedComment.0" annotatedElement="ExecutionEnvironment">
        <body>An execution environment is a node that offers an execution environment for specific types of components that are deployed on it in the form of executable artifacts.</body>
      </ownedComment>
      <generalization xmi:id="ExecutionEnvironment-_generalization.0" general="Node"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Manifestation" name="Manifestation">
      <ownedComment xmi:id="Manifestation-_ownedComment.0" annotatedElement="Manifestation">
        <body>A manifestation is the concrete physical rendering of one or more model elements by an artifact.</body>
      </ownedComment>
      <generalization xmi:id="Manifestation-_generalization.0" general="Abstraction"/>
      <ownedAttribute xmi:id="Manifestation-utilizedElement" name="utilizedElement" type="PackageableElement" subsettedProperty="Dependency-supplier" association="A_utilizedElement_manifestation">
        <ownedComment xmi:id="Manifestation-utilizedElement-_ownedComment.0" annotatedElement="Manifestation-utilizedElement">
          <body>The model element that is utilized in the manifestation in an Artifact.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Node" name="Node">
      <ownedComment xmi:id="Node-_ownedComment.0" annotatedElement="Node">
        <body>A Node is computational resource upon which artifacts may be deployed for execution. Nodes can be interconnected through communication paths to define network structures.</body>
      </ownedComment>
      <ownedRule xmi:id="Node-internal_structure" name="internal_structure" constrainedElement="Node">
        <ownedComment xmi:id="Node-internal_structure-_ownedComment.0" annotatedElement="Node-internal_structure">
          <body>The internal structure of a Node (if defined) consists solely of parts of type Node.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Node-internal_structure-_specification">
          <language>OCL</language>
          <body>part->forAll(oclIsKindOf(Node))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Node-_generalization.0" general="Class"/>
      <generalization xmi:id="Node-_generalization.1" general="DeploymentTarget"/>
      <ownedAttribute xmi:id="Node-nestedNode" name="nestedNode" type="Node" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_nestedNode_node">
        <ownedComment xmi:id="Node-nestedNode-_ownedComment.0" annotatedElement="Node-nestedNode">
          <body>The Nodes that are defined (nested) within the Node.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Node-nestedNode-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Node-nestedNode-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Node-createCommunicationPath" name="createCommunicationPath">
        <ownedComment xmi:id="Node-createCommunicationPath-_ownedComment.0" annotatedElement="Node-createCommunicationPath">
          <body>Creates a (binary) communication path between this node and the specified other node, with the specified navigabilities, aggregations, names, lower bounds, and upper bounds, and owned by this node's nearest package.</body>
        </ownedComment>
        <ownedParameter xmi:id="Node-createCommunicationPath-_ownedParameter.0" type="CommunicationPath" direction="return"/>
        <ownedParameter xmi:id="Node-createCommunicationPath-end1IsNavigable" name="end1IsNavigable" effect="read">
          <ownedComment xmi:id="Node-createCommunicationPath-end1IsNavigable-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end1IsNavigable">
            <body>The navigability for the first end of the new communication path.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Node-createCommunicationPath-end1Aggregation" name="end1Aggregation" type="AggregationKind" effect="read">
          <ownedComment xmi:id="Node-createCommunicationPath-end1Aggregation-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end1Aggregation">
            <body>The aggregation for the first end of the new communication path.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Node-createCommunicationPath-end1Name" name="end1Name" effect="read">
          <ownedComment xmi:id="Node-createCommunicationPath-end1Name-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end1Name">
            <body>The name for the first end of the new communication path.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
        <ownedParameter xmi:id="Node-createCommunicationPath-end1Lower" name="end1Lower" effect="read">
          <ownedComment xmi:id="Node-createCommunicationPath-end1Lower-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end1Lower">
            <body>The lower bound for the first end of the new communication path.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
        <ownedParameter xmi:id="Node-createCommunicationPath-end1Upper" name="end1Upper" effect="read">
          <ownedComment xmi:id="Node-createCommunicationPath-end1Upper-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end1Upper">
            <body>The upper bound for the first end of the new communication path.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
        <ownedParameter xmi:id="Node-createCommunicationPath-end1Node" name="end1Node" type="Node" effect="read">
          <ownedComment xmi:id="Node-createCommunicationPath-end1Node-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end1Node">
            <body>The type for the first end of the new communication path.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Node-createCommunicationPath-end2IsNavigable" name="end2IsNavigable" effect="read">
          <ownedComment xmi:id="Node-createCommunicationPath-end2IsNavigable-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end2IsNavigable">
            <body>The navigability for the second end of the new communication path.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Node-createCommunicationPath-end2Aggregation" name="end2Aggregation" type="AggregationKind" effect="read">
          <ownedComment xmi:id="Node-createCommunicationPath-end2Aggregation-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end2Aggregation">
            <body>The aggregation for the second end of the new communication path.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Node-createCommunicationPath-end2Name" name="end2Name" effect="read">
          <ownedComment xmi:id="Node-createCommunicationPath-end2Name-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end2Name">
            <body>The name for the second end of the new communication path.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
        <ownedParameter xmi:id="Node-createCommunicationPath-end2Lower" name="end2Lower" effect="read">
          <ownedComment xmi:id="Node-createCommunicationPath-end2Lower-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end2Lower">
            <body>The lower bound for the second end of the new communication path.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
        <ownedParameter xmi:id="Node-createCommunicationPath-end2Upper" name="end2Upper" effect="read">
          <ownedComment xmi:id="Node-createCommunicationPath-end2Upper-_ownedComment.0" annotatedElement="Node-createCommunicationPath-end2Upper">
            <body>The upper bound for the second end of the new communication path.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Node-getCommunicationPaths" name="getCommunicationPaths">
        <ownedComment xmi:id="Node-getCommunicationPaths-_ownedComment.0" annotatedElement="Node-getCommunicationPaths">
          <body>Retrieves the communication paths in which this node is involved.</body>
        </ownedComment>
        <ownedParameter xmi:id="Node-getCommunicationPaths-_ownedParameter.0" type="CommunicationPath" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Node-getCommunicationPaths-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Node-getCommunicationPaths-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_nestedNode_node" name="A_nestedNode_node" visibility="private" memberEnd="Node-nestedNode A_nestedNode_node-node">
      <ownedEnd xmi:id="A_nestedNode_node-node" name="node" type="Node" subsettedProperty="NamedElement-namespace" association="A_nestedNode_node">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_nestedNode_node-node-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_utilizedElement_manifestation" name="A_utilizedElement_manifestation" visibility="private" memberEnd="Manifestation-utilizedElement A_utilizedElement_manifestation-manifestation">
      <ownedEnd xmi:id="A_utilizedElement_manifestation-manifestation" name="manifestation" type="Manifestation" subsettedProperty="A_supplier_supplierDependency-supplierDependency" association="A_utilizedElement_manifestation">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_utilizedElement_manifestation-manifestation-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_utilizedElement_manifestation-manifestation-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_deployedElement_deploymentTarget" name="A_deployedElement_deploymentTarget" visibility="private" isDerived="true" memberEnd="DeploymentTarget-deployedElement A_deployedElement_deploymentTarget-deploymentTarget">
      <ownedEnd xmi:id="A_deployedElement_deploymentTarget-deploymentTarget" name="deploymentTarget" type="DeploymentTarget" association="A_deployedElement_deploymentTarget">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_deployedElement_deploymentTarget-deploymentTarget-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_deployedElement_deploymentTarget-deploymentTarget-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_deployment_location" name="A_deployment_location" visibility="private" memberEnd="DeploymentTarget-deployment Deployment-location"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_deployedArtifact_deploymentForArtifact" name="A_deployedArtifact_deploymentForArtifact" visibility="private" memberEnd="Deployment-deployedArtifact A_deployedArtifact_deploymentForArtifact-deploymentForArtifact">
      <ownedEnd xmi:id="A_deployedArtifact_deploymentForArtifact-deploymentForArtifact" name="deploymentForArtifact" type="Deployment" subsettedProperty="A_supplier_supplierDependency-supplierDependency" association="A_deployedArtifact_deploymentForArtifact">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_deployedArtifact_deploymentForArtifact-deploymentForArtifact-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_deployedArtifact_deploymentForArtifact-deploymentForArtifact-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_configuration_deployment" name="A_configuration_deployment" visibility="private" memberEnd="Deployment-configuration DeploymentSpecification-deployment"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedAttribute_artifact" name="A_ownedAttribute_artifact" visibility="private" memberEnd="Artifact-ownedAttribute A_ownedAttribute_artifact-artifact">
      <ownedEnd xmi:id="A_ownedAttribute_artifact-artifact" name="artifact" type="Artifact" subsettedProperty="A_attribute_classifier-classifier NamedElement-namespace" association="A_ownedAttribute_artifact">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedAttribute_artifact-artifact-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedOperation_artifact" name="A_ownedOperation_artifact" visibility="private" memberEnd="Artifact-ownedOperation A_ownedOperation_artifact-artifact">
      <ownedEnd xmi:id="A_ownedOperation_artifact-artifact" name="artifact" type="Artifact" subsettedProperty="Feature-featuringClassifier NamedElement-namespace RedefinableElement-redefinitionContext" association="A_ownedOperation_artifact">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedOperation_artifact-artifact-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_nestedArtifact_artifact" name="A_nestedArtifact_artifact" visibility="private" memberEnd="Artifact-nestedArtifact A_nestedArtifact_artifact-artifact">
      <ownedEnd xmi:id="A_nestedArtifact_artifact-artifact" name="artifact" type="Artifact" subsettedProperty="NamedElement-namespace" association="A_nestedArtifact_artifact">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_nestedArtifact_artifact-artifact-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_manifestation_artifact" name="A_manifestation_artifact" visibility="private" memberEnd="Artifact-manifestation A_manifestation_artifact-artifact">
      <ownedEnd xmi:id="A_manifestation_artifact-artifact" name="artifact" type="Artifact" subsettedProperty="Dependency-client Element-owner" association="A_manifestation_artifact"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="InformationFlow" name="InformationFlow">
      <ownedComment xmi:id="InformationFlow-_ownedComment.0" annotatedElement="InformationFlow">
        <body>InformationFlows describe circulation of information through a system in a general manner. They do not specify the nature of the information, mechanisms by which it is conveyed, sequences of exchange or any control conditions. During more detailed modeling, representation and realization links may be added to specify which model elements implement an InformationFlow and to show how information is conveyed.  InformationFlows require some kind of “information channel” for unidirectional transmission of information items from sources to targets.  They specify the information channel’s realizations, if any, and identify the information that flows along them.  Information moving along the information channel may be represented by abstract InformationItems and by concrete Classifiers.</body>
      </ownedComment>
      <ownedRule xmi:id="InformationFlow-must_conform" name="must_conform" constrainedElement="InformationFlow">
        <ownedComment xmi:id="InformationFlow-must_conform-_ownedComment.0" annotatedElement="InformationFlow-must_conform">
          <body>The sources and targets of the information flow must conform to the sources and targets or conversely the targets and sources of the realization relationships.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="InformationFlow-must_conform-_specification" language=""/>
      </ownedRule>
      <ownedRule xmi:id="InformationFlow-sources_and_targets_kind" name="sources_and_targets_kind" constrainedElement="InformationFlow">
        <ownedComment xmi:id="InformationFlow-sources_and_targets_kind-_ownedComment.0" annotatedElement="InformationFlow-sources_and_targets_kind">
          <body>The sources and targets of the information flow can only be one of the following kind: Actor, Node, UseCase, Artifact, Class, Component, Port, Property, Interface, Package, ActivityNode, ActivityPartition,&#xD;
Behavior and InstanceSpecification except when its classifier is a relationship (i.e. it represents a link).</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="InformationFlow-sources_and_targets_kind-_specification">
          <language>OCL</language>
          <body>(self.informationSource->forAll( sis |&#xD;
  oclIsKindOf(Actor) or oclIsKindOf(Node) or oclIsKindOf(UseCase) or oclIsKindOf(Artifact) or &#xD;
  oclIsKindOf(Class) or oclIsKindOf(Component) or oclIsKindOf(Port) or oclIsKindOf(Property) or &#xD;
  oclIsKindOf(Interface) or oclIsKindOf(Package) or oclIsKindOf(ActivityNode) or oclIsKindOf(ActivityPartition) or &#xD;
  (oclIsKindOf(InstanceSpecification) and not sis.oclAsType(InstanceSpecification).classifier->exists(oclIsKindOf(Relationship))))) &#xD;
&#xD;
and&#xD;
&#xD;
(self.informationTarget->forAll( sit | &#xD;
  oclIsKindOf(Actor) or oclIsKindOf(Node) or oclIsKindOf(UseCase) or oclIsKindOf(Artifact) or &#xD;
  oclIsKindOf(Class) or oclIsKindOf(Component) or oclIsKindOf(Port) or oclIsKindOf(Property) or &#xD;
  oclIsKindOf(Interface) or oclIsKindOf(Package) or oclIsKindOf(ActivityNode) or oclIsKindOf(ActivityPartition) or &#xD;
(oclIsKindOf(InstanceSpecification) and not sit.oclAsType(InstanceSpecification).classifier->exists(oclIsKindOf(Relationship)))))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="InformationFlow-convey_classifiers" name="convey_classifiers" constrainedElement="InformationFlow">
        <ownedComment xmi:id="InformationFlow-convey_classifiers-_ownedComment.0" annotatedElement="InformationFlow-convey_classifiers">
          <body>An information flow can only convey classifiers that are allowed to represent an information item.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="InformationFlow-convey_classifiers-_specification">
          <language>OCL</language>
          <body>self.conveyed->forAll(oclIsKindOf(Class) or oclIsKindOf(Interface)&#xD;
  or oclIsKindOf(InformationItem) or oclIsKindOf(Signal) or oclIsKindOf(Component))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="InformationFlow-_generalization.0" general="DirectedRelationship"/>
      <generalization xmi:id="InformationFlow-_generalization.1" general="PackageableElement"/>
      <ownedAttribute xmi:id="InformationFlow-conveyed" name="conveyed" type="Classifier" association="A_conveyed_conveyingFlow">
        <ownedComment xmi:id="InformationFlow-conveyed-_ownedComment.0" annotatedElement="InformationFlow-conveyed">
          <body>Specifies the information items that may circulate on this information flow.</body>
        </ownedComment>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InformationFlow-conveyed-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="InformationFlow-informationSource" name="informationSource" type="NamedElement" subsettedProperty="DirectedRelationship-source" association="A_informationSource_informationFlow">
        <ownedComment xmi:id="InformationFlow-informationSource-_ownedComment.0" annotatedElement="InformationFlow-informationSource">
          <body>Defines from which source the conveyed InformationItems are initiated.</body>
        </ownedComment>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InformationFlow-informationSource-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="InformationFlow-informationTarget" name="informationTarget" type="NamedElement" subsettedProperty="DirectedRelationship-target" association="A_informationTarget_informationFlow">
        <ownedComment xmi:id="InformationFlow-informationTarget-_ownedComment.0" annotatedElement="InformationFlow-informationTarget">
          <body>Defines to which target the conveyed InformationItems are directed.</body>
        </ownedComment>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InformationFlow-informationTarget-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="InformationFlow-realization" name="realization" type="Relationship" association="A_realization_abstraction_flow">
        <ownedComment xmi:id="InformationFlow-realization-_ownedComment.0" annotatedElement="InformationFlow-realization">
          <body>Determines which Relationship will realize the specified flow.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InformationFlow-realization-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InformationFlow-realization-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="InformationFlow-realizingActivityEdge" name="realizingActivityEdge" type="ActivityEdge" association="A_realizingActivityEdge_informationFlow">
        <ownedComment xmi:id="InformationFlow-realizingActivityEdge-_ownedComment.0" annotatedElement="InformationFlow-realizingActivityEdge">
          <body>Determines which ActivityEdges will realize the specified flow.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InformationFlow-realizingActivityEdge-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InformationFlow-realizingActivityEdge-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="InformationFlow-realizingConnector" name="realizingConnector" type="Connector" association="A_realizingConnector_informationFlow">
        <ownedComment xmi:id="InformationFlow-realizingConnector-_ownedComment.0" annotatedElement="InformationFlow-realizingConnector">
          <body>Determines which Connectors will realize the specified flow.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InformationFlow-realizingConnector-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InformationFlow-realizingConnector-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="InformationFlow-realizingMessage" name="realizingMessage" type="Message" association="A_realizingMessage_informationFlow">
        <ownedComment xmi:id="InformationFlow-realizingMessage-_ownedComment.0" annotatedElement="InformationFlow-realizingMessage">
          <body>Determines which Messages will realize the specified flow.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InformationFlow-realizingMessage-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InformationFlow-realizingMessage-_upperValue" value="*"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="InformationItem" name="InformationItem">
      <ownedComment xmi:id="InformationItem-_ownedComment.0" annotatedElement="InformationItem">
        <body>InformationItems represent many kinds of information that can flow from sources to targets in very abstract ways.  They represent the kinds of information that may move within a system, but do not elaborate details of the transferred information.  Details of transferred information are the province of other Classifiers that may ultimately define InformationItems.  Consequently, InformationItems cannot be instantiated and do not themselves have features, generalizations, or associations. An important use of InformationItems is to represent information during early design stages, possibly before the detailed modeling decisions that will ultimately define them have been made. Another purpose of InformationItems is to abstract portions of complex models in less precise, but perhaps more general and communicable, ways.</body>
      </ownedComment>
      <ownedRule xmi:id="InformationItem-sources_and_targets" name="sources_and_targets" constrainedElement="InformationItem">
        <ownedComment xmi:id="InformationItem-sources_and_targets-_ownedComment.0" annotatedElement="InformationItem-sources_and_targets">
          <body>The sources and targets of an information item (its related information flows) must designate subsets of the sources and targets of the representation information item, if any. The Classifiers that can realize an information item can only be of the following kind: Class, Interface, InformationItem, Signal, Component.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="InformationItem-sources_and_targets-_specification">
          <language>OCL</language>
          <body>(self.represented->select(oclIsKindOf(InformationItem))->forAll(p |&#xD;
  p.conveyingFlow.source->forAll(q | self.conveyingFlow.source->includes(q)) and&#xD;
    p.conveyingFlow.target->forAll(q | self.conveyingFlow.target->includes(q)))) and&#xD;
      (self.represented->forAll(oclIsKindOf(Class) or oclIsKindOf(Interface) or&#xD;
        oclIsKindOf(InformationItem) or oclIsKindOf(Signal) or oclIsKindOf(Component)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="InformationItem-has_no" name="has_no" constrainedElement="InformationItem">
        <ownedComment xmi:id="InformationItem-has_no-_ownedComment.0" annotatedElement="InformationItem-has_no">
          <body>An informationItem has no feature, no generalization, and no associations.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="InformationItem-has_no-_specification">
          <language>OCL</language>
          <body>self.generalization->isEmpty() and self.feature->isEmpty()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="InformationItem-not_instantiable" name="not_instantiable" constrainedElement="InformationItem">
        <ownedComment xmi:id="InformationItem-not_instantiable-_ownedComment.0" annotatedElement="InformationItem-not_instantiable">
          <body>It is not instantiable.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="InformationItem-not_instantiable-_specification">
          <language>OCL</language>
          <body>isAbstract</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="InformationItem-_generalization.0" general="Classifier"/>
      <ownedAttribute xmi:id="InformationItem-represented" name="represented" type="Classifier" association="A_represented_representation">
        <ownedComment xmi:id="InformationItem-represented-_ownedComment.0" annotatedElement="InformationItem-represented">
          <body>Determines the classifiers that will specify the structure and nature of the information. An information item represents all its represented classifiers.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InformationItem-represented-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InformationItem-represented-_upperValue" value="*"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_represented_representation" name="A_represented_representation" visibility="private" memberEnd="InformationItem-represented A_represented_representation-representation">
      <ownedEnd xmi:id="A_represented_representation-representation" name="representation" type="InformationItem" association="A_represented_representation">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_represented_representation-representation-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_represented_representation-representation-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_conveyed_conveyingFlow" name="A_conveyed_conveyingFlow" visibility="private" memberEnd="InformationFlow-conveyed A_conveyed_conveyingFlow-conveyingFlow">
      <ownedEnd xmi:id="A_conveyed_conveyingFlow-conveyingFlow" name="conveyingFlow" type="InformationFlow" association="A_conveyed_conveyingFlow">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_conveyed_conveyingFlow-conveyingFlow-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_conveyed_conveyingFlow-conveyingFlow-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_realizingActivityEdge_informationFlow" name="A_realizingActivityEdge_informationFlow" visibility="private" memberEnd="InformationFlow-realizingActivityEdge A_realizingActivityEdge_informationFlow-informationFlow">
      <ownedEnd xmi:id="A_realizingActivityEdge_informationFlow-informationFlow" name="informationFlow" type="InformationFlow" association="A_realizingActivityEdge_informationFlow">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_realizingActivityEdge_informationFlow-informationFlow-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_realizingActivityEdge_informationFlow-informationFlow-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_realizingMessage_informationFlow" name="A_realizingMessage_informationFlow" visibility="private" memberEnd="InformationFlow-realizingMessage A_realizingMessage_informationFlow-informationFlow">
      <ownedEnd xmi:id="A_realizingMessage_informationFlow-informationFlow" name="informationFlow" type="InformationFlow" association="A_realizingMessage_informationFlow">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_realizingMessage_informationFlow-informationFlow-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_realizingMessage_informationFlow-informationFlow-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_informationSource_informationFlow" name="A_informationSource_informationFlow" visibility="private" memberEnd="InformationFlow-informationSource A_informationSource_informationFlow-informationFlow">
      <ownedEnd xmi:id="A_informationSource_informationFlow-informationFlow" name="informationFlow" type="InformationFlow" subsettedProperty="A_source_directedRelationship-directedRelationship" association="A_informationSource_informationFlow">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_informationSource_informationFlow-informationFlow-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_informationSource_informationFlow-informationFlow-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_realization_abstraction_flow" name="A_realization_abstraction_flow" visibility="private" memberEnd="InformationFlow-realization A_realization_abstraction_flow-abstraction">
      <ownedEnd xmi:id="A_realization_abstraction_flow-abstraction" name="abstraction" type="InformationFlow" association="A_realization_abstraction_flow">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_realization_abstraction_flow-abstraction-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_realization_abstraction_flow-abstraction-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_realizingConnector_informationFlow" name="A_realizingConnector_informationFlow" visibility="private" memberEnd="InformationFlow-realizingConnector A_realizingConnector_informationFlow-informationFlow">
      <ownedEnd xmi:id="A_realizingConnector_informationFlow-informationFlow" name="informationFlow" type="InformationFlow" association="A_realizingConnector_informationFlow">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_realizingConnector_informationFlow-informationFlow-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_realizingConnector_informationFlow-informationFlow-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_informationTarget_informationFlow" name="A_informationTarget_informationFlow" visibility="private" memberEnd="InformationFlow-informationTarget A_informationTarget_informationFlow-informationFlow">
      <ownedEnd xmi:id="A_informationTarget_informationFlow-informationFlow" name="informationFlow" type="InformationFlow" subsettedProperty="A_target_directedRelationship-directedRelationship" association="A_informationTarget_informationFlow">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_informationTarget_informationFlow-informationFlow-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_informationTarget_informationFlow-informationFlow-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ActionExecutionSpecification" name="ActionExecutionSpecification">
      <ownedComment xmi:id="ActionExecutionSpecification-_ownedComment.0" annotatedElement="ActionExecutionSpecification">
        <body>An ActionExecutionSpecification is a kind of ExecutionSpecification representing the execution of an Action.</body>
      </ownedComment>
      <ownedRule xmi:id="ActionExecutionSpecification-action_referenced" name="action_referenced" constrainedElement="ActionExecutionSpecification">
        <ownedComment xmi:id="ActionExecutionSpecification-action_referenced-_ownedComment.0" annotatedElement="ActionExecutionSpecification-action_referenced">
          <body>The Action referenced by the ActionExecutionSpecification must be owned by the Interaction owning that ActionExecutionSpecification.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ActionExecutionSpecification-action_referenced-_specification">
          <language>OCL</language>
          <body>(enclosingInteraction->notEmpty() or enclosingOperand.combinedFragment->notEmpty()) and&#xD;
let parentInteraction : Set(Interaction) = enclosingInteraction.oclAsType(Interaction)->asSet()->union(&#xD;
enclosingOperand.combinedFragment->closure(enclosingOperand.combinedFragment)->&#xD;
collect(enclosingInteraction).oclAsType(Interaction)->asSet()) in&#xD;
(parentInteraction->size() = 1) and self.action.interaction->asSet() = parentInteraction</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ActionExecutionSpecification-_generalization.0" general="ExecutionSpecification"/>
      <ownedAttribute xmi:id="ActionExecutionSpecification-action" name="action" type="Action" association="A_action_actionExecutionSpecification">
        <ownedComment xmi:id="ActionExecutionSpecification-action-_ownedComment.0" annotatedElement="ActionExecutionSpecification-action">
          <body>Action whose execution is occurring.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="BehaviorExecutionSpecification" name="BehaviorExecutionSpecification">
      <ownedComment xmi:id="BehaviorExecutionSpecification-_ownedComment.0" annotatedElement="BehaviorExecutionSpecification">
        <body>A BehaviorExecutionSpecification is a kind of ExecutionSpecification representing the execution of a Behavior.</body>
      </ownedComment>
      <generalization xmi:id="BehaviorExecutionSpecification-_generalization.0" general="ExecutionSpecification"/>
      <ownedAttribute xmi:id="BehaviorExecutionSpecification-behavior" name="behavior" type="Behavior" association="A_behavior_behaviorExecutionSpecification">
        <ownedComment xmi:id="BehaviorExecutionSpecification-behavior-_ownedComment.0" annotatedElement="BehaviorExecutionSpecification-behavior">
          <body>Behavior whose execution is occurring.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehaviorExecutionSpecification-behavior-_lowerValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="CombinedFragment" name="CombinedFragment">
      <ownedComment xmi:id="CombinedFragment-_ownedComment.0" annotatedElement="CombinedFragment">
        <body>A CombinedFragment defines an expression of InteractionFragments. A CombinedFragment is defined by an interaction operator and corresponding InteractionOperands. Through the use of CombinedFragments the user will be able to describe a number of traces in a compact and concise manner.</body>
      </ownedComment>
      <ownedRule xmi:id="CombinedFragment-break" name="break" constrainedElement="CombinedFragment">
        <ownedComment xmi:id="CombinedFragment-break-_ownedComment.0" annotatedElement="CombinedFragment-break">
          <body>If the interactionOperator is break, the corresponding InteractionOperand must cover all Lifelines covered by the enclosing InteractionFragment.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="CombinedFragment-break-_specification">
          <language>OCL</language>
          <body>interactionOperator=InteractionOperatorKind::break  implies   &#xD;
enclosingInteraction.oclAsType(InteractionFragment)->asSet()->union(&#xD;
   enclosingOperand.oclAsType(InteractionFragment)->asSet()).covered->asSet() = self.covered->asSet()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="CombinedFragment-consider_and_ignore" name="consider_and_ignore" constrainedElement="CombinedFragment">
        <ownedComment xmi:id="CombinedFragment-consider_and_ignore-_ownedComment.0" annotatedElement="CombinedFragment-consider_and_ignore">
          <body>The interaction operators 'consider' and 'ignore' can only be used for the ConsiderIgnoreFragment subtype of CombinedFragment</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="CombinedFragment-consider_and_ignore-_specification">
          <language>OCL</language>
          <body>((interactionOperator = InteractionOperatorKind::consider) or (interactionOperator =  InteractionOperatorKind::ignore)) implies oclIsKindOf(ConsiderIgnoreFragment)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="CombinedFragment-opt_loop_break_neg" name="opt_loop_break_neg" constrainedElement="CombinedFragment">
        <ownedComment xmi:id="CombinedFragment-opt_loop_break_neg-_ownedComment.0" annotatedElement="CombinedFragment-opt_loop_break_neg">
          <body>If the interactionOperator is opt, loop, break, assert or neg, there must be exactly one operand.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="CombinedFragment-opt_loop_break_neg-_specification">
          <language>OCL</language>
          <body>(interactionOperator =  InteractionOperatorKind::opt or interactionOperator = InteractionOperatorKind::loop or&#xD;
interactionOperator = InteractionOperatorKind::break or interactionOperator = InteractionOperatorKind::assert or&#xD;
interactionOperator = InteractionOperatorKind::neg)&#xD;
implies operand->size()=1</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="CombinedFragment-_generalization.0" general="InteractionFragment"/>
      <ownedAttribute xmi:id="CombinedFragment-cfragmentGate" name="cfragmentGate" type="Gate" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_cfragmentGate_combinedFragment">
        <ownedComment xmi:id="CombinedFragment-cfragmentGate-_ownedComment.0" annotatedElement="CombinedFragment-cfragmentGate">
          <body>Specifies the gates that form the interface between this CombinedFragment and its surroundings</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="CombinedFragment-cfragmentGate-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="CombinedFragment-cfragmentGate-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="CombinedFragment-interactionOperator" name="interactionOperator" type="InteractionOperatorKind">
        <ownedComment xmi:id="CombinedFragment-interactionOperator-_ownedComment.0" annotatedElement="CombinedFragment-interactionOperator">
          <body>Specifies the operation which defines the semantics of this combination of InteractionFragments.</body>
        </ownedComment>
        <defaultValue xmi:type="uml:InstanceValue" xmi:id="CombinedFragment-interactionOperator-_defaultValue" type="InteractionOperatorKind" instance="InteractionOperatorKind-seq"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="CombinedFragment-operand" name="operand" type="InteractionOperand" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_operand_combinedFragment">
        <ownedComment xmi:id="CombinedFragment-operand-_ownedComment.0" annotatedElement="CombinedFragment-operand">
          <body>The set of operands of the combined fragment.</body>
        </ownedComment>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="CombinedFragment-operand-_upperValue" value="*"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ConsiderIgnoreFragment" name="ConsiderIgnoreFragment">
      <ownedComment xmi:id="ConsiderIgnoreFragment-_ownedComment.0" annotatedElement="ConsiderIgnoreFragment">
        <body>A ConsiderIgnoreFragment is a kind of CombinedFragment that is used for the consider and ignore cases, which require lists of pertinent Messages to be specified.</body>
      </ownedComment>
      <ownedRule xmi:id="ConsiderIgnoreFragment-consider_or_ignore" name="consider_or_ignore" constrainedElement="ConsiderIgnoreFragment">
        <ownedComment xmi:id="ConsiderIgnoreFragment-consider_or_ignore-_ownedComment.0" annotatedElement="ConsiderIgnoreFragment-consider_or_ignore">
          <body>The interaction operator of a ConsiderIgnoreFragment must be either 'consider' or 'ignore'.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ConsiderIgnoreFragment-consider_or_ignore-_specification">
          <language>OCL</language>
          <body>(interactionOperator =  InteractionOperatorKind::consider) or (interactionOperator =  InteractionOperatorKind::ignore)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ConsiderIgnoreFragment-type" name="type" constrainedElement="ConsiderIgnoreFragment">
        <ownedComment xmi:id="ConsiderIgnoreFragment-type-_ownedComment.0" annotatedElement="ConsiderIgnoreFragment-type">
          <body>The NamedElements must be of a type of element that can be a signature for a message (i.e.., an Operation, or a Signal).</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ConsiderIgnoreFragment-type-_specification">
          <language>OCL</language>
          <body>message->forAll(m | m.oclIsKindOf(Operation) or m.oclIsKindOf(Signal))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ConsiderIgnoreFragment-_generalization.0" general="CombinedFragment"/>
      <ownedAttribute xmi:id="ConsiderIgnoreFragment-message" name="message" type="NamedElement" association="A_message_considerIgnoreFragment">
        <ownedComment xmi:id="ConsiderIgnoreFragment-message-_ownedComment.0" annotatedElement="ConsiderIgnoreFragment-message">
          <body>The set of messages that apply to this fragment.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ConsiderIgnoreFragment-message-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ConsiderIgnoreFragment-message-_upperValue" value="*"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Continuation" name="Continuation">
      <ownedComment xmi:id="Continuation-_ownedComment.0" annotatedElement="Continuation">
        <body>A Continuation is a syntactic way to define continuations of different branches of an alternative CombinedFragment. Continuations are intuitively similar to labels representing intermediate points in a flow of control.</body>
      </ownedComment>
      <ownedRule xmi:id="Continuation-first_or_last_interaction_fragment" name="first_or_last_interaction_fragment" constrainedElement="Continuation">
        <ownedComment xmi:id="Continuation-first_or_last_interaction_fragment-_ownedComment.0" annotatedElement="Continuation-first_or_last_interaction_fragment">
          <body>Continuations always occur as the very first InteractionFragment or the very last InteractionFragment of the enclosing InteractionOperand.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Continuation-first_or_last_interaction_fragment-_specification">
          <language>OCL</language>
          <body> enclosingOperand->notEmpty() and &#xD;
 let peerFragments : OrderedSet(InteractionFragment) =  enclosingOperand.fragment in &#xD;
   ( peerFragments->notEmpty() and &#xD;
   ((peerFragments->first() = self) or  (peerFragments->last() = self)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Continuation-same_name" name="same_name" constrainedElement="Continuation">
        <ownedComment xmi:id="Continuation-same_name-_ownedComment.0" annotatedElement="Continuation-same_name">
          <body>Across all Interaction instances having the same context value, every Lifeline instance covered by a Continuation (self) must be common with one covered Lifeline instance of all other Continuation instances with the same name as self, and every Lifeline instance covered by a Continuation instance with the same name as self must be common with one covered Lifeline instance of self. Lifeline instances are common if they have the same selector and represents associationEnd values.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Continuation-same_name-_specification">
          <language>OCL</language>
          <body>enclosingOperand.combinedFragment->notEmpty() and&#xD;
let parentInteraction : Set(Interaction) = &#xD;
enclosingOperand.combinedFragment->closure(enclosingOperand.combinedFragment)->&#xD;
collect(enclosingInteraction).oclAsType(Interaction)->asSet()&#xD;
in &#xD;
(parentInteraction->size() = 1) &#xD;
and let peerInteractions : Set(Interaction) =&#xD;
 (parentInteraction->union(parentInteraction->collect(_'context')->collect(behavior)->&#xD;
 select(oclIsKindOf(Interaction)).oclAsType(Interaction)->asSet())->asSet()) in&#xD;
 (peerInteractions->notEmpty()) and &#xD;
  let combinedFragments1 : Set(CombinedFragment) = peerInteractions.fragment->&#xD;
 select(oclIsKindOf(CombinedFragment)).oclAsType(CombinedFragment)->asSet() in&#xD;
   combinedFragments1->notEmpty() and  combinedFragments1->closure(operand.fragment->&#xD;
   select(oclIsKindOf(CombinedFragment)).oclAsType(CombinedFragment))->asSet().operand.fragment->&#xD;
   select(oclIsKindOf(Continuation)).oclAsType(Continuation)->asSet()->&#xD;
   forAll(c : Continuation |  (c.name = self.name) implies &#xD;
  (c.covered->asSet()->forAll(cl : Lifeline | --  cl must be common to one lifeline covered by self&#xD;
  self.covered->asSet()->&#xD;
  select(represents = cl.represents and selector = cl.selector)->asSet()->size()=1))&#xD;
   and&#xD;
 (self.covered->asSet()->forAll(cl : Lifeline | --  cl must be common to one lifeline covered by c&#xD;
 c.covered->asSet()->&#xD;
  select(represents = cl.represents and selector = cl.selector)->asSet()->size()=1))&#xD;
  )</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Continuation-global" name="global" constrainedElement="Continuation">
        <ownedComment xmi:id="Continuation-global-_ownedComment.0" annotatedElement="Continuation-global">
          <body>Continuations are always global in the enclosing InteractionFragment e.g., it always covers all Lifelines covered by the enclosing InteractionOperator.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Continuation-global-_specification">
          <language>OCL</language>
          <body>enclosingOperand->notEmpty() and&#xD;
  let operandLifelines : Set(Lifeline) =  enclosingOperand.covered in &#xD;
    (operandLifelines->notEmpty() and &#xD;
    operandLifelines->forAll(ol :Lifeline |self.covered->includes(ol)))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Continuation-_generalization.0" general="InteractionFragment"/>
      <ownedAttribute xmi:id="Continuation-setting" name="setting">
        <ownedComment xmi:id="Continuation-setting-_ownedComment.0" annotatedElement="Continuation-setting">
          <body>True: when the Continuation is at the end of the enclosing InteractionFragment and False when it is in the beginning.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Continuation-setting-_defaultValue" value="true"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="DestructionOccurrenceSpecification" name="DestructionOccurrenceSpecification">
      <ownedComment xmi:id="DestructionOccurrenceSpecification-_ownedComment.0" annotatedElement="DestructionOccurrenceSpecification">
        <body>A DestructionOccurenceSpecification models the destruction of an object.</body>
      </ownedComment>
      <ownedRule xmi:id="DestructionOccurrenceSpecification-no_occurrence_specifications_below" name="no_occurrence_specifications_below" constrainedElement="DestructionOccurrenceSpecification">
        <ownedComment xmi:id="DestructionOccurrenceSpecification-no_occurrence_specifications_below-_ownedComment.0" annotatedElement="DestructionOccurrenceSpecification-no_occurrence_specifications_below">
          <body>No other OccurrenceSpecifications on a given Lifeline in an InteractionOperand may appear below a DestructionOccurrenceSpecification.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="DestructionOccurrenceSpecification-no_occurrence_specifications_below-_specification">
          <language>OCL</language>
          <body>let o : InteractionOperand = enclosingOperand in o->notEmpty() and &#xD;
let peerEvents : OrderedSet(OccurrenceSpecification) = covered.events->select(enclosingOperand = o)&#xD;
in peerEvents->last() = self</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="DestructionOccurrenceSpecification-_generalization.0" general="MessageOccurrenceSpecification"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ExecutionOccurrenceSpecification" name="ExecutionOccurrenceSpecification">
      <ownedComment xmi:id="ExecutionOccurrenceSpecification-_ownedComment.0" annotatedElement="ExecutionOccurrenceSpecification">
        <body>An ExecutionOccurrenceSpecification represents moments in time at which Actions or Behaviors start or finish.</body>
      </ownedComment>
      <generalization xmi:id="ExecutionOccurrenceSpecification-_generalization.0" general="OccurrenceSpecification"/>
      <ownedAttribute xmi:id="ExecutionOccurrenceSpecification-execution" name="execution" type="ExecutionSpecification" association="A_execution_executionOccurrenceSpecification">
        <ownedComment xmi:id="ExecutionOccurrenceSpecification-execution-_ownedComment.0" annotatedElement="ExecutionOccurrenceSpecification-execution">
          <body>References the execution specification describing the execution that is started or finished at this execution event.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ExecutionSpecification" name="ExecutionSpecification" isAbstract="true">
      <ownedComment xmi:id="ExecutionSpecification-_ownedComment.0" annotatedElement="ExecutionSpecification">
        <body>An ExecutionSpecification is a specification of the execution of a unit of Behavior or Action within the Lifeline. The duration of an ExecutionSpecification is represented by two OccurrenceSpecifications, the start OccurrenceSpecification and the finish OccurrenceSpecification.</body>
      </ownedComment>
      <ownedRule xmi:id="ExecutionSpecification-same_lifeline" name="same_lifeline" constrainedElement="ExecutionSpecification">
        <ownedComment xmi:id="ExecutionSpecification-same_lifeline-_ownedComment.0" annotatedElement="ExecutionSpecification-same_lifeline">
          <body>The startEvent and the finishEvent must be on the same Lifeline.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ExecutionSpecification-same_lifeline-_specification">
          <language>OCL</language>
          <body>start.covered = finish.covered</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ExecutionSpecification-_generalization.0" general="InteractionFragment"/>
      <ownedAttribute xmi:id="ExecutionSpecification-finish" name="finish" type="OccurrenceSpecification" association="A_finish_executionSpecification">
        <ownedComment xmi:id="ExecutionSpecification-finish-_ownedComment.0" annotatedElement="ExecutionSpecification-finish">
          <body>References the OccurrenceSpecification that designates the finish of the Action or Behavior.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ExecutionSpecification-start" name="start" type="OccurrenceSpecification" association="A_start_executionSpecification">
        <ownedComment xmi:id="ExecutionSpecification-start-_ownedComment.0" annotatedElement="ExecutionSpecification-start">
          <body>References the OccurrenceSpecification that designates the start of the Action or Behavior.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Gate" name="Gate">
      <ownedComment xmi:id="Gate-_ownedComment.0" annotatedElement="Gate">
        <body>A Gate is a MessageEnd which serves as a connection point for relating a Message which has a MessageEnd (sendEvent / receiveEvent) outside an InteractionFragment with another Message which has a MessageEnd (receiveEvent / sendEvent)  inside that InteractionFragment.</body>
      </ownedComment>
      <ownedRule xmi:id="Gate-actual_gate_matched" name="actual_gate_matched" constrainedElement="Gate">
        <ownedComment xmi:id="Gate-actual_gate_matched-_ownedComment.0" annotatedElement="Gate-actual_gate_matched">
          <body>If this Gate is an actualGate, it must have exactly one matching formalGate within the referred Interaction.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-actual_gate_matched-_specification">
          <language>OCL</language>
          <body>interactionUse->notEmpty() implies interactionUse.refersTo.formalGate->select(matches(self))->size()=1</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Gate-inside_cf_matched" name="inside_cf_matched" constrainedElement="Gate">
        <ownedComment xmi:id="Gate-inside_cf_matched-_ownedComment.0" annotatedElement="Gate-inside_cf_matched">
          <body>If this Gate is inside a CombinedFragment, it must have exactly one matching Gate which is outside of that CombinedFragment.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-inside_cf_matched-_specification">
          <language>OCL</language>
          <body>isInsideCF() implies combinedFragment.cfragmentGate->select(isOutsideCF() and matches(self))->size()=1</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Gate-outside_cf_matched" name="outside_cf_matched" constrainedElement="Gate">
        <ownedComment xmi:id="Gate-outside_cf_matched-_ownedComment.0" annotatedElement="Gate-outside_cf_matched">
          <body>If this Gate is outside an 'alt' CombinedFragment,  for every InteractionOperator inside that CombinedFragment there must be exactly one matching Gate inside the CombindedFragment with its opposing end enclosed by that InteractionOperator. If this Gate is outside CombinedFragment with operator other than 'alt',   there must be exactly one matching Gate inside that CombinedFragment.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-outside_cf_matched-_specification">
          <language>OCL</language>
          <body>isOutsideCF() implies&#xD;
 if self.combinedFragment.interactionOperator->asOrderedSet()->first() = InteractionOperatorKind::alt&#xD;
 then self.combinedFragment.operand->forAll(op : InteractionOperand |&#xD;
 self.combinedFragment.cfragmentGate->select(isInsideCF() and &#xD;
 oppositeEnd().enclosingFragment()->includes(self.combinedFragment) and matches(self))->size()=1)&#xD;
 else  self.combinedFragment.cfragmentGate->select(isInsideCF() and matches(self))->size()=1&#xD;
 endif</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Gate-formal_gate_distinguishable" name="formal_gate_distinguishable" constrainedElement="Gate">
        <ownedComment xmi:id="Gate-formal_gate_distinguishable-_ownedComment.0" annotatedElement="Gate-formal_gate_distinguishable">
          <body>isFormal() implies that no other formalGate of the parent Interaction returns the same getName() as returned for self</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-formal_gate_distinguishable-_specification">
          <language>OCL</language>
          <body>isFormal() implies interaction.formalGate->select(getName() = self.getName())->size()=1</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Gate-actual_gate_distinguishable" name="actual_gate_distinguishable" constrainedElement="Gate">
        <ownedComment xmi:id="Gate-actual_gate_distinguishable-_ownedComment.0" annotatedElement="Gate-actual_gate_distinguishable">
          <body>isActual() implies that no other actualGate of the parent InteractionUse returns the same getName() as returned for self</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-actual_gate_distinguishable-_specification">
          <language>OCL</language>
          <body>isActual() implies interactionUse.actualGate->select(getName() = self.getName())->size()=1</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Gate-outside_cf_gate_distinguishable" name="outside_cf_gate_distinguishable" constrainedElement="Gate">
        <ownedComment xmi:id="Gate-outside_cf_gate_distinguishable-_ownedComment.0" annotatedElement="Gate-outside_cf_gate_distinguishable">
          <body>isOutsideCF() implies that no other outside cfragmentGate of the parent CombinedFragment returns the same getName() as returned for self</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-outside_cf_gate_distinguishable-_specification">
          <language>OCL</language>
          <body>isOutsideCF() implies combinedFragment.cfragmentGate->select(getName() = self.getName())->size()=1</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Gate-inside_cf_gate_distinguishable" name="inside_cf_gate_distinguishable" constrainedElement="Gate">
        <ownedComment xmi:id="Gate-inside_cf_gate_distinguishable-_ownedComment.0" annotatedElement="Gate-inside_cf_gate_distinguishable">
          <body>isInsideCF() implies that no other inside cfragmentGate attached to a message with its other end in the same InteractionOperator as self, returns the same getName() as returned for self</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-inside_cf_gate_distinguishable-_specification">
          <language>OCL</language>
          <body>isInsideCF() implies&#xD;
let selfOperand : InteractionOperand = self.getOperand() in&#xD;
  combinedFragment.cfragmentGate->select(isInsideCF() and getName() = self.getName())->select(getOperand() = selfOperand)->size()=1</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Gate-_generalization.0" general="MessageEnd"/>
      <ownedOperation xmi:id="Gate-isOutsideCF" name="isOutsideCF" bodyCondition="Gate-isOutsideCF-spec" isQuery="true">
        <ownedComment xmi:id="Gate-isOutsideCF-_ownedComment.0" annotatedElement="Gate-isOutsideCF">
          <body>This query returns true if this Gate is attached to the boundary of a CombinedFragment, and its other end (if present)  is outside of the same CombinedFragment.</body>
        </ownedComment>
        <ownedRule xmi:id="Gate-isOutsideCF-spec" name="spec" constrainedElement="Gate-isOutsideCF">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-isOutsideCF-spec-_specification">
            <language>OCL</language>
            <body>result = (self.oppositeEnd()-> notEmpty() and combinedFragment->notEmpty() implies&#xD;
let oppEnd : MessageEnd = self.oppositeEnd()->asOrderedSet()->first() in&#xD;
if oppEnd.oclIsKindOf(MessageOccurrenceSpecification) &#xD;
then let oppMOS : MessageOccurrenceSpecification = oppEnd.oclAsType(MessageOccurrenceSpecification)&#xD;
in  self.combinedFragment.enclosingInteraction.oclAsType(InteractionFragment)->asSet()->&#xD;
     union(self.combinedFragment.enclosingOperand.oclAsType(InteractionFragment)->asSet()) =&#xD;
     oppMOS.enclosingInteraction.oclAsType(InteractionFragment)->asSet()->&#xD;
     union(oppMOS.enclosingOperand.oclAsType(InteractionFragment)->asSet())&#xD;
else let oppGate : Gate = oppEnd.oclAsType(Gate) &#xD;
in self.combinedFragment.enclosingInteraction.oclAsType(InteractionFragment)->asSet()->&#xD;
     union(self.combinedFragment.enclosingOperand.oclAsType(InteractionFragment)->asSet()) =&#xD;
     oppGate.combinedFragment.enclosingInteraction.oclAsType(InteractionFragment)->asSet()->&#xD;
     union(oppGate.combinedFragment.enclosingOperand.oclAsType(InteractionFragment)->asSet())&#xD;
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Gate-isOutsideCF-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Gate-isInsideCF" name="isInsideCF" bodyCondition="Gate-isInsideCF-spec" isQuery="true">
        <ownedComment xmi:id="Gate-isInsideCF-_ownedComment.0" annotatedElement="Gate-isInsideCF">
          <body>This query returns true if this Gate is attached to the boundary of a CombinedFragment, and its other end (if present) is inside of an InteractionOperator of the same CombinedFragment.</body>
        </ownedComment>
        <ownedRule xmi:id="Gate-isInsideCF-spec" name="spec" constrainedElement="Gate-isInsideCF">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-isInsideCF-spec-_specification">
            <language>OCL</language>
            <body>result = (self.oppositeEnd()-> notEmpty() and combinedFragment->notEmpty() implies&#xD;
let oppEnd : MessageEnd = self.oppositeEnd()->asOrderedSet()->first() in&#xD;
if oppEnd.oclIsKindOf(MessageOccurrenceSpecification)&#xD;
then let oppMOS : MessageOccurrenceSpecification&#xD;
= oppEnd.oclAsType(MessageOccurrenceSpecification)&#xD;
in combinedFragment = oppMOS.enclosingOperand.combinedFragment&#xD;
else let oppGate : Gate = oppEnd.oclAsType(Gate)&#xD;
in combinedFragment = oppGate.combinedFragment.enclosingOperand.combinedFragment&#xD;
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Gate-isInsideCF-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Gate-isActual" name="isActual" bodyCondition="Gate-isActual-spec" isQuery="true">
        <ownedComment xmi:id="Gate-isActual-_ownedComment.0" annotatedElement="Gate-isActual">
          <body>This query returns true value if this Gate is an actualGate of an InteractionUse.</body>
        </ownedComment>
        <ownedRule xmi:id="Gate-isActual-spec" name="spec" constrainedElement="Gate-isActual">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-isActual-spec-_specification">
            <language>OCL</language>
            <body>result = (interactionUse->notEmpty())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Gate-isActual-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Gate-isFormal" name="isFormal" bodyCondition="Gate-isFormal-spec" isQuery="true">
        <ownedComment xmi:id="Gate-isFormal-_ownedComment.0" annotatedElement="Gate-isFormal">
          <body>This query returns true if this Gate is a formalGate of an Interaction.</body>
        </ownedComment>
        <ownedRule xmi:id="Gate-isFormal-spec" name="spec" constrainedElement="Gate-isFormal">
          <ownedComment xmi:id="Gate-isFormal-spec-_ownedComment.0" annotatedElement="Gate-isFormal-spec">
            <body>&lt;p>interaction-&amp;gt;notEmpty()&lt;/p></body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-isFormal-spec-_specification">
            <language>OCL</language>
            <body>result = (interaction->notEmpty())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Gate-isFormal-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Gate-getName" name="getName" bodyCondition="Gate-getName-spec" isQuery="true">
        <ownedComment xmi:id="Gate-getName-_ownedComment.0" annotatedElement="Gate-getName">
          <body>This query returns the name of the gate, either the explicit name (.name) or the constructed name ('out_&quot; or 'in_' concatenated in front of .message.name) if the explicit name is not present.</body>
        </ownedComment>
        <ownedRule xmi:id="Gate-getName-spec" name="spec" constrainedElement="Gate-getName">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-getName-spec-_specification">
            <language>OCL</language>
            <body>result = (if name->notEmpty() then name->asOrderedSet()->first()&#xD;
else  if isActual() or isOutsideCF() &#xD;
  then if isSend() &#xD;
    then 'out_'.concat(self.message.name->asOrderedSet()->first())&#xD;
    else 'in_'.concat(self.message.name->asOrderedSet()->first())&#xD;
    endif&#xD;
  else if isSend()&#xD;
    then 'in_'.concat(self.message.name->asOrderedSet()->first())&#xD;
    else 'out_'.concat(self.message.name->asOrderedSet()->first())&#xD;
    endif&#xD;
  endif&#xD;
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Gate-getName-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Gate-matches" name="matches" bodyCondition="Gate-matches-spec" isQuery="true">
        <ownedComment xmi:id="Gate-matches-_ownedComment.0" annotatedElement="Gate-matches">
          <body>This query returns true if the name of this Gate matches the name of the in parameter Gate, and the messages for the two Gates correspond. The Message for one Gate (say A) corresponds to the Message for another Gate (say B) if (A and B have the same name value) and (if A is a sendEvent then B is a receiveEvent) and (if A is a receiveEvent then B is a sendEvent) and (A and B have the same messageSort value) and (A and B have the same signature value).</body>
        </ownedComment>
        <ownedRule xmi:id="Gate-matches-spec" name="spec" constrainedElement="Gate-matches">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-matches-spec-_specification">
            <language>OCL</language>
            <body>result = (self.getName() = gateToMatch.getName() and &#xD;
self.message.messageSort = gateToMatch.message.messageSort and&#xD;
self.message.name = gateToMatch.message.name and&#xD;
self.message.sendEvent->includes(self) implies gateToMatch.message.receiveEvent->includes(gateToMatch)  and&#xD;
self.message.receiveEvent->includes(self) implies gateToMatch.message.sendEvent->includes(gateToMatch) and&#xD;
self.message.signature = gateToMatch.message.signature)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Gate-matches-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Gate-matches-gateToMatch" name="gateToMatch" type="Gate"/>
      </ownedOperation>
      <ownedOperation xmi:id="Gate-isDistinguishableFrom" name="isDistinguishableFrom" bodyCondition="Gate-isDistinguishableFrom-spec" isQuery="true" redefinedOperation="NamedElement-isDistinguishableFrom">
        <ownedComment xmi:id="Gate-isDistinguishableFrom-_ownedComment.0" annotatedElement="Gate-isDistinguishableFrom">
          <body>The query isDistinguishableFrom() specifies that two Gates may coexist in the same Namespace, without an explicit name property. The association end formalGate subsets ownedElement, and since the Gate name attribute&#xD;
is optional, it is allowed to have two formal gates without an explicit name, but having derived names which are distinct.</body>
        </ownedComment>
        <ownedRule xmi:id="Gate-isDistinguishableFrom-spec" name="spec" constrainedElement="Gate-isDistinguishableFrom">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-isDistinguishableFrom-spec-_specification">
            <language>OCL</language>
            <body>result = (true)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Gate-isDistinguishableFrom-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Gate-isDistinguishableFrom-n" name="n" type="NamedElement"/>
        <ownedParameter xmi:id="Gate-isDistinguishableFrom-ns" name="ns" type="Namespace"/>
      </ownedOperation>
      <ownedOperation xmi:id="Gate-getOperand" name="getOperand" bodyCondition="Gate-getOperand-spec" isQuery="true">
        <ownedComment xmi:id="Gate-getOperand-_ownedComment.0" annotatedElement="Gate-getOperand">
          <body>If the Gate is an inside Combined Fragment Gate, this operation returns the InteractionOperand that the opposite end of this Gate is included within.</body>
        </ownedComment>
        <ownedRule xmi:id="Gate-getOperand-spec" name="spec" constrainedElement="Gate-getOperand">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Gate-getOperand-spec-_specification">
            <language>OCL</language>
            <body>result = (if isInsideCF() then&#xD;
  let oppEnd : MessageEnd = self.oppositeEnd()->asOrderedSet()->first() in&#xD;
    if oppEnd.oclIsKindOf(MessageOccurrenceSpecification)&#xD;
    then let oppMOS : MessageOccurrenceSpecification = oppEnd.oclAsType(MessageOccurrenceSpecification)&#xD;
        in oppMOS.enclosingOperand->asOrderedSet()->first()&#xD;
    else let oppGate : Gate = oppEnd.oclAsType(Gate)&#xD;
        in oppGate.combinedFragment.enclosingOperand->asOrderedSet()->first()&#xD;
    endif&#xD;
  else null&#xD;
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Gate-getOperand-result" name="result" type="InteractionOperand" direction="return"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="GeneralOrdering" name="GeneralOrdering">
      <ownedComment xmi:id="GeneralOrdering-_ownedComment.0" annotatedElement="GeneralOrdering">
        <body>A GeneralOrdering represents a binary relation between two OccurrenceSpecifications, to describe that one OccurrenceSpecification must occur before the other in a valid trace. This mechanism provides the ability to define partial orders of OccurrenceSpecifications that may otherwise not have a specified order.</body>
      </ownedComment>
      <ownedRule xmi:id="GeneralOrdering-irreflexive_transitive_closure" name="irreflexive_transitive_closure" constrainedElement="GeneralOrdering">
        <ownedComment xmi:id="GeneralOrdering-irreflexive_transitive_closure-_ownedComment.0" annotatedElement="GeneralOrdering-irreflexive_transitive_closure">
          <body>An occurrence specification must not be ordered relative to itself through a series of general orderings. (In other words, the transitive closure of the general orderings is irreflexive.)</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="GeneralOrdering-irreflexive_transitive_closure-_specification">
          <language>OCL</language>
          <body>after->closure(toAfter.after)->excludes(before)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="GeneralOrdering-_generalization.0" general="NamedElement"/>
      <ownedAttribute xmi:id="GeneralOrdering-after" name="after" type="OccurrenceSpecification" association="A_toBefore_after">
        <ownedComment xmi:id="GeneralOrdering-after-_ownedComment.0" annotatedElement="GeneralOrdering-after">
          <body>The OccurrenceSpecification referenced comes after the OccurrenceSpecification referenced by before.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="GeneralOrdering-before" name="before" type="OccurrenceSpecification" association="A_before_toAfter">
        <ownedComment xmi:id="GeneralOrdering-before-_ownedComment.0" annotatedElement="GeneralOrdering-before">
          <body>The OccurrenceSpecification referenced comes before the OccurrenceSpecification referenced by after.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Interaction" name="Interaction">
      <ownedComment xmi:id="Interaction-_ownedComment.0" annotatedElement="Interaction">
        <body>An Interaction is a unit of Behavior that focuses on the observable exchange of information between connectable elements.</body>
      </ownedComment>
      <ownedRule xmi:id="Interaction-not_contained" name="not_contained" constrainedElement="Interaction">
        <ownedComment xmi:id="Interaction-not_contained-_ownedComment.0" annotatedElement="Interaction-not_contained">
          <body>An Interaction instance must not be contained within another Interaction instance.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Interaction-not_contained-_specification">
          <language>OCL</language>
          <body>enclosingInteraction->isEmpty()</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Interaction-_generalization.0" general="InteractionFragment"/>
      <generalization xmi:id="Interaction-_generalization.1" general="Behavior"/>
      <ownedAttribute xmi:id="Interaction-action" name="action" type="Action" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_action_interaction">
        <ownedComment xmi:id="Interaction-action-_ownedComment.0" annotatedElement="Interaction-action">
          <body>Actions owned by the Interaction.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interaction-action-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interaction-action-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Interaction-formalGate" name="formalGate" type="Gate" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_formalGate_interaction">
        <ownedComment xmi:id="Interaction-formalGate-_ownedComment.0" annotatedElement="Interaction-formalGate">
          <body>Specifies the gates that form the message interface between this Interaction and any InteractionUses which reference it.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interaction-formalGate-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interaction-formalGate-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Interaction-fragment" name="fragment" type="InteractionFragment" isOrdered="true" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_fragment_enclosingInteraction">
        <ownedComment xmi:id="Interaction-fragment-_ownedComment.0" annotatedElement="Interaction-fragment">
          <body>The ordered set of fragments in the Interaction.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interaction-fragment-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interaction-fragment-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Interaction-lifeline" name="lifeline" type="Lifeline" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_lifeline_interaction">
        <ownedComment xmi:id="Interaction-lifeline-_ownedComment.0" annotatedElement="Interaction-lifeline">
          <body>Specifies the participants in this Interaction.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interaction-lifeline-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interaction-lifeline-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Interaction-message" name="message" type="Message" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_message_interaction">
        <ownedComment xmi:id="Interaction-message-_ownedComment.0" annotatedElement="Interaction-message">
          <body>The Messages contained in this Interaction.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interaction-message-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interaction-message-_upperValue" value="*"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="InteractionConstraint" name="InteractionConstraint">
      <ownedComment xmi:id="InteractionConstraint-_ownedComment.0" annotatedElement="InteractionConstraint">
        <body>An InteractionConstraint is a Boolean expression that guards an operand in a CombinedFragment.</body>
      </ownedComment>
      <ownedRule xmi:id="InteractionConstraint-minint_maxint" name="minint_maxint" constrainedElement="InteractionConstraint">
        <ownedComment xmi:id="InteractionConstraint-minint_maxint-_ownedComment.0" annotatedElement="InteractionConstraint-minint_maxint">
          <body>Minint/maxint can only be present if the InteractionConstraint is associated with the operand of a loop CombinedFragment.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="InteractionConstraint-minint_maxint-_specification">
          <language>OCL</language>
          <body>maxint->notEmpty() or minint->notEmpty() implies&#xD;
interactionOperand.combinedFragment.interactionOperator =&#xD;
InteractionOperatorKind::loop</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="InteractionConstraint-minint_non_negative" name="minint_non_negative" constrainedElement="InteractionConstraint">
        <ownedComment xmi:id="InteractionConstraint-minint_non_negative-_ownedComment.0" annotatedElement="InteractionConstraint-minint_non_negative">
          <body>If minint is specified, then the expression must evaluate to a non-negative integer.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="InteractionConstraint-minint_non_negative-_specification">
          <language>OCL</language>
          <body>minint->notEmpty() implies &#xD;
minint->asSequence()->first().integerValue() >= 0</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="InteractionConstraint-maxint_positive" name="maxint_positive" constrainedElement="InteractionConstraint">
        <ownedComment xmi:id="InteractionConstraint-maxint_positive-_ownedComment.0" annotatedElement="InteractionConstraint-maxint_positive">
          <body>If maxint is specified, then the expression must evaluate to a positive integer.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="InteractionConstraint-maxint_positive-_specification">
          <language>OCL</language>
          <body>maxint->notEmpty() implies &#xD;
maxint->asSequence()->first().integerValue() > 0</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="InteractionConstraint-dynamic_variables" name="dynamic_variables" constrainedElement="InteractionConstraint">
        <ownedComment xmi:id="InteractionConstraint-dynamic_variables-_ownedComment.0" annotatedElement="InteractionConstraint-dynamic_variables">
          <body>The dynamic variables that take part in the constraint must be owned by the ConnectableElement corresponding to the covered Lifeline.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="InteractionConstraint-dynamic_variables-_specification" language=""/>
      </ownedRule>
      <ownedRule xmi:id="InteractionConstraint-global_data" name="global_data" constrainedElement="InteractionConstraint">
        <ownedComment xmi:id="InteractionConstraint-global_data-_ownedComment.0" annotatedElement="InteractionConstraint-global_data">
          <body>The constraint may contain references to global data or write-once data.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="InteractionConstraint-global_data-_specification" language=""/>
      </ownedRule>
      <ownedRule xmi:id="InteractionConstraint-maxint_greater_equal_minint" name="maxint_greater_equal_minint" constrainedElement="InteractionConstraint">
        <ownedComment xmi:id="InteractionConstraint-maxint_greater_equal_minint-_ownedComment.0" annotatedElement="InteractionConstraint-maxint_greater_equal_minint">
          <body>If maxint is specified, then minint must be specified and the evaluation of maxint must be >= the evaluation of minint.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="InteractionConstraint-maxint_greater_equal_minint-_specification">
          <language>OCL</language>
          <body>maxint->notEmpty() implies (minint->notEmpty() and &#xD;
maxint->asSequence()->first().integerValue() >=&#xD;
minint->asSequence()->first().integerValue() )</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="InteractionConstraint-_generalization.0" general="Constraint"/>
      <ownedAttribute xmi:id="InteractionConstraint-maxint" name="maxint" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_maxint_interactionConstraint">
        <ownedComment xmi:id="InteractionConstraint-maxint-_ownedComment.0" annotatedElement="InteractionConstraint-maxint">
          <body>The maximum number of iterations of a loop</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InteractionConstraint-maxint-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="InteractionConstraint-minint" name="minint" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_minint_interactionConstraint">
        <ownedComment xmi:id="InteractionConstraint-minint-_ownedComment.0" annotatedElement="InteractionConstraint-minint">
          <body>The minimum number of iterations of a loop</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InteractionConstraint-minint-_lowerValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="InteractionFragment" name="InteractionFragment" isAbstract="true">
      <ownedComment xmi:id="InteractionFragment-_ownedComment.0" annotatedElement="InteractionFragment">
        <body>InteractionFragment is an abstract notion of the most general interaction unit. An InteractionFragment is a piece of an Interaction. Each InteractionFragment is conceptually like an Interaction by itself.</body>
      </ownedComment>
      <generalization xmi:id="InteractionFragment-_generalization.0" general="NamedElement"/>
      <ownedAttribute xmi:id="InteractionFragment-covered" name="covered" type="Lifeline" association="A_covered_coveredBy">
        <ownedComment xmi:id="InteractionFragment-covered-_ownedComment.0" annotatedElement="InteractionFragment-covered">
          <body>References the Lifelines that the InteractionFragment involves.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InteractionFragment-covered-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InteractionFragment-covered-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="InteractionFragment-enclosingInteraction" name="enclosingInteraction" type="Interaction" subsettedProperty="NamedElement-namespace" association="A_fragment_enclosingInteraction">
        <ownedComment xmi:id="InteractionFragment-enclosingInteraction-_ownedComment.0" annotatedElement="InteractionFragment-enclosingInteraction">
          <body>The Interaction enclosing this InteractionFragment.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InteractionFragment-enclosingInteraction-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="InteractionFragment-enclosingOperand" name="enclosingOperand" type="InteractionOperand" subsettedProperty="NamedElement-namespace" association="A_fragment_enclosingOperand">
        <ownedComment xmi:id="InteractionFragment-enclosingOperand-_ownedComment.0" annotatedElement="InteractionFragment-enclosingOperand">
          <body>The operand enclosing this InteractionFragment (they may nest recursively).</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InteractionFragment-enclosingOperand-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="InteractionFragment-generalOrdering" name="generalOrdering" type="GeneralOrdering" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_generalOrdering_interactionFragment">
        <ownedComment xmi:id="InteractionFragment-generalOrdering-_ownedComment.0" annotatedElement="InteractionFragment-generalOrdering">
          <body>The general ordering relationships contained in this fragment.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InteractionFragment-generalOrdering-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InteractionFragment-generalOrdering-_upperValue" value="*"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="InteractionOperand" name="InteractionOperand">
      <ownedComment xmi:id="InteractionOperand-_ownedComment.0" annotatedElement="InteractionOperand">
        <body>An InteractionOperand is contained in a CombinedFragment. An InteractionOperand represents one operand of the expression given by the enclosing CombinedFragment.</body>
      </ownedComment>
      <ownedRule xmi:id="InteractionOperand-guard_contain_references" name="guard_contain_references" constrainedElement="InteractionOperand">
        <ownedComment xmi:id="InteractionOperand-guard_contain_references-_ownedComment.0" annotatedElement="InteractionOperand-guard_contain_references">
          <body>The guard must contain only references to values local to the Lifeline on which it resides, or values global to the whole Interaction.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="InteractionOperand-guard_contain_references-_specification" language=""/>
      </ownedRule>
      <ownedRule xmi:id="InteractionOperand-guard_directly_prior" name="guard_directly_prior" constrainedElement="InteractionOperand">
        <ownedComment xmi:id="InteractionOperand-guard_directly_prior-_ownedComment.0" annotatedElement="InteractionOperand-guard_directly_prior">
          <body>The guard must be placed directly prior to (above) the OccurrenceSpecification that will become the first OccurrenceSpecification within this InteractionOperand.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="InteractionOperand-guard_directly_prior-_specification" language=""/>
      </ownedRule>
      <generalization xmi:id="InteractionOperand-_generalization.0" general="InteractionFragment"/>
      <generalization xmi:id="InteractionOperand-_generalization.1" general="Namespace"/>
      <ownedAttribute xmi:id="InteractionOperand-fragment" name="fragment" type="InteractionFragment" isOrdered="true" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_fragment_enclosingOperand">
        <ownedComment xmi:id="InteractionOperand-fragment-_ownedComment.0" annotatedElement="InteractionOperand-fragment">
          <body>The fragments of the operand.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InteractionOperand-fragment-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InteractionOperand-fragment-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="InteractionOperand-guard" name="guard" type="InteractionConstraint" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_guard_interactionOperand">
        <ownedComment xmi:id="InteractionOperand-guard-_ownedComment.0" annotatedElement="InteractionOperand-guard">
          <body>Constraint of the operand.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InteractionOperand-guard-_lowerValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="InteractionUse" name="InteractionUse">
      <ownedComment xmi:id="InteractionUse-_ownedComment.0" annotatedElement="InteractionUse">
        <body>An InteractionUse refers to an Interaction. The InteractionUse is a shorthand for copying the contents of the referenced Interaction where the InteractionUse is. To be accurate the copying must take into account substituting parameters with arguments and connect the formal Gates with the actual ones.</body>
      </ownedComment>
      <ownedRule xmi:id="InteractionUse-gates_match" name="gates_match" constrainedElement="InteractionUse">
        <ownedComment xmi:id="InteractionUse-gates_match-_ownedComment.0" annotatedElement="InteractionUse-gates_match">
          <body>Actual Gates of the InteractionUse must match Formal Gates of the referred Interaction. Gates match when their names are equal and their messages correspond.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="InteractionUse-gates_match-_specification">
          <language>OCL</language>
          <body>actualGate->notEmpty() implies &#xD;
refersTo.formalGate->forAll( fg : Gate | self.actualGate->select(matches(fg))->size()=1) and&#xD;
self.actualGate->forAll(ag : Gate | refersTo.formalGate->select(matches(ag))->size()=1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="InteractionUse-arguments_are_constants" name="arguments_are_constants" constrainedElement="InteractionUse">
        <ownedComment xmi:id="InteractionUse-arguments_are_constants-_ownedComment.0" annotatedElement="InteractionUse-arguments_are_constants">
          <body>The arguments must only be constants, parameters of the enclosing Interaction or attributes of the classifier owning the enclosing Interaction.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="InteractionUse-arguments_are_constants-_specification" language=""/>
      </ownedRule>
      <ownedRule xmi:id="InteractionUse-returnValueRecipient_coverage" name="returnValueRecipient_coverage" constrainedElement="InteractionUse">
        <ownedComment xmi:id="InteractionUse-returnValueRecipient_coverage-_ownedComment.0" annotatedElement="InteractionUse-returnValueRecipient_coverage">
          <body>The returnValueRecipient must be a Property of a ConnectableElement that is represented by a Lifeline covered by this InteractionUse.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="InteractionUse-returnValueRecipient_coverage-_specification">
          <language>OCL</language>
          <body>returnValueRecipient->asSet()->notEmpty() implies&#xD;
let covCE : Set(ConnectableElement) = covered.represents->asSet() in &#xD;
covCE->notEmpty() and let classes:Set(Classifier) = covCE.type.oclIsKindOf(Classifier).oclAsType(Classifier)->asSet() in &#xD;
let allProps : Set(Property) = classes.attribute->union(classes.allParents().attribute)->asSet() in &#xD;
allProps->includes(returnValueRecipient)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="InteractionUse-arguments_correspond_to_parameters" name="arguments_correspond_to_parameters" constrainedElement="InteractionUse">
        <ownedComment xmi:id="InteractionUse-arguments_correspond_to_parameters-_ownedComment.0" annotatedElement="InteractionUse-arguments_correspond_to_parameters">
          <body>The arguments of the InteractionUse must correspond to parameters of the referred Interaction.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="InteractionUse-arguments_correspond_to_parameters-_specification" language=""/>
      </ownedRule>
      <ownedRule xmi:id="InteractionUse-returnValue_type_recipient_correspondence" name="returnValue_type_recipient_correspondence" constrainedElement="InteractionUse">
        <ownedComment xmi:id="InteractionUse-returnValue_type_recipient_correspondence-_ownedComment.0" annotatedElement="InteractionUse-returnValue_type_recipient_correspondence">
          <body>The type of the returnValue must correspond to the type of the returnValueRecipient.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="InteractionUse-returnValue_type_recipient_correspondence-_specification">
          <language>OCL</language>
          <body>returnValue.type->asSequence()->notEmpty() implies returnValue.type->asSequence()->first() = returnValueRecipient.type->asSequence()->first()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="InteractionUse-all_lifelines" name="all_lifelines" constrainedElement="InteractionUse">
        <ownedComment xmi:id="InteractionUse-all_lifelines-_ownedComment.0" annotatedElement="InteractionUse-all_lifelines">
          <body>The InteractionUse must cover all Lifelines of the enclosing Interaction that are common with the lifelines covered by the referred Interaction. Lifelines are common if they have the same selector and represents associationEnd values.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="InteractionUse-all_lifelines-_specification">
          <language>OCL</language>
          <body>let parentInteraction : Set(Interaction) = enclosingInteraction->asSet()->&#xD;
union(enclosingOperand.combinedFragment->closure(enclosingOperand.combinedFragment)->&#xD;
collect(enclosingInteraction).oclAsType(Interaction)->asSet()) in&#xD;
parentInteraction->size()=1 and let refInteraction : Interaction = refersTo in&#xD;
parentInteraction.covered-> forAll(intLifeline : Lifeline | refInteraction.covered->&#xD;
forAll( refLifeline : Lifeline | refLifeline.represents = intLifeline.represents and &#xD;
(&#xD;
( refLifeline.selector.oclIsKindOf(LiteralString) implies&#xD;
  intLifeline.selector.oclIsKindOf(LiteralString) and &#xD;
  refLifeline.selector.oclAsType(LiteralString).value = intLifeline.selector.oclAsType(LiteralString).value ) and&#xD;
( refLifeline.selector.oclIsKindOf(LiteralInteger) implies&#xD;
  intLifeline.selector.oclIsKindOf(LiteralInteger) and &#xD;
  refLifeline.selector.oclAsType(LiteralInteger).value = intLifeline.selector.oclAsType(LiteralInteger).value )&#xD;
)&#xD;
 implies self.covered->asSet()->includes(intLifeline)))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="InteractionUse-_generalization.0" general="InteractionFragment"/>
      <ownedAttribute xmi:id="InteractionUse-actualGate" name="actualGate" type="Gate" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_actualGate_interactionUse">
        <ownedComment xmi:id="InteractionUse-actualGate-_ownedComment.0" annotatedElement="InteractionUse-actualGate">
          <body>The actual gates of the InteractionUse.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InteractionUse-actualGate-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InteractionUse-actualGate-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="InteractionUse-argument" name="argument" type="ValueSpecification" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_argument_interactionUse">
        <ownedComment xmi:id="InteractionUse-argument-_ownedComment.0" annotatedElement="InteractionUse-argument">
          <body>The actual arguments of the Interaction.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InteractionUse-argument-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="InteractionUse-argument-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="InteractionUse-refersTo" name="refersTo" type="Interaction" association="A_refersTo_interactionUse">
        <ownedComment xmi:id="InteractionUse-refersTo-_ownedComment.0" annotatedElement="InteractionUse-refersTo">
          <body>Refers to the Interaction that defines its meaning.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="InteractionUse-returnValue" name="returnValue" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_returnValue_interactionUse">
        <ownedComment xmi:id="InteractionUse-returnValue-_ownedComment.0" annotatedElement="InteractionUse-returnValue">
          <body>The value of the executed Interaction.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InteractionUse-returnValue-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="InteractionUse-returnValueRecipient" name="returnValueRecipient" type="Property" association="A_returnValueRecipient_interactionUse">
        <ownedComment xmi:id="InteractionUse-returnValueRecipient-_ownedComment.0" annotatedElement="InteractionUse-returnValueRecipient">
          <body>The recipient of the return value.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="InteractionUse-returnValueRecipient-_lowerValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Lifeline" name="Lifeline">
      <ownedComment xmi:id="Lifeline-_ownedComment.0" annotatedElement="Lifeline">
        <body>A Lifeline represents an individual participant in the Interaction. While parts and structural features may have multiplicity greater than 1, Lifelines represent only one interacting entity.</body>
      </ownedComment>
      <ownedRule xmi:id="Lifeline-selector_specified" name="selector_specified" constrainedElement="Lifeline">
        <ownedComment xmi:id="Lifeline-selector_specified-_ownedComment.0" annotatedElement="Lifeline-selector_specified">
          <body>The selector for a Lifeline must only be specified if the referenced Part is multivalued.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Lifeline-selector_specified-_specification">
          <language>OCL</language>
          <body> self.selector->notEmpty() = (self.represents.oclIsKindOf(MultiplicityElement) and self.represents.oclAsType(MultiplicityElement).isMultivalued())</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Lifeline-interaction_uses_share_lifeline" name="interaction_uses_share_lifeline" constrainedElement="Lifeline">
        <ownedComment xmi:id="Lifeline-interaction_uses_share_lifeline-_ownedComment.0" annotatedElement="Lifeline-interaction_uses_share_lifeline">
          <body>If a lifeline is in an Interaction referred to by an InteractionUse in an enclosing Interaction,  and that lifeline is common with another lifeline in an Interaction referred to by another InteractonUse within that same enclosing Interaction, it must be common to a lifeline within that enclosing Interaction. By common Lifelines we mean Lifelines with the same selector and represents associations.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Lifeline-interaction_uses_share_lifeline-_specification">
          <language>OCL</language>
          <body>let intUses : Set(InteractionUse) = interaction.interactionUse  in &#xD;
intUses->forAll&#xD;
( iuse : InteractionUse | &#xD;
let usingInteraction : Set(Interaction)  = iuse.enclosingInteraction->asSet()&#xD;
->union(&#xD;
iuse.enclosingOperand.combinedFragment->asSet()->closure(enclosingOperand.combinedFragment).enclosingInteraction->asSet()&#xD;
               ) &#xD;
in&#xD;
let peerUses : Set(InteractionUse) = usingInteraction.fragment->select(oclIsKindOf(InteractionUse)).oclAsType(InteractionUse)->asSet()&#xD;
->union(&#xD;
usingInteraction.fragment->select(oclIsKindOf(CombinedFragment)).oclAsType(CombinedFragment)->asSet()&#xD;
->closure(operand.fragment->select(oclIsKindOf(CombinedFragment)).oclAsType(CombinedFragment)).operand.fragment->&#xD;
select(oclIsKindOf(InteractionUse)).oclAsType(InteractionUse)->asSet()&#xD;
               )->excluding(iuse)&#xD;
 in&#xD;
peerUses->forAll( peerUse : InteractionUse |&#xD;
 peerUse.refersTo.lifeline->forAll( l : Lifeline | (l.represents = self.represents and &#xD;
 ( self.selector.oclIsKindOf(LiteralString) implies&#xD;
  l.selector.oclIsKindOf(LiteralString) and &#xD;
  self.selector.oclAsType(LiteralString).value = l.selector.oclAsType(LiteralString).value )&#xD;
  and &#xD;
( self.selector.oclIsKindOf(LiteralInteger) implies&#xD;
  l.selector.oclIsKindOf(LiteralInteger) and &#xD;
  self.selector.oclAsType(LiteralInteger).value = l.selector.oclAsType(LiteralInteger).value )&#xD;
)  &#xD;
implies&#xD;
 usingInteraction.lifeline->exists(represents = self.represents and&#xD;
 ( self.selector.oclIsKindOf(LiteralString) implies&#xD;
  l.selector.oclIsKindOf(LiteralString) and &#xD;
  self.selector.oclAsType(LiteralString).value = l.selector.oclAsType(LiteralString).value )&#xD;
and &#xD;
( self.selector.oclIsKindOf(LiteralInteger) implies&#xD;
  l.selector.oclIsKindOf(LiteralInteger) and &#xD;
  self.selector.oclAsType(LiteralInteger).value = l.selector.oclAsType(LiteralInteger).value )&#xD;
)&#xD;
                                                )&#xD;
                    )&#xD;
)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Lifeline-same_classifier" name="same_classifier" constrainedElement="Lifeline">
        <ownedComment xmi:id="Lifeline-same_classifier-_ownedComment.0" annotatedElement="Lifeline-same_classifier">
          <body>The classifier containing the referenced ConnectableElement must be the same classifier, or an ancestor, of the classifier that contains the interaction enclosing this lifeline.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Lifeline-same_classifier-_specification">
          <language>OCL</language>
          <body>represents.namespace->closure(namespace)->includes(interaction._'context')</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Lifeline-selector_int_or_string" name="selector_int_or_string" constrainedElement="Lifeline">
        <ownedComment xmi:id="Lifeline-selector_int_or_string-_ownedComment.0" annotatedElement="Lifeline-selector_int_or_string">
          <body>The selector value, if present, must be a LiteralString or a LiteralInteger</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Lifeline-selector_int_or_string-_specification">
          <language>OCL</language>
          <body>self.selector->notEmpty() implies &#xD;
self.selector.oclIsKindOf(LiteralInteger) or &#xD;
self.selector.oclIsKindOf(LiteralString)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Lifeline-_generalization.0" general="NamedElement"/>
      <ownedAttribute xmi:id="Lifeline-coveredBy" name="coveredBy" type="InteractionFragment" association="A_covered_coveredBy">
        <ownedComment xmi:id="Lifeline-coveredBy-_ownedComment.0" annotatedElement="Lifeline-coveredBy">
          <body>References the InteractionFragments in which this Lifeline takes part.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Lifeline-coveredBy-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Lifeline-coveredBy-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Lifeline-decomposedAs" name="decomposedAs" type="PartDecomposition" association="A_decomposedAs_lifeline">
        <ownedComment xmi:id="Lifeline-decomposedAs-_ownedComment.0" annotatedElement="Lifeline-decomposedAs">
          <body>References the Interaction that represents the decomposition.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Lifeline-decomposedAs-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Lifeline-interaction" name="interaction" type="Interaction" subsettedProperty="NamedElement-namespace" association="A_lifeline_interaction">
        <ownedComment xmi:id="Lifeline-interaction-_ownedComment.0" annotatedElement="Lifeline-interaction">
          <body>References the Interaction enclosing this Lifeline.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="Lifeline-represents" name="represents" type="ConnectableElement" association="A_represents_lifeline">
        <ownedComment xmi:id="Lifeline-represents-_ownedComment.0" annotatedElement="Lifeline-represents">
          <body>References the ConnectableElement within the classifier that contains the enclosing interaction.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Lifeline-represents-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Lifeline-selector" name="selector" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_selector_lifeline">
        <ownedComment xmi:id="Lifeline-selector-_ownedComment.0" annotatedElement="Lifeline-selector">
          <body>If the referenced ConnectableElement is multivalued, then this specifies the specific individual part within that set.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Lifeline-selector-_lowerValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Message" name="Message">
      <ownedComment xmi:id="Message-_ownedComment.0" annotatedElement="Message">
        <body>A Message defines a particular communication between Lifelines of an Interaction.</body>
      </ownedComment>
      <ownedRule xmi:id="Message-sending_receiving_message_event" name="sending_receiving_message_event" constrainedElement="Message">
        <ownedComment xmi:id="Message-sending_receiving_message_event-_ownedComment.0" annotatedElement="Message-sending_receiving_message_event">
          <body>If the sendEvent and the receiveEvent of the same Message are on the same Lifeline, the sendEvent must be ordered before the receiveEvent.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Message-sending_receiving_message_event-_specification">
          <language>OCL</language>
          <body>receiveEvent.oclIsKindOf(MessageOccurrenceSpecification)&#xD;
implies&#xD;
let f :  Lifeline = sendEvent->select(oclIsKindOf(MessageOccurrenceSpecification)).oclAsType(MessageOccurrenceSpecification)->asOrderedSet()->first().covered in&#xD;
f = receiveEvent->select(oclIsKindOf(MessageOccurrenceSpecification)).oclAsType(MessageOccurrenceSpecification)->asOrderedSet()->first().covered  implies&#xD;
f.events->indexOf(sendEvent.oclAsType(MessageOccurrenceSpecification)->asOrderedSet()->first() ) &lt; &#xD;
f.events->indexOf(receiveEvent.oclAsType(MessageOccurrenceSpecification)->asOrderedSet()->first() )</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Message-arguments" name="arguments" constrainedElement="Message">
        <ownedComment xmi:id="Message-arguments-_ownedComment.0" annotatedElement="Message-arguments">
          <body>Arguments of a Message must only be: i) attributes of the sending lifeline, ii) constants, iii) symbolic values (which are wildcard values representing any legal value), iv) explicit parameters of the enclosing Interaction, v) attributes of the class owning the Interaction.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Message-arguments-_specification" language=""/>
      </ownedRule>
      <ownedRule xmi:id="Message-cannot_cross_boundaries" name="cannot_cross_boundaries" constrainedElement="Message">
        <ownedComment xmi:id="Message-cannot_cross_boundaries-_ownedComment.0" annotatedElement="Message-cannot_cross_boundaries">
          <body>Messages cannot cross boundaries of CombinedFragments or their operands.  This is true if and only if both MessageEnds are enclosed within the same InteractionFragment (i.e., an InteractionOperand or an Interaction).</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Message-cannot_cross_boundaries-_specification">
          <language>OCL</language>
          <body>sendEvent->notEmpty() and receiveEvent->notEmpty() implies&#xD;
let sendEnclosingFrag : Set(InteractionFragment) = &#xD;
sendEvent->asOrderedSet()->first().enclosingFragment()&#xD;
in &#xD;
let receiveEnclosingFrag : Set(InteractionFragment) = &#xD;
receiveEvent->asOrderedSet()->first().enclosingFragment()&#xD;
in  sendEnclosingFrag = receiveEnclosingFrag</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Message-signature_is_signal" name="signature_is_signal" constrainedElement="Message">
        <ownedComment xmi:id="Message-signature_is_signal-_ownedComment.0" annotatedElement="Message-signature_is_signal">
          <body>In the case when the Message signature is a Signal, the arguments of the Message must correspond to the attributes of the Signal. A Message Argument corresponds to a Signal Attribute if the Argument is of the same Class or a specialization of that of the Attribute.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Message-signature_is_signal-_specification">
          <language>OCL</language>
          <body>(messageSort = MessageSort::asynchSignal ) and signature.oclIsKindOf(Signal) implies&#xD;
   let signalAttributes : OrderedSet(Property) = signature.oclAsType(Signal).inheritedMember()->&#xD;
             select(n:NamedElement | n.oclIsTypeOf(Property))->collect(oclAsType(Property))->asOrderedSet()&#xD;
   in signalAttributes->size() = self.argument->size()&#xD;
   and self.argument->forAll( o: ValueSpecification |&#xD;
          not (o.oclIsKindOf(Expression)&#xD;
          and o.oclAsType(Expression).symbol->size()=0&#xD;
          and o.oclAsType(Expression).operand->isEmpty() ) implies&#xD;
              let p : Property = signalAttributes->at(self.argument->indexOf(o))&#xD;
              in o.type.oclAsType(Classifier).conformsTo(p.type.oclAsType(Classifier)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Message-occurrence_specifications" name="occurrence_specifications" constrainedElement="Message">
        <ownedComment xmi:id="Message-occurrence_specifications-_ownedComment.0" annotatedElement="Message-occurrence_specifications">
          <body>If the MessageEnds are both OccurrenceSpecifications, then the connector must go between the Parts represented by the Lifelines of the two MessageEnds.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Message-occurrence_specifications-_specification" language=""/>
      </ownedRule>
      <ownedRule xmi:id="Message-signature_refer_to" name="signature_refer_to" constrainedElement="Message">
        <ownedComment xmi:id="Message-signature_refer_to-_ownedComment.0" annotatedElement="Message-signature_refer_to">
          <body>The signature must either refer an Operation (in which case messageSort is either synchCall or asynchCall or reply) or a Signal (in which case messageSort is asynchSignal). The name of the NamedElement referenced by signature must be the same as that of the Message.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Message-signature_refer_to-_specification">
          <language>OCL</language>
          <body>signature->notEmpty() implies &#xD;
((signature.oclIsKindOf(Operation) and &#xD;
(messageSort = MessageSort::asynchCall or messageSort = MessageSort::synchCall or messageSort = MessageSort::reply) &#xD;
) or (signature.oclIsKindOf(Signal)  and messageSort = MessageSort::asynchSignal )&#xD;
 ) and name = signature.name</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Message-signature_is_operation_request" name="signature_is_operation_request" constrainedElement="Message">
        <ownedComment xmi:id="Message-signature_is_operation_request-_ownedComment.0" annotatedElement="Message-signature_is_operation_request">
          <body>In the case when a Message with messageSort synchCall or asynchCall has a non empty Operation signature, the arguments of the Message must correspond to the in and inout parameters of the Operation. A Parameter corresponds to an Argument if the Argument is of the same Class or a specialization of that of the Parameter.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Message-signature_is_operation_request-_specification">
          <language>OCL</language>
          <body>(messageSort = MessageSort::asynchCall or messageSort = MessageSort::synchCall) and signature.oclIsKindOf(Operation)  implies &#xD;
 let requestParms : OrderedSet(Parameter) = signature.oclAsType(Operation).ownedParameter->&#xD;
 select(direction = ParameterDirectionKind::inout or direction = ParameterDirectionKind::_'in'  )&#xD;
in requestParms->size() = self.argument->size() and&#xD;
self.argument->forAll( o: ValueSpecification | &#xD;
not (o.oclIsKindOf(Expression) and o.oclAsType(Expression).symbol->size()=0 and o.oclAsType(Expression).operand->isEmpty() ) implies &#xD;
let p : Parameter = requestParms->at(self.argument->indexOf(o)) in&#xD;
o.type.oclAsType(Classifier).conformsTo(p.type.oclAsType(Classifier))&#xD;
)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Message-signature_is_operation_reply" name="signature_is_operation_reply" constrainedElement="Message">
        <ownedComment xmi:id="Message-signature_is_operation_reply-_ownedComment.0" annotatedElement="Message-signature_is_operation_reply">
          <body>In the case when a Message with messageSort reply has a non empty Operation signature, the arguments of the Message must correspond to the out, inout, and return parameters of the Operation. A Parameter corresponds to an Argument if the Argument is of the same Class or a specialization of that of the Parameter.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Message-signature_is_operation_reply-_specification">
          <language>OCL</language>
          <body>(messageSort = MessageSort::reply) and signature.oclIsKindOf(Operation) implies &#xD;
 let replyParms : OrderedSet(Parameter) = signature.oclAsType(Operation).ownedParameter->&#xD;
select(direction = ParameterDirectionKind::inout or direction = ParameterDirectionKind::out or direction = ParameterDirectionKind::return)&#xD;
in replyParms->size() = self.argument->size() and&#xD;
self.argument->forAll( o: ValueSpecification | o.oclIsKindOf(Expression) and let e : Expression = o.oclAsType(Expression) in&#xD;
e.operand->notEmpty()  implies &#xD;
let p : Parameter = replyParms->at(self.argument->indexOf(o)) in&#xD;
e.operand->asSequence()->first().type.oclAsType(Classifier).conformsTo(p.type.oclAsType(Classifier))&#xD;
)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Message-_generalization.0" general="NamedElement"/>
      <ownedAttribute xmi:id="Message-argument" name="argument" type="ValueSpecification" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_argument_message">
        <ownedComment xmi:id="Message-argument-_ownedComment.0" annotatedElement="Message-argument">
          <body>The arguments of the Message.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Message-argument-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Message-argument-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Message-connector" name="connector" type="Connector" association="A_connector_message">
        <ownedComment xmi:id="Message-connector-_ownedComment.0" annotatedElement="Message-connector">
          <body>The Connector on which this Message is sent.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Message-connector-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Message-interaction" name="interaction" type="Interaction" subsettedProperty="NamedElement-namespace" association="A_message_interaction">
        <ownedComment xmi:id="Message-interaction-_ownedComment.0" annotatedElement="Message-interaction">
          <body>The enclosing Interaction owning the Message.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="Message-messageKind" name="messageKind" type="MessageKind" isReadOnly="true" isDerived="true">
        <ownedComment xmi:id="Message-messageKind-_ownedComment.0" annotatedElement="Message-messageKind">
          <body>The derived kind of the Message (complete, lost, found, or unknown).</body>
        </ownedComment>
        <defaultValue xmi:type="uml:InstanceValue" xmi:id="Message-messageKind-_defaultValue" instance="MessageKind-unknown"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Message-messageSort" name="messageSort" type="MessageSort">
        <ownedComment xmi:id="Message-messageSort-_ownedComment.0" annotatedElement="Message-messageSort">
          <body>The sort of communication reflected by the Message.</body>
        </ownedComment>
        <defaultValue xmi:type="uml:InstanceValue" xmi:id="Message-messageSort-_defaultValue" type="MessageSort" instance="MessageSort-synchCall"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Message-receiveEvent" name="receiveEvent" type="MessageEnd" subsettedProperty="A_message_messageEnd-messageEnd" association="A_receiveEvent_endMessage">
        <ownedComment xmi:id="Message-receiveEvent-_ownedComment.0" annotatedElement="Message-receiveEvent">
          <body>References the Receiving of the Message.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Message-receiveEvent-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Message-sendEvent" name="sendEvent" type="MessageEnd" subsettedProperty="A_message_messageEnd-messageEnd" association="A_sendEvent_endMessage">
        <ownedComment xmi:id="Message-sendEvent-_ownedComment.0" annotatedElement="Message-sendEvent">
          <body>References the Sending of the Message.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Message-sendEvent-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Message-signature" name="signature" type="NamedElement" association="A_signature_message">
        <ownedComment xmi:id="Message-signature-_ownedComment.0" annotatedElement="Message-signature">
          <body>The signature of the Message is the specification of its content. It refers either an Operation or a Signal.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Message-signature-_lowerValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Message-messageKind.1" name="messageKind" visibility="protected" bodyCondition="Message-messageKind.1-spec" isQuery="true">
        <ownedComment xmi:id="Message-messageKind.1-_ownedComment.0" annotatedElement="Message-messageKind.1">
          <body>This query returns the MessageKind value for this Message.</body>
        </ownedComment>
        <ownedRule xmi:id="Message-messageKind.1-spec" name="spec" constrainedElement="Message-messageKind.1 Message-messageKind">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Message-messageKind.1-spec-_specification">
            <language>OCL</language>
            <body>result = (messageKind)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Message-messageKind.1-result" name="result" type="MessageKind" direction="return"/>
      </ownedOperation>
      <ownedOperation xmi:id="Message-isDistinguishableFrom" name="isDistinguishableFrom" bodyCondition="Message-isDistinguishableFrom-spec" isQuery="true" redefinedOperation="NamedElement-isDistinguishableFrom">
        <ownedComment xmi:id="Message-isDistinguishableFrom-_ownedComment.0" annotatedElement="Message-isDistinguishableFrom">
          <body>The query isDistinguishableFrom() specifies that any two Messages may coexist in the same Namespace, regardless of their names.</body>
        </ownedComment>
        <ownedRule xmi:id="Message-isDistinguishableFrom-spec" name="spec" constrainedElement="Message-isDistinguishableFrom">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Message-isDistinguishableFrom-spec-_specification">
            <language>OCL</language>
            <body>result = (true)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Message-isDistinguishableFrom-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Message-isDistinguishableFrom-n" name="n" type="NamedElement"/>
        <ownedParameter xmi:id="Message-isDistinguishableFrom-ns" name="ns" type="Namespace"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="MessageEnd" name="MessageEnd" isAbstract="true">
      <ownedComment xmi:id="MessageEnd-_ownedComment.0" annotatedElement="MessageEnd">
        <body>MessageEnd is an abstract specialization of NamedElement that represents what can occur at the end of a Message.</body>
      </ownedComment>
      <generalization xmi:id="MessageEnd-_generalization.0" general="NamedElement"/>
      <ownedAttribute xmi:id="MessageEnd-message" name="message" type="Message" association="A_message_messageEnd">
        <ownedComment xmi:id="MessageEnd-message-_ownedComment.0" annotatedElement="MessageEnd-message">
          <body>References a Message.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="MessageEnd-message-_lowerValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="MessageEnd-oppositeEnd" name="oppositeEnd" bodyCondition="MessageEnd-oppositeEnd-spec" isQuery="true" precondition="MessageEnd-oppositeEnd-pre">
        <ownedComment xmi:id="MessageEnd-oppositeEnd-_ownedComment.0" annotatedElement="MessageEnd-oppositeEnd">
          <body>This query returns a set including the MessageEnd (if exists) at the opposite end of the Message for this MessageEnd.</body>
        </ownedComment>
        <ownedRule xmi:id="MessageEnd-oppositeEnd-spec" name="spec" constrainedElement="MessageEnd-oppositeEnd">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MessageEnd-oppositeEnd-spec-_specification">
            <language>OCL</language>
            <body>result = (message->asSet().messageEnd->asSet()->excluding(self))</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:id="MessageEnd-oppositeEnd-pre" name="pre" constrainedElement="MessageEnd-oppositeEnd">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MessageEnd-oppositeEnd-pre-_specification">
            <language>OCL</language>
            <body>message->notEmpty()</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="MessageEnd-oppositeEnd-result" name="result" type="MessageEnd" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="MessageEnd-oppositeEnd-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="MessageEnd-oppositeEnd-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="MessageEnd-isSend" name="isSend" bodyCondition="MessageEnd-isSend-spec" isQuery="true" precondition="MessageEnd-isSend-pre">
        <ownedComment xmi:id="MessageEnd-isSend-_ownedComment.0" annotatedElement="MessageEnd-isSend">
          <body>This query returns value true if this MessageEnd is a sendEvent.</body>
        </ownedComment>
        <ownedRule xmi:id="MessageEnd-isSend-pre" name="pre" constrainedElement="MessageEnd-isSend">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MessageEnd-isSend-pre-_specification">
            <language>OCL</language>
            <body>message->notEmpty()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:id="MessageEnd-isSend-spec" name="spec" constrainedElement="MessageEnd-isSend">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MessageEnd-isSend-spec-_specification">
            <language>OCL</language>
            <body>result = (message.sendEvent->asSet()->includes(self))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="MessageEnd-isSend-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="MessageEnd-isReceive" name="isReceive" bodyCondition="MessageEnd-isReceive-spec" isQuery="true" precondition="MessageEnd-isReceive-pre">
        <ownedComment xmi:id="MessageEnd-isReceive-_ownedComment.0" annotatedElement="MessageEnd-isReceive">
          <body>This query returns value true if this MessageEnd is a receiveEvent.</body>
        </ownedComment>
        <ownedRule xmi:id="MessageEnd-isReceive-pre" name="pre" constrainedElement="MessageEnd-isReceive">
          <ownedComment xmi:id="MessageEnd-isReceive-pre-_ownedComment.0" annotatedElement="MessageEnd-isReceive-pre">
            <body>&lt;p>message-&amp;gt;notEmpty()&lt;/p></body>
          </ownedComment>
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MessageEnd-isReceive-pre-_specification">
            <language>OCL</language>
            <body>message->notEmpty()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:id="MessageEnd-isReceive-spec" name="spec" constrainedElement="MessageEnd-isReceive">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MessageEnd-isReceive-spec-_specification">
            <language>OCL</language>
            <body>result = (message.receiveEvent->asSet()->includes(self))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="MessageEnd-isReceive-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="MessageEnd-enclosingFragment" name="enclosingFragment" bodyCondition="MessageEnd-enclosingFragment-spec" isQuery="true">
        <ownedComment xmi:id="MessageEnd-enclosingFragment-_ownedComment.0" annotatedElement="MessageEnd-enclosingFragment">
          <body>This query returns a set including the enclosing InteractionFragment this MessageEnd is enclosed within.</body>
        </ownedComment>
        <ownedRule xmi:id="MessageEnd-enclosingFragment-spec" name="spec" constrainedElement="MessageEnd-enclosingFragment">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="MessageEnd-enclosingFragment-spec-_specification">
            <language>OCL</language>
            <body>result = (if self->select(oclIsKindOf(Gate))->notEmpty() &#xD;
then -- it is a Gate&#xD;
let endGate : Gate = &#xD;
  self->select(oclIsKindOf(Gate)).oclAsType(Gate)->asOrderedSet()->first()&#xD;
  in&#xD;
  if endGate.isOutsideCF() &#xD;
  then endGate.combinedFragment.enclosingInteraction.oclAsType(InteractionFragment)->asSet()->&#xD;
     union(endGate.combinedFragment.enclosingOperand.oclAsType(InteractionFragment)->asSet())&#xD;
  else if endGate.isInsideCF() &#xD;
    then endGate.combinedFragment.oclAsType(InteractionFragment)->asSet()&#xD;
    else if endGate.isFormal() &#xD;
      then endGate.interaction.oclAsType(InteractionFragment)->asSet()&#xD;
      else if endGate.isActual() &#xD;
        then endGate.interactionUse.enclosingInteraction.oclAsType(InteractionFragment)->asSet()->&#xD;
     union(endGate.interactionUse.enclosingOperand.oclAsType(InteractionFragment)->asSet())&#xD;
        else null&#xD;
        endif&#xD;
      endif&#xD;
    endif&#xD;
  endif&#xD;
else -- it is a MessageOccurrenceSpecification&#xD;
let endMOS : MessageOccurrenceSpecification  = &#xD;
  self->select(oclIsKindOf(MessageOccurrenceSpecification)).oclAsType(MessageOccurrenceSpecification)->asOrderedSet()->first() &#xD;
  in&#xD;
  if endMOS.enclosingInteraction->notEmpty() &#xD;
  then endMOS.enclosingInteraction.oclAsType(InteractionFragment)->asSet()&#xD;
  else endMOS.enclosingOperand.oclAsType(InteractionFragment)->asSet()&#xD;
  endif&#xD;
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="MessageEnd-enclosingFragment-result" name="result" type="InteractionFragment" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="MessageEnd-enclosingFragment-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="MessageEnd-enclosingFragment-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="MessageOccurrenceSpecification" name="MessageOccurrenceSpecification">
      <ownedComment xmi:id="MessageOccurrenceSpecification-_ownedComment.0" annotatedElement="MessageOccurrenceSpecification">
        <body>A MessageOccurrenceSpecification specifies the occurrence of Message events, such as sending and receiving of Signals or invoking or receiving of Operation calls. A MessageOccurrenceSpecification is a kind of MessageEnd. Messages are generated either by synchronous Operation calls or asynchronous Signal sends. They are received by the execution of corresponding AcceptEventActions.</body>
      </ownedComment>
      <generalization xmi:id="MessageOccurrenceSpecification-_generalization.0" general="MessageEnd"/>
      <generalization xmi:id="MessageOccurrenceSpecification-_generalization.1" general="OccurrenceSpecification"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="OccurrenceSpecification" name="OccurrenceSpecification">
      <ownedComment xmi:id="OccurrenceSpecification-_ownedComment.0" annotatedElement="OccurrenceSpecification">
        <body>An OccurrenceSpecification is the basic semantic unit of Interactions. The sequences of occurrences specified by them are the meanings of Interactions.</body>
      </ownedComment>
      <generalization xmi:id="OccurrenceSpecification-_generalization.0" general="InteractionFragment"/>
      <ownedAttribute xmi:id="OccurrenceSpecification-covered" name="covered" type="Lifeline" redefinedProperty="InteractionFragment-covered" association="A_covered_events">
        <ownedComment xmi:id="OccurrenceSpecification-covered-_ownedComment.0" annotatedElement="OccurrenceSpecification-covered">
          <body>References the Lifeline on which the OccurrenceSpecification appears.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="OccurrenceSpecification-toAfter" name="toAfter" type="GeneralOrdering" association="A_before_toAfter">
        <ownedComment xmi:id="OccurrenceSpecification-toAfter-_ownedComment.0" annotatedElement="OccurrenceSpecification-toAfter">
          <body>References the GeneralOrderings that specify EventOcurrences that must occur after this OccurrenceSpecification.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OccurrenceSpecification-toAfter-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="OccurrenceSpecification-toAfter-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="OccurrenceSpecification-toBefore" name="toBefore" type="GeneralOrdering" association="A_toBefore_after">
        <ownedComment xmi:id="OccurrenceSpecification-toBefore-_ownedComment.0" annotatedElement="OccurrenceSpecification-toBefore">
          <body>References the GeneralOrderings that specify EventOcurrences that must occur before this OccurrenceSpecification.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OccurrenceSpecification-toBefore-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="OccurrenceSpecification-toBefore-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="OccurrenceSpecification-getCovered" name="getCovered">
        <ownedComment xmi:id="OccurrenceSpecification-getCovered-_ownedComment.0" annotatedElement="OccurrenceSpecification-getCovered">
          <body>Returns the Lifeline on which the OccurrenceSpecification appears.</body>
        </ownedComment>
        <ownedParameter xmi:id="OccurrenceSpecification-getCovered-_ownedParameter.0" type="Lifeline" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OccurrenceSpecification-getCovered-_ownedParameter.0-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="OccurrenceSpecification-setCovered" name="setCovered">
        <ownedComment xmi:id="OccurrenceSpecification-setCovered-_ownedComment.0" annotatedElement="OccurrenceSpecification-setCovered">
          <body>Sets the Lifeline on which the OccurrenceSpecification appears.</body>
        </ownedComment>
        <ownedParameter xmi:id="OccurrenceSpecification-setCovered-value" name="value" type="Lifeline"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="PartDecomposition" name="PartDecomposition">
      <ownedComment xmi:id="PartDecomposition-_ownedComment.0" annotatedElement="PartDecomposition">
        <body>A PartDecomposition is a description of the internal Interactions of one Lifeline relative to an Interaction.</body>
      </ownedComment>
      <ownedRule xmi:id="PartDecomposition-commutativity_of_decomposition" name="commutativity_of_decomposition" constrainedElement="PartDecomposition">
        <ownedComment xmi:id="PartDecomposition-commutativity_of_decomposition-_ownedComment.0" annotatedElement="PartDecomposition-commutativity_of_decomposition">
          <body>Assume that within Interaction X, Lifeline L is of class C and decomposed to D. Assume also that there is within X an InteractionUse (say) U that covers L. According to the constraint above U will have a counterpart CU within D. Within the Interaction referenced by U, L should also be decomposed, and the decomposition should reference CU. (This rule is called commutativity of decomposition.)</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="PartDecomposition-commutativity_of_decomposition-_specification" language=""/>
      </ownedRule>
      <ownedRule xmi:id="PartDecomposition-assume" name="assume" constrainedElement="PartDecomposition">
        <ownedComment xmi:id="PartDecomposition-assume-_ownedComment.0" annotatedElement="PartDecomposition-assume">
          <body>Assume that within Interaction X, Lifeline L is of class C and decomposed to D. Within X there is a sequence of constructs along L (such constructs are CombinedFragments, InteractionUse and (plain) OccurrenceSpecifications). Then a corresponding sequence of constructs must appear within D, matched one-to-one in the same order. i) CombinedFragment covering L are matched with an extra-global CombinedFragment in D. ii) An InteractionUse covering L is matched with a global (i.e., covering all Lifelines) InteractionUse in D. iii) A plain OccurrenceSpecification on L is considered an actualGate that must be matched by a formalGate of D.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="PartDecomposition-assume-_specification" language=""/>
      </ownedRule>
      <ownedRule xmi:id="PartDecomposition-parts_of_internal_structures" name="parts_of_internal_structures" constrainedElement="PartDecomposition">
        <ownedComment xmi:id="PartDecomposition-parts_of_internal_structures-_ownedComment.0" annotatedElement="PartDecomposition-parts_of_internal_structures">
          <body>PartDecompositions apply only to Parts that are Parts of Internal Structures not to Parts of Collaborations.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="PartDecomposition-parts_of_internal_structures-_specification" language=""/>
      </ownedRule>
      <generalization xmi:id="PartDecomposition-_generalization.0" general="InteractionUse"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="StateInvariant" name="StateInvariant">
      <ownedComment xmi:id="StateInvariant-_ownedComment.0" annotatedElement="StateInvariant">
        <body>A StateInvariant is a runtime constraint on the participants of the Interaction. It may be used to specify a variety of different kinds of Constraints, such as values of Attributes or Variables, internal or external States, and so on. A StateInvariant is an InteractionFragment and it is placed on a Lifeline.</body>
      </ownedComment>
      <generalization xmi:id="StateInvariant-_generalization.0" general="InteractionFragment"/>
      <ownedAttribute xmi:id="StateInvariant-covered" name="covered" type="Lifeline" redefinedProperty="InteractionFragment-covered" association="A_covered_stateInvariant">
        <ownedComment xmi:id="StateInvariant-covered-_ownedComment.0" annotatedElement="StateInvariant-covered">
          <body>References the Lifeline on which the StateInvariant appears.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="StateInvariant-invariant" name="invariant" type="Constraint" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_invariant_stateInvariant">
        <ownedComment xmi:id="StateInvariant-invariant-_ownedComment.0" annotatedElement="StateInvariant-invariant">
          <body>A Constraint that should hold at runtime for this StateInvariant.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Enumeration" xmi:id="InteractionOperatorKind" name="InteractionOperatorKind">
      <ownedComment xmi:id="InteractionOperatorKind-_ownedComment.0" annotatedElement="InteractionOperatorKind">
        <body>InteractionOperatorKind is an enumeration designating the different kinds of operators of CombinedFragments. The InteractionOperand defines the type of operator of a CombinedFragment.</body>
      </ownedComment>
      <ownedLiteral xmi:id="InteractionOperatorKind-seq" name="seq">
        <ownedComment xmi:id="InteractionOperatorKind-seq-_ownedComment.0" annotatedElement="InteractionOperatorKind-seq">
          <body>The InteractionOperatorKind seq designates that the CombinedFragment represents a weak sequencing between the behaviors of the operands.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="InteractionOperatorKind-alt" name="alt">
        <ownedComment xmi:id="InteractionOperatorKind-alt-_ownedComment.0" annotatedElement="InteractionOperatorKind-alt">
          <body>The InteractionOperatorKind alt designates that the CombinedFragment represents a choice of behavior. At most one of the operands will be chosen. The chosen operand must have an explicit or implicit guard expression that evaluates to true at this point in the interaction. An implicit true guard is implied if the operand has no guard.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="InteractionOperatorKind-opt" name="opt">
        <ownedComment xmi:id="InteractionOperatorKind-opt-_ownedComment.0" annotatedElement="InteractionOperatorKind-opt">
          <body>The InteractionOperatorKind opt designates that the CombinedFragment represents a choice of behavior where either the (sole) operand happens or nothing happens. An option is semantically equivalent to an alternative CombinedFragment where there is one operand with non-empty content and the second operand is empty.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="InteractionOperatorKind-break" name="break">
        <ownedComment xmi:id="InteractionOperatorKind-break-_ownedComment.0" annotatedElement="InteractionOperatorKind-break">
          <body>The InteractionOperatorKind break designates that the CombinedFragment represents a breaking scenario in the sense that the operand is a scenario that is performed instead of the remainder of the enclosing InteractionFragment. A break operator with a guard is chosen when the guard is true and the rest of the enclosing Interaction Fragment is ignored. When the guard of the break operand is false, the break operand is ignored and the rest of the enclosing InteractionFragment is chosen. The choice between a break operand without a guard and the rest of the enclosing InteractionFragment is done non-deterministically.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="InteractionOperatorKind-par" name="par">
        <ownedComment xmi:id="InteractionOperatorKind-par-_ownedComment.0" annotatedElement="InteractionOperatorKind-par">
          <body>The InteractionOperatorKind par designates that the CombinedFragment represents a parallel merge between the behaviors of the operands. The OccurrenceSpecifications of the different operands can be interleaved in any way as long as the ordering imposed by each operand as such is preserved.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="InteractionOperatorKind-strict" name="strict">
        <ownedComment xmi:id="InteractionOperatorKind-strict-_ownedComment.0" annotatedElement="InteractionOperatorKind-strict">
          <body>The InteractionOperatorKind strict designates that the CombinedFragment represents a strict sequencing between the behaviors of the operands. The semantics of strict sequencing defines a strict ordering of the operands on the first level within the CombinedFragment with interactionOperator strict. Therefore OccurrenceSpecifications within contained CombinedFragment will not directly be compared with other OccurrenceSpecifications of the enclosing CombinedFragment.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="InteractionOperatorKind-loop" name="loop">
        <ownedComment xmi:id="InteractionOperatorKind-loop-_ownedComment.0" annotatedElement="InteractionOperatorKind-loop">
          <body>The InteractionOperatorKind loop designates that the CombinedFragment represents a loop. The loop operand will be repeated a number of times.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="InteractionOperatorKind-critical" name="critical">
        <ownedComment xmi:id="InteractionOperatorKind-critical-_ownedComment.0" annotatedElement="InteractionOperatorKind-critical">
          <body>The InteractionOperatorKind critical designates that the CombinedFragment represents a critical region. A critical region means that the traces of the region cannot be interleaved by other OccurrenceSpecifications (on those Lifelines covered by the region). This means that the region is treated atomically by the enclosing fragment when determining the set of valid traces. Even though enclosing CombinedFragments may imply that some OccurrenceSpecifications may interleave into the region, such as with par-operator, this is prevented by defining a region.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="InteractionOperatorKind-neg" name="neg">
        <ownedComment xmi:id="InteractionOperatorKind-neg-_ownedComment.0" annotatedElement="InteractionOperatorKind-neg">
          <body>The InteractionOperatorKind neg designates that the CombinedFragment represents traces that are defined to be invalid.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="InteractionOperatorKind-assert" name="assert">
        <ownedComment xmi:id="InteractionOperatorKind-assert-_ownedComment.0" annotatedElement="InteractionOperatorKind-assert">
          <body>The InteractionOperatorKind assert designates that the CombinedFragment represents an assertion. The sequences of the operand of the assertion are the only valid continuations. All other continuations result in an invalid trace.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="InteractionOperatorKind-ignore" name="ignore">
        <ownedComment xmi:id="InteractionOperatorKind-ignore-_ownedComment.0" annotatedElement="InteractionOperatorKind-ignore">
          <body>The InteractionOperatorKind ignore designates that there are some message types that are not shown within this combined fragment. These message types can be considered insignificant and are implicitly ignored if they appear in a corresponding execution. Alternatively, one can understand ignore to mean that the message types that are ignored can appear anywhere in the traces.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="InteractionOperatorKind-consider" name="consider">
        <ownedComment xmi:id="InteractionOperatorKind-consider-_ownedComment.0" annotatedElement="InteractionOperatorKind-consider">
          <body>The InteractionOperatorKind consider designates which messages should be considered within this combined fragment. This is equivalent to defining every other message to be ignored.</body>
        </ownedComment>
      </ownedLiteral>
    </packagedElement>
    <packagedElement xmi:type="uml:Enumeration" xmi:id="MessageKind" name="MessageKind" visibility="private">
      <ownedComment xmi:id="MessageKind-_ownedComment.0" annotatedElement="MessageKind">
        <body>This is an enumerated type that identifies the type of Message.</body>
      </ownedComment>
      <ownedLiteral xmi:id="MessageKind-complete" name="complete">
        <ownedComment xmi:id="MessageKind-complete-_ownedComment.0" annotatedElement="MessageKind-complete">
          <body>sendEvent and receiveEvent are present</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="MessageKind-lost" name="lost">
        <ownedComment xmi:id="MessageKind-lost-_ownedComment.0" annotatedElement="MessageKind-lost">
          <body>sendEvent present and receiveEvent absent</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="MessageKind-found" name="found">
        <ownedComment xmi:id="MessageKind-found-_ownedComment.0" annotatedElement="MessageKind-found">
          <body>sendEvent absent and receiveEvent present</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="MessageKind-unknown" name="unknown">
        <ownedComment xmi:id="MessageKind-unknown-_ownedComment.0" annotatedElement="MessageKind-unknown">
          <body>sendEvent and receiveEvent absent (should not appear)</body>
        </ownedComment>
      </ownedLiteral>
    </packagedElement>
    <packagedElement xmi:type="uml:Enumeration" xmi:id="MessageSort" name="MessageSort">
      <ownedComment xmi:id="MessageSort-_ownedComment.0" annotatedElement="MessageSort">
        <body>This is an enumerated type that identifies the type of communication action that was used to generate the Message.</body>
      </ownedComment>
      <ownedLiteral xmi:id="MessageSort-synchCall" name="synchCall">
        <ownedComment xmi:id="MessageSort-synchCall-_ownedComment.0" annotatedElement="MessageSort-synchCall">
          <body>The message was generated by a synchronous call to an operation.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="MessageSort-asynchCall" name="asynchCall">
        <ownedComment xmi:id="MessageSort-asynchCall-_ownedComment.0" annotatedElement="MessageSort-asynchCall">
          <body>The message was generated by an asynchronous call to an operation; i.e., a CallAction with isSynchronous = false.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="MessageSort-asynchSignal" name="asynchSignal">
        <ownedComment xmi:id="MessageSort-asynchSignal-_ownedComment.0" annotatedElement="MessageSort-asynchSignal">
          <body>The message was generated by an asynchronous send action.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="MessageSort-createMessage" name="createMessage">
        <ownedComment xmi:id="MessageSort-createMessage-_ownedComment.0" annotatedElement="MessageSort-createMessage">
          <body>The message designating the creation of another lifeline object.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="MessageSort-deleteMessage" name="deleteMessage">
        <ownedComment xmi:id="MessageSort-deleteMessage-_ownedComment.0" annotatedElement="MessageSort-deleteMessage">
          <body>The message designating the termination of another lifeline.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="MessageSort-reply" name="reply">
        <ownedComment xmi:id="MessageSort-reply-_ownedComment.0" annotatedElement="MessageSort-reply">
          <body>The message is a reply message to an operation call.</body>
        </ownedComment>
      </ownedLiteral>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_invariant_stateInvariant" name="A_invariant_stateInvariant" visibility="private" memberEnd="StateInvariant-invariant A_invariant_stateInvariant-stateInvariant">
      <ownedEnd xmi:id="A_invariant_stateInvariant-stateInvariant" name="stateInvariant" type="StateInvariant" subsettedProperty="Element-owner" association="A_invariant_stateInvariant">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_invariant_stateInvariant-stateInvariant-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_covered_stateInvariant" name="A_covered_stateInvariant" visibility="private" memberEnd="StateInvariant-covered A_covered_stateInvariant-stateInvariant">
      <ownedEnd xmi:id="A_covered_stateInvariant-stateInvariant" name="stateInvariant" type="StateInvariant" subsettedProperty="Lifeline-coveredBy" association="A_covered_stateInvariant">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_covered_stateInvariant-stateInvariant-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_covered_stateInvariant-stateInvariant-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_covered_events" name="A_covered_events" visibility="private" memberEnd="OccurrenceSpecification-covered A_covered_events-events">
      <ownedEnd xmi:id="A_covered_events-events" name="events" type="OccurrenceSpecification" isOrdered="true" subsettedProperty="Lifeline-coveredBy" association="A_covered_events">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_covered_events-events-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_covered_events-events-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_toBefore_after" name="A_toBefore_after" visibility="private" memberEnd="OccurrenceSpecification-toBefore GeneralOrdering-after"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_message_messageEnd" name="A_message_messageEnd" visibility="private" memberEnd="MessageEnd-message A_message_messageEnd-messageEnd">
      <ownedEnd xmi:id="A_message_messageEnd-messageEnd" name="messageEnd" type="MessageEnd" association="A_message_messageEnd">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_message_messageEnd-messageEnd-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_message_messageEnd-messageEnd-_upperValue" value="2"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_signature_message" name="A_signature_message" visibility="private" memberEnd="Message-signature A_signature_message-message">
      <ownedEnd xmi:id="A_signature_message-message" name="message" type="Message" association="A_signature_message">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_signature_message-message-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_signature_message-message-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_connector_message" name="A_connector_message" visibility="private" memberEnd="Message-connector A_connector_message-message">
      <ownedEnd xmi:id="A_connector_message-message" name="message" type="Message" association="A_connector_message">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_connector_message-message-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_connector_message-message-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_receiveEvent_endMessage" name="A_receiveEvent_endMessage" visibility="private" memberEnd="Message-receiveEvent A_receiveEvent_endMessage-endMessage">
      <ownedEnd xmi:id="A_receiveEvent_endMessage-endMessage" name="endMessage" type="Message" subsettedProperty="MessageEnd-message" association="A_receiveEvent_endMessage">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_receiveEvent_endMessage-endMessage-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_sendEvent_endMessage" name="A_sendEvent_endMessage" visibility="private" memberEnd="Message-sendEvent A_sendEvent_endMessage-endMessage">
      <ownedEnd xmi:id="A_sendEvent_endMessage-endMessage" name="endMessage" type="Message" subsettedProperty="MessageEnd-message" association="A_sendEvent_endMessage">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_sendEvent_endMessage-endMessage-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_argument_message" name="A_argument_message" visibility="private" memberEnd="Message-argument A_argument_message-message">
      <ownedEnd xmi:id="A_argument_message-message" name="message" type="Message" subsettedProperty="Element-owner" association="A_argument_message">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_argument_message-message-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_selector_lifeline" name="A_selector_lifeline" visibility="private" memberEnd="Lifeline-selector A_selector_lifeline-lifeline">
      <ownedEnd xmi:id="A_selector_lifeline-lifeline" name="lifeline" type="Lifeline" subsettedProperty="Element-owner" association="A_selector_lifeline">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_selector_lifeline-lifeline-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_decomposedAs_lifeline" name="A_decomposedAs_lifeline" visibility="private" memberEnd="Lifeline-decomposedAs A_decomposedAs_lifeline-lifeline">
      <ownedEnd xmi:id="A_decomposedAs_lifeline-lifeline" name="lifeline" type="Lifeline" association="A_decomposedAs_lifeline"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_represents_lifeline" name="A_represents_lifeline" visibility="private" memberEnd="Lifeline-represents A_represents_lifeline-lifeline">
      <ownedComment xmi:id="A_represents_lifeline-_ownedComment.0" annotatedElement="A_represents_lifeline">
        <body>If a Part has multiplicity, multiple lifelines might be used to show it.</body>
      </ownedComment>
      <ownedEnd xmi:id="A_represents_lifeline-lifeline" name="lifeline" type="Lifeline" association="A_represents_lifeline">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_represents_lifeline-lifeline-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_represents_lifeline-lifeline-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_returnValueRecipient_interactionUse" name="A_returnValueRecipient_interactionUse" visibility="private" memberEnd="InteractionUse-returnValueRecipient A_returnValueRecipient_interactionUse-interactionUse">
      <ownedEnd xmi:id="A_returnValueRecipient_interactionUse-interactionUse" name="interactionUse" type="InteractionUse" association="A_returnValueRecipient_interactionUse">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_returnValueRecipient_interactionUse-interactionUse-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_returnValueRecipient_interactionUse-interactionUse-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_refersTo_interactionUse" name="A_refersTo_interactionUse" visibility="private" memberEnd="InteractionUse-refersTo A_refersTo_interactionUse-interactionUse">
      <ownedEnd xmi:id="A_refersTo_interactionUse-interactionUse" name="interactionUse" type="InteractionUse" association="A_refersTo_interactionUse">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_refersTo_interactionUse-interactionUse-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_refersTo_interactionUse-interactionUse-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_returnValue_interactionUse" name="A_returnValue_interactionUse" visibility="private" memberEnd="InteractionUse-returnValue A_returnValue_interactionUse-interactionUse">
      <ownedEnd xmi:id="A_returnValue_interactionUse-interactionUse" name="interactionUse" type="InteractionUse" subsettedProperty="Element-owner" association="A_returnValue_interactionUse">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_returnValue_interactionUse-interactionUse-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_argument_interactionUse" name="A_argument_interactionUse" visibility="private" memberEnd="InteractionUse-argument A_argument_interactionUse-interactionUse">
      <ownedEnd xmi:id="A_argument_interactionUse-interactionUse" name="interactionUse" type="InteractionUse" subsettedProperty="Element-owner" association="A_argument_interactionUse">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_argument_interactionUse-interactionUse-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_actualGate_interactionUse" name="A_actualGate_interactionUse" visibility="private" memberEnd="InteractionUse-actualGate A_actualGate_interactionUse-interactionUse">
      <ownedEnd xmi:id="A_actualGate_interactionUse-interactionUse" name="interactionUse" type="InteractionUse" subsettedProperty="Element-owner" association="A_actualGate_interactionUse">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_actualGate_interactionUse-interactionUse-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_fragment_enclosingOperand" name="A_fragment_enclosingOperand" visibility="private" memberEnd="InteractionOperand-fragment InteractionFragment-enclosingOperand"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_guard_interactionOperand" name="A_guard_interactionOperand" visibility="private" memberEnd="InteractionOperand-guard A_guard_interactionOperand-interactionOperand">
      <ownedEnd xmi:id="A_guard_interactionOperand-interactionOperand" name="interactionOperand" type="InteractionOperand" subsettedProperty="Element-owner" association="A_guard_interactionOperand"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_generalOrdering_interactionFragment" name="A_generalOrdering_interactionFragment" visibility="private" memberEnd="InteractionFragment-generalOrdering A_generalOrdering_interactionFragment-interactionFragment">
      <ownedEnd xmi:id="A_generalOrdering_interactionFragment-interactionFragment" name="interactionFragment" type="InteractionFragment" subsettedProperty="Element-owner" association="A_generalOrdering_interactionFragment">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_generalOrdering_interactionFragment-interactionFragment-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_covered_coveredBy" name="A_covered_coveredBy" visibility="private" memberEnd="InteractionFragment-covered Lifeline-coveredBy">
      <ownedComment xmi:id="A_covered_coveredBy-_ownedComment.0" annotatedElement="A_covered_coveredBy">
        <body>This association shows the lifelines that make up an interaction. A lifeline may be part of more than one interaction use.</body>
      </ownedComment>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_minint_interactionConstraint" name="A_minint_interactionConstraint" visibility="private" memberEnd="InteractionConstraint-minint A_minint_interactionConstraint-interactionConstraint">
      <ownedEnd xmi:id="A_minint_interactionConstraint-interactionConstraint" name="interactionConstraint" type="InteractionConstraint" subsettedProperty="Element-owner" association="A_minint_interactionConstraint">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_minint_interactionConstraint-interactionConstraint-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_maxint_interactionConstraint" name="A_maxint_interactionConstraint" visibility="private" memberEnd="InteractionConstraint-maxint A_maxint_interactionConstraint-interactionConstraint">
      <ownedEnd xmi:id="A_maxint_interactionConstraint-interactionConstraint" name="interactionConstraint" type="InteractionConstraint" subsettedProperty="Element-owner" association="A_maxint_interactionConstraint">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_maxint_interactionConstraint-interactionConstraint-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_action_interaction" name="A_action_interaction" visibility="private" memberEnd="Interaction-action A_action_interaction-interaction">
      <ownedEnd xmi:id="A_action_interaction-interaction" name="interaction" type="Interaction" subsettedProperty="Element-owner" association="A_action_interaction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_action_interaction-interaction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_formalGate_interaction" name="A_formalGate_interaction" visibility="private" memberEnd="Interaction-formalGate A_formalGate_interaction-interaction">
      <ownedEnd xmi:id="A_formalGate_interaction-interaction" name="interaction" type="Interaction" subsettedProperty="NamedElement-namespace" association="A_formalGate_interaction">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_formalGate_interaction-interaction-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_lifeline_interaction" name="A_lifeline_interaction" visibility="private" memberEnd="Interaction-lifeline Lifeline-interaction"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_fragment_enclosingInteraction" name="A_fragment_enclosingInteraction" visibility="private" memberEnd="Interaction-fragment InteractionFragment-enclosingInteraction"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_message_interaction" name="A_message_interaction" visibility="private" memberEnd="Interaction-message Message-interaction"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_before_toAfter" name="A_before_toAfter" visibility="private" memberEnd="GeneralOrdering-before OccurrenceSpecification-toAfter"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_finish_executionSpecification" name="A_finish_executionSpecification" visibility="private" memberEnd="ExecutionSpecification-finish A_finish_executionSpecification-executionSpecification">
      <ownedComment xmi:id="A_finish_executionSpecification-_ownedComment.0" annotatedElement="A_finish_executionSpecification">
        <body>The event shows the time point at which the action completes execution.</body>
      </ownedComment>
      <ownedEnd xmi:id="A_finish_executionSpecification-executionSpecification" name="executionSpecification" type="ExecutionSpecification" association="A_finish_executionSpecification">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_finish_executionSpecification-executionSpecification-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_finish_executionSpecification-executionSpecification-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_start_executionSpecification" name="A_start_executionSpecification" visibility="private" memberEnd="ExecutionSpecification-start A_start_executionSpecification-executionSpecification">
      <ownedComment xmi:id="A_start_executionSpecification-_ownedComment.0" annotatedElement="A_start_executionSpecification">
        <body>The event shows the time point at which the action begins execution.</body>
      </ownedComment>
      <ownedEnd xmi:id="A_start_executionSpecification-executionSpecification" name="executionSpecification" type="ExecutionSpecification" association="A_start_executionSpecification">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_start_executionSpecification-executionSpecification-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_start_executionSpecification-executionSpecification-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_execution_executionOccurrenceSpecification" name="A_execution_executionOccurrenceSpecification" visibility="private" memberEnd="ExecutionOccurrenceSpecification-execution A_execution_executionOccurrenceSpecification-executionOccurrenceSpecification">
      <ownedEnd xmi:id="A_execution_executionOccurrenceSpecification-executionOccurrenceSpecification" name="executionOccurrenceSpecification" type="ExecutionOccurrenceSpecification" association="A_execution_executionOccurrenceSpecification">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_execution_executionOccurrenceSpecification-executionOccurrenceSpecification-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_execution_executionOccurrenceSpecification-executionOccurrenceSpecification-_upperValue" value="2"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_message_considerIgnoreFragment" name="A_message_considerIgnoreFragment" visibility="private" memberEnd="ConsiderIgnoreFragment-message A_message_considerIgnoreFragment-considerIgnoreFragment">
      <ownedEnd xmi:id="A_message_considerIgnoreFragment-considerIgnoreFragment" name="considerIgnoreFragment" type="ConsiderIgnoreFragment" association="A_message_considerIgnoreFragment">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_message_considerIgnoreFragment-considerIgnoreFragment-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_message_considerIgnoreFragment-considerIgnoreFragment-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_cfragmentGate_combinedFragment" name="A_cfragmentGate_combinedFragment" visibility="private" memberEnd="CombinedFragment-cfragmentGate A_cfragmentGate_combinedFragment-combinedFragment">
      <ownedEnd xmi:id="A_cfragmentGate_combinedFragment-combinedFragment" name="combinedFragment" type="CombinedFragment" subsettedProperty="Element-owner" association="A_cfragmentGate_combinedFragment">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_cfragmentGate_combinedFragment-combinedFragment-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_operand_combinedFragment" name="A_operand_combinedFragment" visibility="private" memberEnd="CombinedFragment-operand A_operand_combinedFragment-combinedFragment">
      <ownedEnd xmi:id="A_operand_combinedFragment-combinedFragment" name="combinedFragment" type="CombinedFragment" subsettedProperty="Element-owner" association="A_operand_combinedFragment">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_operand_combinedFragment-combinedFragment-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_behavior_behaviorExecutionSpecification" name="A_behavior_behaviorExecutionSpecification" visibility="private" memberEnd="BehaviorExecutionSpecification-behavior A_behavior_behaviorExecutionSpecification-behaviorExecutionSpecification">
      <ownedEnd xmi:id="A_behavior_behaviorExecutionSpecification-behaviorExecutionSpecification" name="behaviorExecutionSpecification" type="BehaviorExecutionSpecification" association="A_behavior_behaviorExecutionSpecification">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_behavior_behaviorExecutionSpecification-behaviorExecutionSpecification-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_behavior_behaviorExecutionSpecification-behaviorExecutionSpecification-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_action_actionExecutionSpecification" name="A_action_actionExecutionSpecification" visibility="private" memberEnd="ActionExecutionSpecification-action A_action_actionExecutionSpecification-actionExecutionSpecification">
      <ownedEnd xmi:id="A_action_actionExecutionSpecification-actionExecutionSpecification" name="actionExecutionSpecification" type="ActionExecutionSpecification" association="A_action_actionExecutionSpecification">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_action_actionExecutionSpecification-actionExecutionSpecification-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_action_actionExecutionSpecification-actionExecutionSpecification-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Extension" name="Extension">
      <ownedComment xmi:id="Extension-_ownedComment.0" annotatedElement="Extension">
        <body>An extension is used to indicate that the properties of a metaclass are extended through a stereotype, and gives the ability to flexibly add (and later remove) stereotypes to classes.</body>
      </ownedComment>
      <ownedRule xmi:id="Extension-non_owned_end" name="non_owned_end" constrainedElement="Extension">
        <ownedComment xmi:id="Extension-non_owned_end-_ownedComment.0" annotatedElement="Extension-non_owned_end">
          <body>The non-owned end of an Extension is typed by a Class.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Extension-non_owned_end-_specification">
          <language>OCL</language>
          <body>metaclassEnd()->notEmpty() and metaclassEnd().type.oclIsKindOf(Class)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Extension-is_binary" name="is_binary" constrainedElement="Extension">
        <ownedComment xmi:id="Extension-is_binary-_ownedComment.0" annotatedElement="Extension-is_binary">
          <body>An Extension is binary, i.e., it has only two memberEnds.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Extension-is_binary-_specification">
          <language>OCL</language>
          <body>memberEnd->size() = 2</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Extension-_generalization.0" general="Association"/>
      <ownedAttribute xmi:id="Extension-isRequired" name="isRequired" isReadOnly="true" isDerived="true">
        <ownedComment xmi:id="Extension-isRequired-_ownedComment.0" annotatedElement="Extension-isRequired">
          <body>Indicates whether an instance of the extending stereotype must be created when an instance of the extended class is created. The attribute value is derived from the value of the lower property of the ExtensionEnd referenced by Extension::ownedEnd; a lower value of 1 means that isRequired is true, but otherwise it is false. Since the default value of ExtensionEnd::lower is 0, the default value of isRequired is false.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Extension-metaclass" name="metaclass" type="Class" isReadOnly="true" isDerived="true" association="A_extension_metaclass">
        <ownedComment xmi:id="Extension-metaclass-_ownedComment.0" annotatedElement="Extension-metaclass">
          <body>References the Class that is extended through an Extension. The property is derived from the type of the memberEnd that is not the ownedEnd.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="Extension-ownedEnd" name="ownedEnd" type="ExtensionEnd" aggregation="composite" redefinedProperty="Association-ownedEnd" association="A_ownedEnd_extension">
        <ownedComment xmi:id="Extension-ownedEnd-_ownedComment.0" annotatedElement="Extension-ownedEnd">
          <body>References the end of the extension that is typed by a Stereotype.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedOperation xmi:id="Extension-getStereotype" name="getStereotype" isQuery="true">
        <ownedComment xmi:id="Extension-getStereotype-_ownedComment.0" annotatedElement="Extension-getStereotype">
          <body>Retrieves the stereotype that extends a metaclass through this extension.</body>
        </ownedComment>
        <ownedParameter xmi:id="Extension-getStereotype-_ownedParameter.0" type="Stereotype" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Extension-getStereotype-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Extension-getStereotype-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Extension-getStereotypeEnd" name="getStereotypeEnd" isQuery="true">
        <ownedComment xmi:id="Extension-getStereotypeEnd-_ownedComment.0" annotatedElement="Extension-getStereotypeEnd">
          <body>Retrieves the extension end that is typed by a stereotype (as opposed to a metaclass).</body>
        </ownedComment>
        <ownedParameter xmi:id="Extension-getStereotypeEnd-_ownedParameter.0" type="Property" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Extension-getStereotypeEnd-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Extension-getStereotypeEnd-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Extension-isRequired.1" name="isRequired" bodyCondition="Extension-isRequired.1-spec" isQuery="true">
        <ownedComment xmi:id="Extension-isRequired.1-_ownedComment.0" annotatedElement="Extension-isRequired.1">
          <body>The query isRequired() is true if the owned end has a multiplicity with the lower bound of 1.</body>
        </ownedComment>
        <ownedRule xmi:id="Extension-isRequired.1-spec" name="spec" constrainedElement="Extension-isRequired.1 Extension-isRequired">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Extension-isRequired.1-spec-_specification">
            <language>OCL</language>
            <body>result = (ownedEnd.lowerBound() = 1)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Extension-isRequired.1-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Extension-metaclass.1" name="metaclass" visibility="protected" bodyCondition="Extension-metaclass.1-spec" isQuery="true">
        <ownedComment xmi:id="Extension-metaclass.1-_ownedComment.0" annotatedElement="Extension-metaclass.1">
          <body>The query metaclass() returns the metaclass that is being extended (as opposed to the extending stereotype).</body>
        </ownedComment>
        <ownedRule xmi:id="Extension-metaclass.1-spec" name="spec" constrainedElement="Extension-metaclass.1 Extension-metaclass">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Extension-metaclass.1-spec-_specification">
            <language>OCL</language>
            <body>result = (metaclassEnd().type.oclAsType(Class))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Extension-metaclass.1-result" name="result" type="Class" direction="return"/>
      </ownedOperation>
      <ownedOperation xmi:id="Extension-metaclassEnd" name="metaclassEnd" bodyCondition="Extension-metaclassEnd-spec" isQuery="true">
        <ownedComment xmi:id="Extension-metaclassEnd-_ownedComment.0" annotatedElement="Extension-metaclassEnd">
          <body>The query metaclassEnd() returns the Property that is typed by a metaclass (as opposed to a stereotype).</body>
        </ownedComment>
        <ownedRule xmi:id="Extension-metaclassEnd-spec" name="spec" constrainedElement="Extension-metaclassEnd">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Extension-metaclassEnd-spec-_specification">
            <language>OCL</language>
            <body>result = (memberEnd->reject(p | ownedEnd->includes(p.oclAsType(ExtensionEnd)))->any(true))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Extension-metaclassEnd-result" name="result" type="Property" direction="return"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ExtensionEnd" name="ExtensionEnd">
      <ownedComment xmi:id="ExtensionEnd-_ownedComment.0" annotatedElement="ExtensionEnd">
        <body>An extension end is used to tie an extension to a stereotype when extending a metaclass.
The default multiplicity of an extension end is 0..1.</body>
      </ownedComment>
      <ownedRule xmi:id="ExtensionEnd-multiplicity" name="multiplicity" constrainedElement="ExtensionEnd">
        <ownedComment xmi:id="ExtensionEnd-multiplicity-_ownedComment.0" annotatedElement="ExtensionEnd-multiplicity">
          <body>The multiplicity of ExtensionEnd is 0..1 or 1.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ExtensionEnd-multiplicity-_specification">
          <language>OCL</language>
          <body>(lowerBound() = 0 or lowerBound() = 1) and upperBound() = 1</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ExtensionEnd-aggregation" name="aggregation" constrainedElement="ExtensionEnd">
        <ownedComment xmi:id="ExtensionEnd-aggregation-_ownedComment.0" annotatedElement="ExtensionEnd-aggregation">
          <body>The aggregation of an ExtensionEnd is composite.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ExtensionEnd-aggregation-_specification">
          <language>OCL</language>
          <body>self.aggregation = AggregationKind::composite</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ExtensionEnd-_generalization.0" general="Property"/>
      <ownedAttribute xmi:id="ExtensionEnd-lower" name="lower" isDerived="true">
        <ownedComment xmi:id="ExtensionEnd-lower-_ownedComment.0" annotatedElement="ExtensionEnd-lower">
          <body>This redefinition changes the default multiplicity of association ends, since model elements are usually extended by 0 or 1 instance of the extension stereotype.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ExtensionEnd-lower-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ExtensionEnd-type" name="type" type="Stereotype" redefinedProperty="TypedElement-type" association="A_type_extensionEnd">
        <ownedComment xmi:id="ExtensionEnd-type-_ownedComment.0" annotatedElement="ExtensionEnd-type">
          <body>References the type of the ExtensionEnd. Note that this association restricts the possible types of an ExtensionEnd to only be Stereotypes.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedOperation xmi:id="ExtensionEnd-getLower" name="getLower" visibility="protected" isQuery="true">
        <ownedParameter xmi:id="ExtensionEnd-getLower-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="ExtensionEnd-setLower" name="setLower">
        <ownedParameter xmi:id="ExtensionEnd-setLower-newLower" name="newLower" effect="read">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="ExtensionEnd-lowerBound" name="lowerBound" bodyCondition="ExtensionEnd-lowerBound-spec" isQuery="true" redefinedOperation="MultiplicityElement-lowerBound">
        <ownedComment xmi:id="ExtensionEnd-lowerBound-_ownedComment.0" annotatedElement="ExtensionEnd-lowerBound">
          <body>The query lowerBound() returns the lower bound of the multiplicity as an Integer. This is a redefinition of the default lower bound, which normally, for MultiplicityElements, evaluates to 1 if empty.</body>
        </ownedComment>
        <ownedRule xmi:id="ExtensionEnd-lowerBound-spec" name="spec" constrainedElement="ExtensionEnd-lowerBound">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ExtensionEnd-lowerBound-spec-_specification">
            <language>OCL</language>
            <body>result = (if lowerValue=null then 0 else lowerValue.integerValue() endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="ExtensionEnd-lowerBound-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ExtensionEnd-lowerBound-result-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Image" name="Image">
      <ownedComment xmi:id="Image-_ownedComment.0" annotatedElement="Image">
        <body>Physical definition of a graphical image.</body>
      </ownedComment>
      <generalization xmi:id="Image-_generalization.0" general="Element"/>
      <ownedAttribute xmi:id="Image-content" name="content">
        <ownedComment xmi:id="Image-content-_ownedComment.0" annotatedElement="Image-content">
          <body>This contains the serialization of the image according to the format. The value could represent a bitmap, image such as a GIF file, or drawing 'instructions' using a standard such as Scalable Vector Graphic (SVG) (which is XML based).</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Image-content-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Image-format" name="format">
        <ownedComment xmi:id="Image-format-_ownedComment.0" annotatedElement="Image-format">
          <body>This indicates the format of the content, which is how the string content should be interpreted. The following values are reserved: SVG, GIF, PNG, JPG, WMF, EMF, BMP. In addition the prefix 'MIME: ' is also reserved. This option can be used as an alternative to express the reserved values above, for example &quot;SVG&quot; could instead be expressed as &quot;MIME: image/svg+xml&quot;.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Image-format-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Image-location" name="location">
        <ownedComment xmi:id="Image-location-_ownedComment.0" annotatedElement="Image-location">
          <body>This contains a location that can be used by a tool to locate the image as an alternative to embedding it in the stereotype.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Image-location-_lowerValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Model" name="Model">
      <ownedComment xmi:id="Model-_ownedComment.0" annotatedElement="Model">
        <body>A model captures a view of a physical system. It is an abstraction of the physical system, with a certain purpose. This purpose determines what is to be included in the model and what is irrelevant. Thus the model completely describes those aspects of the physical system that are relevant to the purpose of the model, at the appropriate level of detail.</body>
      </ownedComment>
      <generalization xmi:id="Model-_generalization.0" general="Package"/>
      <ownedAttribute xmi:id="Model-viewpoint" name="viewpoint">
        <ownedComment xmi:id="Model-viewpoint-_ownedComment.0" annotatedElement="Model-viewpoint">
          <body>The name of the viewpoint that is expressed by a model (this name may refer to a profile definition).</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Model-viewpoint-_lowerValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Model-isMetamodel" name="isMetamodel" isQuery="true">
        <ownedComment xmi:id="Model-isMetamodel-_ownedComment.0" annotatedElement="Model-isMetamodel">
          <body>Determines whether this model is a metamodel.</body>
        </ownedComment>
        <ownedParameter xmi:id="Model-isMetamodel-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Package" name="Package">
      <ownedComment xmi:id="Package-_ownedComment.0" annotatedElement="Package">
        <body>A package can have one or more profile applications to indicate which profiles have been applied. Because a profile is a package, it is possible to apply a profile not only to packages, but also to profiles.
Package specializes TemplateableElement and PackageableElement specializes ParameterableElement to specify that a package can be used as a template and a PackageableElement as a template parameter.
A package is used to group elements, and provides a namespace for the grouped elements.</body>
      </ownedComment>
      <ownedRule xmi:id="Package-elements_public_or_private" name="elements_public_or_private" constrainedElement="Package">
        <ownedComment xmi:id="Package-elements_public_or_private-_ownedComment.0" annotatedElement="Package-elements_public_or_private">
          <body>If an element that is owned by a package has visibility, it is public or private.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Package-elements_public_or_private-_specification">
          <language>OCL</language>
          <body>packagedElement->forAll(e | e.visibility&lt;> null implies e.visibility = VisibilityKind::public or e.visibility = VisibilityKind::private)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Package-_generalization.0" general="PackageableElement"/>
      <generalization xmi:id="Package-_generalization.1" general="TemplateableElement"/>
      <generalization xmi:id="Package-_generalization.2" general="Namespace"/>
      <ownedAttribute xmi:id="Package-URI" name="URI">
        <ownedComment xmi:id="Package-URI-_ownedComment.0" annotatedElement="Package-URI">
          <body>Provides an identifier for the package that can be used for many purposes. A URI is the universally unique identification of the package following the IETF URI specification, RFC 2396 http://www.ietf.org/rfc/rfc2396.txt and it must comply with those syntax rules.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-URI-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Package-nestedPackage" name="nestedPackage" type="Package" aggregation="composite" isDerived="true" subsettedProperty="Package-packagedElement" association="A_nestedPackage_nestingPackage">
        <ownedComment xmi:id="Package-nestedPackage-_ownedComment.0" annotatedElement="Package-nestedPackage">
          <body>References the packaged elements that are Packages.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-nestedPackage-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-nestedPackage-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Package-nestingPackage" name="nestingPackage" type="Package" subsettedProperty="A_packagedElement_owningPackage-owningPackage NamedElement-namespace" association="A_nestedPackage_nestingPackage">
        <ownedComment xmi:id="Package-nestingPackage-_ownedComment.0" annotatedElement="Package-nestingPackage">
          <body>References the Package that owns this Package.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-nestingPackage-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Package-ownedStereotype" name="ownedStereotype" type="Stereotype" isReadOnly="true" aggregation="composite" isDerived="true" subsettedProperty="Package-packagedElement" association="A_ownedStereotype_owningPackage">
        <ownedComment xmi:id="Package-ownedStereotype-_ownedComment.0" annotatedElement="Package-ownedStereotype">
          <body>References the Stereotypes that are owned by the Package.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-ownedStereotype-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-ownedStereotype-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Package-ownedType" name="ownedType" type="Type" aggregation="composite" isDerived="true" subsettedProperty="Package-packagedElement" association="A_ownedType_package">
        <ownedComment xmi:id="Package-ownedType-_ownedComment.0" annotatedElement="Package-ownedType">
          <body>References the packaged elements that are Types.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-ownedType-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-ownedType-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Package-packageMerge" name="packageMerge" type="PackageMerge" aggregation="composite" subsettedProperty="A_source_directedRelationship-directedRelationship Element-ownedElement" association="A_packageMerge_receivingPackage">
        <ownedComment xmi:id="Package-packageMerge-_ownedComment.0" annotatedElement="Package-packageMerge">
          <body>References the PackageMerges that are owned by this Package.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-packageMerge-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-packageMerge-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Package-packagedElement" name="packagedElement" type="PackageableElement" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_packagedElement_owningPackage">
        <ownedComment xmi:id="Package-packagedElement-_ownedComment.0" annotatedElement="Package-packagedElement">
          <body>Specifies the packageable elements that are owned by this Package.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-packagedElement-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-packagedElement-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Package-profileApplication" name="profileApplication" type="ProfileApplication" aggregation="composite" subsettedProperty="A_source_directedRelationship-directedRelationship Element-ownedElement" association="A_profileApplication_applyingPackage">
        <ownedComment xmi:id="Package-profileApplication-_ownedComment.0" annotatedElement="Package-profileApplication">
          <body>References the ProfileApplications that indicate which profiles have been applied to the Package.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-profileApplication-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-profileApplication-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Package-applyProfile" name="applyProfile">
        <ownedComment xmi:id="Package-applyProfile-_ownedComment.0" annotatedElement="Package-applyProfile">
          <body>Applies the current definition of the specified profile to this package and automatically applies required stereotypes in the profile to elements within this package's namespace hieararchy. If a different definition is already applied, automatically migrates any associated stereotype values on a &quot;best effort&quot; basis (matching classifiers and structural features by name).</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-applyProfile-_ownedParameter.0" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EObject"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-applyProfile-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-applyProfile-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Package-applyProfile-profile" name="profile" type="Profile" effect="read">
          <ownedComment xmi:id="Package-applyProfile-profile-_ownedComment.0" annotatedElement="Package-applyProfile-profile">
            <body>The profile to apply.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-createOwnedClass" name="createOwnedClass">
        <ownedComment xmi:id="Package-createOwnedClass-_ownedComment.0" annotatedElement="Package-createOwnedClass">
          <body>Creates a(n) (abstract) class with the specified name as an owned type of this package.</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-createOwnedClass-_ownedParameter.0" type="Class" direction="return"/>
        <ownedParameter xmi:id="Package-createOwnedClass-name" name="name" effect="read">
          <ownedComment xmi:id="Package-createOwnedClass-name-_ownedComment.0" annotatedElement="Package-createOwnedClass-name">
            <body>The name for the new class, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
        <ownedParameter xmi:id="Package-createOwnedClass-isAbstract" name="isAbstract" effect="read">
          <ownedComment xmi:id="Package-createOwnedClass-isAbstract-_ownedComment.0" annotatedElement="Package-createOwnedClass-isAbstract">
            <body>Whether the new class should be abstract.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-createOwnedEnumeration" name="createOwnedEnumeration">
        <ownedComment xmi:id="Package-createOwnedEnumeration-_ownedComment.0" annotatedElement="Package-createOwnedEnumeration">
          <body>Creates a enumeration with the specified name as an owned type of this package.</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-createOwnedEnumeration-_ownedParameter.0" type="Enumeration" direction="return"/>
        <ownedParameter xmi:id="Package-createOwnedEnumeration-name" name="name" effect="read">
          <ownedComment xmi:id="Package-createOwnedEnumeration-name-_ownedComment.0" annotatedElement="Package-createOwnedEnumeration-name">
            <body>The name for the new enumeration, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-createOwnedInterface" name="createOwnedInterface">
        <ownedComment xmi:id="Package-createOwnedInterface-_ownedComment.0" annotatedElement="Package-createOwnedInterface">
          <body>Creates an interface with the specified name as an owned type of this package.</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-createOwnedInterface-_ownedParameter.0" type="Interface" direction="return"/>
        <ownedParameter xmi:id="Package-createOwnedInterface-name" name="name" effect="read">
          <ownedComment xmi:id="Package-createOwnedInterface-name-_ownedComment.0" annotatedElement="Package-createOwnedInterface-name">
            <body>The name for the new interface, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-createOwnedPrimitiveType" name="createOwnedPrimitiveType">
        <ownedComment xmi:id="Package-createOwnedPrimitiveType-_ownedComment.0" annotatedElement="Package-createOwnedPrimitiveType">
          <body>Creates a primitive type with the specified name as an owned type of this package.</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-createOwnedPrimitiveType-_ownedParameter.0" type="PrimitiveType" direction="return"/>
        <ownedParameter xmi:id="Package-createOwnedPrimitiveType-name" name="name" effect="read">
          <ownedComment xmi:id="Package-createOwnedPrimitiveType-name-_ownedComment.0" annotatedElement="Package-createOwnedPrimitiveType-name">
            <body>The name for the new primitive type, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-createOwnedStereotype" name="createOwnedStereotype">
        <ownedComment xmi:id="Package-createOwnedStereotype-_ownedComment.0" annotatedElement="Package-createOwnedStereotype">
          <body>Creates a(n) (abstract) stereotype with the specified name as an owned stereotype of this profile.</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-createOwnedStereotype-_ownedParameter.0" type="Stereotype" direction="return"/>
        <ownedParameter xmi:id="Package-createOwnedStereotype-name" name="name" effect="read">
          <ownedComment xmi:id="Package-createOwnedStereotype-name-_ownedComment.0" annotatedElement="Package-createOwnedStereotype-name">
            <body>The name for the new stereotype, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
        <ownedParameter xmi:id="Package-createOwnedStereotype-isAbstract" name="isAbstract" effect="read">
          <ownedComment xmi:id="Package-createOwnedStereotype-isAbstract-_ownedComment.0" annotatedElement="Package-createOwnedStereotype-isAbstract">
            <body>Whether the new stereotype should be abstract.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-getAllAppliedProfiles" name="getAllAppliedProfiles" isQuery="true">
        <ownedComment xmi:id="Package-getAllAppliedProfiles-_ownedComment.0" annotatedElement="Package-getAllAppliedProfiles">
          <body>Retrieves all the profiles that are applied to this package, including profiles applied to its nesting package(s).</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-getAllAppliedProfiles-_ownedParameter.0" type="Profile" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-getAllAppliedProfiles-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-getAllAppliedProfiles-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-getAllProfileApplications" name="getAllProfileApplications" isQuery="true">
        <ownedComment xmi:id="Package-getAllProfileApplications-_ownedComment.0" annotatedElement="Package-getAllProfileApplications">
          <body>Retrieves all the profile applications for this package, including profile applications for its nesting package(s).</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-getAllProfileApplications-_ownedParameter.0" type="ProfileApplication" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-getAllProfileApplications-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-getAllProfileApplications-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-getAppliedProfile" name="getAppliedProfile" isQuery="true">
        <ownedComment xmi:id="Package-getAppliedProfile-_ownedComment.0" annotatedElement="Package-getAppliedProfile">
          <body>Retrieves the profile with the specified qualified name that is applied to this package, or null if no such profile is applied.</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-getAppliedProfile-_ownedParameter.0" type="Profile" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-getAppliedProfile-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-getAppliedProfile-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Package-getAppliedProfile-qualifiedName" name="qualifiedName" effect="read">
          <ownedComment xmi:id="Package-getAppliedProfile-qualifiedName-_ownedComment.0" annotatedElement="Package-getAppliedProfile-qualifiedName">
            <body>The qualified name of the applied profile to retrieve.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-getAppliedProfile.1" name="getAppliedProfile" isQuery="true">
        <ownedComment xmi:id="Package-getAppliedProfile.1-_ownedComment.0" annotatedElement="Package-getAppliedProfile.1">
          <body>Retrieves the profile with the specified qualified name that is applied to this package or any of its nesting packages (if indicated), or null if no such profile is applied.</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-getAppliedProfile.1-_ownedParameter.0" type="Profile" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-getAppliedProfile.1-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-getAppliedProfile.1-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Package-getAppliedProfile.1-qualifiedName" name="qualifiedName" effect="read">
          <ownedComment xmi:id="Package-getAppliedProfile.1-qualifiedName-_ownedComment.0" annotatedElement="Package-getAppliedProfile.1-qualifiedName">
            <body>The qualified name of the applied profile to retrieve.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
        <ownedParameter xmi:id="Package-getAppliedProfile.1-recurse" name="recurse" effect="read">
          <ownedComment xmi:id="Package-getAppliedProfile.1-recurse-_ownedComment.0" annotatedElement="Package-getAppliedProfile.1-recurse">
            <body>Whether to look in nesting packages.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-getAppliedProfiles" name="getAppliedProfiles" isQuery="true">
        <ownedComment xmi:id="Package-getAppliedProfiles-_ownedComment.0" annotatedElement="Package-getAppliedProfiles">
          <body>Retrieves the profiles that are applied to this package.</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-getAppliedProfiles-_ownedParameter.0" type="Profile" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-getAppliedProfiles-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-getAppliedProfiles-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-getProfileApplication" name="getProfileApplication" isQuery="true">
        <ownedComment xmi:id="Package-getProfileApplication-_ownedComment.0" annotatedElement="Package-getProfileApplication">
          <body>Retrieves the application of the specified profile to this package, or null if no such profile is applied.</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-getProfileApplication-_ownedParameter.0" type="ProfileApplication" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-getProfileApplication-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-getProfileApplication-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Package-getProfileApplication-profile" name="profile" type="Profile" effect="read">
          <ownedComment xmi:id="Package-getProfileApplication-profile-_ownedComment.0" annotatedElement="Package-getProfileApplication-profile">
            <body>The profile whose application to retrieve.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-getProfileApplication.1" name="getProfileApplication" isQuery="true">
        <ownedComment xmi:id="Package-getProfileApplication.1-_ownedComment.0" annotatedElement="Package-getProfileApplication.1">
          <body>Retrieves the application of the specified profile to this package or any of its nesting packages (if indicated), or null if no such profile is applied.</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-getProfileApplication.1-_ownedParameter.0" type="ProfileApplication" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-getProfileApplication.1-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-getProfileApplication.1-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Package-getProfileApplication.1-profile" name="profile" type="Profile" effect="read">
          <ownedComment xmi:id="Package-getProfileApplication.1-profile-_ownedComment.0" annotatedElement="Package-getProfileApplication.1-profile">
            <body>The profile whose application to retrieve.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Package-getProfileApplication.1-recurse" name="recurse" effect="read">
          <ownedComment xmi:id="Package-getProfileApplication.1-recurse-_ownedComment.0" annotatedElement="Package-getProfileApplication.1-recurse">
            <body>Whether to look in nesting packages.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-isModelLibrary" name="isModelLibrary" isQuery="true">
        <ownedComment xmi:id="Package-isModelLibrary-_ownedComment.0" annotatedElement="Package-isModelLibrary">
          <body>Determines whether this package is a model library.</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-isModelLibrary-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-isProfileApplied" name="isProfileApplied" isQuery="true">
        <ownedComment xmi:id="Package-isProfileApplied-_ownedComment.0" annotatedElement="Package-isProfileApplied">
          <body>Determines whether the specified profile is applied to this package.</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-isProfileApplied-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Package-isProfileApplied-profile" name="profile" type="Profile" effect="read">
          <ownedComment xmi:id="Package-isProfileApplied-profile-_ownedComment.0" annotatedElement="Package-isProfileApplied-profile">
            <body>The profile in question.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-unapplyProfile" name="unapplyProfile">
        <ownedComment xmi:id="Package-unapplyProfile-_ownedComment.0" annotatedElement="Package-unapplyProfile">
          <body>Unapplies the specified profile from this package and automatically unapplies stereotypes in the profile from elements within this package's namespace hieararchy.</body>
        </ownedComment>
        <ownedParameter xmi:id="Package-unapplyProfile-_ownedParameter.0" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EObject"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-unapplyProfile-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-unapplyProfile-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Package-unapplyProfile-profile" name="profile" type="Profile" effect="read">
          <ownedComment xmi:id="Package-unapplyProfile-profile-_ownedComment.0" annotatedElement="Package-unapplyProfile-profile">
            <body>The profile to unapply.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-allApplicableStereotypes" name="allApplicableStereotypes" bodyCondition="Package-allApplicableStereotypes-spec" isQuery="true">
        <ownedComment xmi:id="Package-allApplicableStereotypes-_ownedComment.0" annotatedElement="Package-allApplicableStereotypes">
          <body>The query allApplicableStereotypes() returns all the directly or indirectly owned stereotypes, including stereotypes contained in sub-profiles.</body>
        </ownedComment>
        <ownedRule xmi:id="Package-allApplicableStereotypes-spec" name="spec" constrainedElement="Package-allApplicableStereotypes">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Package-allApplicableStereotypes-spec-_specification">
            <language>OCL</language>
            <body>result = (let ownedPackages : Bag(Package) = ownedMember->select(oclIsKindOf(Package))->collect(oclAsType(Package)) in&#xD;
 ownedStereotype->union(ownedPackages.allApplicableStereotypes())->flatten()->asSet()&#xD;
)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Package-allApplicableStereotypes-result" name="result" type="Stereotype" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-allApplicableStereotypes-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-allApplicableStereotypes-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-containingProfile" name="containingProfile" bodyCondition="Package-containingProfile-spec" isQuery="true">
        <ownedComment xmi:id="Package-containingProfile-_ownedComment.0" annotatedElement="Package-containingProfile">
          <body>The query containingProfile() returns the closest profile directly or indirectly containing this package (or this package itself, if it is a profile).</body>
        </ownedComment>
        <ownedRule xmi:id="Package-containingProfile-spec" name="spec" constrainedElement="Package-containingProfile">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Package-containingProfile-spec-_specification">
            <language>OCL</language>
            <body>result = (if self.oclIsKindOf(Profile) then &#xD;
	self.oclAsType(Profile)&#xD;
else&#xD;
	self.namespace.oclAsType(Package).containingProfile()&#xD;
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Package-containingProfile-result" name="result" type="Profile" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-containingProfile-result-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-makesVisible" name="makesVisible" bodyCondition="Package-makesVisible-spec" isQuery="true" precondition="Package-makesVisible-pre">
        <ownedComment xmi:id="Package-makesVisible-_ownedComment.0" annotatedElement="Package-makesVisible">
          <body>The query makesVisible() defines whether a Package makes an element visible outside itself. Elements with no visibility and elements with public visibility are made visible.</body>
        </ownedComment>
        <ownedRule xmi:id="Package-makesVisible-pre" name="pre" constrainedElement="Package-makesVisible">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Package-makesVisible-pre-_specification">
            <language>OCL</language>
            <body>member->includes(el)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:id="Package-makesVisible-spec" name="spec" constrainedElement="Package-makesVisible">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Package-makesVisible-spec-_specification">
            <language>OCL</language>
            <body>result = (ownedMember->includes(el) or
(elementImport->select(ei|ei.importedElement = VisibilityKind::public)->collect(importedElement.oclAsType(NamedElement))->includes(el)) or
(packageImport->select(visibility = VisibilityKind::public)->collect(importedPackage.member->includes(el))->notEmpty()))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Package-makesVisible-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Package-makesVisible-el" name="el" type="NamedElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="Package-mustBeOwned" name="mustBeOwned" bodyCondition="Package-mustBeOwned-spec" isQuery="true" redefinedOperation="Element-mustBeOwned">
        <ownedComment xmi:id="Package-mustBeOwned-_ownedComment.0" annotatedElement="Package-mustBeOwned">
          <body>The query mustBeOwned() indicates whether elements of this type must have an owner.</body>
        </ownedComment>
        <ownedRule xmi:id="Package-mustBeOwned-spec" name="spec" constrainedElement="Package-mustBeOwned">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Package-mustBeOwned-spec-_specification">
            <language>OCL</language>
            <body>result = (false)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Package-mustBeOwned-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-nestedPackage.1" name="nestedPackage" visibility="protected" bodyCondition="Package-nestedPackage.1-spec" isQuery="true">
        <ownedComment xmi:id="Package-nestedPackage.1-_ownedComment.0" annotatedElement="Package-nestedPackage.1">
          <body>Derivation for Package::/nestedPackage</body>
        </ownedComment>
        <ownedRule xmi:id="Package-nestedPackage.1-spec" name="spec" constrainedElement="Package-nestedPackage.1 Package-nestedPackage">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Package-nestedPackage.1-spec-_specification">
            <language>OCL</language>
            <body>result = (packagedElement->select(oclIsKindOf(Package))->collect(oclAsType(Package))->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Package-nestedPackage.1-result" name="result" type="Package" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-nestedPackage.1-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-nestedPackage.1-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-ownedStereotype.1" name="ownedStereotype" visibility="protected" bodyCondition="Package-ownedStereotype.1-spec" isQuery="true">
        <ownedComment xmi:id="Package-ownedStereotype.1-_ownedComment.0" annotatedElement="Package-ownedStereotype.1">
          <body>Derivation for Package::/ownedStereotype</body>
        </ownedComment>
        <ownedRule xmi:id="Package-ownedStereotype.1-spec" name="spec" constrainedElement="Package-ownedStereotype.1 Package-ownedStereotype">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Package-ownedStereotype.1-spec-_specification">
            <language>OCL</language>
            <body>result = (packagedElement->select(oclIsKindOf(Stereotype))->collect(oclAsType(Stereotype))->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Package-ownedStereotype.1-result" name="result" type="Stereotype" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-ownedStereotype.1-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-ownedStereotype.1-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-ownedType.1" name="ownedType" visibility="protected" bodyCondition="Package-ownedType.1-spec" isQuery="true">
        <ownedComment xmi:id="Package-ownedType.1-_ownedComment.0" annotatedElement="Package-ownedType.1">
          <body>Derivation for Package::/ownedType</body>
        </ownedComment>
        <ownedRule xmi:id="Package-ownedType.1-spec" name="spec" constrainedElement="Package-ownedType.1 Package-ownedType">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Package-ownedType.1-spec-_specification">
            <language>OCL</language>
            <body>result = (packagedElement->select(oclIsKindOf(Type))->collect(oclAsType(Type))->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Package-ownedType.1-result" name="result" type="Type" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-ownedType.1-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-ownedType.1-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Package-visibleMembers" name="visibleMembers" bodyCondition="Package-visibleMembers-spec" isQuery="true">
        <ownedComment xmi:id="Package-visibleMembers-_ownedComment.0" annotatedElement="Package-visibleMembers">
          <body>The query visibleMembers() defines which members of a Package can be accessed outside it.</body>
        </ownedComment>
        <ownedRule xmi:id="Package-visibleMembers-spec" name="spec" constrainedElement="Package-visibleMembers">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Package-visibleMembers-spec-_specification">
            <language>OCL</language>
            <body>result = (member->select( m | m.oclIsKindOf(PackageableElement) and self.makesVisible(m))->collect(oclAsType(PackageableElement))->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Package-visibleMembers-result" name="result" type="PackageableElement" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Package-visibleMembers-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Package-visibleMembers-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="PackageMerge" name="PackageMerge">
      <ownedComment xmi:id="PackageMerge-_ownedComment.0" annotatedElement="PackageMerge">
        <body>A package merge defines how the contents of one package are extended by the contents of another package.</body>
      </ownedComment>
      <generalization xmi:id="PackageMerge-_generalization.0" general="DirectedRelationship"/>
      <ownedAttribute xmi:id="PackageMerge-mergedPackage" name="mergedPackage" type="Package" subsettedProperty="DirectedRelationship-target" association="A_mergedPackage_packageMerge">
        <ownedComment xmi:id="PackageMerge-mergedPackage-_ownedComment.0" annotatedElement="PackageMerge-mergedPackage">
          <body>References the Package that is to be merged with the receiving package of the PackageMerge.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="PackageMerge-receivingPackage" name="receivingPackage" type="Package" subsettedProperty="DirectedRelationship-source Element-owner" association="A_packageMerge_receivingPackage">
        <ownedComment xmi:id="PackageMerge-receivingPackage-_ownedComment.0" annotatedElement="PackageMerge-receivingPackage">
          <body>References the Package that is being extended with the contents of the merged package of the PackageMerge.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Profile" name="Profile">
      <ownedComment xmi:id="Profile-_ownedComment.0" annotatedElement="Profile">
        <body>A profile defines limited extensions to a reference metamodel with the purpose of adapting the metamodel to a specific platform or domain.</body>
      </ownedComment>
      <ownedRule xmi:id="Profile-metaclass_reference_not_specialized" name="metaclass_reference_not_specialized" constrainedElement="Profile">
        <ownedComment xmi:id="Profile-metaclass_reference_not_specialized-_ownedComment.0" annotatedElement="Profile-metaclass_reference_not_specialized">
          <body>An element imported as a metaclassReference is not specialized or generalized in a Profile.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Profile-metaclass_reference_not_specialized-_specification">
          <language>OCL</language>
          <body>metaclassReference.importedElement->&#xD;
	select(c | c.oclIsKindOf(Classifier) and&#xD;
		(c.oclAsType(Classifier).allParents()->collect(namespace)->includes(self)))->isEmpty()&#xD;
and &#xD;
packagedElement->&#xD;
    select(oclIsKindOf(Classifier))->collect(oclAsType(Classifier).allParents())->&#xD;
       intersection(metaclassReference.importedElement->select(oclIsKindOf(Classifier))->collect(oclAsType(Classifier)))->isEmpty()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Profile-references_same_metamodel" name="references_same_metamodel" constrainedElement="Profile">
        <ownedComment xmi:id="Profile-references_same_metamodel-_ownedComment.0" annotatedElement="Profile-references_same_metamodel">
          <body>All elements imported either as metaclassReferences or through metamodelReferences are members of the same base reference metamodel.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Profile-references_same_metamodel-_specification">
          <language>OCL</language>
          <body>metamodelReference.importedPackage.elementImport.importedElement.allOwningPackages()->&#xD;
  union(metaclassReference.importedElement.allOwningPackages() )->notEmpty()</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Profile-_generalization.0" general="Package"/>
      <ownedAttribute xmi:id="Profile-metaclassReference" name="metaclassReference" type="ElementImport" aggregation="composite" subsettedProperty="Namespace-elementImport" association="A_metaclassReference_profile">
        <ownedComment xmi:id="Profile-metaclassReference-_ownedComment.0" annotatedElement="Profile-metaclassReference">
          <body>References a metaclass that may be extended.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Profile-metaclassReference-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Profile-metaclassReference-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Profile-metamodelReference" name="metamodelReference" type="PackageImport" aggregation="composite" subsettedProperty="Namespace-packageImport" association="A_metamodelReference_profile">
        <ownedComment xmi:id="Profile-metamodelReference-_ownedComment.0" annotatedElement="Profile-metamodelReference">
          <body>References a package containing (directly or indirectly) metaclasses that may be extended.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Profile-metamodelReference-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Profile-metamodelReference-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Profile-create" name="create">
        <ownedComment xmi:id="Profile-create-_ownedComment.0" annotatedElement="Profile-create">
          <body>Creates and returns an instance of (the Ecore representation of) the specified classifier defined in this profile.</body>
        </ownedComment>
        <ownedParameter xmi:id="Profile-create-_ownedParameter.0" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EObject"/>
        </ownedParameter>
        <ownedParameter xmi:id="Profile-create-classifier" name="classifier" type="Classifier" effect="read">
          <ownedComment xmi:id="Profile-create-classifier-_ownedComment.0" annotatedElement="Profile-create-classifier">
            <body>The classifier of which to create an instance.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Profile-define" name="define">
        <ownedComment xmi:id="Profile-define-_ownedComment.0" annotatedElement="Profile-define">
          <body>Defines this profile by (re)creating Ecore representations of its current contents.</body>
        </ownedComment>
        <ownedParameter xmi:id="Profile-define-_ownedParameter.0" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EPackage"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Profile-define-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Profile-define-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Profile-define.1" name="define">
        <ownedComment xmi:id="Profile-define.1-_ownedComment.0" annotatedElement="Profile-define.1">
          <body>Defines this profile by (re)creating Ecore representations of its current contents, using the specified options, diagnostics, and context.</body>
        </ownedComment>
        <ownedParameter xmi:id="Profile-define.1-_ownedParameter.0" name="" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EPackage"/>
        </ownedParameter>
        <ownedParameter xmi:id="Profile-define.1-options" name="options" type="Profile-EMap_EString_EString">
          <ownedComment xmi:id="Profile-define.1-options-_ownedComment.0" annotatedElement="Profile-define.1-options">
            <body>The options to use.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Profile-define.1-diagnostics" name="diagnostics">
          <ownedComment xmi:id="Profile-define.1-diagnostics-_ownedComment.0" annotatedElement="Profile-define.1-diagnostics">
            <body>The chain of diagnostics to which problems are to be appended.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="Ecore.metamodel.uml#EDiagnosticChain"/>
        </ownedParameter>
        <ownedParameter xmi:id="Profile-define.1-context" name="context" type="Profile-EMap_EJavaObject_EJavaObject">
          <ownedComment xmi:id="Profile-define.1-context-_ownedComment.0" annotatedElement="Profile-define.1-context">
            <body>The cache of context-specific information.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Profile-getDefinition" name="getDefinition" isQuery="true">
        <ownedComment xmi:id="Profile-getDefinition-_ownedComment.0" annotatedElement="Profile-getDefinition">
          <body>Retrieves the current definition (Ecore representation) of this profile.</body>
        </ownedComment>
        <ownedParameter xmi:id="Profile-getDefinition-_ownedParameter.0" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EPackage"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Profile-getDefinition-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Profile-getDefinition-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Profile-getDefinition.1" name="getDefinition" isQuery="true">
        <ownedComment xmi:id="Profile-getDefinition.1-_ownedComment.0" annotatedElement="Profile-getDefinition.1">
          <body>Retrieves the current definition (Ecore representation) of the specified named element in this profile.</body>
        </ownedComment>
        <ownedParameter xmi:id="Profile-getDefinition.1-_ownedParameter.0" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#ENamedElement"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Profile-getDefinition.1-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Profile-getDefinition.1-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Profile-getDefinition.1-namedElement" name="namedElement" type="NamedElement" effect="read">
          <ownedComment xmi:id="Profile-getDefinition.1-namedElement-_ownedComment.0" annotatedElement="Profile-getDefinition.1-namedElement">
            <body>The named element whose definition to retrieve.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Profile-getOwnedExtensions" name="getOwnedExtensions" isQuery="true">
        <ownedComment xmi:id="Profile-getOwnedExtensions-_ownedComment.0" annotatedElement="Profile-getOwnedExtensions">
          <body>Retrieves the extensions owned by this profile, excluding non-required extensions if indicated.</body>
        </ownedComment>
        <ownedParameter xmi:id="Profile-getOwnedExtensions-_ownedParameter.0" type="Extension" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Profile-getOwnedExtensions-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Profile-getOwnedExtensions-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Profile-getOwnedExtensions-requiredOnly" name="requiredOnly" effect="read">
          <ownedComment xmi:id="Profile-getOwnedExtensions-requiredOnly-_ownedComment.0" annotatedElement="Profile-getOwnedExtensions-requiredOnly">
            <body>Whether to retrieve only required extensions.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Profile-getReferencedMetaclasses" name="getReferencedMetaclasses" isQuery="true">
        <ownedComment xmi:id="Profile-getReferencedMetaclasses-_ownedComment.0" annotatedElement="Profile-getReferencedMetaclasses">
          <body>Retrieves the metaclasses referenced by this profile.</body>
        </ownedComment>
        <ownedParameter xmi:id="Profile-getReferencedMetaclasses-_ownedParameter.0" type="Class" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Profile-getReferencedMetaclasses-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Profile-getReferencedMetaclasses-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Profile-getReferencedMetamodels" name="getReferencedMetamodels" isQuery="true">
        <ownedComment xmi:id="Profile-getReferencedMetamodels-_ownedComment.0" annotatedElement="Profile-getReferencedMetamodels">
          <body>Retrieves the metamodels referenced by this profile.</body>
        </ownedComment>
        <ownedParameter xmi:id="Profile-getReferencedMetamodels-_ownedParameter.0" type="Model" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Profile-getReferencedMetamodels-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Profile-getReferencedMetamodels-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Profile-isDefined" name="isDefined" isQuery="true">
        <ownedComment xmi:id="Profile-isDefined-_ownedComment.0" annotatedElement="Profile-isDefined">
          <body>Determines whether this profile is defined.</body>
        </ownedComment>
        <ownedParameter xmi:id="Profile-isDefined-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <nestedClassifier xmi:type="uml:PrimitiveType" xmi:id="Profile-EMap_EJavaObject_EJavaObject" name="EMap_EJavaObject_EJavaObject">
        <templateBinding xmi:id="Profile-EMap_EJavaObject_EJavaObject-_templateBinding.0">
          <parameterSubstitution xmi:id="Profile-EMap_EJavaObject_EJavaObject-_templateBinding.0-_parameterSubstitution.0">
            <actual xmi:type="uml:PrimitiveType" href="Ecore.metamodel.uml#EJavaObject"/>
            <formal xmi:type="uml:ClassifierTemplateParameter" href="Ecore.metamodel.uml#EMap-_ownedTemplateSignature-_ownedParameter.0"/>
          </parameterSubstitution>
          <parameterSubstitution xmi:id="Profile-EMap_EJavaObject_EJavaObject-_templateBinding.0-_parameterSubstitution.1">
            <actual xmi:type="uml:PrimitiveType" href="Ecore.metamodel.uml#EJavaObject"/>
            <formal xmi:type="uml:ClassifierTemplateParameter" href="Ecore.metamodel.uml#EMap-_ownedTemplateSignature-_ownedParameter.1"/>
          </parameterSubstitution>
          <signature xmi:type="uml:RedefinableTemplateSignature" href="Ecore.metamodel.uml#EMap-_ownedTemplateSignature"/>
        </templateBinding>
      </nestedClassifier>
      <nestedClassifier xmi:type="uml:PrimitiveType" xmi:id="Profile-EMap_EString_EString" name="EMap_EString_EString">
        <templateBinding xmi:id="Profile-EMap_EString_EString-_templateBinding.0">
          <parameterSubstitution xmi:id="Profile-EMap_EString_EString-_templateBinding.0-_parameterSubstitution.0">
            <actual xmi:type="uml:PrimitiveType" href="Ecore.metamodel.uml#EString"/>
            <formal xmi:type="uml:ClassifierTemplateParameter" href="Ecore.metamodel.uml#EMap-_ownedTemplateSignature-_ownedParameter.0"/>
          </parameterSubstitution>
          <parameterSubstitution xmi:id="Profile-EMap_EString_EString-_templateBinding.0-_parameterSubstitution.1">
            <actual xmi:type="uml:PrimitiveType" href="Ecore.metamodel.uml#EString"/>
            <formal xmi:type="uml:ClassifierTemplateParameter" href="Ecore.metamodel.uml#EMap-_ownedTemplateSignature-_ownedParameter.1"/>
          </parameterSubstitution>
          <signature xmi:type="uml:RedefinableTemplateSignature" href="Ecore.metamodel.uml#EMap-_ownedTemplateSignature"/>
        </templateBinding>
      </nestedClassifier>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ProfileApplication" name="ProfileApplication">
      <ownedComment xmi:id="ProfileApplication-_ownedComment.0" annotatedElement="ProfileApplication">
        <body>A profile application is used to show which profiles have been applied to a package.</body>
      </ownedComment>
      <generalization xmi:id="ProfileApplication-_generalization.0" general="DirectedRelationship"/>
      <ownedAttribute xmi:id="ProfileApplication-appliedProfile" name="appliedProfile" type="Profile" subsettedProperty="DirectedRelationship-target" association="A_appliedProfile_profileApplication">
        <ownedComment xmi:id="ProfileApplication-appliedProfile-_ownedComment.0" annotatedElement="ProfileApplication-appliedProfile">
          <body>References the Profiles that are applied to a Package through this ProfileApplication.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ProfileApplication-applyingPackage" name="applyingPackage" type="Package" subsettedProperty="DirectedRelationship-source Element-owner" association="A_profileApplication_applyingPackage">
        <ownedComment xmi:id="ProfileApplication-applyingPackage-_ownedComment.0" annotatedElement="ProfileApplication-applyingPackage">
          <body>The package that owns the profile application.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ProfileApplication-isStrict" name="isStrict">
        <ownedComment xmi:id="ProfileApplication-isStrict-_ownedComment.0" annotatedElement="ProfileApplication-isStrict">
          <body>Specifies that the Profile filtering rules for the metaclasses of the referenced metamodel shall be strictly applied.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="ProfileApplication-isStrict-_defaultValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="ProfileApplication-getAppliedDefinition" name="getAppliedDefinition" isQuery="true">
        <ownedComment xmi:id="ProfileApplication-getAppliedDefinition-_ownedComment.0" annotatedElement="ProfileApplication-getAppliedDefinition">
          <body>Retrieves the definition (Ecore representation) of the profile associated with this profile application.</body>
        </ownedComment>
        <ownedParameter xmi:id="ProfileApplication-getAppliedDefinition-_ownedParameter.0" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EPackage"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ProfileApplication-getAppliedDefinition-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ProfileApplication-getAppliedDefinition-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="ProfileApplication-getAppliedDefinition.1" name="getAppliedDefinition" isQuery="true">
        <ownedComment xmi:id="ProfileApplication-getAppliedDefinition.1-_ownedComment.0" annotatedElement="ProfileApplication-getAppliedDefinition.1">
          <body>Retrieves the definition (Ecore representation) of the specified named element in the profile associated with this profile application.</body>
        </ownedComment>
        <ownedParameter xmi:id="ProfileApplication-getAppliedDefinition.1-_ownedParameter.0" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#ENamedElement"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ProfileApplication-getAppliedDefinition.1-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ProfileApplication-getAppliedDefinition.1-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="ProfileApplication-getAppliedDefinition.1-namedElement" name="namedElement" type="NamedElement" effect="read">
          <ownedComment xmi:id="ProfileApplication-getAppliedDefinition.1-namedElement-_ownedComment.0" annotatedElement="ProfileApplication-getAppliedDefinition.1-namedElement">
            <body>The named element for which to retrieve the applied definition.</body>
          </ownedComment>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Stereotype" name="Stereotype">
      <ownedComment xmi:id="Stereotype-_ownedComment.0" annotatedElement="Stereotype">
        <body>A stereotype defines how an existing metaclass may be extended, and enables the use of platform or domain specific terminology or notation in place of, or in addition to, the ones used for the extended metaclass.</body>
      </ownedComment>
      <ownedRule xmi:id="Stereotype-binaryAssociationsOnly" name="binaryAssociationsOnly" constrainedElement="Stereotype">
        <ownedComment xmi:id="Stereotype-binaryAssociationsOnly-_ownedComment.0" annotatedElement="Stereotype-binaryAssociationsOnly">
          <body>Stereotypes may only participate in binary associations.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Stereotype-binaryAssociationsOnly-_specification">
          <language>OCL</language>
          <body>ownedAttribute.association->forAll(memberEnd->size()=2)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Stereotype-generalize" name="generalize" constrainedElement="Stereotype">
        <ownedComment xmi:id="Stereotype-generalize-_ownedComment.0" annotatedElement="Stereotype-generalize">
          <body>A Stereotype may only generalize or specialize another Stereotype.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Stereotype-generalize-_specification">
          <language>OCL</language>
          <body>allParents()->forAll(oclIsKindOf(Stereotype)) &#xD;
and Classifier.allInstances()->forAll(c | c.allParents()->exists(oclIsKindOf(Stereotype)) implies c.oclIsKindOf(Stereotype))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Stereotype-name_not_clash" name="name_not_clash" constrainedElement="Stereotype">
        <ownedComment xmi:id="Stereotype-name_not_clash-_ownedComment.0" annotatedElement="Stereotype-name_not_clash">
          <body>Stereotype names should not clash with keyword names for the extended model element.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Stereotype-name_not_clash-_specification" language=""/>
      </ownedRule>
      <ownedRule xmi:id="Stereotype-associationEndOwnership" name="associationEndOwnership" constrainedElement="Stereotype">
        <ownedComment xmi:id="Stereotype-associationEndOwnership-_ownedComment.0" annotatedElement="Stereotype-associationEndOwnership">
          <body>Where a stereotype’s property is an association end for an association other than a kind of extension, and the other end is not a stereotype, the other end must be owned by the association itself.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Stereotype-associationEndOwnership-_specification">
          <language>OCL</language>
          <body>ownedAttribute&#xD;
->select(association->notEmpty() and not association.oclIsKindOf(Extension) and not type.oclIsKindOf(Stereotype))&#xD;
->forAll(opposite.owner = association)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Stereotype-base_property_upper_bound" name="base_property_upper_bound" constrainedElement="Stereotype">
        <ownedComment xmi:id="Stereotype-base_property_upper_bound-_ownedComment.0" annotatedElement="Stereotype-base_property_upper_bound">
          <body>The upper bound of base-properties is exactly 1.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Stereotype-base_property_upper_bound-_specification" language=""/>
      </ownedRule>
      <ownedRule xmi:id="Stereotype-base_property_multiplicity_single_extension" name="base_property_multiplicity_single_extension" constrainedElement="Stereotype">
        <ownedComment xmi:id="Stereotype-base_property_multiplicity_single_extension-_ownedComment.0" annotatedElement="Stereotype-base_property_multiplicity_single_extension">
          <body>If a Stereotype extends only one metaclass, the multiplicity of the corresponding base-property shall be 1..1.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Stereotype-base_property_multiplicity_single_extension-_specification"/>
      </ownedRule>
      <ownedRule xmi:id="Stereotype-base_property_multiplicity_multiple_extension" name="base_property_multiplicity_multiple_extension" constrainedElement="Stereotype">
        <ownedComment xmi:id="Stereotype-base_property_multiplicity_multiple_extension-_ownedComment.0" annotatedElement="Stereotype-base_property_multiplicity_multiple_extension">
          <body>If a Stereotype extends more than one metaclass, the multiplicity of the corresponding base-properties shall be [0..1]. At any point in time, only one of these base-properties can contain a metaclass instance during runtime.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Stereotype-base_property_multiplicity_multiple_extension-_specification"/>
      </ownedRule>
      <generalization xmi:id="Stereotype-_generalization.0" general="Class"/>
      <ownedAttribute xmi:id="Stereotype-icon" name="icon" type="Image" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_icon_stereotype">
        <ownedComment xmi:id="Stereotype-icon-_ownedComment.0" annotatedElement="Stereotype-icon">
          <body>Stereotype can change the graphical appearance of the extended model element by using attached icons. When this association is not null, it references the location of the icon content to be displayed within diagrams presenting the extended model elements.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Stereotype-icon-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Stereotype-icon-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Stereotype-profile" name="profile" type="Profile" isReadOnly="true" isDerived="true" association="A_profile_stereotype">
        <ownedComment xmi:id="Stereotype-profile-_ownedComment.0" annotatedElement="Stereotype-profile">
          <body>The profile that directly or indirectly contains this stereotype.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedOperation xmi:id="Stereotype-createExtension" name="createExtension">
        <ownedComment xmi:id="Stereotype-createExtension-_ownedComment.0" annotatedElement="Stereotype-createExtension">
          <body>Creates a(n) (required) extension of the specified metaclass with this stereotype.</body>
        </ownedComment>
        <ownedParameter xmi:id="Stereotype-createExtension-_ownedParameter.0" type="Extension" direction="return"/>
        <ownedParameter xmi:id="Stereotype-createExtension-metaclass" name="metaclass" type="Class" effect="read">
          <ownedComment xmi:id="Stereotype-createExtension-metaclass-_ownedComment.0" annotatedElement="Stereotype-createExtension-metaclass">
            <body>The metaclass for the new extension.</body>
          </ownedComment>
        </ownedParameter>
        <ownedParameter xmi:id="Stereotype-createExtension-isRequired" name="isRequired" effect="read">
          <ownedComment xmi:id="Stereotype-createExtension-isRequired-_ownedComment.0" annotatedElement="Stereotype-createExtension-isRequired">
            <body>Whether the new extension should be required.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Stereotype-createIcon" name="createIcon">
        <ownedComment xmi:id="Stereotype-createIcon-_ownedComment.0" annotatedElement="Stereotype-createIcon">
          <body>Creates an icon with the specified location for this stereotype.</body>
        </ownedComment>
        <ownedParameter xmi:id="Stereotype-createIcon-_ownedParameter.0" type="Image" direction="return"/>
        <ownedParameter xmi:id="Stereotype-createIcon-location" name="location" effect="read">
          <ownedComment xmi:id="Stereotype-createIcon-location-_ownedComment.0" annotatedElement="Stereotype-createIcon-location">
            <body>The location for the new icon.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Stereotype-createIcon.1" name="createIcon">
        <ownedComment xmi:id="Stereotype-createIcon.1-_ownedComment.0" annotatedElement="Stereotype-createIcon.1">
          <body>Creates an icon with the specified format and content for this stereotype.</body>
        </ownedComment>
        <ownedParameter xmi:id="Stereotype-createIcon.1-_ownedParameter.0" type="Image" direction="return"/>
        <ownedParameter xmi:id="Stereotype-createIcon.1-format" name="format" effect="read">
          <ownedComment xmi:id="Stereotype-createIcon.1-format-_ownedComment.0" annotatedElement="Stereotype-createIcon.1-format">
            <body>The format for the new icon.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
        <ownedParameter xmi:id="Stereotype-createIcon.1-content" name="content" effect="read">
          <ownedComment xmi:id="Stereotype-createIcon.1-content-_ownedComment.0" annotatedElement="Stereotype-createIcon.1-content">
            <body>The content for the new icon.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Stereotype-getAllExtendedMetaclasses" name="getAllExtendedMetaclasses" isQuery="true">
        <ownedComment xmi:id="Stereotype-getAllExtendedMetaclasses-_ownedComment.0" annotatedElement="Stereotype-getAllExtendedMetaclasses">
          <body>Retrieves all the metaclasses extended by this stereotype, including the metaclasses extended by its superstereotypes.</body>
        </ownedComment>
        <ownedParameter xmi:id="Stereotype-getAllExtendedMetaclasses-_ownedParameter.0" type="Class" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Stereotype-getAllExtendedMetaclasses-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Stereotype-getAllExtendedMetaclasses-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Stereotype-getDefinition" name="getDefinition" isQuery="true">
        <ownedComment xmi:id="Stereotype-getDefinition-_ownedComment.0" annotatedElement="Stereotype-getDefinition">
          <body>Retrieves the current definition (Ecore representation) of this stereotype.</body>
        </ownedComment>
        <ownedParameter xmi:id="Stereotype-getDefinition-_ownedParameter.0" direction="return">
          <type xmi:type="uml:Class" href="Ecore.metamodel.uml#EClass"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Stereotype-getDefinition-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Stereotype-getDefinition-_ownedParameter.0-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Stereotype-getExtendedMetaclasses" name="getExtendedMetaclasses" isQuery="true">
        <ownedComment xmi:id="Stereotype-getExtendedMetaclasses-_ownedComment.0" annotatedElement="Stereotype-getExtendedMetaclasses">
          <body>Retrieves the metaclasses extended by this stereotype.</body>
        </ownedComment>
        <ownedParameter xmi:id="Stereotype-getExtendedMetaclasses-_ownedParameter.0" type="Class" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Stereotype-getExtendedMetaclasses-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Stereotype-getExtendedMetaclasses-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Stereotype-getKeyword" name="getKeyword" isQuery="true">
        <ownedComment xmi:id="Stereotype-getKeyword-_ownedComment.0" annotatedElement="Stereotype-getKeyword">
          <body>Retrieves the localized keyword for this stereotype.</body>
        </ownedComment>
        <ownedParameter xmi:id="Stereotype-getKeyword-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Stereotype-getKeyword.1" name="getKeyword" isQuery="true">
        <ownedComment xmi:id="Stereotype-getKeyword.1-_ownedComment.0" annotatedElement="Stereotype-getKeyword.1">
          <body>Retrieves the keyword for this stereotype, localized if indicated.</body>
        </ownedComment>
        <ownedParameter xmi:id="Stereotype-getKeyword.1-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
        <ownedParameter xmi:id="Stereotype-getKeyword.1-localize" name="localize" effect="read">
          <ownedComment xmi:id="Stereotype-getKeyword.1-localize-_ownedComment.0" annotatedElement="Stereotype-getKeyword.1-localize">
            <body>Whether to localize the keyword.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Stereotype-containingProfile" name="containingProfile" bodyCondition="Stereotype-containingProfile-spec" isQuery="true">
        <ownedComment xmi:id="Stereotype-containingProfile-_ownedComment.0" annotatedElement="Stereotype-containingProfile">
          <body>The query containingProfile returns the closest profile directly or indirectly containing this stereotype.</body>
        </ownedComment>
        <ownedRule xmi:id="Stereotype-containingProfile-spec" name="spec" constrainedElement="Stereotype-containingProfile">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Stereotype-containingProfile-spec-_specification">
            <language>OCL</language>
            <body>result = (self.namespace.oclAsType(Package).containingProfile())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Stereotype-containingProfile-result" name="result" type="Profile" direction="return"/>
      </ownedOperation>
      <ownedOperation xmi:id="Stereotype-profile.1" name="profile" visibility="protected" bodyCondition="Stereotype-profile.1-spec" isQuery="true">
        <ownedComment xmi:id="Stereotype-profile.1-_ownedComment.0" annotatedElement="Stereotype-profile.1">
          <body>A stereotype must be contained, directly or indirectly, in a profile.</body>
        </ownedComment>
        <ownedRule xmi:id="Stereotype-profile.1-spec" name="spec" constrainedElement="Stereotype-profile.1 Stereotype-profile">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Stereotype-profile.1-spec-_specification">
            <language>OCL</language>
            <body>result = (self.containingProfile())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Stereotype-profile.1-result" name="result" type="Profile" direction="return"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_profile_stereotype" name="A_profile_stereotype" visibility="private" isDerived="true" memberEnd="Stereotype-profile A_profile_stereotype-stereotype">
      <ownedEnd xmi:id="A_profile_stereotype-stereotype" name="stereotype" type="Stereotype" association="A_profile_stereotype">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_profile_stereotype-stereotype-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_profile_stereotype-stereotype-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_icon_stereotype" name="A_icon_stereotype" visibility="private" memberEnd="Stereotype-icon A_icon_stereotype-stereotype">
      <ownedEnd xmi:id="A_icon_stereotype-stereotype" name="stereotype" type="Stereotype" subsettedProperty="Element-owner" association="A_icon_stereotype">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_icon_stereotype-stereotype-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_appliedProfile_profileApplication" name="A_appliedProfile_profileApplication" visibility="private" memberEnd="ProfileApplication-appliedProfile A_appliedProfile_profileApplication-profileApplication">
      <ownedEnd xmi:id="A_appliedProfile_profileApplication-profileApplication" name="profileApplication" type="ProfileApplication" subsettedProperty="A_target_directedRelationship-directedRelationship" association="A_appliedProfile_profileApplication">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_appliedProfile_profileApplication-profileApplication-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_appliedProfile_profileApplication-profileApplication-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_metaclassReference_profile" name="A_metaclassReference_profile" visibility="private" memberEnd="Profile-metaclassReference A_metaclassReference_profile-profile">
      <ownedEnd xmi:id="A_metaclassReference_profile-profile" name="profile" type="Profile" subsettedProperty="ElementImport-importingNamespace" association="A_metaclassReference_profile">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_metaclassReference_profile-profile-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_metamodelReference_profile" name="A_metamodelReference_profile" visibility="private" memberEnd="Profile-metamodelReference A_metamodelReference_profile-profile">
      <ownedEnd xmi:id="A_metamodelReference_profile-profile" name="profile" type="Profile" subsettedProperty="PackageImport-importingNamespace" association="A_metamodelReference_profile">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_metamodelReference_profile-profile-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_mergedPackage_packageMerge" name="A_mergedPackage_packageMerge" visibility="private" memberEnd="PackageMerge-mergedPackage A_mergedPackage_packageMerge-packageMerge">
      <ownedEnd xmi:id="A_mergedPackage_packageMerge-packageMerge" name="packageMerge" type="PackageMerge" subsettedProperty="A_target_directedRelationship-directedRelationship" association="A_mergedPackage_packageMerge">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_mergedPackage_packageMerge-packageMerge-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_mergedPackage_packageMerge-packageMerge-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_packagedElement_owningPackage" name="A_packagedElement_owningPackage" visibility="private" memberEnd="Package-packagedElement A_packagedElement_owningPackage-owningPackage">
      <ownedEnd xmi:id="A_packagedElement_owningPackage-owningPackage" name="owningPackage" type="Package" subsettedProperty="NamedElement-namespace" association="A_packagedElement_owningPackage">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_packagedElement_owningPackage-owningPackage-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_packageMerge_receivingPackage" name="A_packageMerge_receivingPackage" visibility="private" memberEnd="Package-packageMerge PackageMerge-receivingPackage"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_nestedPackage_nestingPackage" name="A_nestedPackage_nestingPackage" visibility="private" memberEnd="Package-nestedPackage Package-nestingPackage"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_profileApplication_applyingPackage" name="A_profileApplication_applyingPackage" visibility="private" memberEnd="Package-profileApplication ProfileApplication-applyingPackage"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedType_package" name="A_ownedType_package" visibility="private" memberEnd="Package-ownedType Type-package"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedStereotype_owningPackage" name="A_ownedStereotype_owningPackage" visibility="private" isDerived="true" memberEnd="Package-ownedStereotype A_ownedStereotype_owningPackage-owningPackage">
      <generalization xmi:id="A_ownedStereotype_owningPackage-_generalization.0" general="A_packagedElement_owningPackage"/>
      <ownedEnd xmi:id="A_ownedStereotype_owningPackage-owningPackage" name="owningPackage" type="Package" redefinedProperty="A_packagedElement_owningPackage-owningPackage" association="A_ownedStereotype_owningPackage"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_type_extensionEnd" name="A_type_extensionEnd" visibility="private" memberEnd="ExtensionEnd-type A_type_extensionEnd-extensionEnd">
      <ownedEnd xmi:id="A_type_extensionEnd-extensionEnd" name="extensionEnd" type="ExtensionEnd" subsettedProperty="A_type_typedElement-typedElement" association="A_type_extensionEnd">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_type_extensionEnd-extensionEnd-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_type_extensionEnd-extensionEnd-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedEnd_extension" name="A_ownedEnd_extension" visibility="private" memberEnd="Extension-ownedEnd A_ownedEnd_extension-extension">
      <ownedEnd xmi:id="A_ownedEnd_extension-extension" name="extension" type="Extension" subsettedProperty="Property-owningAssociation" association="A_ownedEnd_extension"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="BehavioredClassifier" name="BehavioredClassifier" isAbstract="true">
      <ownedComment xmi:id="BehavioredClassifier-_ownedComment.0" annotatedElement="BehavioredClassifier">
        <body>A BehavioredClassifier may have InterfaceRealizations, and owns a set of Behaviors one of which may specify the behavior of the BehavioredClassifier itself.</body>
      </ownedComment>
      <ownedRule xmi:id="BehavioredClassifier-class_behavior" name="class_behavior" constrainedElement="BehavioredClassifier">
        <ownedComment xmi:id="BehavioredClassifier-class_behavior-_ownedComment.0" annotatedElement="BehavioredClassifier-class_behavior">
          <body>If a behavior is classifier behavior, it does not have a specification.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="BehavioredClassifier-class_behavior-_specification">
          <language>OCL</language>
          <body>classifierBehavior->notEmpty() implies classifierBehavior.specification->isEmpty()</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="BehavioredClassifier-_generalization.0" general="Classifier"/>
      <ownedAttribute xmi:id="BehavioredClassifier-classifierBehavior" name="classifierBehavior" type="Behavior" subsettedProperty="BehavioredClassifier-ownedBehavior" association="A_classifierBehavior_behavioredClassifier">
        <ownedComment xmi:id="BehavioredClassifier-classifierBehavior-_ownedComment.0" annotatedElement="BehavioredClassifier-classifierBehavior">
          <body>A Behavior that specifies the behavior of the BehavioredClassifier itself.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioredClassifier-classifierBehavior-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="BehavioredClassifier-interfaceRealization" name="interfaceRealization" type="InterfaceRealization" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_interfaceRealization_implementingClassifier">
        <ownedComment xmi:id="BehavioredClassifier-interfaceRealization-_ownedComment.0" annotatedElement="BehavioredClassifier-interfaceRealization">
          <body>The set of InterfaceRealizations owned by the BehavioredClassifier. Interface realizations reference the Interfaces of which the BehavioredClassifier is an implementation.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioredClassifier-interfaceRealization-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioredClassifier-interfaceRealization-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="BehavioredClassifier-ownedBehavior" name="ownedBehavior" type="Behavior" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_ownedBehavior_behavioredClassifier">
        <ownedComment xmi:id="BehavioredClassifier-ownedBehavior-_ownedComment.0" annotatedElement="BehavioredClassifier-ownedBehavior">
          <body>Behaviors owned by a BehavioredClassifier.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioredClassifier-ownedBehavior-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioredClassifier-ownedBehavior-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="BehavioredClassifier-getAllImplementedInterfaces" name="getAllImplementedInterfaces">
        <ownedComment xmi:id="BehavioredClassifier-getAllImplementedInterfaces-_ownedComment.0" annotatedElement="BehavioredClassifier-getAllImplementedInterfaces">
          <body>Retrieves all the interfaces on which this behaviored classifier or any of its parents has an interface realization dependency.</body>
        </ownedComment>
        <ownedParameter xmi:id="BehavioredClassifier-getAllImplementedInterfaces-_ownedParameter.0" type="Interface" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioredClassifier-getAllImplementedInterfaces-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioredClassifier-getAllImplementedInterfaces-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="BehavioredClassifier-getImplementedInterfaces" name="getImplementedInterfaces">
        <ownedComment xmi:id="BehavioredClassifier-getImplementedInterfaces-_ownedComment.0" annotatedElement="BehavioredClassifier-getImplementedInterfaces">
          <body>Retrieves the interfaces on which this behaviored classifier has an interface realization dependency.</body>
        </ownedComment>
        <ownedParameter xmi:id="BehavioredClassifier-getImplementedInterfaces-_ownedParameter.0" type="Interface" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="BehavioredClassifier-getImplementedInterfaces-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="BehavioredClassifier-getImplementedInterfaces-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="DataType" name="DataType">
      <ownedComment xmi:id="DataType-_ownedComment.0" annotatedElement="DataType">
        <body>A DataType is a type whose instances are identified only by their value.</body>
      </ownedComment>
      <generalization xmi:id="DataType-_generalization.0" general="Classifier"/>
      <ownedAttribute xmi:id="DataType-ownedAttribute" name="ownedAttribute" type="Property" isOrdered="true" aggregation="composite" subsettedProperty="Classifier-attribute Namespace-ownedMember" association="A_ownedAttribute_datatype">
        <ownedComment xmi:id="DataType-ownedAttribute-_ownedComment.0" annotatedElement="DataType-ownedAttribute">
          <body>The attributes owned by the DataType.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DataType-ownedAttribute-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DataType-ownedAttribute-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="DataType-ownedOperation" name="ownedOperation" type="Operation" isOrdered="true" aggregation="composite" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement Classifier-feature Namespace-ownedMember" association="A_ownedOperation_datatype">
        <ownedComment xmi:id="DataType-ownedOperation-_ownedComment.0" annotatedElement="DataType-ownedOperation">
          <body>The Operations owned by the DataType.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DataType-ownedOperation-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DataType-ownedOperation-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="DataType-createOwnedAttribute" name="createOwnedAttribute">
        <ownedComment xmi:id="DataType-createOwnedAttribute-_ownedComment.0" annotatedElement="DataType-createOwnedAttribute">
          <body>Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this data type.</body>
        </ownedComment>
        <ownedParameter xmi:id="DataType-createOwnedAttribute-_ownedParameter.0" type="Property" direction="return"/>
        <ownedParameter xmi:id="DataType-createOwnedAttribute-name" name="name" effect="read">
          <ownedComment xmi:id="DataType-createOwnedAttribute-name-_ownedComment.0" annotatedElement="DataType-createOwnedAttribute-name">
            <body>The name for the new attribute, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DataType-createOwnedAttribute-name-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DataType-createOwnedAttribute-name-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="DataType-createOwnedAttribute-type" name="type" type="Type" effect="read">
          <ownedComment xmi:id="DataType-createOwnedAttribute-type-_ownedComment.0" annotatedElement="DataType-createOwnedAttribute-type">
            <body>The type for the new attribute, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DataType-createOwnedAttribute-type-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DataType-createOwnedAttribute-type-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="DataType-createOwnedAttribute-lower" name="lower" effect="read">
          <ownedComment xmi:id="DataType-createOwnedAttribute-lower-_ownedComment.0" annotatedElement="DataType-createOwnedAttribute-lower">
            <body>The lower bound for the new attribute.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
        <ownedParameter xmi:id="DataType-createOwnedAttribute-upper" name="upper" effect="read">
          <ownedComment xmi:id="DataType-createOwnedAttribute-upper-_ownedComment.0" annotatedElement="DataType-createOwnedAttribute-upper">
            <body>The upper bound for the new attribute.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="DataType-createOwnedOperation" name="createOwnedOperation">
        <ownedComment xmi:id="DataType-createOwnedOperation-_ownedComment.0" annotatedElement="DataType-createOwnedOperation">
          <body>Creates an operation with the specified name, parameter names, parameter types, and return type (or null) as an owned operation of this data type.</body>
        </ownedComment>
        <ownedParameter xmi:id="DataType-createOwnedOperation-_ownedParameter.0" type="Operation" direction="return"/>
        <ownedParameter xmi:id="DataType-createOwnedOperation-name" name="name" effect="read">
          <ownedComment xmi:id="DataType-createOwnedOperation-name-_ownedComment.0" annotatedElement="DataType-createOwnedOperation-name">
            <body>The name for the new operation, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DataType-createOwnedOperation-name-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DataType-createOwnedOperation-name-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="DataType-createOwnedOperation-parameterNames" name="parameterNames" effect="read">
          <ownedComment xmi:id="DataType-createOwnedOperation-parameterNames-_ownedComment.0" annotatedElement="DataType-createOwnedOperation-parameterNames">
            <body>The parameter names for the new operation, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DataType-createOwnedOperation-parameterNames-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DataType-createOwnedOperation-parameterNames-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="DataType-createOwnedOperation-parameterTypes" name="parameterTypes" type="Type" effect="read">
          <ownedComment xmi:id="DataType-createOwnedOperation-parameterTypes-_ownedComment.0" annotatedElement="DataType-createOwnedOperation-parameterTypes">
            <body>The parameter types for the new operation, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DataType-createOwnedOperation-parameterTypes-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DataType-createOwnedOperation-parameterTypes-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="DataType-createOwnedOperation-returnType" name="returnType" type="Type" effect="read">
          <ownedComment xmi:id="DataType-createOwnedOperation-returnType-_ownedComment.0" annotatedElement="DataType-createOwnedOperation-returnType">
            <body>The return type for the new operation, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DataType-createOwnedOperation-returnType-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DataType-createOwnedOperation-returnType-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Enumeration" name="Enumeration">
      <ownedComment xmi:id="Enumeration-_ownedComment.0" annotatedElement="Enumeration">
        <body>An Enumeration is a DataType whose values are enumerated in the model as EnumerationLiterals.</body>
      </ownedComment>
      <ownedRule xmi:id="Enumeration-immutable" name="immutable" constrainedElement="Enumeration">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Enumeration-immutable-_specification">
          <language>OCL</language>
          <body>ownedAttribute->forAll(isReadOnly)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Enumeration-_generalization.0" general="DataType"/>
      <ownedAttribute xmi:id="Enumeration-ownedLiteral" name="ownedLiteral" type="EnumerationLiteral" isOrdered="true" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_ownedLiteral_enumeration">
        <ownedComment xmi:id="Enumeration-ownedLiteral-_ownedComment.0" annotatedElement="Enumeration-ownedLiteral">
          <body>The ordered set of literals owned by this Enumeration.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Enumeration-ownedLiteral-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Enumeration-ownedLiteral-_upperValue" value="*"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="EnumerationLiteral" name="EnumerationLiteral">
      <ownedComment xmi:id="EnumerationLiteral-_ownedComment.0" annotatedElement="EnumerationLiteral">
        <body>An EnumerationLiteral is a user-defined data value for an Enumeration.</body>
      </ownedComment>
      <generalization xmi:id="EnumerationLiteral-_generalization.0" general="InstanceSpecification"/>
      <ownedAttribute xmi:id="EnumerationLiteral-classifier" name="classifier" type="Enumeration" isReadOnly="true" isDerived="true" redefinedProperty="InstanceSpecification-classifier" association="A_classifier_enumerationLiteral">
        <ownedComment xmi:id="EnumerationLiteral-classifier-_ownedComment.0" annotatedElement="EnumerationLiteral-classifier">
          <body>The classifier of this EnumerationLiteral derived to be equal to its Enumeration.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="EnumerationLiteral-enumeration" name="enumeration" type="Enumeration" subsettedProperty="NamedElement-namespace" association="A_ownedLiteral_enumeration">
        <ownedComment xmi:id="EnumerationLiteral-enumeration-_ownedComment.0" annotatedElement="EnumerationLiteral-enumeration">
          <body>The Enumeration that this EnumerationLiteral is a member of.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedOperation xmi:id="EnumerationLiteral-getClassifiers" name="getClassifiers" visibility="protected">
        <ownedParameter xmi:id="EnumerationLiteral-getClassifiers-_ownedParameter.0" type="Classifier" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="EnumerationLiteral-getClassifiers-_ownedParameter.0-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="EnumerationLiteral-getClassifiers-_ownedParameter.0-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="EnumerationLiteral-classifier.1" name="classifier" visibility="protected" bodyCondition="EnumerationLiteral-classifier.1-spec" isQuery="true">
        <ownedComment xmi:id="EnumerationLiteral-classifier.1-_ownedComment.0" annotatedElement="EnumerationLiteral-classifier.1">
          <body>Derivation of Enumeration::/classifier</body>
        </ownedComment>
        <ownedRule xmi:id="EnumerationLiteral-classifier.1-spec" name="spec" constrainedElement="EnumerationLiteral-classifier.1 EnumerationLiteral-classifier">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="EnumerationLiteral-classifier.1-spec-_specification">
            <language>OCL</language>
            <body>result = (enumeration)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="EnumerationLiteral-classifier.1-result" name="result" type="Enumeration" direction="return"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Interface" name="Interface">
      <ownedComment xmi:id="Interface-_ownedComment.0" annotatedElement="Interface">
        <body>Interfaces declare coherent services that are implemented by BehavioredClassifiers that implement the Interfaces via InterfaceRealizations.</body>
      </ownedComment>
      <ownedRule xmi:id="Interface-visibility" name="visibility" constrainedElement="Interface">
        <ownedComment xmi:id="Interface-visibility-_ownedComment.0" annotatedElement="Interface-visibility">
          <body>The visibility of all Features owned by an Interface must be public.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Interface-visibility-_specification">
          <language>OCL</language>
          <body>feature->forAll(visibility = VisibilityKind::public)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Interface-_generalization.0" general="Classifier"/>
      <ownedAttribute xmi:id="Interface-nestedClassifier" name="nestedClassifier" type="Classifier" isOrdered="true" aggregation="composite" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement Namespace-ownedMember" association="A_nestedClassifier_interface">
        <ownedComment xmi:id="Interface-nestedClassifier-_ownedComment.0" annotatedElement="Interface-nestedClassifier">
          <body>References all the Classifiers that are defined (nested) within the Interface.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-nestedClassifier-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interface-nestedClassifier-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Interface-ownedAttribute" name="ownedAttribute" type="Property" isOrdered="true" aggregation="composite" subsettedProperty="Classifier-attribute Namespace-ownedMember" association="A_ownedAttribute_interface">
        <ownedComment xmi:id="Interface-ownedAttribute-_ownedComment.0" annotatedElement="Interface-ownedAttribute">
          <body>The attributes (i.e., the Properties) owned by the Interface.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-ownedAttribute-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interface-ownedAttribute-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Interface-ownedOperation" name="ownedOperation" type="Operation" isOrdered="true" aggregation="composite" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement Classifier-feature Namespace-ownedMember" association="A_ownedOperation_interface">
        <ownedComment xmi:id="Interface-ownedOperation-_ownedComment.0" annotatedElement="Interface-ownedOperation">
          <body>The Operations owned by the Interface.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-ownedOperation-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interface-ownedOperation-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Interface-ownedReception" name="ownedReception" type="Reception" aggregation="composite" subsettedProperty="Classifier-feature Namespace-ownedMember" association="A_ownedReception_interface">
        <ownedComment xmi:id="Interface-ownedReception-_ownedComment.0" annotatedElement="Interface-ownedReception">
          <body>Receptions that objects providing this Interface are willing to accept.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-ownedReception-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interface-ownedReception-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Interface-protocol" name="protocol" type="ProtocolStateMachine" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_protocol_interface">
        <ownedComment xmi:id="Interface-protocol-_ownedComment.0" annotatedElement="Interface-protocol">
          <body>References a ProtocolStateMachine specifying the legal sequences of the invocation of the BehavioralFeatures described in the Interface.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-protocol-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Interface-redefinedInterface" name="redefinedInterface" type="Interface" subsettedProperty="Classifier-redefinedClassifier" association="A_redefinedInterface_interface">
        <ownedComment xmi:id="Interface-redefinedInterface-_ownedComment.0" annotatedElement="Interface-redefinedInterface">
          <body>References all the Interfaces redefined by this Interface.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-redefinedInterface-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interface-redefinedInterface-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Interface-createOwnedAttribute" name="createOwnedAttribute">
        <ownedComment xmi:id="Interface-createOwnedAttribute-_ownedComment.0" annotatedElement="Interface-createOwnedAttribute">
          <body>Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this interface.</body>
        </ownedComment>
        <ownedParameter xmi:id="Interface-createOwnedAttribute-_ownedParameter.0" type="Property" direction="return"/>
        <ownedParameter xmi:id="Interface-createOwnedAttribute-name" name="name" effect="read">
          <ownedComment xmi:id="Interface-createOwnedAttribute-name-_ownedComment.0" annotatedElement="Interface-createOwnedAttribute-name">
            <body>The name for the new attribute, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-createOwnedAttribute-name-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interface-createOwnedAttribute-name-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Interface-createOwnedAttribute-type" name="type" type="Type" effect="read">
          <ownedComment xmi:id="Interface-createOwnedAttribute-type-_ownedComment.0" annotatedElement="Interface-createOwnedAttribute-type">
            <body>The type for the new attribute, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-createOwnedAttribute-type-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interface-createOwnedAttribute-type-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Interface-createOwnedAttribute-lower" name="lower" effect="read">
          <ownedComment xmi:id="Interface-createOwnedAttribute-lower-_ownedComment.0" annotatedElement="Interface-createOwnedAttribute-lower">
            <body>The lower bound for the new attribute.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
        <ownedParameter xmi:id="Interface-createOwnedAttribute-upper" name="upper" effect="read">
          <ownedComment xmi:id="Interface-createOwnedAttribute-upper-_ownedComment.0" annotatedElement="Interface-createOwnedAttribute-upper">
            <body>The upper bound for the new attribute.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Interface-createOwnedOperation" name="createOwnedOperation">
        <ownedComment xmi:id="Interface-createOwnedOperation-_ownedComment.0" annotatedElement="Interface-createOwnedOperation">
          <body>Creates an operation with the specified name, parameter names, parameter types, and return type (or null) as an owned operation of this interface.</body>
        </ownedComment>
        <ownedParameter xmi:id="Interface-createOwnedOperation-_ownedParameter.0" type="Operation" direction="return"/>
        <ownedParameter xmi:id="Interface-createOwnedOperation-name" name="name" effect="read">
          <ownedComment xmi:id="Interface-createOwnedOperation-name-_ownedComment.0" annotatedElement="Interface-createOwnedOperation-name">
            <body>The name for the new operation, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-createOwnedOperation-name-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interface-createOwnedOperation-name-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Interface-createOwnedOperation-parameterNames" name="parameterNames" effect="read">
          <ownedComment xmi:id="Interface-createOwnedOperation-parameterNames-_ownedComment.0" annotatedElement="Interface-createOwnedOperation-parameterNames">
            <body>The parameter names for the new operation, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-createOwnedOperation-parameterNames-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interface-createOwnedOperation-parameterNames-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Interface-createOwnedOperation-parameterTypes" name="parameterTypes" type="Type" effect="read">
          <ownedComment xmi:id="Interface-createOwnedOperation-parameterTypes-_ownedComment.0" annotatedElement="Interface-createOwnedOperation-parameterTypes">
            <body>The parameter types for the new operation, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-createOwnedOperation-parameterTypes-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interface-createOwnedOperation-parameterTypes-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Interface-createOwnedOperation-returnType" name="returnType" type="Type" effect="read">
          <ownedComment xmi:id="Interface-createOwnedOperation-returnType-_ownedComment.0" annotatedElement="Interface-createOwnedOperation-returnType">
            <body>The return type for the new operation, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Interface-createOwnedOperation-returnType-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Interface-createOwnedOperation-returnType-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="InterfaceRealization" name="InterfaceRealization">
      <ownedComment xmi:id="InterfaceRealization-_ownedComment.0" annotatedElement="InterfaceRealization">
        <body>An InterfaceRealization is a specialized realization relationship between a BehavioredClassifier and an Interface. This relationship signifies that the realizing BehavioredClassifier conforms to the contract specified by the Interface.</body>
      </ownedComment>
      <generalization xmi:id="InterfaceRealization-_generalization.0" general="Realization"/>
      <ownedAttribute xmi:id="InterfaceRealization-contract" name="contract" type="Interface" subsettedProperty="Dependency-supplier" association="A_contract_interfaceRealization">
        <ownedComment xmi:id="InterfaceRealization-contract-_ownedComment.0" annotatedElement="InterfaceRealization-contract">
          <body>References the Interface specifying the conformance contract.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="InterfaceRealization-implementingClassifier" name="implementingClassifier" type="BehavioredClassifier" subsettedProperty="Dependency-client Element-owner" association="A_interfaceRealization_implementingClassifier">
        <ownedComment xmi:id="InterfaceRealization-implementingClassifier-_ownedComment.0" annotatedElement="InterfaceRealization-implementingClassifier">
          <body>References the BehavioredClassifier that owns this InterfaceRealization, i.e., the BehavioredClassifier that realizes the Interface to which it refers.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="PrimitiveType" name="PrimitiveType">
      <ownedComment xmi:id="PrimitiveType-_ownedComment.0" annotatedElement="PrimitiveType">
        <body>A PrimitiveType defines a predefined DataType, without any substructure. A PrimitiveType may have an algebra and operations defined outside of UML, for example, mathematically.</body>
      </ownedComment>
      <generalization xmi:id="PrimitiveType-_generalization.0" general="DataType"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Reception" name="Reception">
      <ownedComment xmi:id="Reception-_ownedComment.0" annotatedElement="Reception">
        <body>A Reception is a declaration stating that a Classifier is prepared to react to the receipt of a Signal.</body>
      </ownedComment>
      <ownedRule xmi:id="Reception-same_name_as_signal" name="same_name_as_signal" constrainedElement="Reception">
        <ownedComment xmi:id="Reception-same_name_as_signal-_ownedComment.0" annotatedElement="Reception-same_name_as_signal">
          <body>A Reception has the same name as its signal</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Reception-same_name_as_signal-_specification">
          <language>OCL</language>
          <body>name = signal.name</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Reception-same_structure_as_signal" name="same_structure_as_signal" constrainedElement="Reception">
        <ownedComment xmi:id="Reception-same_structure_as_signal-_ownedComment.0" annotatedElement="Reception-same_structure_as_signal">
          <body>A Reception's parameters match the ownedAttributes of its signal by name, type, and multiplicity</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Reception-same_structure_as_signal-_specification">
          <language>OCL</language>
          <body>signal.ownedAttribute->size() = ownedParameter->size() and&#xD;
Sequence{1..signal.ownedAttribute->size()}->forAll( i | &#xD;
    ownedParameter->at(i).direction = ParameterDirectionKind::_'in' and &#xD;
    ownedParameter->at(i).name = signal.ownedAttribute->at(i).name and&#xD;
    ownedParameter->at(i).type = signal.ownedAttribute->at(i).type and&#xD;
    ownedParameter->at(i).lowerBound() = signal.ownedAttribute->at(i).lowerBound() and&#xD;
    ownedParameter->at(i).upperBound() = signal.ownedAttribute->at(i).upperBound()&#xD;
)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Reception-_generalization.0" general="BehavioralFeature"/>
      <ownedAttribute xmi:id="Reception-signal" name="signal" type="Signal" association="A_signal_reception">
        <ownedComment xmi:id="Reception-signal-_ownedComment.0" annotatedElement="Reception-signal">
          <body>The Signal that this Reception handles.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Signal" name="Signal">
      <ownedComment xmi:id="Signal-_ownedComment.0" annotatedElement="Signal">
        <body>A Signal is a specification of a kind of communication between objects in which a reaction is asynchronously triggered in the receiver without a reply.</body>
      </ownedComment>
      <generalization xmi:id="Signal-_generalization.0" general="Classifier"/>
      <ownedAttribute xmi:id="Signal-ownedAttribute" name="ownedAttribute" type="Property" isOrdered="true" aggregation="composite" subsettedProperty="Classifier-attribute Namespace-ownedMember" association="A_ownedAttribute_owningSignal">
        <ownedComment xmi:id="Signal-ownedAttribute-_ownedComment.0" annotatedElement="Signal-ownedAttribute">
          <body>The attributes owned by the Signal.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Signal-ownedAttribute-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Signal-ownedAttribute-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Signal-createOwnedAttribute" name="createOwnedAttribute">
        <ownedComment xmi:id="Signal-createOwnedAttribute-_ownedComment.0" annotatedElement="Signal-createOwnedAttribute">
          <body>Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this signal.</body>
        </ownedComment>
        <ownedParameter xmi:id="Signal-createOwnedAttribute-_ownedParameter.0" type="Property" direction="return"/>
        <ownedParameter xmi:id="Signal-createOwnedAttribute-name" name="name" effect="read">
          <ownedComment xmi:id="Signal-createOwnedAttribute-name-_ownedComment.0" annotatedElement="Signal-createOwnedAttribute-name">
            <body>The name for the new attribute, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Signal-createOwnedAttribute-name-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Signal-createOwnedAttribute-name-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Signal-createOwnedAttribute-type" name="type" type="Type" effect="read">
          <ownedComment xmi:id="Signal-createOwnedAttribute-type-_ownedComment.0" annotatedElement="Signal-createOwnedAttribute-type">
            <body>The type for the new attribute, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Signal-createOwnedAttribute-type-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Signal-createOwnedAttribute-type-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Signal-createOwnedAttribute-lower" name="lower" effect="read">
          <ownedComment xmi:id="Signal-createOwnedAttribute-lower-_ownedComment.0" annotatedElement="Signal-createOwnedAttribute-lower">
            <body>The lower bound for the new attribute.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
        <ownedParameter xmi:id="Signal-createOwnedAttribute-upper" name="upper" effect="read">
          <ownedComment xmi:id="Signal-createOwnedAttribute-upper-_ownedComment.0" annotatedElement="Signal-createOwnedAttribute-upper">
            <body>The upper bound for the new attribute.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedAttribute_owningSignal" name="A_ownedAttribute_owningSignal" visibility="private" memberEnd="Signal-ownedAttribute A_ownedAttribute_owningSignal-owningSignal">
      <ownedEnd xmi:id="A_ownedAttribute_owningSignal-owningSignal" name="owningSignal" type="Signal" subsettedProperty="A_attribute_classifier-classifier NamedElement-namespace" association="A_ownedAttribute_owningSignal">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedAttribute_owningSignal-owningSignal-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_signal_reception" name="A_signal_reception" visibility="private" memberEnd="Reception-signal A_signal_reception-reception">
      <ownedEnd xmi:id="A_signal_reception-reception" name="reception" type="Reception" association="A_signal_reception">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_signal_reception-reception-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_signal_reception-reception-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_contract_interfaceRealization" name="A_contract_interfaceRealization" visibility="private" memberEnd="InterfaceRealization-contract A_contract_interfaceRealization-interfaceRealization">
      <ownedEnd xmi:id="A_contract_interfaceRealization-interfaceRealization" name="interfaceRealization" type="InterfaceRealization" subsettedProperty="A_supplier_supplierDependency-supplierDependency" association="A_contract_interfaceRealization">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_contract_interfaceRealization-interfaceRealization-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_contract_interfaceRealization-interfaceRealization-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_protocol_interface" name="A_protocol_interface" visibility="private" memberEnd="Interface-protocol A_protocol_interface-interface">
      <ownedEnd xmi:id="A_protocol_interface-interface" name="interface" type="Interface" subsettedProperty="NamedElement-namespace" association="A_protocol_interface">
        <ownedComment xmi:id="A_protocol_interface-interface-_ownedComment.0" annotatedElement="A_protocol_interface-interface">
          <body>Specifies the namespace in which the protocol state machine is defined.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_protocol_interface-interface-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedReception_interface" name="A_ownedReception_interface" visibility="private" memberEnd="Interface-ownedReception A_ownedReception_interface-interface">
      <ownedEnd xmi:id="A_ownedReception_interface-interface" name="interface" type="Interface" subsettedProperty="Feature-featuringClassifier NamedElement-namespace" association="A_ownedReception_interface">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedReception_interface-interface-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_redefinedInterface_interface" name="A_redefinedInterface_interface" visibility="private" memberEnd="Interface-redefinedInterface A_redefinedInterface_interface-interface">
      <ownedEnd xmi:id="A_redefinedInterface_interface-interface" name="interface" type="Interface" subsettedProperty="A_redefinedClassifier_classifier-classifier" association="A_redefinedInterface_interface">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinedInterface_interface-interface-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinedInterface_interface-interface-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_nestedClassifier_interface" name="A_nestedClassifier_interface" visibility="private" memberEnd="Interface-nestedClassifier A_nestedClassifier_interface-interface">
      <ownedEnd xmi:id="A_nestedClassifier_interface-interface" name="interface" type="Interface" subsettedProperty="NamedElement-namespace RedefinableElement-redefinitionContext" association="A_nestedClassifier_interface">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_nestedClassifier_interface-interface-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedOperation_interface" name="A_ownedOperation_interface" visibility="private" memberEnd="Interface-ownedOperation Operation-interface"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedAttribute_interface" name="A_ownedAttribute_interface" visibility="private" memberEnd="Interface-ownedAttribute Property-interface"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_classifier_enumerationLiteral" name="A_classifier_enumerationLiteral" visibility="private" isDerived="true" memberEnd="EnumerationLiteral-classifier A_classifier_enumerationLiteral-enumerationLiteral">
      <generalization xmi:id="A_classifier_enumerationLiteral-_generalization.0" general="A_classifier_instanceSpecification"/>
      <ownedEnd xmi:id="A_classifier_enumerationLiteral-enumerationLiteral" name="enumerationLiteral" type="EnumerationLiteral" redefinedProperty="A_classifier_instanceSpecification-instanceSpecification" association="A_classifier_enumerationLiteral">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_classifier_enumerationLiteral-enumerationLiteral-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_classifier_enumerationLiteral-enumerationLiteral-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedLiteral_enumeration" name="A_ownedLiteral_enumeration" visibility="private" memberEnd="Enumeration-ownedLiteral EnumerationLiteral-enumeration"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedAttribute_datatype" name="A_ownedAttribute_datatype" visibility="private" memberEnd="DataType-ownedAttribute Property-datatype"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedOperation_datatype" name="A_ownedOperation_datatype" visibility="private" memberEnd="DataType-ownedOperation Operation-datatype"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedBehavior_behavioredClassifier" name="A_ownedBehavior_behavioredClassifier" visibility="private" memberEnd="BehavioredClassifier-ownedBehavior A_ownedBehavior_behavioredClassifier-behavioredClassifier">
      <ownedEnd xmi:id="A_ownedBehavior_behavioredClassifier-behavioredClassifier" name="behavioredClassifier" type="BehavioredClassifier" subsettedProperty="NamedElement-namespace" association="A_ownedBehavior_behavioredClassifier">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedBehavior_behavioredClassifier-behavioredClassifier-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_classifierBehavior_behavioredClassifier" name="A_classifierBehavior_behavioredClassifier" visibility="private" memberEnd="BehavioredClassifier-classifierBehavior A_classifierBehavior_behavioredClassifier-behavioredClassifier">
      <generalization xmi:id="A_classifierBehavior_behavioredClassifier-_generalization.0" general="A_ownedBehavior_behavioredClassifier"/>
      <ownedEnd xmi:id="A_classifierBehavior_behavioredClassifier-behavioredClassifier" name="behavioredClassifier" type="BehavioredClassifier" redefinedProperty="A_ownedBehavior_behavioredClassifier-behavioredClassifier" association="A_classifierBehavior_behavioredClassifier">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_classifierBehavior_behavioredClassifier-behavioredClassifier-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_interfaceRealization_implementingClassifier" name="A_interfaceRealization_implementingClassifier" visibility="private" memberEnd="BehavioredClassifier-interfaceRealization InterfaceRealization-implementingClassifier"/>
    <packagedElement xmi:type="uml:Class" xmi:id="ConnectionPointReference" name="ConnectionPointReference">
      <ownedComment xmi:id="ConnectionPointReference-_ownedComment.0" annotatedElement="ConnectionPointReference">
        <body>A ConnectionPointReference represents a usage (as part of a submachine State) of an entry/exit point Pseudostate defined in the StateMachine referenced by the submachine State.</body>
      </ownedComment>
      <ownedRule xmi:id="ConnectionPointReference-exit_pseudostates" name="exit_pseudostates" constrainedElement="ConnectionPointReference">
        <ownedComment xmi:id="ConnectionPointReference-exit_pseudostates-_ownedComment.0" annotatedElement="ConnectionPointReference-exit_pseudostates">
          <body>The exit Pseudostates must be Pseudostates with kind exitPoint.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ConnectionPointReference-exit_pseudostates-_specification">
          <language>OCL</language>
          <body>exit->forAll(kind = PseudostateKind::exitPoint)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ConnectionPointReference-entry_pseudostates" name="entry_pseudostates" constrainedElement="ConnectionPointReference">
        <ownedComment xmi:id="ConnectionPointReference-entry_pseudostates-_ownedComment.0" annotatedElement="ConnectionPointReference-entry_pseudostates">
          <body>The entry Pseudostates must be Pseudostates with kind entryPoint.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ConnectionPointReference-entry_pseudostates-_specification">
          <language>OCL</language>
          <body>entry->forAll(kind = PseudostateKind::entryPoint)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ConnectionPointReference-_generalization.0" general="Vertex"/>
      <ownedAttribute xmi:id="ConnectionPointReference-entry" name="entry" type="Pseudostate" association="A_entry_connectionPointReference">
        <ownedComment xmi:id="ConnectionPointReference-entry-_ownedComment.0" annotatedElement="ConnectionPointReference-entry">
          <body>The entryPoint Pseudostates corresponding to this connection point.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ConnectionPointReference-entry-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ConnectionPointReference-entry-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ConnectionPointReference-exit" name="exit" type="Pseudostate" association="A_exit_connectionPointReference">
        <ownedComment xmi:id="ConnectionPointReference-exit-_ownedComment.0" annotatedElement="ConnectionPointReference-exit">
          <body>The exitPoints kind Pseudostates corresponding to this connection point.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ConnectionPointReference-exit-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ConnectionPointReference-exit-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ConnectionPointReference-state" name="state" type="State" subsettedProperty="NamedElement-namespace" association="A_connection_state">
        <ownedComment xmi:id="ConnectionPointReference-state-_ownedComment.0" annotatedElement="ConnectionPointReference-state">
          <body>The State in which the ConnectionPointReference is defined.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ConnectionPointReference-state-_lowerValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="FinalState" name="FinalState">
      <ownedComment xmi:id="FinalState-_ownedComment.0" annotatedElement="FinalState">
        <body>A special kind of State, which, when entered, signifies that the enclosing Region has completed. If the enclosing Region is directly contained in a StateMachine and all other Regions in that StateMachine also are completed, then it means that the entire StateMachine behavior is completed.</body>
      </ownedComment>
      <ownedRule xmi:id="FinalState-no_exit_behavior" name="no_exit_behavior" constrainedElement="FinalState">
        <ownedComment xmi:id="FinalState-no_exit_behavior-_ownedComment.0" annotatedElement="FinalState-no_exit_behavior">
          <body>A FinalState has no exit Behavior.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="FinalState-no_exit_behavior-_specification">
          <language>OCL</language>
          <body>exit->isEmpty()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="FinalState-no_outgoing_transitions" name="no_outgoing_transitions" constrainedElement="FinalState">
        <ownedComment xmi:id="FinalState-no_outgoing_transitions-_ownedComment.0" annotatedElement="FinalState-no_outgoing_transitions">
          <body>A FinalState cannot have any outgoing Transitions.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="FinalState-no_outgoing_transitions-_specification">
          <language>OCL</language>
          <body>outgoing->size() = 0</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="FinalState-no_regions" name="no_regions" constrainedElement="FinalState">
        <ownedComment xmi:id="FinalState-no_regions-_ownedComment.0" annotatedElement="FinalState-no_regions">
          <body>A FinalState cannot have Regions.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="FinalState-no_regions-_specification">
          <language>OCL</language>
          <body>region->size() = 0</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="FinalState-cannot_reference_submachine" name="cannot_reference_submachine" constrainedElement="FinalState">
        <ownedComment xmi:id="FinalState-cannot_reference_submachine-_ownedComment.0" annotatedElement="FinalState-cannot_reference_submachine">
          <body>A FinalState cannot reference a submachine.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="FinalState-cannot_reference_submachine-_specification">
          <language>OCL</language>
          <body>submachine->isEmpty()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="FinalState-no_entry_behavior" name="no_entry_behavior" constrainedElement="FinalState">
        <ownedComment xmi:id="FinalState-no_entry_behavior-_ownedComment.0" annotatedElement="FinalState-no_entry_behavior">
          <body>A FinalState has no entry Behavior.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="FinalState-no_entry_behavior-_specification">
          <language>OCL</language>
          <body>entry->isEmpty()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="FinalState-no_state_behavior" name="no_state_behavior" constrainedElement="FinalState">
        <ownedComment xmi:id="FinalState-no_state_behavior-_ownedComment.0" annotatedElement="FinalState-no_state_behavior">
          <body>A FinalState has no state (doActivity) Behavior.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="FinalState-no_state_behavior-_specification">
          <language>OCL</language>
          <body>doActivity->isEmpty()</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="FinalState-_generalization.0" general="State"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ProtocolConformance" name="ProtocolConformance">
      <ownedComment xmi:id="ProtocolConformance-_ownedComment.0" annotatedElement="ProtocolConformance">
        <body>A ProtocolStateMachine can be redefined into a more specific ProtocolStateMachine or into behavioral StateMachine. ProtocolConformance declares that the specific ProtocolStateMachine specifies a protocol that conforms to the general ProtocolStateMachine or that the specific behavioral StateMachine abides by the protocol of the general ProtocolStateMachine.</body>
      </ownedComment>
      <generalization xmi:id="ProtocolConformance-_generalization.0" general="DirectedRelationship"/>
      <ownedAttribute xmi:id="ProtocolConformance-generalMachine" name="generalMachine" type="ProtocolStateMachine" subsettedProperty="DirectedRelationship-target" association="A_generalMachine_protocolConformance">
        <ownedComment xmi:id="ProtocolConformance-generalMachine-_ownedComment.0" annotatedElement="ProtocolConformance-generalMachine">
          <body>Specifies the ProtocolStateMachine to which the specific ProtocolStateMachine conforms.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="ProtocolConformance-specificMachine" name="specificMachine" type="ProtocolStateMachine" subsettedProperty="DirectedRelationship-source Element-owner" association="A_conformance_specificMachine">
        <ownedComment xmi:id="ProtocolConformance-specificMachine-_ownedComment.0" annotatedElement="ProtocolConformance-specificMachine">
          <body>Specifies the ProtocolStateMachine which conforms to the general ProtocolStateMachine.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ProtocolStateMachine" name="ProtocolStateMachine">
      <ownedComment xmi:id="ProtocolStateMachine-_ownedComment.0" annotatedElement="ProtocolStateMachine">
        <body>A ProtocolStateMachine is always defined in the context of a Classifier. It specifies which BehavioralFeatures of the Classifier can be called in which State and under which conditions, thus specifying the allowed invocation sequences on the Classifier's BehavioralFeatures. A ProtocolStateMachine specifies the possible and permitted Transitions on the instances of its context Classifier, together with the BehavioralFeatures that carry the Transitions. In this manner, an instance lifecycle can be specified for a Classifier, by defining the order in which the BehavioralFeatures can be activated and the States through which an instance progresses during its existence.</body>
      </ownedComment>
      <ownedRule xmi:id="ProtocolStateMachine-classifier_context" name="classifier_context" constrainedElement="ProtocolStateMachine">
        <ownedComment xmi:id="ProtocolStateMachine-classifier_context-_ownedComment.0" annotatedElement="ProtocolStateMachine-classifier_context">
          <body>A ProtocolStateMachine must only have a Classifier context, not a BehavioralFeature context.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ProtocolStateMachine-classifier_context-_specification">
          <language>OCL</language>
          <body>_'context' &lt;> null and specification = null</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ProtocolStateMachine-deep_or_shallow_history" name="deep_or_shallow_history" constrainedElement="ProtocolStateMachine">
        <ownedComment xmi:id="ProtocolStateMachine-deep_or_shallow_history-_ownedComment.0" annotatedElement="ProtocolStateMachine-deep_or_shallow_history">
          <body>ProtocolStateMachines cannot have deep or shallow history Pseudostates.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ProtocolStateMachine-deep_or_shallow_history-_specification">
          <language>OCL</language>
          <body>region->forAll (r | r.subvertex->forAll (v | v.oclIsKindOf(Pseudostate) implies
((v.oclAsType(Pseudostate).kind &lt;>  PseudostateKind::deepHistory) and (v.oclAsType(Pseudostate).kind &lt;> PseudostateKind::shallowHistory))))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ProtocolStateMachine-entry_exit_do" name="entry_exit_do" constrainedElement="ProtocolStateMachine">
        <ownedComment xmi:id="ProtocolStateMachine-entry_exit_do-_ownedComment.0" annotatedElement="ProtocolStateMachine-entry_exit_do">
          <body>The states of a ProtocolStateMachine cannot have entry, exit, or do activity Behaviors.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ProtocolStateMachine-entry_exit_do-_specification">
          <language>OCL</language>
          <body>region->forAll(r | r.subvertex->forAll(v | v.oclIsKindOf(State) implies
(v.oclAsType(State).entry->isEmpty() and v.oclAsType(State).exit->isEmpty() and v.oclAsType(State).doActivity->isEmpty())))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ProtocolStateMachine-protocol_transitions" name="protocol_transitions" constrainedElement="ProtocolStateMachine">
        <ownedComment xmi:id="ProtocolStateMachine-protocol_transitions-_ownedComment.0" annotatedElement="ProtocolStateMachine-protocol_transitions">
          <body>All Transitions of a ProtocolStateMachine must be ProtocolTransitions.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ProtocolStateMachine-protocol_transitions-_specification">
          <language>OCL</language>
          <body>region->forAll(r | r.transition->forAll(t | t.oclIsTypeOf(ProtocolTransition)))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ProtocolStateMachine-_generalization.0" general="StateMachine"/>
      <ownedAttribute xmi:id="ProtocolStateMachine-conformance" name="conformance" type="ProtocolConformance" aggregation="composite" subsettedProperty="A_source_directedRelationship-directedRelationship Element-ownedElement" association="A_conformance_specificMachine">
        <ownedComment xmi:id="ProtocolStateMachine-conformance-_ownedComment.0" annotatedElement="ProtocolStateMachine-conformance">
          <body>Conformance between ProtocolStateMachine</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ProtocolStateMachine-conformance-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ProtocolStateMachine-conformance-_upperValue" value="*"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ProtocolTransition" name="ProtocolTransition">
      <ownedComment xmi:id="ProtocolTransition-_ownedComment.0" annotatedElement="ProtocolTransition">
        <body>A ProtocolTransition specifies a legal Transition for an Operation. Transitions of ProtocolStateMachines have the following information: a pre-condition (guard), a Trigger, and a post-condition. Every ProtocolTransition is associated with at most one BehavioralFeature belonging to the context Classifier of the ProtocolStateMachine.</body>
      </ownedComment>
      <ownedRule xmi:id="ProtocolTransition-refers_to_operation" name="refers_to_operation" constrainedElement="ProtocolTransition">
        <ownedComment xmi:id="ProtocolTransition-refers_to_operation-_ownedComment.0" annotatedElement="ProtocolTransition-refers_to_operation">
          <body>If a ProtocolTransition refers to an Operation (i.e., has a CallEvent trigger corresponding to an Operation), then that Operation should apply to the context Classifier of the StateMachine of the ProtocolTransition.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ProtocolTransition-refers_to_operation-_specification">
          <language>OCL</language>
          <body>if (referred()->notEmpty() and containingStateMachine()._'context'->notEmpty()) then &#xD;
    containingStateMachine()._'context'.oclAsType(BehavioredClassifier).allFeatures()->includesAll(referred())&#xD;
else true endif</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ProtocolTransition-associated_actions" name="associated_actions" constrainedElement="ProtocolTransition">
        <ownedComment xmi:id="ProtocolTransition-associated_actions-_ownedComment.0" annotatedElement="ProtocolTransition-associated_actions">
          <body>A ProtocolTransition never has associated Behaviors.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ProtocolTransition-associated_actions-_specification">
          <language>OCL</language>
          <body>effect = null</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ProtocolTransition-belongs_to_psm" name="belongs_to_psm" constrainedElement="ProtocolTransition">
        <ownedComment xmi:id="ProtocolTransition-belongs_to_psm-_ownedComment.0" annotatedElement="ProtocolTransition-belongs_to_psm">
          <body>A ProtocolTransition always belongs to a ProtocolStateMachine.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ProtocolTransition-belongs_to_psm-_specification">
          <language>OCL</language>
          <body>container.belongsToPSM()</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ProtocolTransition-_generalization.0" general="Transition"/>
      <ownedAttribute xmi:id="ProtocolTransition-postCondition" name="postCondition" type="Constraint" aggregation="composite" subsettedProperty="Namespace-ownedRule" association="A_postCondition_owningTransition">
        <ownedComment xmi:id="ProtocolTransition-postCondition-_ownedComment.0" annotatedElement="ProtocolTransition-postCondition">
          <body>Specifies the post condition of the Transition which is the Condition that should be obtained once the Transition is triggered. This post condition is part of the post condition of the Operation connected to the Transition.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ProtocolTransition-postCondition-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ProtocolTransition-preCondition" name="preCondition" type="Constraint" aggregation="composite" subsettedProperty="Transition-guard" association="A_preCondition_protocolTransition">
        <ownedComment xmi:id="ProtocolTransition-preCondition-_ownedComment.0" annotatedElement="ProtocolTransition-preCondition">
          <body>Specifies the precondition of the Transition. It specifies the Condition that should be verified before triggering the Transition. This guard condition added to the source State will be evaluated as part of the precondition of the Operation referred by the Transition if any.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ProtocolTransition-preCondition-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ProtocolTransition-referred" name="referred" type="Operation" isReadOnly="true" isDerived="true" association="A_referred_protocolTransition">
        <ownedComment xmi:id="ProtocolTransition-referred-_ownedComment.0" annotatedElement="ProtocolTransition-referred">
          <body>This association refers to the associated Operation. It is derived from the Operation of the CallEvent Trigger when applicable.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ProtocolTransition-referred-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ProtocolTransition-referred-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="ProtocolTransition-referred.1" name="referred" visibility="protected" bodyCondition="ProtocolTransition-referred.1-spec" isQuery="true">
        <ownedComment xmi:id="ProtocolTransition-referred.1-_ownedComment.0" annotatedElement="ProtocolTransition-referred.1">
          <body>Derivation for ProtocolTransition::/referred</body>
        </ownedComment>
        <ownedRule xmi:id="ProtocolTransition-referred.1-spec" name="spec" constrainedElement="ProtocolTransition-referred.1 ProtocolTransition-referred">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ProtocolTransition-referred.1-spec-_specification">
            <language>OCL</language>
            <body>result = (trigger->collect(event)->select(oclIsKindOf(CallEvent))->collect(oclAsType(CallEvent).operation)->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="ProtocolTransition-referred.1-result" name="result" type="Operation" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ProtocolTransition-referred.1-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ProtocolTransition-referred.1-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Pseudostate" name="Pseudostate">
      <ownedComment xmi:id="Pseudostate-_ownedComment.0" annotatedElement="Pseudostate">
        <body>A Pseudostate is an abstraction that encompasses different types of transient Vertices in the StateMachine graph. A StateMachine instance never comes to rest in a Pseudostate, instead, it will exit and enter the Pseudostate within a single run-to-completion step.</body>
      </ownedComment>
      <ownedRule xmi:id="Pseudostate-transitions_outgoing" name="transitions_outgoing" constrainedElement="Pseudostate">
        <ownedComment xmi:id="Pseudostate-transitions_outgoing-_ownedComment.0" annotatedElement="Pseudostate-transitions_outgoing">
          <body>All transitions outgoing a fork vertex must target states in different regions of an orthogonal state.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Pseudostate-transitions_outgoing-_specification">
          <language>OCL</language>
          <body>(kind = PseudostateKind::fork) implies&#xD;
&#xD;
-- for any pair of outgoing transitions there exists an orthogonal state which contains the targets of these transitions &#xD;
-- such that these targets belong to different regions of that orthogonal state &#xD;
&#xD;
outgoing->forAll(t1:Transition, t2:Transition | let contState:State = containingStateMachine().LCAState(t1.target, t2.target) in&#xD;
	((contState &lt;> null) and (contState.region&#xD;
		->exists(r1:Region, r2: Region | (r1 &lt;> r2) and t1.target.isContainedInRegion(r1) and t2.target.isContainedInRegion(r2)))))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Pseudostate-choice_vertex" name="choice_vertex" constrainedElement="Pseudostate">
        <ownedComment xmi:id="Pseudostate-choice_vertex-_ownedComment.0" annotatedElement="Pseudostate-choice_vertex">
          <body>In a complete statemachine, a choice Vertex must have at least one incoming and one outgoing Transition.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Pseudostate-choice_vertex-_specification">
          <language>OCL</language>
          <body>(kind = PseudostateKind::choice) implies (incoming->size() >= 1 and outgoing->size() >= 1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Pseudostate-outgoing_from_initial" name="outgoing_from_initial" constrainedElement="Pseudostate">
        <ownedComment xmi:id="Pseudostate-outgoing_from_initial-_ownedComment.0" annotatedElement="Pseudostate-outgoing_from_initial">
          <body>The outgoing Transition from an initial vertex may have a behavior, but not a trigger or a guard.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Pseudostate-outgoing_from_initial-_specification">
          <language>OCL</language>
          <body>(kind = PseudostateKind::initial) implies (outgoing.guard = null and outgoing.trigger->isEmpty())</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Pseudostate-join_vertex" name="join_vertex" constrainedElement="Pseudostate">
        <ownedComment xmi:id="Pseudostate-join_vertex-_ownedComment.0" annotatedElement="Pseudostate-join_vertex">
          <body>In a complete StateMachine, a join Vertex must have at least two incoming Transitions and exactly one outgoing Transition.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Pseudostate-join_vertex-_specification">
          <language>OCL</language>
          <body>(kind = PseudostateKind::join) implies (outgoing->size() = 1 and incoming->size() >= 2)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Pseudostate-junction_vertex" name="junction_vertex" constrainedElement="Pseudostate">
        <ownedComment xmi:id="Pseudostate-junction_vertex-_ownedComment.0" annotatedElement="Pseudostate-junction_vertex">
          <body>In a complete StateMachine, a junction Vertex must have at least one incoming and one outgoing Transition.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Pseudostate-junction_vertex-_specification">
          <language>OCL</language>
          <body>(kind = PseudostateKind::junction) implies (incoming->size() >= 1 and outgoing->size() >= 1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Pseudostate-history_vertices" name="history_vertices" constrainedElement="Pseudostate">
        <ownedComment xmi:id="Pseudostate-history_vertices-_ownedComment.0" annotatedElement="Pseudostate-history_vertices">
          <body>History Vertices can have at most one outgoing Transition.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Pseudostate-history_vertices-_specification">
          <language>OCL</language>
          <body>((kind = PseudostateKind::deepHistory) or (kind = PseudostateKind::shallowHistory)) implies (outgoing->size() &lt;= 1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Pseudostate-initial_vertex" name="initial_vertex" constrainedElement="Pseudostate">
        <ownedComment xmi:id="Pseudostate-initial_vertex-_ownedComment.0" annotatedElement="Pseudostate-initial_vertex">
          <body>An initial Vertex can have at most one outgoing Transition.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Pseudostate-initial_vertex-_specification">
          <language>OCL</language>
          <body>(kind = PseudostateKind::initial) implies (outgoing->size() &lt;= 1)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Pseudostate-fork_vertex" name="fork_vertex" constrainedElement="Pseudostate">
        <ownedComment xmi:id="Pseudostate-fork_vertex-_ownedComment.0" annotatedElement="Pseudostate-fork_vertex">
          <body>In a complete StateMachine, a fork Vertex must have at least two outgoing Transitions and exactly one incoming Transition.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Pseudostate-fork_vertex-_specification">
          <language>OCL</language>
          <body>(kind = PseudostateKind::fork) implies (incoming->size() = 1 and outgoing->size() >= 2)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Pseudostate-transitions_incoming" name="transitions_incoming" constrainedElement="Pseudostate">
        <ownedComment xmi:id="Pseudostate-transitions_incoming-_ownedComment.0" annotatedElement="Pseudostate-transitions_incoming">
          <body>All Transitions incoming a join Vertex must originate in different Regions of an orthogonal State.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Pseudostate-transitions_incoming-_specification">
          <language>OCL</language>
          <body>(kind = PseudostateKind::join) implies

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

incoming->forAll(t1:Transition, t2:Transition | let contState:State = containingStateMachine().LCAState(t1.source, t2.source) in
	((contState &lt;> null) and (contState.region
		->exists(r1:Region, r2: Region | (r1 &lt;> r2) and t1.source.isContainedInRegion(r1) and t2.source.isContainedInRegion(r2)))))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Pseudostate-_generalization.0" general="Vertex"/>
      <ownedAttribute xmi:id="Pseudostate-kind" name="kind" type="PseudostateKind">
        <ownedComment xmi:id="Pseudostate-kind-_ownedComment.0" annotatedElement="Pseudostate-kind">
          <body>Determines the precise type of the Pseudostate and can be one of: entryPoint, exitPoint, initial, deepHistory, shallowHistory, join, fork, junction, terminate or choice.</body>
        </ownedComment>
        <defaultValue xmi:type="uml:InstanceValue" xmi:id="Pseudostate-kind-_defaultValue" type="PseudostateKind" instance="PseudostateKind-initial"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Pseudostate-state" name="state" type="State" subsettedProperty="NamedElement-namespace" association="A_connectionPoint_state">
        <ownedComment xmi:id="Pseudostate-state-_ownedComment.0" annotatedElement="Pseudostate-state">
          <body>The State that owns this Pseudostate and in which it appears.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Pseudostate-state-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Pseudostate-stateMachine" name="stateMachine" type="StateMachine" subsettedProperty="NamedElement-namespace" association="A_connectionPoint_stateMachine">
        <ownedComment xmi:id="Pseudostate-stateMachine-_ownedComment.0" annotatedElement="Pseudostate-stateMachine">
          <body>The StateMachine in which this Pseudostate is defined. This only applies to Pseudostates of the kind entryPoint or exitPoint.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Pseudostate-stateMachine-_lowerValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Region" name="Region">
      <ownedComment xmi:id="Region-_ownedComment.0" annotatedElement="Region">
        <body>A Region is a top-level part of a StateMachine or a composite State, that serves as a container for the Vertices and Transitions of the StateMachine. A StateMachine or composite State may contain multiple Regions representing behaviors that may occur in parallel.</body>
      </ownedComment>
      <ownedRule xmi:id="Region-deep_history_vertex" name="deep_history_vertex" constrainedElement="Region">
        <ownedComment xmi:id="Region-deep_history_vertex-_ownedComment.0" annotatedElement="Region-deep_history_vertex">
          <body>A Region can have at most one deep history Vertex.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Region-deep_history_vertex-_specification">
          <language>OCL</language>
          <body>self.subvertex->select (oclIsKindOf(Pseudostate))->collect(oclAsType(Pseudostate))->
   select(kind = PseudostateKind::deepHistory)->size() &lt;= 1</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Region-shallow_history_vertex" name="shallow_history_vertex" constrainedElement="Region">
        <ownedComment xmi:id="Region-shallow_history_vertex-_ownedComment.0" annotatedElement="Region-shallow_history_vertex">
          <body>A Region can have at most one shallow history Vertex.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Region-shallow_history_vertex-_specification">
          <language>OCL</language>
          <body>subvertex->select(oclIsKindOf(Pseudostate))->collect(oclAsType(Pseudostate))->
  select(kind = PseudostateKind::shallowHistory)->size() &lt;= 1</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Region-owned" name="owned" constrainedElement="Region">
        <ownedComment xmi:id="Region-owned-_ownedComment.0" annotatedElement="Region-owned">
          <body>If a Region is owned by a StateMachine, then it cannot also be owned by a State and vice versa.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Region-owned-_specification">
          <language>OCL</language>
          <body>(stateMachine &lt;> null implies state = null) and (state &lt;> null implies stateMachine = null)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Region-initial_vertex" name="initial_vertex" constrainedElement="Region">
        <ownedComment xmi:id="Region-initial_vertex-_ownedComment.0" annotatedElement="Region-initial_vertex">
          <body>A Region can have at most one initial Vertex.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Region-initial_vertex-_specification">
          <language>OCL</language>
          <body>self.subvertex->select (oclIsKindOf(Pseudostate))->collect(oclAsType(Pseudostate))->
  select(kind = PseudostateKind::initial)->size() &lt;= 1</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Region-_generalization.0" general="Namespace"/>
      <generalization xmi:id="Region-_generalization.1" general="RedefinableElement"/>
      <ownedAttribute xmi:id="Region-extendedRegion" name="extendedRegion" type="Region" subsettedProperty="RedefinableElement-redefinedElement" association="A_extendedRegion_region">
        <ownedComment xmi:id="Region-extendedRegion-_ownedComment.0" annotatedElement="Region-extendedRegion">
          <body>The region of which this region is an extension.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Region-extendedRegion-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Region-redefinitionContext" name="redefinitionContext" type="Classifier" isReadOnly="true" isDerived="true" redefinedProperty="RedefinableElement-redefinitionContext" association="A_redefinitionContext_region">
        <ownedComment xmi:id="Region-redefinitionContext-_ownedComment.0" annotatedElement="Region-redefinitionContext">
          <body>References the Classifier in which context this element may be redefined.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="Region-state" name="state" type="State" subsettedProperty="NamedElement-namespace" association="A_region_state">
        <ownedComment xmi:id="Region-state-_ownedComment.0" annotatedElement="Region-state">
          <body>The State that owns the Region. If a Region is owned by a State, then it cannot also be owned by a StateMachine.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Region-state-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Region-stateMachine" name="stateMachine" type="StateMachine" subsettedProperty="NamedElement-namespace" association="A_region_stateMachine">
        <ownedComment xmi:id="Region-stateMachine-_ownedComment.0" annotatedElement="Region-stateMachine">
          <body>The StateMachine that owns the Region. If a Region is owned by a StateMachine, then it cannot also be owned by a State.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Region-stateMachine-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Region-subvertex" name="subvertex" type="Vertex" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_subvertex_container">
        <ownedComment xmi:id="Region-subvertex-_ownedComment.0" annotatedElement="Region-subvertex">
          <body>The set of Vertices that are owned by this Region.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Region-subvertex-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Region-subvertex-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Region-transition" name="transition" type="Transition" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_transition_container">
        <ownedComment xmi:id="Region-transition-_ownedComment.0" annotatedElement="Region-transition">
          <body>The set of Transitions owned by the Region.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Region-transition-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Region-transition-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Region-belongsToPSM" name="belongsToPSM" bodyCondition="Region-belongsToPSM-spec" isQuery="true">
        <ownedComment xmi:id="Region-belongsToPSM-_ownedComment.0" annotatedElement="Region-belongsToPSM">
          <body>The operation belongsToPSM () checks if the Region belongs to a ProtocolStateMachine.</body>
        </ownedComment>
        <ownedRule xmi:id="Region-belongsToPSM-spec" name="spec" constrainedElement="Region-belongsToPSM">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Region-belongsToPSM-spec-_specification">
            <language>OCL</language>
            <body>result = (if  stateMachine &lt;> null 
then
  stateMachine.oclIsKindOf(ProtocolStateMachine)
else 
  state &lt;> null  implies  state.container.belongsToPSM()
endif )</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Region-belongsToPSM-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Region-containingStateMachine" name="containingStateMachine" bodyCondition="Region-containingStateMachine-spec" isQuery="true">
        <ownedComment xmi:id="Region-containingStateMachine-_ownedComment.0" annotatedElement="Region-containingStateMachine">
          <body>The operation containingStateMachine() returns the StateMachine in which this Region is defined.</body>
        </ownedComment>
        <ownedRule xmi:id="Region-containingStateMachine-spec" name="spec" constrainedElement="Region-containingStateMachine">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Region-containingStateMachine-spec-_specification">
            <language>OCL</language>
            <body>result = (if stateMachine = null 
then
  state.containingStateMachine()
else
  stateMachine
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Region-containingStateMachine-result" name="result" type="StateMachine" direction="return"/>
      </ownedOperation>
      <ownedOperation xmi:id="Region-isConsistentWith" name="isConsistentWith" bodyCondition="Region-isConsistentWith-spec" isQuery="true" precondition="Region-isConsistentWith-pre" redefinedOperation="RedefinableElement-isConsistentWith">
        <ownedComment xmi:id="Region-isConsistentWith-_ownedComment.0" annotatedElement="Region-isConsistentWith">
          <body>The query isConsistentWith() specifies that a redefining Region is consistent with a redefined Region provided that the redefining Region is an extension of the Redefined region, i.e., its Vertices and Transitions conform to one of the following: (1) they are equal to corresponding elements of the redefined Region or, (2) they consistently redefine a State or Transition of the redefined region, or (3) they add new States or Transitions.</body>
        </ownedComment>
        <ownedRule xmi:id="Region-isConsistentWith-spec" name="spec" constrainedElement="Region-isConsistentWith">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Region-isConsistentWith-spec-_specification">
            <language>OCL</language>
            <body>result = (-- the following is merely a default body; it is expected that the specific form of this constraint will be specified by profiles&#xD;
true)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:id="Region-isConsistentWith-pre" name="pre" constrainedElement="Region-isConsistentWith">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Region-isConsistentWith-pre-_specification">
            <language>OCL</language>
            <body>redefiningElement.isRedefinitionContextValid(self)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Region-isConsistentWith-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Region-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="Region-isRedefinitionContextValid" name="isRedefinitionContextValid" bodyCondition="Region-isRedefinitionContextValid-spec" isQuery="true" redefinedOperation="RedefinableElement-isRedefinitionContextValid">
        <ownedComment xmi:id="Region-isRedefinitionContextValid-_ownedComment.0" annotatedElement="Region-isRedefinitionContextValid">
          <body>The query isRedefinitionContextValid() specifies whether the redefinition contexts of a Region are properly related to the redefinition contexts of the specified Region to allow this element to redefine the other. The containing StateMachine or State of a redefining Region must Redefine the containing StateMachine or State of the redefined Region.</body>
        </ownedComment>
        <ownedRule xmi:id="Region-isRedefinitionContextValid-spec" name="spec" constrainedElement="Region-isRedefinitionContextValid">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Region-isRedefinitionContextValid-spec-_specification">
            <language>OCL</language>
            <body>result = (if redefinedElement.oclIsKindOf(Region) then&#xD;
  let redefinedRegion : Region = redefinedElement.oclAsType(Region) in&#xD;
    if stateMachine->isEmpty() then&#xD;
    -- the Region is owned by a State&#xD;
      (state.redefinedState->notEmpty() and state.redefinedState.region->includes(redefinedRegion))&#xD;
    else -- the region is owned by a StateMachine&#xD;
      (stateMachine.extendedStateMachine->notEmpty() and&#xD;
        stateMachine.extendedStateMachine->exists(sm : StateMachine |&#xD;
          sm.region->includes(redefinedRegion)))&#xD;
    endif&#xD;
else&#xD;
  false&#xD;
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Region-isRedefinitionContextValid-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Region-isRedefinitionContextValid-redefinedElement" name="redefinedElement" type="RedefinableElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="Region-redefinitionContext.1" name="redefinitionContext" bodyCondition="Region-redefinitionContext.1-spec" isQuery="true">
        <ownedComment xmi:id="Region-redefinitionContext.1-_ownedComment.0" annotatedElement="Region-redefinitionContext.1">
          <body>The redefinition context of a Region is the nearest containing StateMachine.</body>
        </ownedComment>
        <ownedRule xmi:id="Region-redefinitionContext.1-spec" name="spec" constrainedElement="Region-redefinitionContext.1 Region-redefinitionContext">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Region-redefinitionContext.1-spec-_specification">
            <language>OCL</language>
            <body>result = (let sm : StateMachine = containingStateMachine() in
if sm._'context' = null or sm.general->notEmpty() then
  sm
else
  sm._'context'
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Region-redefinitionContext.1-result" name="result" type="Classifier" direction="return"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="State" name="State">
      <ownedComment xmi:id="State-_ownedComment.0" annotatedElement="State">
        <body>A State models a situation during which some (usually implicit) invariant condition holds.</body>
      </ownedComment>
      <ownedRule xmi:id="State-entry_or_exit" name="entry_or_exit" constrainedElement="State">
        <ownedComment xmi:id="State-entry_or_exit-_ownedComment.0" annotatedElement="State-entry_or_exit">
          <body>Only entry or exit Pseudostates can serve as connection points.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="State-entry_or_exit-_specification">
          <language>OCL</language>
          <body>connectionPoint->forAll(kind = PseudostateKind::entryPoint or kind = PseudostateKind::exitPoint)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="State-submachine_states" name="submachine_states" constrainedElement="State">
        <ownedComment xmi:id="State-submachine_states-_ownedComment.0" annotatedElement="State-submachine_states">
          <body>Only submachine States can have connection point references.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="State-submachine_states-_specification">
          <language>OCL</language>
          <body>isSubmachineState implies connection->notEmpty( )</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="State-composite_states" name="composite_states" constrainedElement="State">
        <ownedComment xmi:id="State-composite_states-_ownedComment.0" annotatedElement="State-composite_states">
          <body>Only composite States can have entry or exit Pseudostates defined.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="State-composite_states-_specification">
          <language>OCL</language>
          <body>connectionPoint->notEmpty() implies isComposite</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="State-destinations_or_sources_of_transitions" name="destinations_or_sources_of_transitions" constrainedElement="State">
        <ownedComment xmi:id="State-destinations_or_sources_of_transitions-_ownedComment.0" annotatedElement="State-destinations_or_sources_of_transitions">
          <body>The connection point references used as destinations/sources of Transitions associated with a submachine State must be defined as entry/exit points in the submachine StateMachine.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="State-destinations_or_sources_of_transitions-_specification">
          <language>OCL</language>
          <body>self.isSubmachineState implies (self.connection->forAll (cp |&#xD;
  cp.entry->forAll (ps | ps.stateMachine = self.submachine) and&#xD;
  cp.exit->forAll (ps | ps.stateMachine = self.submachine)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="State-submachine_or_regions" name="submachine_or_regions" constrainedElement="State">
        <ownedComment xmi:id="State-submachine_or_regions-_ownedComment.0" annotatedElement="State-submachine_or_regions">
          <body>A State is not allowed to have both a submachine and Regions.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="State-submachine_or_regions-_specification">
          <language>OCL</language>
          <body>isComposite implies not isSubmachineState</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="State-_generalization.0" general="RedefinableElement"/>
      <generalization xmi:id="State-_generalization.1" general="Namespace"/>
      <generalization xmi:id="State-_generalization.2" general="Vertex"/>
      <ownedAttribute xmi:id="State-connection" name="connection" type="ConnectionPointReference" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_connection_state">
        <ownedComment xmi:id="State-connection-_ownedComment.0" annotatedElement="State-connection">
          <body>The entry and exit connection points used in conjunction with this (submachine) State, i.e., as targets and sources, respectively, in the Region with the submachine State. A connection point reference references the corresponding definition of a connection point Pseudostate in the StateMachine referenced by the submachine State.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="State-connection-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="State-connection-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="State-connectionPoint" name="connectionPoint" type="Pseudostate" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_connectionPoint_state">
        <ownedComment xmi:id="State-connectionPoint-_ownedComment.0" annotatedElement="State-connectionPoint">
          <body>The entry and exit Pseudostates of a composite State. These can only be entry or exit Pseudostates, and they must have different names. They can only be defined for composite States.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="State-connectionPoint-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="State-connectionPoint-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="State-deferrableTrigger" name="deferrableTrigger" type="Trigger" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_deferrableTrigger_state">
        <ownedComment xmi:id="State-deferrableTrigger-_ownedComment.0" annotatedElement="State-deferrableTrigger">
          <body>A list of Triggers that are candidates to be retained by the StateMachine if they trigger no Transitions out of the State (not consumed). A deferred Trigger is retained until the StateMachine reaches a State configuration where it is no longer deferred.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="State-deferrableTrigger-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="State-deferrableTrigger-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="State-doActivity" name="doActivity" type="Behavior" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_doActivity_state">
        <ownedComment xmi:id="State-doActivity-_ownedComment.0" annotatedElement="State-doActivity">
          <body>An optional Behavior that is executed while being in the State. The execution starts when this State is entered, and ceases either by itself when done, or when the State is exited, whichever comes first.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="State-doActivity-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="State-entry" name="entry" type="Behavior" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_entry_state">
        <ownedComment xmi:id="State-entry-_ownedComment.0" annotatedElement="State-entry">
          <body>An optional Behavior that is executed whenever this State is entered regardless of the Transition taken to reach the State. If defined, entry Behaviors are always executed to completion prior to any internal Behavior or Transitions performed within the State.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="State-entry-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="State-exit" name="exit" type="Behavior" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_exit_state">
        <ownedComment xmi:id="State-exit-_ownedComment.0" annotatedElement="State-exit">
          <body>An optional Behavior that is executed whenever this State is exited regardless of which Transition was taken out of the State. If defined, exit Behaviors are always executed to completion only after all internal and transition Behaviors have completed execution.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="State-exit-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="State-isComposite" name="isComposite" isReadOnly="true" isDerived="true">
        <ownedComment xmi:id="State-isComposite-_ownedComment.0" annotatedElement="State-isComposite">
          <body>A state with isComposite=true is said to be a composite State. A composite State is a State that contains at least one Region.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="State-isOrthogonal" name="isOrthogonal" isReadOnly="true" isDerived="true">
        <ownedComment xmi:id="State-isOrthogonal-_ownedComment.0" annotatedElement="State-isOrthogonal">
          <body>A State with isOrthogonal=true is said to be an orthogonal composite State An orthogonal composite State contains two or more Regions.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="State-isSimple" name="isSimple" isReadOnly="true" isDerived="true">
        <ownedComment xmi:id="State-isSimple-_ownedComment.0" annotatedElement="State-isSimple">
          <body>A State with isSimple=true is said to be a simple State A simple State does not have any Regions and it does not refer to any submachine StateMachine.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="State-isSimple-_defaultValue" value="true"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="State-isSubmachineState" name="isSubmachineState" isReadOnly="true" isDerived="true">
        <ownedComment xmi:id="State-isSubmachineState-_ownedComment.0" annotatedElement="State-isSubmachineState">
          <body>A State with isSubmachineState=true is said to be a submachine State Such a State refers to another StateMachine(submachine).</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="State-redefinedState" name="redefinedState" type="State" subsettedProperty="RedefinableElement-redefinedElement" association="A_redefinedState_state">
        <ownedComment xmi:id="State-redefinedState-_ownedComment.0" annotatedElement="State-redefinedState">
          <body>The State of which this State is a redefinition.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="State-redefinedState-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="State-redefinitionContext" name="redefinitionContext" type="Classifier" isReadOnly="true" isDerived="true" redefinedProperty="RedefinableElement-redefinitionContext" association="A_redefinitionContext_state">
        <ownedComment xmi:id="State-redefinitionContext-_ownedComment.0" annotatedElement="State-redefinitionContext">
          <body>References the Classifier in which context this element may be redefined.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="State-region" name="region" type="Region" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_region_state">
        <ownedComment xmi:id="State-region-_ownedComment.0" annotatedElement="State-region">
          <body>The Regions owned directly by the State.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="State-region-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="State-region-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="State-stateInvariant" name="stateInvariant" type="Constraint" aggregation="composite" subsettedProperty="Namespace-ownedRule" association="A_stateInvariant_owningState">
        <ownedComment xmi:id="State-stateInvariant-_ownedComment.0" annotatedElement="State-stateInvariant">
          <body>Specifies conditions that are always true when this State is the current State. In ProtocolStateMachines state invariants are additional conditions to the preconditions of the outgoing Transitions, and to the postcondition of the incoming Transitions.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="State-stateInvariant-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="State-submachine" name="submachine" type="StateMachine" association="A_submachineState_submachine">
        <ownedComment xmi:id="State-submachine-_ownedComment.0" annotatedElement="State-submachine">
          <body>The StateMachine that is to be inserted in place of the (submachine) State.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="State-submachine-_lowerValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="State-containingStateMachine" name="containingStateMachine" bodyCondition="State-containingStateMachine-spec" isQuery="true" redefinedOperation="Vertex-containingStateMachine">
        <ownedComment xmi:id="State-containingStateMachine-_ownedComment.0" annotatedElement="State-containingStateMachine">
          <body>The query containingStateMachine() returns the StateMachine that contains the State either directly or transitively.</body>
        </ownedComment>
        <ownedRule xmi:id="State-containingStateMachine-spec" name="spec" constrainedElement="State-containingStateMachine">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="State-containingStateMachine-spec-_specification">
            <language>OCL</language>
            <body>result = (container.containingStateMachine())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="State-containingStateMachine-result" name="result" type="StateMachine" direction="return"/>
      </ownedOperation>
      <ownedOperation xmi:id="State-isComposite.1" name="isComposite" bodyCondition="State-isComposite.1-spec" isQuery="true">
        <ownedComment xmi:id="State-isComposite.1-_ownedComment.0" annotatedElement="State-isComposite.1">
          <body>A composite State is a State with at least one Region.</body>
        </ownedComment>
        <ownedRule xmi:id="State-isComposite.1-spec" name="spec" constrainedElement="State-isComposite.1 State-isComposite">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="State-isComposite.1-spec-_specification">
            <language>OCL</language>
            <body>result = (region->notEmpty())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="State-isComposite.1-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="State-isConsistentWith" name="isConsistentWith" bodyCondition="State-isConsistentWith-spec" isQuery="true" precondition="State-isConsistentWith-pre" redefinedOperation="RedefinableElement-isConsistentWith">
        <ownedComment xmi:id="State-isConsistentWith-_ownedComment.0" annotatedElement="State-isConsistentWith">
          <body>The query isConsistentWith() specifies that a redefining State is consistent with a redefined State provided that the redefining State is an extension of the redefined State A simple State can be redefined (extended) to become a composite State (by adding one or more Regions) and a composite State can be redefined (extended) by adding Regions and by adding Vertices, States, and Transitions to inherited Regions. All States may add or replace entry, exit, and 'doActivity' Behaviors.</body>
        </ownedComment>
        <ownedRule xmi:id="State-isConsistentWith-spec" name="spec" constrainedElement="State-isConsistentWith">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="State-isConsistentWith-spec-_specification">
            <language>OCL</language>
            <body>result = (-- the following is merely a default body; it is expected that the specific form of this constraint will be specified by profiles&#xD;
true)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:id="State-isConsistentWith-pre" name="pre" constrainedElement="State-isConsistentWith">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="State-isConsistentWith-pre-_specification">
            <language>OCL</language>
            <body>redefiningElement.isRedefinitionContextValid(self)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="State-isConsistentWith-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="State-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="State-isOrthogonal.1" name="isOrthogonal" bodyCondition="State-isOrthogonal.1-spec" isQuery="true">
        <ownedComment xmi:id="State-isOrthogonal.1-_ownedComment.0" annotatedElement="State-isOrthogonal.1">
          <body>An orthogonal State is a composite state with at least 2 regions.</body>
        </ownedComment>
        <ownedRule xmi:id="State-isOrthogonal.1-spec" name="spec" constrainedElement="State-isOrthogonal.1 State-isOrthogonal">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="State-isOrthogonal.1-spec-_specification">
            <language>OCL</language>
            <body>result = (region->size () > 1)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="State-isOrthogonal.1-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="State-isRedefinitionContextValid" name="isRedefinitionContextValid" bodyCondition="State-isRedefinitionContextValid-spec" isQuery="true" redefinedOperation="RedefinableElement-isRedefinitionContextValid">
        <ownedComment xmi:id="State-isRedefinitionContextValid-_ownedComment.0" annotatedElement="State-isRedefinitionContextValid">
          <body>The query isRedefinitionContextValid() specifies whether the redefinition contexts of a State are properly related to the redefinition contexts of the specified State to allow this element to redefine the other. This means that the containing Region of a redefining State must redefine the containing Region of the redefined State.</body>
        </ownedComment>
        <ownedRule xmi:id="State-isRedefinitionContextValid-spec" name="spec" constrainedElement="State-isRedefinitionContextValid">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="State-isRedefinitionContextValid-spec-_specification">
            <language>OCL</language>
            <body>result = (if redefinedElement.oclIsKindOf(State) then&#xD;
  let redefinedState : State = redefinedElement.oclAsType(State) in&#xD;
    container.redefinedElement.oclAsType(Region)->exists(r:Region |&#xD;
      r.subvertex->includes(redefinedState))&#xD;
else&#xD;
  false&#xD;
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="State-isRedefinitionContextValid-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="State-isRedefinitionContextValid-redefinedElement" name="redefinedElement" type="RedefinableElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="State-isSimple.1" name="isSimple" bodyCondition="State-isSimple.1-spec" isQuery="true">
        <ownedComment xmi:id="State-isSimple.1-_ownedComment.0" annotatedElement="State-isSimple.1">
          <body>A simple State is a State without any regions.</body>
        </ownedComment>
        <ownedRule xmi:id="State-isSimple.1-spec" name="spec" constrainedElement="State-isSimple.1 State-isSimple">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="State-isSimple.1-spec-_specification">
            <language>OCL</language>
            <body>result = ((region->isEmpty()) and not isSubmachineState())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="State-isSimple.1-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="State-isSubmachineState.1" name="isSubmachineState" bodyCondition="State-isSubmachineState.1-spec" isQuery="true">
        <ownedComment xmi:id="State-isSubmachineState.1-_ownedComment.0" annotatedElement="State-isSubmachineState.1">
          <body>Only submachine State references another StateMachine.</body>
        </ownedComment>
        <ownedRule xmi:id="State-isSubmachineState.1-spec" name="spec" constrainedElement="State-isSubmachineState.1 State-isSubmachineState">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="State-isSubmachineState.1-spec-_specification">
            <language>OCL</language>
            <body>result = (submachine &lt;> null)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="State-isSubmachineState.1-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="State-redefinitionContext.1" name="redefinitionContext" bodyCondition="State-redefinitionContext.1-spec" isQuery="true">
        <ownedComment xmi:id="State-redefinitionContext.1-_ownedComment.0" annotatedElement="State-redefinitionContext.1">
          <body>The redefinition context of a State is the nearest containing StateMachine.</body>
        </ownedComment>
        <ownedRule xmi:id="State-redefinitionContext.1-spec" name="spec" constrainedElement="State-redefinitionContext.1 State-redefinitionContext">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="State-redefinitionContext.1-spec-_specification">
            <language>OCL</language>
            <body>result = (let sm : StateMachine = containingStateMachine() in
if sm._'context' = null or sm.general->notEmpty() then
  sm
else
  sm._'context'
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="State-redefinitionContext.1-result" name="result" type="Classifier" direction="return"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="StateMachine" name="StateMachine">
      <ownedComment xmi:id="StateMachine-_ownedComment.0" annotatedElement="StateMachine">
        <body>StateMachines can be used to express event-driven behaviors of parts of a system. Behavior is modeled as a traversal of a graph of Vertices interconnected by one or more joined Transition arcs that are triggered by the dispatching of successive Event occurrences. During this traversal, the StateMachine may execute a sequence of Behaviors associated with various elements of the StateMachine.</body>
      </ownedComment>
      <ownedRule xmi:id="StateMachine-connection_points" name="connection_points" constrainedElement="StateMachine">
        <ownedComment xmi:id="StateMachine-connection_points-_ownedComment.0" annotatedElement="StateMachine-connection_points">
          <body>The connection points of a StateMachine are Pseudostates of kind entry point or exit point.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="StateMachine-connection_points-_specification">
          <language>OCL</language>
          <body>connectionPoint->forAll (kind = PseudostateKind::entryPoint or kind = PseudostateKind::exitPoint)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="StateMachine-classifier_context" name="classifier_context" constrainedElement="StateMachine">
        <ownedComment xmi:id="StateMachine-classifier_context-_ownedComment.0" annotatedElement="StateMachine-classifier_context">
          <body>The Classifier context of a StateMachine cannot be an Interface.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="StateMachine-classifier_context-_specification">
          <language>OCL</language>
          <body>_'context' &lt;> null implies not _'context'.oclIsKindOf(Interface)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="StateMachine-method" name="method" constrainedElement="StateMachine">
        <ownedComment xmi:id="StateMachine-method-_ownedComment.0" annotatedElement="StateMachine-method">
          <body>A StateMachine as the method for a BehavioralFeature cannot have entry/exit connection points.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="StateMachine-method-_specification">
          <language>OCL</language>
          <body>specification &lt;> null implies connectionPoint->isEmpty()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="StateMachine-context_classifier" name="context_classifier" constrainedElement="StateMachine">
        <ownedComment xmi:id="StateMachine-context_classifier-_ownedComment.0" annotatedElement="StateMachine-context_classifier">
          <body>The context Classifier of the method StateMachine of a BehavioralFeature must be the Classifier that owns the BehavioralFeature.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="StateMachine-context_classifier-_specification">
          <language>OCL</language>
          <body>specification &lt;> null implies ( _'context' &lt;> null and specification.featuringClassifier->exists(c | c = _'context'))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="StateMachine-_generalization.0" general="Behavior"/>
      <ownedAttribute xmi:id="StateMachine-connectionPoint" name="connectionPoint" type="Pseudostate" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_connectionPoint_stateMachine">
        <ownedComment xmi:id="StateMachine-connectionPoint-_ownedComment.0" annotatedElement="StateMachine-connectionPoint">
          <body>The connection points defined for this StateMachine. They represent the interface of the StateMachine when used as part of submachine State</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StateMachine-connectionPoint-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StateMachine-connectionPoint-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="StateMachine-extendedStateMachine" name="extendedStateMachine" type="StateMachine" redefinedProperty="Behavior-redefinedBehavior" association="A_extendedStateMachine_stateMachine">
        <ownedComment xmi:id="StateMachine-extendedStateMachine-_ownedComment.0" annotatedElement="StateMachine-extendedStateMachine">
          <body>The StateMachines of which this is an extension.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StateMachine-extendedStateMachine-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StateMachine-extendedStateMachine-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="StateMachine-region" name="region" type="Region" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_region_stateMachine">
        <ownedComment xmi:id="StateMachine-region-_ownedComment.0" annotatedElement="StateMachine-region">
          <body>The Regions owned directly by the StateMachine.</body>
        </ownedComment>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StateMachine-region-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="StateMachine-submachineState" name="submachineState" type="State" association="A_submachineState_submachine">
        <ownedComment xmi:id="StateMachine-submachineState-_ownedComment.0" annotatedElement="StateMachine-submachineState">
          <body>References the submachine(s) in case of a submachine State. Multiple machines are referenced in case of a concurrent State.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StateMachine-submachineState-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StateMachine-submachineState-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="StateMachine-LCA" name="LCA" bodyCondition="StateMachine-LCA-spec" isQuery="true">
        <ownedComment xmi:id="StateMachine-LCA-_ownedComment.0" annotatedElement="StateMachine-LCA">
          <body>The operation LCA(s1,s2) returns the Region that is the least common ancestor of Vertices s1 and s2, based on the StateMachine containment hierarchy.</body>
        </ownedComment>
        <ownedRule xmi:id="StateMachine-LCA-spec" name="spec" constrainedElement="StateMachine-LCA">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StateMachine-LCA-spec-_specification">
            <language>OCL</language>
            <body>result = (if ancestor(s1, s2) then &#xD;
    s2.container&#xD;
else&#xD;
	if ancestor(s2, s1) then&#xD;
	    s1.container &#xD;
	else &#xD;
	    LCA(s1.container.state, s2.container.state)&#xD;
	endif&#xD;
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="StateMachine-LCA-result" name="result" type="Region" direction="return"/>
        <ownedParameter xmi:id="StateMachine-LCA-s1" name="s1" type="Vertex"/>
        <ownedParameter xmi:id="StateMachine-LCA-s2" name="s2" type="Vertex"/>
      </ownedOperation>
      <ownedOperation xmi:id="StateMachine-ancestor" name="ancestor" bodyCondition="StateMachine-ancestor-spec" isQuery="true">
        <ownedComment xmi:id="StateMachine-ancestor-_ownedComment.0" annotatedElement="StateMachine-ancestor">
          <body>The query ancestor(s1, s2) checks whether Vertex s2 is an ancestor of Vertex s1.</body>
        </ownedComment>
        <ownedRule xmi:id="StateMachine-ancestor-spec" name="spec" constrainedElement="StateMachine-ancestor">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StateMachine-ancestor-spec-_specification">
            <language>OCL</language>
            <body>result = (if (s2 = s1) then &#xD;
	true &#xD;
else &#xD;
	if s1.container.stateMachine->notEmpty() then &#xD;
	    true&#xD;
	else &#xD;
	    if s2.container.stateMachine->notEmpty() then &#xD;
	        false&#xD;
	    else&#xD;
	        ancestor(s1, s2.container.state)&#xD;
	     endif&#xD;
	 endif&#xD;
endif  )</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="StateMachine-ancestor-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="StateMachine-ancestor-s1" name="s1" type="Vertex"/>
        <ownedParameter xmi:id="StateMachine-ancestor-s2" name="s2" type="Vertex"/>
      </ownedOperation>
      <ownedOperation xmi:id="StateMachine-isConsistentWith" name="isConsistentWith" bodyCondition="StateMachine-isConsistentWith-spec" isQuery="true" redefinedOperation="RedefinableElement-isConsistentWith">
        <ownedComment xmi:id="StateMachine-isConsistentWith-_ownedComment.0" annotatedElement="StateMachine-isConsistentWith">
          <body>The query isConsistentWith() specifies that a redefining StateMachine is consistent with a redefined StateMachine provided that the redefining StateMachine is an extension of the redefined StateMachine : Regions are inherited and Regions can be added, inherited Regions can be redefined. In case of multiple redefining StateMachine, extension implies that the redefining StateMachine gets orthogonal Regions for each of the redefined StateMachine.</body>
        </ownedComment>
        <ownedRule xmi:id="StateMachine-isConsistentWith-spec" name="spec" constrainedElement="StateMachine-isConsistentWith">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StateMachine-isConsistentWith-spec-_specification">
            <language>OCL</language>
            <body>result = (-- the following is merely a default body; it is expected that the specific form of this constraint will be specified by profiles&#xD;
true)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="StateMachine-isConsistentWith-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="StateMachine-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="StateMachine-isRedefinitionContextValid" name="isRedefinitionContextValid" bodyCondition="StateMachine-isRedefinitionContextValid-spec" isQuery="true" redefinedOperation="RedefinableElement-isRedefinitionContextValid">
        <ownedComment xmi:id="StateMachine-isRedefinitionContextValid-_ownedComment.0" annotatedElement="StateMachine-isRedefinitionContextValid">
          <body>The query isRedefinitionContextValid() specifies whether the redefinition context of a StateMachine is properly related to the redefinition contexts of the specified StateMachine to allow this element to redefine the other. The context Classifier of a redefining StateMachine must redefine the context Classifier of the redefined StateMachine.</body>
        </ownedComment>
        <ownedRule xmi:id="StateMachine-isRedefinitionContextValid-spec" name="spec" constrainedElement="StateMachine-isRedefinitionContextValid">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StateMachine-isRedefinitionContextValid-spec-_specification">
            <language>OCL</language>
            <body>result = (if redefinedElement.oclIsKindOf(StateMachine) then&#xD;
  let redefinedStateMachine : StateMachine = redefinedElement.oclAsType(StateMachine) in&#xD;
    self._'context'().oclAsType(BehavioredClassifier).redefinedClassifier->&#xD;
      includes(redefinedStateMachine._'context'())&#xD;
else&#xD;
  false&#xD;
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="StateMachine-isRedefinitionContextValid-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="StateMachine-isRedefinitionContextValid-redefinedElement" name="redefinedElement" type="RedefinableElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="StateMachine-LCAState" name="LCAState" bodyCondition="StateMachine-LCAState-spec" isQuery="true">
        <ownedComment xmi:id="StateMachine-LCAState-_ownedComment.0" annotatedElement="StateMachine-LCAState">
          <body>This utility funciton is like the LCA, except that it returns the nearest composite State that contains both input Vertices.</body>
        </ownedComment>
        <ownedRule xmi:id="StateMachine-LCAState-spec" name="spec" constrainedElement="StateMachine-LCAState">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StateMachine-LCAState-spec-_specification">
            <language>OCL</language>
            <body>result = (if v2.oclIsTypeOf(State) and ancestor(v1, v2) then&#xD;
	v2.oclAsType(State)&#xD;
else if v1.oclIsTypeOf(State) and ancestor(v2, v1) then&#xD;
	v1.oclAsType(State)&#xD;
else if (v1.container.state->isEmpty() or v2.container.state->isEmpty()) then &#xD;
	null.oclAsType(State)&#xD;
else LCAState(v1.container.state, v2.container.state)&#xD;
endif endif endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="StateMachine-LCAState-result" name="result" type="State" direction="return"/>
        <ownedParameter xmi:id="StateMachine-LCAState-v1" name="v1" type="Vertex"/>
        <ownedParameter xmi:id="StateMachine-LCAState-v2" name="v2" type="Vertex"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Transition" name="Transition">
      <ownedComment xmi:id="Transition-_ownedComment.0" annotatedElement="Transition">
        <body>A Transition represents an arc between exactly one source Vertex and exactly one Target vertex (the source and targets may be the same Vertex). It may form part of a compound transition, which takes the StateMachine from one steady State configuration to another, representing the full response of the StateMachine to an occurrence of an Event that triggered it.</body>
      </ownedComment>
      <ownedRule xmi:id="Transition-state_is_external" name="state_is_external" constrainedElement="Transition">
        <ownedComment xmi:id="Transition-state_is_external-_ownedComment.0" annotatedElement="Transition-state_is_external">
          <body>A Transition with kind external can source any Vertex except entry points.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Transition-state_is_external-_specification">
          <language>OCL</language>
          <body>(kind = TransitionKind::external) implies&#xD;
	not (source.oclIsKindOf(Pseudostate) and source.oclAsType(Pseudostate).kind = PseudostateKind::entryPoint)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Transition-join_segment_guards" name="join_segment_guards" constrainedElement="Transition">
        <ownedComment xmi:id="Transition-join_segment_guards-_ownedComment.0" annotatedElement="Transition-join_segment_guards">
          <body>A join segment must not have Guards or Triggers.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Transition-join_segment_guards-_specification">
          <language>OCL</language>
          <body>(target.oclIsKindOf(Pseudostate) and target.oclAsType(Pseudostate).kind = PseudostateKind::join) implies (guard = null and trigger->isEmpty())</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Transition-state_is_internal" name="state_is_internal" constrainedElement="Transition">
        <ownedComment xmi:id="Transition-state_is_internal-_ownedComment.0" annotatedElement="Transition-state_is_internal">
          <body>A Transition with kind internal must have a State as its source, and its source and target must be equal.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Transition-state_is_internal-_specification">
          <language>OCL</language>
          <body>(kind = TransitionKind::internal) implies&#xD;
		(source.oclIsKindOf (State) and source = target)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Transition-outgoing_pseudostates" name="outgoing_pseudostates" constrainedElement="Transition">
        <ownedComment xmi:id="Transition-outgoing_pseudostates-_ownedComment.0" annotatedElement="Transition-outgoing_pseudostates">
          <body>Transitions outgoing Pseudostates may not have a Trigger.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Transition-outgoing_pseudostates-_specification">
          <language>OCL</language>
          <body>source.oclIsKindOf(Pseudostate) and (source.oclAsType(Pseudostate).kind &lt;> PseudostateKind::initial) implies trigger->isEmpty()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Transition-join_segment_state" name="join_segment_state" constrainedElement="Transition">
        <ownedComment xmi:id="Transition-join_segment_state-_ownedComment.0" annotatedElement="Transition-join_segment_state">
          <body>A join segment must always originate from a State.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Transition-join_segment_state-_specification">
          <language>OCL</language>
          <body>(target.oclIsKindOf(Pseudostate) and target.oclAsType(Pseudostate).kind = PseudostateKind::join) implies (source.oclIsKindOf(State))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Transition-fork_segment_state" name="fork_segment_state" constrainedElement="Transition">
        <ownedComment xmi:id="Transition-fork_segment_state-_ownedComment.0" annotatedElement="Transition-fork_segment_state">
          <body>A fork segment must always target a State.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Transition-fork_segment_state-_specification">
          <language>OCL</language>
          <body>(source.oclIsKindOf(Pseudostate) and  source.oclAsType(Pseudostate).kind = PseudostateKind::fork) implies (target.oclIsKindOf(State))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Transition-state_is_local" name="state_is_local" constrainedElement="Transition">
        <ownedComment xmi:id="Transition-state_is_local-_ownedComment.0" annotatedElement="Transition-state_is_local">
          <body>A Transition with kind local must have a composite State or an entry point as its source.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Transition-state_is_local-_specification">
          <language>OCL</language>
          <body>(kind = TransitionKind::local) implies&#xD;
		((source.oclIsKindOf (State) and source.oclAsType(State).isComposite) or&#xD;
		(source.oclIsKindOf (Pseudostate) and source.oclAsType(Pseudostate).kind = PseudostateKind::entryPoint))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Transition-initial_transition" name="initial_transition" constrainedElement="Transition">
        <ownedComment xmi:id="Transition-initial_transition-_ownedComment.0" annotatedElement="Transition-initial_transition">
          <body>An initial Transition at the topmost level Region of a StateMachine that has no Trigger.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Transition-initial_transition-_specification">
          <language>OCL</language>
          <body>(source.oclIsKindOf(Pseudostate) and container.stateMachine->notEmpty()) implies
	trigger->isEmpty()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Transition-fork_segment_guards" name="fork_segment_guards" constrainedElement="Transition">
        <ownedComment xmi:id="Transition-fork_segment_guards-_ownedComment.0" annotatedElement="Transition-fork_segment_guards">
          <body>A fork segment must not have Guards or Triggers.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Transition-fork_segment_guards-_specification">
          <language>OCL</language>
          <body>(source.oclIsKindOf(Pseudostate) and source.oclAsType(Pseudostate).kind = PseudostateKind::fork) implies (guard = null and trigger->isEmpty())</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Transition-_generalization.0" general="Namespace"/>
      <generalization xmi:id="Transition-_generalization.1" general="RedefinableElement"/>
      <ownedAttribute xmi:id="Transition-container" name="container" type="Region" subsettedProperty="NamedElement-namespace" association="A_transition_container">
        <ownedComment xmi:id="Transition-container-_ownedComment.0" annotatedElement="Transition-container">
          <body>Designates the Region that owns this Transition.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="Transition-effect" name="effect" type="Behavior" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_effect_transition">
        <ownedComment xmi:id="Transition-effect-_ownedComment.0" annotatedElement="Transition-effect">
          <body>Specifies an optional behavior to be performed when the Transition fires.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Transition-effect-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Transition-guard" name="guard" type="Constraint" aggregation="composite" subsettedProperty="Namespace-ownedRule" association="A_guard_transition">
        <ownedComment xmi:id="Transition-guard-_ownedComment.0" annotatedElement="Transition-guard">
          <body>A guard is a Constraint that provides a fine-grained control over the firing of the Transition. The guard is evaluated when an Event occurrence is dispatched by the StateMachine. If the guard is true at that time, the Transition may be enabled, otherwise, it is disabled. Guards should be pure expressions without side effects. Guard expressions with side effects are ill formed.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Transition-guard-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Transition-kind" name="kind" type="TransitionKind">
        <ownedComment xmi:id="Transition-kind-_ownedComment.0" annotatedElement="Transition-kind">
          <body>Indicates the precise type of the Transition.</body>
        </ownedComment>
        <defaultValue xmi:type="uml:InstanceValue" xmi:id="Transition-kind-_defaultValue" type="TransitionKind" instance="TransitionKind-external"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Transition-redefinedTransition" name="redefinedTransition" type="Transition" subsettedProperty="RedefinableElement-redefinedElement" association="A_redefinedTransition_transition">
        <ownedComment xmi:id="Transition-redefinedTransition-_ownedComment.0" annotatedElement="Transition-redefinedTransition">
          <body>The Transition that is redefined by this Transition.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Transition-redefinedTransition-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Transition-redefinitionContext" name="redefinitionContext" type="Classifier" isReadOnly="true" isDerived="true" redefinedProperty="RedefinableElement-redefinitionContext" association="A_redefinitionContext_transition">
        <ownedComment xmi:id="Transition-redefinitionContext-_ownedComment.0" annotatedElement="Transition-redefinitionContext">
          <body>References the Classifier in which context this element may be redefined.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="Transition-source" name="source" visibility="public" type="Vertex" association="A_outgoing_source_vertex">
        <ownedComment xmi:id="Transition-source-_ownedComment.0" annotatedElement="Transition-source">
          <body>Designates the originating Vertex (State or Pseudostate) of the Transition.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Transition-source-_lowerValue" value="1"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Transition-source-_upperValue" value="1"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Transition-target" name="target" visibility="public" type="Vertex" association="A_incoming_target_vertex">
        <ownedComment xmi:id="Transition-target-_ownedComment.0" annotatedElement="Transition-target">
          <body>Designates the target Vertex that is reached when the Transition is taken.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Transition-target-_lowerValue" value="1"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Transition-target-_upperValue" value="1"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Transition-trigger" name="trigger" type="Trigger" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_trigger_transition">
        <ownedComment xmi:id="Transition-trigger-_ownedComment.0" annotatedElement="Transition-trigger">
          <body>Specifies the Triggers that may fire the transition.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Transition-trigger-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Transition-trigger-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Transition-containingStateMachine" name="containingStateMachine" bodyCondition="Transition-containingStateMachine-spec" isQuery="true">
        <ownedComment xmi:id="Transition-containingStateMachine-_ownedComment.0" annotatedElement="Transition-containingStateMachine">
          <body>The query containingStateMachine() returns the StateMachine that contains the Transition either directly or transitively.</body>
        </ownedComment>
        <ownedRule xmi:id="Transition-containingStateMachine-spec" name="spec" constrainedElement="Transition-containingStateMachine">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Transition-containingStateMachine-spec-_specification">
            <language>OCL</language>
            <body>result = (container.containingStateMachine())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Transition-containingStateMachine-result" name="result" type="StateMachine" direction="return"/>
      </ownedOperation>
      <ownedOperation xmi:id="Transition-isConsistentWith" name="isConsistentWith" bodyCondition="Transition-isConsistentWith-spec" isQuery="true" precondition="Transition-isConsistentWith-pre" redefinedOperation="RedefinableElement-isConsistentWith">
        <ownedComment xmi:id="Transition-isConsistentWith-_ownedComment.0" annotatedElement="Transition-isConsistentWith">
          <body>The query isConsistentWith() specifies that a redefining Transition is consistent with a redefined Transition provided that the redefining Transition has the following relation to the redefined Transition: A redefining Transition redefines all properties of the corresponding redefined Transition except the source State and the Trigger.</body>
        </ownedComment>
        <ownedRule xmi:id="Transition-isConsistentWith-spec" name="spec" constrainedElement="Transition-isConsistentWith">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Transition-isConsistentWith-spec-_specification">
            <language>OCL</language>
            <body>result = (-- the following is merely a default body; it is expected that the specific form of this constraint will be specified by profiles&#xD;
true)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:id="Transition-isConsistentWith-pre" name="pre" constrainedElement="Transition-isConsistentWith">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Transition-isConsistentWith-pre-_specification">
            <language>OCL</language>
            <body>redefiningElement.isRedefinitionContextValid(self)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Transition-isConsistentWith-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Transition-isConsistentWith-redefiningElement" name="redefiningElement" type="RedefinableElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="Transition-redefinitionContext.1" name="redefinitionContext" bodyCondition="Transition-redefinitionContext.1-spec" isQuery="true">
        <ownedComment xmi:id="Transition-redefinitionContext.1-_ownedComment.0" annotatedElement="Transition-redefinitionContext.1">
          <body>The redefinition context of a Transition is the nearest containing StateMachine.</body>
        </ownedComment>
        <ownedRule xmi:id="Transition-redefinitionContext.1-spec" name="spec" constrainedElement="Transition-redefinitionContext.1 Transition-redefinitionContext">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Transition-redefinitionContext.1-spec-_specification">
            <language>OCL</language>
            <body>result = (let sm : StateMachine = containingStateMachine() in
if sm._'context' = null or sm.general->notEmpty() then
  sm
else
  sm._'context'
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Transition-redefinitionContext.1-result" name="result" type="Classifier" direction="return"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Vertex" name="Vertex" isAbstract="true">
      <ownedComment xmi:id="Vertex-_ownedComment.0" annotatedElement="Vertex">
        <body>A Vertex is an abstraction of a node in a StateMachine graph. It can be the source or destination of any number of Transitions.</body>
      </ownedComment>
      <generalization xmi:id="Vertex-_generalization.0" general="NamedElement"/>
      <ownedAttribute xmi:id="Vertex-container" name="container" type="Region" subsettedProperty="NamedElement-namespace" association="A_subvertex_container">
        <ownedComment xmi:id="Vertex-container-_ownedComment.0" annotatedElement="Vertex-container">
          <body>The Region that contains this Vertex.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Vertex-container-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Vertex-incoming" name="incoming" type="Transition" isReadOnly="true" isDerived="true" association="A_incoming_target_vertex">
        <ownedComment xmi:id="Vertex-incoming-_ownedComment.0" annotatedElement="Vertex-incoming">
          <body>Specifies the Transitions entering this Vertex.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Vertex-incoming-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Vertex-incoming-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Vertex-outgoing" name="outgoing" type="Transition" isReadOnly="true" isDerived="true" association="A_outgoing_source_vertex">
        <ownedComment xmi:id="Vertex-outgoing-_ownedComment.0" annotatedElement="Vertex-outgoing">
          <body>Specifies the Transitions departing from this Vertex.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Vertex-outgoing-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Vertex-outgoing-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Vertex-containingStateMachine" name="containingStateMachine" bodyCondition="Vertex-containingStateMachine-spec" isQuery="true">
        <ownedComment xmi:id="Vertex-containingStateMachine-_ownedComment.0" annotatedElement="Vertex-containingStateMachine">
          <body>The operation containingStateMachine() returns the StateMachine in which this Vertex is defined.</body>
        </ownedComment>
        <ownedRule xmi:id="Vertex-containingStateMachine-spec" name="spec" constrainedElement="Vertex-containingStateMachine">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Vertex-containingStateMachine-spec-_specification">
            <language>OCL</language>
            <body>result = (if container &lt;> null
then
-- the container is a region
   container.containingStateMachine()
else 
   if (self.oclIsKindOf(Pseudostate)) and ((self.oclAsType(Pseudostate).kind = PseudostateKind::entryPoint) or (self.oclAsType(Pseudostate).kind = PseudostateKind::exitPoint)) then
      self.oclAsType(Pseudostate).stateMachine
   else 
      if (self.oclIsKindOf(ConnectionPointReference)) then
          self.oclAsType(ConnectionPointReference).state.containingStateMachine() -- no other valid cases possible
      else 
          null
      endif
   endif
endif
)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Vertex-containingStateMachine-result" name="result" type="StateMachine" direction="return"/>
      </ownedOperation>
      <ownedOperation xmi:id="Vertex-incoming.1" name="incoming" visibility="protected" bodyCondition="Vertex-incoming.1-spec" isQuery="true">
        <ownedComment xmi:id="Vertex-incoming.1-_ownedComment.0" annotatedElement="Vertex-incoming.1">
          <body>Derivation for Vertex::/incoming.</body>
        </ownedComment>
        <ownedRule xmi:id="Vertex-incoming.1-spec" name="spec" constrainedElement="Vertex-incoming.1 Vertex-incoming">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Vertex-incoming.1-spec-_specification">
            <language>OCL</language>
            <body>result = (Transition.allInstances()->select(target=self))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Vertex-incoming.1-result" name="result" type="Transition" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Vertex-incoming.1-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Vertex-incoming.1-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Vertex-outgoing.1" name="outgoing" visibility="protected" bodyCondition="Vertex-outgoing.1-spec" isQuery="true">
        <ownedComment xmi:id="Vertex-outgoing.1-_ownedComment.0" annotatedElement="Vertex-outgoing.1">
          <body>Derivation for Vertex::/outgoing</body>
        </ownedComment>
        <ownedRule xmi:id="Vertex-outgoing.1-spec" name="spec" constrainedElement="Vertex-outgoing.1 Vertex-outgoing">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Vertex-outgoing.1-spec-_specification">
            <language>OCL</language>
            <body>result = (Transition.allInstances()->select(source=self))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Vertex-outgoing.1-result" name="result" type="Transition" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Vertex-outgoing.1-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Vertex-outgoing.1-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Vertex-isContainedInState" name="isContainedInState" bodyCondition="Vertex-isContainedInState-spec" isQuery="true">
        <ownedComment xmi:id="Vertex-isContainedInState-_ownedComment.0" annotatedElement="Vertex-isContainedInState">
          <body>This utility operation returns true if the Vertex is contained in the State s (input argument).</body>
        </ownedComment>
        <ownedRule xmi:id="Vertex-isContainedInState-spec" name="spec" constrainedElement="Vertex-isContainedInState">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Vertex-isContainedInState-spec-_specification">
            <language>OCL</language>
            <body>result = (if not s.isComposite() or container->isEmpty() then&#xD;
	false&#xD;
else&#xD;
	if container.state = s then &#xD;
		true&#xD;
	else&#xD;
		container.state.isContainedInState(s)&#xD;
	endif&#xD;
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Vertex-isContainedInState-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Vertex-isContainedInState-s" name="s" type="State"/>
      </ownedOperation>
      <ownedOperation xmi:id="Vertex-isContainedInRegion" name="isContainedInRegion" bodyCondition="Vertex-isContainedInRegion-spec" isQuery="true">
        <ownedComment xmi:id="Vertex-isContainedInRegion-_ownedComment.0" annotatedElement="Vertex-isContainedInRegion">
          <body>This utility query returns true if the Vertex is contained in the Region r (input argument).</body>
        </ownedComment>
        <ownedRule xmi:id="Vertex-isContainedInRegion-spec" name="spec" constrainedElement="Vertex-isContainedInRegion">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Vertex-isContainedInRegion-spec-_specification">
            <language>OCL</language>
            <body>result = (if (container = r) then&#xD;
	true&#xD;
else&#xD;
	if (r.state->isEmpty()) then&#xD;
		false&#xD;
	else&#xD;
		container.state.isContainedInRegion(r)&#xD;
	endif&#xD;
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Vertex-isContainedInRegion-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="Vertex-isContainedInRegion-r" name="r" type="Region"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Enumeration" xmi:id="PseudostateKind" name="PseudostateKind" visibility="private">
      <ownedComment xmi:id="PseudostateKind-_ownedComment.0" annotatedElement="PseudostateKind">
        <body>PseudostateKind is an Enumeration type that is used to differentiate various kinds of Pseudostates.</body>
      </ownedComment>
      <ownedLiteral xmi:id="PseudostateKind-initial" name="initial">
        <ownedComment xmi:id="PseudostateKind-initial-_ownedComment.0" annotatedElement="PseudostateKind-initial">
          <body>An initial pseudostate represents a default vertex that is the source for a single transition to the default state of a composite state. There can be at most one initial vertex in a region. The outgoing transition from the initial vertex may have a behavior, but not a trigger or guard.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="PseudostateKind-deepHistory" name="deepHistory">
        <ownedComment xmi:id="PseudostateKind-deepHistory-_ownedComment.0" annotatedElement="PseudostateKind-deepHistory">
          <body>DeepHistory represents the most recent active configuration of the composite state that directly contains this pseudostate; e.g. the state configuration that was active when the composite state was last exited. A composite state can have at most one deep history vertex. At most one transition may originate from the history connector to the default deep history state. This transition is taken in case the composite state had never been active before. Entry actions of states entered on the path to the state represented by a deep history are performed.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="PseudostateKind-shallowHistory" name="shallowHistory">
        <ownedComment xmi:id="PseudostateKind-shallowHistory-_ownedComment.0" annotatedElement="PseudostateKind-shallowHistory">
          <body>ShallowHistory represents the most recent active substate of its containing state (but not the substates of that substate). A composite state can have at most one shallow history vertex. A transition coming into the shallow history vertex is equivalent to a transition coming into the most recent active substate of a state. At most one transition may originate from the history connector to the default shallow history state. This transition is taken in case the composite state had never been active before. Entry actions of states entered on the path to the state represented by a shallow history are performed.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="PseudostateKind-join" name="join">
        <ownedComment xmi:id="PseudostateKind-join-_ownedComment.0" annotatedElement="PseudostateKind-join">
          <body>Join vertices serve to merge several transitions emanating from source vertices in different orthogonal regions. The transitions entering a join vertex cannot have guards or triggers.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="PseudostateKind-fork" name="fork">
        <ownedComment xmi:id="PseudostateKind-fork-_ownedComment.0" annotatedElement="PseudostateKind-fork">
          <body>Fork vertices serve to split an incoming transition into two or more transitions terminating on orthogonal target vertices (i.e. vertices in different regions of a composite state). The segments outgoing from a fork vertex must not have guards or triggers.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="PseudostateKind-junction" name="junction">
        <ownedComment xmi:id="PseudostateKind-junction-_ownedComment.0" annotatedElement="PseudostateKind-junction">
          <body>Junction vertices are semantic-free vertices that are used to chain together multiple transitions. They are used to construct compound transition paths between states. For example, a junction can be used to converge multiple incoming transitions into a single outgoing transition representing a shared transition path (this is known as an merge). Conversely, they can be used to split an incoming transition into multiple outgoing transition segments with different guard conditions. This realizes a static conditional branch. (In the latter case, outgoing transitions whose guard conditions evaluate to false are disabled. A predefined guard denoted 'else' may be defined for at most one outgoing transition. This transition is enabled if all the guards labeling the other transitions are false.) Static conditional branches are distinct from dynamic conditional branches that are realized by choice vertices (described below).</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="PseudostateKind-choice" name="choice">
        <ownedComment xmi:id="PseudostateKind-choice-_ownedComment.0" annotatedElement="PseudostateKind-choice">
          <body>Choice vertices which, when reached, result in the dynamic evaluation of the guards of the triggers of its outgoing transitions. This realizes a dynamic conditional branch. It allows splitting of transitions into multiple outgoing paths such that the decision on which path to take may be a function of the results of prior actions performed in the same run-tocompletion step. If more than one of the guards evaluates to true, an arbitrary one is selected. If none of the guards evaluates to true, then the model is considered ill-formed. (To avoid this, it is recommended to define one outgoing transition with the predefined else guard for every choice vertex.) Choice vertices should be distinguished from static branch points that are based on junction points (described above).</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="PseudostateKind-entryPoint" name="entryPoint">
        <ownedComment xmi:id="PseudostateKind-entryPoint-_ownedComment.0" annotatedElement="PseudostateKind-entryPoint">
          <body>An entry point pseudostate is an entry point of a state machine or composite state. In each region of the state machine or composite state it has a single transition to a vertex within the same region.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="PseudostateKind-exitPoint" name="exitPoint">
        <ownedComment xmi:id="PseudostateKind-exitPoint-_ownedComment.0" annotatedElement="PseudostateKind-exitPoint">
          <body>An exit point pseudostate is an exit point of a state machine or composite state. Entering an exit point within any region of the composite state or state machine referenced by a submachine state implies the exit of this composite state or submachine state and the triggering of the transition that has this exit point as source in the state machine enclosing the submachine or composite state.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="PseudostateKind-terminate" name="terminate">
        <ownedComment xmi:id="PseudostateKind-terminate-_ownedComment.0" annotatedElement="PseudostateKind-terminate">
          <body>Entering a terminate pseudostate implies that the execution of this state machine by means of its context object is terminated. The state machine does not exit any states nor does it perform any exit actions other than those associated with the transition leading to the terminate pseudostate. Entering a terminate pseudostate is equivalent to invoking a DestroyObjectAction.</body>
        </ownedComment>
      </ownedLiteral>
    </packagedElement>
    <packagedElement xmi:type="uml:Enumeration" xmi:id="TransitionKind" name="TransitionKind">
      <ownedComment xmi:id="TransitionKind-_ownedComment.0" annotatedElement="TransitionKind">
        <body>TransitionKind is an Enumeration type used to differentiate the various kinds of Transitions.</body>
      </ownedComment>
      <ownedLiteral xmi:id="TransitionKind-internal" name="internal">
        <ownedComment xmi:id="TransitionKind-internal-_ownedComment.0" annotatedElement="TransitionKind-internal">
          <body>Implies that the Transition, if triggered, occurs without exiting or entering the source State (i.e., it does not cause a state change). This means that the entry or exit condition of the source State will not be invoked. An internal Transition can be taken even if the SateMachine is in one or more Regions nested within the associated State.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="TransitionKind-local" name="local">
        <ownedComment xmi:id="TransitionKind-local-_ownedComment.0" annotatedElement="TransitionKind-local">
          <body>Implies that the Transition, if triggered, will not exit the composite (source) State, but it will exit and re-enter any state within the composite State that is in the current state configuration.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="TransitionKind-external" name="external">
        <ownedComment xmi:id="TransitionKind-external-_ownedComment.0" annotatedElement="TransitionKind-external">
          <body>Implies that the Transition, if triggered, will exit the composite (source) State.</body>
        </ownedComment>
      </ownedLiteral>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_incoming_target_vertex" name="A_incoming_target_vertex" visibility="private" memberEnd="Vertex-incoming Transition-target A_incoming_target_vertex-incoming">
      <ownedEnd xmi:id="A_incoming_target_vertex-incoming" name="incoming" visibility="private" type="Transition" association="A_incoming_target_vertex">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_incoming_target_vertex-incoming-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_incoming_target_vertex-incoming-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_outgoing_source_vertex" name="A_outgoing_source_vertex" visibility="private" memberEnd="Vertex-outgoing Transition-source A_outgoing_source_vertex-outgoing">
      <ownedEnd xmi:id="A_outgoing_source_vertex-outgoing" name="outgoing" visibility="private" type="Transition" association="A_outgoing_source_vertex">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_outgoing_source_vertex-outgoing-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_outgoing_source_vertex-outgoing-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_trigger_transition" name="A_trigger_transition" visibility="private" memberEnd="Transition-trigger A_trigger_transition-transition">
      <ownedEnd xmi:id="A_trigger_transition-transition" name="transition" type="Transition" subsettedProperty="Element-owner" association="A_trigger_transition">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_trigger_transition-transition-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_guard_transition" name="A_guard_transition" visibility="private" memberEnd="Transition-guard A_guard_transition-transition">
      <ownedEnd xmi:id="A_guard_transition-transition" name="transition" type="Transition" subsettedProperty="Constraint-context" association="A_guard_transition">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_guard_transition-transition-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_redefinedTransition_transition" name="A_redefinedTransition_transition" visibility="private" memberEnd="Transition-redefinedTransition A_redefinedTransition_transition-transition">
      <ownedEnd xmi:id="A_redefinedTransition_transition-transition" name="transition" type="Transition" subsettedProperty="A_redefinedElement_redefinableElement-redefinableElement" association="A_redefinedTransition_transition">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinedTransition_transition-transition-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinedTransition_transition-transition-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_redefinitionContext_transition" name="A_redefinitionContext_transition" visibility="private" isDerived="true" memberEnd="Transition-redefinitionContext A_redefinitionContext_transition-transition">
      <generalization xmi:id="A_redefinitionContext_transition-_generalization.0" general="A_redefinitionContext_redefinableElement"/>
      <ownedEnd xmi:id="A_redefinitionContext_transition-transition" name="transition" type="Transition" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement" association="A_redefinitionContext_transition">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinitionContext_transition-transition-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinitionContext_transition-transition-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_effect_transition" name="A_effect_transition" visibility="private" memberEnd="Transition-effect A_effect_transition-transition">
      <ownedEnd xmi:id="A_effect_transition-transition" name="transition" type="Transition" subsettedProperty="Element-owner" association="A_effect_transition">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_effect_transition-transition-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_submachineState_submachine" name="A_submachineState_submachine" visibility="private" memberEnd="StateMachine-submachineState State-submachine"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_connectionPoint_stateMachine" name="A_connectionPoint_stateMachine" visibility="private" memberEnd="StateMachine-connectionPoint Pseudostate-stateMachine"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_region_stateMachine" name="A_region_stateMachine" visibility="private" memberEnd="StateMachine-region Region-stateMachine"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_extendedStateMachine_stateMachine" name="A_extendedStateMachine_stateMachine" visibility="private" memberEnd="StateMachine-extendedStateMachine A_extendedStateMachine_stateMachine-stateMachine">
      <ownedEnd xmi:id="A_extendedStateMachine_stateMachine-stateMachine" name="stateMachine" type="StateMachine" subsettedProperty="A_redefinedBehavior_behavior-behavior" association="A_extendedStateMachine_stateMachine">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_extendedStateMachine_stateMachine-stateMachine-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_extendedStateMachine_stateMachine-stateMachine-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_redefinitionContext_state" name="A_redefinitionContext_state" visibility="private" isDerived="true" memberEnd="State-redefinitionContext A_redefinitionContext_state-state">
      <generalization xmi:id="A_redefinitionContext_state-_generalization.0" general="A_redefinitionContext_redefinableElement"/>
      <ownedEnd xmi:id="A_redefinitionContext_state-state" name="state" type="State" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement" association="A_redefinitionContext_state">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinitionContext_state-state-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinitionContext_state-state-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_region_state" name="A_region_state" visibility="private" memberEnd="State-region Region-state"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_stateInvariant_owningState" name="A_stateInvariant_owningState" visibility="private" memberEnd="State-stateInvariant A_stateInvariant_owningState-owningState">
      <ownedEnd xmi:id="A_stateInvariant_owningState-owningState" name="owningState" type="State" subsettedProperty="Constraint-context" association="A_stateInvariant_owningState">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_stateInvariant_owningState-owningState-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_redefinedState_state" name="A_redefinedState_state" visibility="private" memberEnd="State-redefinedState A_redefinedState_state-state">
      <ownedEnd xmi:id="A_redefinedState_state-state" name="state" type="State" subsettedProperty="A_redefinedElement_redefinableElement-redefinableElement" association="A_redefinedState_state">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinedState_state-state-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinedState_state-state-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_deferrableTrigger_state" name="A_deferrableTrigger_state" visibility="private" memberEnd="State-deferrableTrigger A_deferrableTrigger_state-state">
      <ownedEnd xmi:id="A_deferrableTrigger_state-state" name="state" type="State" subsettedProperty="Element-owner" association="A_deferrableTrigger_state">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_deferrableTrigger_state-state-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_connection_state" name="A_connection_state" visibility="private" memberEnd="State-connection ConnectionPointReference-state"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_entry_state" name="A_entry_state" visibility="private" memberEnd="State-entry A_entry_state-state">
      <ownedEnd xmi:id="A_entry_state-state" name="state" type="State" subsettedProperty="Element-owner" association="A_entry_state">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_entry_state-state-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_connectionPoint_state" name="A_connectionPoint_state" visibility="private" memberEnd="State-connectionPoint Pseudostate-state"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_doActivity_state" name="A_doActivity_state" visibility="private" memberEnd="State-doActivity A_doActivity_state-state">
      <ownedEnd xmi:id="A_doActivity_state-state" name="state" type="State" subsettedProperty="Element-owner" association="A_doActivity_state">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_doActivity_state-state-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_exit_state" name="A_exit_state" visibility="private" memberEnd="State-exit A_exit_state-state">
      <ownedEnd xmi:id="A_exit_state-state" name="state" type="State" subsettedProperty="Element-owner" association="A_exit_state">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_exit_state-state-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_extendedRegion_region" name="A_extendedRegion_region" visibility="private" memberEnd="Region-extendedRegion A_extendedRegion_region-region">
      <ownedEnd xmi:id="A_extendedRegion_region-region" name="region" type="Region" subsettedProperty="A_redefinedElement_redefinableElement-redefinableElement" association="A_extendedRegion_region">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_extendedRegion_region-region-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_extendedRegion_region-region-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_subvertex_container" name="A_subvertex_container" visibility="private" memberEnd="Region-subvertex Vertex-container"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_redefinitionContext_region" name="A_redefinitionContext_region" visibility="private" isDerived="true" memberEnd="Region-redefinitionContext A_redefinitionContext_region-region">
      <generalization xmi:id="A_redefinitionContext_region-_generalization.0" general="A_redefinitionContext_redefinableElement"/>
      <ownedEnd xmi:id="A_redefinitionContext_region-region" name="region" type="Region" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement" association="A_redefinitionContext_region">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinitionContext_region-region-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinitionContext_region-region-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_transition_container" name="A_transition_container" visibility="private" memberEnd="Region-transition Transition-container"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_referred_protocolTransition" name="A_referred_protocolTransition" visibility="private" isDerived="true" memberEnd="ProtocolTransition-referred A_referred_protocolTransition-protocolTransition">
      <ownedEnd xmi:id="A_referred_protocolTransition-protocolTransition" name="protocolTransition" type="ProtocolTransition" association="A_referred_protocolTransition">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_referred_protocolTransition-protocolTransition-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_referred_protocolTransition-protocolTransition-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_preCondition_protocolTransition" name="A_preCondition_protocolTransition" visibility="private" memberEnd="ProtocolTransition-preCondition A_preCondition_protocolTransition-protocolTransition">
      <generalization xmi:id="A_preCondition_protocolTransition-_generalization.0" general="A_guard_transition"/>
      <ownedEnd xmi:id="A_preCondition_protocolTransition-protocolTransition" name="protocolTransition" type="ProtocolTransition" redefinedProperty="A_guard_transition-transition" association="A_preCondition_protocolTransition">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_preCondition_protocolTransition-protocolTransition-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_postCondition_owningTransition" name="A_postCondition_owningTransition" visibility="private" memberEnd="ProtocolTransition-postCondition A_postCondition_owningTransition-owningTransition">
      <ownedEnd xmi:id="A_postCondition_owningTransition-owningTransition" name="owningTransition" type="ProtocolTransition" subsettedProperty="Constraint-context" association="A_postCondition_owningTransition">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_postCondition_owningTransition-owningTransition-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_conformance_specificMachine" name="A_conformance_specificMachine" visibility="private" memberEnd="ProtocolStateMachine-conformance ProtocolConformance-specificMachine"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_generalMachine_protocolConformance" name="A_generalMachine_protocolConformance" visibility="private" memberEnd="ProtocolConformance-generalMachine A_generalMachine_protocolConformance-protocolConformance">
      <ownedEnd xmi:id="A_generalMachine_protocolConformance-protocolConformance" name="protocolConformance" type="ProtocolConformance" subsettedProperty="A_target_directedRelationship-directedRelationship" association="A_generalMachine_protocolConformance">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_generalMachine_protocolConformance-protocolConformance-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_generalMachine_protocolConformance-protocolConformance-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_entry_connectionPointReference" name="A_entry_connectionPointReference" visibility="private" memberEnd="ConnectionPointReference-entry A_entry_connectionPointReference-connectionPointReference">
      <ownedEnd xmi:id="A_entry_connectionPointReference-connectionPointReference" name="connectionPointReference" type="ConnectionPointReference" association="A_entry_connectionPointReference">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_entry_connectionPointReference-connectionPointReference-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_exit_connectionPointReference" name="A_exit_connectionPointReference" visibility="private" memberEnd="ConnectionPointReference-exit A_exit_connectionPointReference-connectionPointReference">
      <ownedEnd xmi:id="A_exit_connectionPointReference-connectionPointReference" name="connectionPointReference" type="ConnectionPointReference" association="A_exit_connectionPointReference">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_exit_connectionPointReference-connectionPointReference-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Association" name="Association">
      <ownedComment xmi:id="Association-_ownedComment.0" annotatedElement="Association">
        <body>A link is a tuple of values that refer to typed objects.  An Association classifies a set of links, each of which is an instance of the Association.  Each value in the link refers to an instance of the type of the corresponding end of the Association.</body>
      </ownedComment>
      <ownedRule xmi:id="Association-specialized_end_number" name="specialized_end_number" constrainedElement="Association">
        <ownedComment xmi:id="Association-specialized_end_number-_ownedComment.0" annotatedElement="Association-specialized_end_number">
          <body>An Association specializing another Association has the same number of ends as the other Association.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Association-specialized_end_number-_specification">
          <language>OCL</language>
          <body>parents()->select(oclIsKindOf(Association)).oclAsType(Association)->forAll(p | p.memberEnd->size() = self.memberEnd->size())</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Association-specialized_end_types" name="specialized_end_types" constrainedElement="Association">
        <ownedComment xmi:id="Association-specialized_end_types-_ownedComment.0" annotatedElement="Association-specialized_end_types">
          <body>When an Association specializes another Association, every end of the specific Association corresponds to an end of the general Association, and the specific end reaches the same type or a subtype of the corresponding general end.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Association-specialized_end_types-_specification">
          <language>OCL</language>
          <body>Sequence{1..memberEnd->size()}->&#xD;
	forAll(i | general->select(oclIsKindOf(Association)).oclAsType(Association)->&#xD;
		forAll(ga | self.memberEnd->at(i).type.conformsTo(ga.memberEnd->at(i).type)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Association-binary_associations" name="binary_associations" constrainedElement="Association">
        <ownedComment xmi:id="Association-binary_associations-_ownedComment.0" annotatedElement="Association-binary_associations">
          <body>Only binary Associations can be aggregations.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Association-binary_associations-_specification">
          <language>OCL</language>
          <body>memberEnd->exists(aggregation &lt;> AggregationKind::none) implies (memberEnd->size() = 2 and memberEnd->exists(aggregation = AggregationKind::none))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Association-association_ends" name="association_ends" constrainedElement="Association">
        <ownedComment xmi:id="Association-association_ends-_ownedComment.0" annotatedElement="Association-association_ends">
          <body>Ends of Associations with more than two ends must be owned by the Association itself.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Association-association_ends-_specification">
          <language>OCL</language>
          <body>memberEnd->size() > 2 implies ownedEnd->includesAll(memberEnd)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Association-ends_must_be_typed" name="ends_must_be_typed" constrainedElement="Association">
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Association-ends_must_be_typed-_specification">
          <language>OCL</language>
          <body>memberEnd->forAll(type->notEmpty())</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Association-_generalization.0" general="Relationship"/>
      <generalization xmi:id="Association-_generalization.1" general="Classifier"/>
      <ownedAttribute xmi:id="Association-endType" name="endType" type="Type" isReadOnly="true" isDerived="true" subsettedProperty="Relationship-relatedElement" association="A_endType_association">
        <ownedComment xmi:id="Association-endType-_ownedComment.0" annotatedElement="Association-endType">
          <body>The Classifiers that are used as types of the ends of the Association.</body>
        </ownedComment>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Association-endType-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Association-isDerived" name="isDerived">
        <ownedComment xmi:id="Association-isDerived-_ownedComment.0" annotatedElement="Association-isDerived">
          <body>Specifies whether the Association is derived from other model elements such as other Associations.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Association-isDerived-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Association-memberEnd" name="memberEnd" type="Property" isOrdered="true" subsettedProperty="Namespace-member" association="A_memberEnd_association">
        <ownedComment xmi:id="Association-memberEnd-_ownedComment.0" annotatedElement="Association-memberEnd">
          <body>Each end represents participation of instances of the Classifier connected to the end in links of the Association.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Association-memberEnd-_lowerValue" value="2"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Association-memberEnd-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Association-navigableOwnedEnd" name="navigableOwnedEnd" type="Property" subsettedProperty="Association-ownedEnd" association="A_navigableOwnedEnd_association">
        <ownedComment xmi:id="Association-navigableOwnedEnd-_ownedComment.0" annotatedElement="Association-navigableOwnedEnd">
          <body>The navigable ends that are owned by the Association itself.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Association-navigableOwnedEnd-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Association-navigableOwnedEnd-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Association-ownedEnd" name="ownedEnd" type="Property" isOrdered="true" aggregation="composite" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement Association-memberEnd Classifier-feature Namespace-ownedMember" association="A_ownedEnd_owningAssociation">
        <ownedComment xmi:id="Association-ownedEnd-_ownedComment.0" annotatedElement="Association-ownedEnd">
          <body>The ends that are owned by the Association itself.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Association-ownedEnd-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Association-ownedEnd-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Association-isBinary" name="isBinary">
        <ownedComment xmi:id="Association-isBinary-_ownedComment.0" annotatedElement="Association-isBinary">
          <body>Determines whether this association is a binary association, i.e. whether it has exactly two member ends.</body>
        </ownedComment>
        <ownedParameter xmi:id="Association-isBinary-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Association-endType.1" name="endType" visibility="protected" bodyCondition="Association-endType.1-spec" isQuery="true">
        <ownedComment xmi:id="Association-endType.1-_ownedComment.0" annotatedElement="Association-endType.1">
          <body>endType is derived from the types of the member ends.</body>
        </ownedComment>
        <ownedRule xmi:id="Association-endType.1-spec" name="spec" constrainedElement="Association-endType.1 Association-endType">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Association-endType.1-spec-_specification">
            <language>OCL</language>
            <body>result = (memberEnd->collect(type)->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Association-endType.1-result" name="result" type="Type" direction="return">
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Association-endType.1-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="AssociationClass" name="AssociationClass">
      <ownedComment xmi:id="AssociationClass-_ownedComment.0" annotatedElement="AssociationClass">
        <body>A model element that has both Association and Class properties. An AssociationClass can be seen as an Association that also has Class properties, or as a Class that also has Association properties. It not only connects a set of Classifiers but also defines a set of Features that belong to the Association itself and not to any of the associated Classifiers.</body>
      </ownedComment>
      <ownedRule xmi:id="AssociationClass-cannot_be_defined" name="cannot_be_defined" constrainedElement="AssociationClass">
        <ownedComment xmi:id="AssociationClass-cannot_be_defined-_ownedComment.0" annotatedElement="AssociationClass-cannot_be_defined">
          <body>An AssociationClass cannot be defined between itself and something else.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="AssociationClass-cannot_be_defined-_specification">
          <language>OCL</language>
          <body>self.endType()->excludes(self) and self.endType()->collect(et|et.oclAsType(Classifier).allParents())->flatten()->excludes(self)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="AssociationClass-disjoint_attributes_ends" name="disjoint_attributes_ends" constrainedElement="AssociationClass">
        <ownedComment xmi:id="AssociationClass-disjoint_attributes_ends-_ownedComment.0" annotatedElement="AssociationClass-disjoint_attributes_ends">
          <body>The owned attributes and owned ends of an AssociationClass are disjoint.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="AssociationClass-disjoint_attributes_ends-_specification">
          <language>OCL</language>
          <body>ownedAttribute->intersection(ownedEnd)->isEmpty()</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="AssociationClass-_generalization.0" general="Class"/>
      <generalization xmi:id="AssociationClass-_generalization.1" general="Association"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Class" name="Class">
      <ownedComment xmi:id="Class-_ownedComment.0" annotatedElement="Class">
        <body>A Class classifies a set of objects and specifies the features that characterize the structure and behavior of those objects.  A Class may have an internal structure and Ports.</body>
      </ownedComment>
      <ownedRule xmi:id="Class-passive_class" name="passive_class" constrainedElement="Class">
        <ownedComment xmi:id="Class-passive_class-_ownedComment.0" annotatedElement="Class-passive_class">
          <body>Only an active Class may own Receptions and have a classifierBehavior.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Class-passive_class-_specification">
          <language>OCL</language>
          <body>not isActive implies (ownedReception->isEmpty() and classifierBehavior = null)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Class-_generalization.0" general="BehavioredClassifier"/>
      <generalization xmi:id="Class-_generalization.1" general="EncapsulatedClassifier"/>
      <ownedAttribute xmi:id="Class-extension" name="extension" type="Extension" isReadOnly="true" isDerived="true" association="A_extension_metaclass">
        <ownedComment xmi:id="Class-extension-_ownedComment.0" annotatedElement="Class-extension">
          <body>This property is used when the Class is acting as a metaclass. It references the Extensions that specify additional properties of the metaclass. The property is derived from the Extensions whose memberEnds are typed by the Class.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Class-extension-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Class-extension-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Class-isAbstract" name="isAbstract" redefinedProperty="Classifier-isAbstract">
        <ownedComment xmi:id="Class-isAbstract-_ownedComment.0" annotatedElement="Class-isAbstract">
          <body>If true, the Class does not provide a complete declaration and cannot be instantiated. An abstract Class is typically used as a target of Associations or Generalizations.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Class-isAbstract-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Class-isActive" name="isActive">
        <ownedComment xmi:id="Class-isActive-_ownedComment.0" annotatedElement="Class-isActive">
          <body>Determines whether an object specified by this Class is active or not. If true, then the owning Class is referred to as an active Class. If false, then such a Class is referred to as a passive Class.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Class-isActive-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Class-nestedClassifier" name="nestedClassifier" type="Classifier" isOrdered="true" aggregation="composite" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement Namespace-ownedMember" association="A_nestedClassifier_nestingClass">
        <ownedComment xmi:id="Class-nestedClassifier-_ownedComment.0" annotatedElement="Class-nestedClassifier">
          <body>The Classifiers owned by the Class that are not ownedBehaviors.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Class-nestedClassifier-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Class-nestedClassifier-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Class-ownedAttribute" name="ownedAttribute" type="Property" isOrdered="true" aggregation="composite" redefinedProperty="StructuredClassifier-ownedAttribute" subsettedProperty="Classifier-attribute Namespace-ownedMember" association="A_ownedAttribute_class">
        <ownedComment xmi:id="Class-ownedAttribute-_ownedComment.0" annotatedElement="Class-ownedAttribute">
          <body>The attributes (i.e., the Properties) owned by the Class.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Class-ownedAttribute-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Class-ownedAttribute-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Class-ownedOperation" name="ownedOperation" type="Operation" isOrdered="true" aggregation="composite" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement Classifier-feature Namespace-ownedMember" association="A_ownedOperation_class">
        <ownedComment xmi:id="Class-ownedOperation-_ownedComment.0" annotatedElement="Class-ownedOperation">
          <body>The Operations owned by the Class.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Class-ownedOperation-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Class-ownedOperation-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Class-ownedReception" name="ownedReception" type="Reception" aggregation="composite" subsettedProperty="Classifier-feature Namespace-ownedMember" association="A_ownedReception_class">
        <ownedComment xmi:id="Class-ownedReception-_ownedComment.0" annotatedElement="Class-ownedReception">
          <body>The Receptions owned by the Class.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Class-ownedReception-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Class-ownedReception-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Class-superClass" name="superClass" type="Class" isDerived="true" redefinedProperty="Classifier-general" association="A_superClass_class">
        <ownedComment xmi:id="Class-superClass-_ownedComment.0" annotatedElement="Class-superClass">
          <body>The superclasses of a Class, derived from its Generalizations.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Class-superClass-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Class-superClass-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Class-createOwnedOperation" name="createOwnedOperation">
        <ownedComment xmi:id="Class-createOwnedOperation-_ownedComment.0" annotatedElement="Class-createOwnedOperation">
          <body>Creates an operation with the specified name, parameter names, parameter types, and return type (or null) as an owned operation of this class.</body>
        </ownedComment>
        <ownedParameter xmi:id="Class-createOwnedOperation-_ownedParameter.0" type="Operation" direction="return"/>
        <ownedParameter xmi:id="Class-createOwnedOperation-name" name="name" effect="read">
          <ownedComment xmi:id="Class-createOwnedOperation-name-_ownedComment.0" annotatedElement="Class-createOwnedOperation-name">
            <body>The name for the new operation, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Class-createOwnedOperation-name-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Class-createOwnedOperation-name-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="Class-createOwnedOperation-parameterNames" name="parameterNames" effect="read">
          <ownedComment xmi:id="Class-createOwnedOperation-parameterNames-_ownedComment.0" annotatedElement="Class-createOwnedOperation-parameterNames">
            <body>The parameter names for the new operation, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Class-createOwnedOperation-parameterNames-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Class-createOwnedOperation-parameterNames-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Class-createOwnedOperation-parameterTypes" name="parameterTypes" type="Type" effect="read">
          <ownedComment xmi:id="Class-createOwnedOperation-parameterTypes-_ownedComment.0" annotatedElement="Class-createOwnedOperation-parameterTypes">
            <body>The parameter types for the new operation, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Class-createOwnedOperation-parameterTypes-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Class-createOwnedOperation-parameterTypes-_upperValue" value="*"/>
        </ownedParameter>
        <ownedParameter xmi:id="Class-createOwnedOperation-returnType" name="returnType" type="Type" effect="read">
          <ownedComment xmi:id="Class-createOwnedOperation-returnType-_ownedComment.0" annotatedElement="Class-createOwnedOperation-returnType">
            <body>The return type for the new operation, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Class-createOwnedOperation-returnType-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Class-createOwnedOperation-returnType-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Class-isMetaclass" name="isMetaclass" isQuery="true">
        <ownedComment xmi:id="Class-isMetaclass-_ownedComment.0" annotatedElement="Class-isMetaclass">
          <body>Determines whether this class is a metaclass.</body>
        </ownedComment>
        <ownedParameter xmi:id="Class-isMetaclass-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Class-extension.1" name="extension" visibility="protected" bodyCondition="Class-extension.1-spec" isQuery="true">
        <ownedComment xmi:id="Class-extension.1-_ownedComment.0" annotatedElement="Class-extension.1">
          <body>Derivation for Class::/extension : Extension</body>
        </ownedComment>
        <ownedRule xmi:id="Class-extension.1-spec" name="spec" constrainedElement="Class-extension.1 Class-extension">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Class-extension.1-spec-_specification">
            <language>OCL</language>
            <body>result = (Extension.allInstances()->select(ext | &#xD;
  let endTypes : Sequence(Classifier) = ext.memberEnd->collect(type.oclAsType(Classifier)) in&#xD;
  endTypes->includes(self) or endTypes.allParents()->includes(self) ))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Class-extension.1-result" name="result" type="Extension" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Class-extension.1-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Class-extension.1-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Class-superClass.1" name="superClass" visibility="protected" bodyCondition="Class-superClass.1-spec" isQuery="true">
        <ownedComment xmi:id="Class-superClass.1-_ownedComment.0" annotatedElement="Class-superClass.1">
          <body>Derivation for Class::/superClass : Class</body>
        </ownedComment>
        <ownedRule xmi:id="Class-superClass.1-spec" name="spec" constrainedElement="Class-superClass.1 Class-superClass">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Class-superClass.1-spec-_specification">
            <language>OCL</language>
            <body>result = (self.general()->select(oclIsKindOf(Class))->collect(oclAsType(Class))->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Class-superClass.1-result" name="result" type="Class" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Class-superClass.1-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Class-superClass.1-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Collaboration" name="Collaboration">
      <ownedComment xmi:id="Collaboration-_ownedComment.0" annotatedElement="Collaboration">
        <body>A Collaboration describes a structure of collaborating elements (roles), each performing a specialized function, which collectively accomplish some desired functionality.</body>
      </ownedComment>
      <generalization xmi:id="Collaboration-_generalization.0" general="StructuredClassifier"/>
      <generalization xmi:id="Collaboration-_generalization.1" general="BehavioredClassifier"/>
      <ownedAttribute xmi:id="Collaboration-collaborationRole" name="collaborationRole" type="ConnectableElement" subsettedProperty="StructuredClassifier-role" association="A_collaborationRole_collaboration">
        <ownedComment xmi:id="Collaboration-collaborationRole-_ownedComment.0" annotatedElement="Collaboration-collaborationRole">
          <body>Represents the participants in the Collaboration.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Collaboration-collaborationRole-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Collaboration-collaborationRole-_upperValue" value="*"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="CollaborationUse" name="CollaborationUse">
      <ownedComment xmi:id="CollaborationUse-_ownedComment.0" annotatedElement="CollaborationUse">
        <body>A CollaborationUse is used to specify the application of a pattern specified by a Collaboration to a specific situation.</body>
      </ownedComment>
      <ownedRule xmi:id="CollaborationUse-client_elements" name="client_elements" constrainedElement="CollaborationUse">
        <ownedComment xmi:id="CollaborationUse-client_elements-_ownedComment.0" annotatedElement="CollaborationUse-client_elements">
          <body>All the client elements of a roleBinding are in one Classifier and all supplier elements of a roleBinding are in one Collaboration.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="CollaborationUse-client_elements-_specification">
          <language>OCL</language>
          <body>roleBinding->collect(client)->forAll(ne1, ne2 |&#xD;
  ne1.oclIsKindOf(ConnectableElement) and ne2.oclIsKindOf(ConnectableElement) and&#xD;
    let ce1 : ConnectableElement = ne1.oclAsType(ConnectableElement), ce2 : ConnectableElement = ne2.oclAsType(ConnectableElement) in&#xD;
      ce1.structuredClassifier = ce2.structuredClassifier)&#xD;
and&#xD;
  roleBinding->collect(supplier)->forAll(ne1, ne2 |&#xD;
  ne1.oclIsKindOf(ConnectableElement) and ne2.oclIsKindOf(ConnectableElement) and&#xD;
    let ce1 : ConnectableElement = ne1.oclAsType(ConnectableElement), ce2 : ConnectableElement = ne2.oclAsType(ConnectableElement) in&#xD;
      ce1.collaboration = ce2.collaboration)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="CollaborationUse-every_role" name="every_role" constrainedElement="CollaborationUse">
        <ownedComment xmi:id="CollaborationUse-every_role-_ownedComment.0" annotatedElement="CollaborationUse-every_role">
          <body>Every collaborationRole in the Collaboration is bound within the CollaborationUse.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="CollaborationUse-every_role-_specification">
          <language>OCL</language>
          <body>type.collaborationRole->forAll(role | roleBinding->exists(rb | rb.supplier->includes(role)))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="CollaborationUse-connectors" name="connectors" constrainedElement="CollaborationUse">
        <ownedComment xmi:id="CollaborationUse-connectors-_ownedComment.0" annotatedElement="CollaborationUse-connectors">
          <body>Connectors in a Collaboration typing a CollaborationUse must have corresponding Connectors between elements bound in the context Classifier, and these corresponding Connectors must have the same or more general type than the Collaboration Connectors.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="CollaborationUse-connectors-_specification">
          <language>OCL</language>
          <body>type.ownedConnector->forAll(connector |&#xD;
  let rolesConnectedInCollab : Set(ConnectableElement) = connector.end.role->asSet(),&#xD;
        relevantBindings : Set(Dependency) = roleBinding->select(rb | rb.supplier->intersection(rolesConnectedInCollab)->notEmpty()),&#xD;
        boundRoles : Set(ConnectableElement) = relevantBindings->collect(client.oclAsType(ConnectableElement))->asSet(),&#xD;
        contextClassifier : StructuredClassifier = boundRoles->any(true).structuredClassifier->any(true) in&#xD;
          contextClassifier.ownedConnector->exists( correspondingConnector | &#xD;
              correspondingConnector.end.role->forAll( role | boundRoles->includes(role) )&#xD;
              and (connector.type->notEmpty() and correspondingConnector.type->notEmpty()) implies connector.type->forAll(conformsTo(correspondingConnector.type)) )&#xD;
)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="CollaborationUse-_generalization.0" general="NamedElement"/>
      <ownedAttribute xmi:id="CollaborationUse-roleBinding" name="roleBinding" type="Dependency" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_roleBinding_collaborationUse">
        <ownedComment xmi:id="CollaborationUse-roleBinding-_ownedComment.0" annotatedElement="CollaborationUse-roleBinding">
          <body>A mapping between features of the Collaboration and features of the owning Classifier. This mapping indicates which ConnectableElement of the Classifier plays which role(s) in the Collaboration. A ConnectableElement may be bound to multiple roles in the same CollaborationUse (that is, it may play multiple roles).</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="CollaborationUse-roleBinding-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="CollaborationUse-roleBinding-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="CollaborationUse-type" name="type" type="Collaboration" association="A_type_collaborationUse">
        <ownedComment xmi:id="CollaborationUse-type-_ownedComment.0" annotatedElement="CollaborationUse-type">
          <body>The Collaboration which is used in this CollaborationUse. The Collaboration defines the cooperation between its roles which are mapped to ConnectableElements relating to the Classifier owning the CollaborationUse.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Component" name="Component">
      <ownedComment xmi:id="Component-_ownedComment.0" annotatedElement="Component">
        <body>A Component represents a modular part of a system that encapsulates its contents and whose manifestation is replaceable within its environment.</body>
      </ownedComment>
      <ownedRule xmi:id="Component-no_nested_classifiers" name="no_nested_classifiers" constrainedElement="Component">
        <ownedComment xmi:id="Component-no_nested_classifiers-_ownedComment.0" annotatedElement="Component-no_nested_classifiers">
          <body>A Component cannot nest Classifiers.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Component-no_nested_classifiers-_specification">
          <language>OCL</language>
          <body>nestedClassifier->isEmpty()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Component-no_packaged_elements" name="no_packaged_elements" constrainedElement="Component">
        <ownedComment xmi:id="Component-no_packaged_elements-_ownedComment.0" annotatedElement="Component-no_packaged_elements">
          <body>A Component nested in a Class cannot have any packaged elements.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Component-no_packaged_elements-_specification">
          <language>OCL</language>
          <body>nestingClass &lt;> null implies packagedElement->isEmpty()</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Component-_generalization.0" general="Class"/>
      <ownedAttribute xmi:id="Component-isIndirectlyInstantiated" name="isIndirectlyInstantiated">
        <ownedComment xmi:id="Component-isIndirectlyInstantiated-_ownedComment.0" annotatedElement="Component-isIndirectlyInstantiated">
          <body>If true, the Component is defined at design-time, but at run-time (or execution-time) an object specified by the Component does not exist, that is, the Component is instantiated indirectly, through the instantiation of its realizing Classifiers or parts.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Component-isIndirectlyInstantiated-_defaultValue" value="true"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Component-packagedElement" name="packagedElement" type="PackageableElement" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_packagedElement_component">
        <ownedComment xmi:id="Component-packagedElement-_ownedComment.0" annotatedElement="Component-packagedElement">
          <body>The set of PackageableElements that a Component owns. In the namespace of a Component, all model elements that are involved in or related to its definition may be owned or imported explicitly. These may include e.g., Classes, Interfaces, Components, Packages, UseCases, Dependencies (e.g., mappings), and Artifacts.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Component-packagedElement-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Component-packagedElement-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Component-provided" name="provided" type="Interface" isReadOnly="true" isDerived="true" association="A_provided_component">
        <ownedComment xmi:id="Component-provided-_ownedComment.0" annotatedElement="Component-provided">
          <body>The Interfaces that the Component exposes to its environment. These Interfaces may be Realized by the Component or any of its realizingClassifiers, or they may be the Interfaces that are provided by its public Ports.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Component-provided-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Component-provided-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Component-realization" name="realization" type="ComponentRealization" aggregation="composite" subsettedProperty="A_supplier_supplierDependency-supplierDependency Element-ownedElement" association="A_realization_abstraction_component">
        <ownedComment xmi:id="Component-realization-_ownedComment.0" annotatedElement="Component-realization">
          <body>The set of Realizations owned by the Component. Realizations reference the Classifiers of which the Component is an abstraction; i.e., that realize its behavior.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Component-realization-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Component-realization-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Component-required" name="required" type="Interface" isReadOnly="true" isDerived="true" association="A_required_component">
        <ownedComment xmi:id="Component-required-_ownedComment.0" annotatedElement="Component-required">
          <body>The Interfaces that the Component requires from other Components in its environment in order to be able to offer its full set of provided functionality. These Interfaces may be used by the Component or any of its realizingClassifiers, or they may be the Interfaces that are required by its public Ports.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Component-required-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Component-required-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Component-createOwnedClass" name="createOwnedClass">
        <ownedComment xmi:id="Component-createOwnedClass-_ownedComment.0" annotatedElement="Component-createOwnedClass">
          <body>Creates a(n) (abstract) class with the specified name as a packaged element of this component.</body>
        </ownedComment>
        <ownedParameter xmi:id="Component-createOwnedClass-_ownedParameter.0" type="Class" direction="return"/>
        <ownedParameter xmi:id="Component-createOwnedClass-name" name="name" effect="read">
          <ownedComment xmi:id="Component-createOwnedClass-name-_ownedComment.0" annotatedElement="Component-createOwnedClass-name">
            <body>The name for the new class, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
        <ownedParameter xmi:id="Component-createOwnedClass-isAbstract" name="isAbstract" effect="read">
          <ownedComment xmi:id="Component-createOwnedClass-isAbstract-_ownedComment.0" annotatedElement="Component-createOwnedClass-isAbstract">
            <body>Whether the new class should be abstract.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Component-createOwnedEnumeration" name="createOwnedEnumeration">
        <ownedComment xmi:id="Component-createOwnedEnumeration-_ownedComment.0" annotatedElement="Component-createOwnedEnumeration">
          <body>Creates a enumeration with the specified name as a packaged element of this component.</body>
        </ownedComment>
        <ownedParameter xmi:id="Component-createOwnedEnumeration-_ownedParameter.0" type="Enumeration" direction="return"/>
        <ownedParameter xmi:id="Component-createOwnedEnumeration-name" name="name" effect="read">
          <ownedComment xmi:id="Component-createOwnedEnumeration-name-_ownedComment.0" annotatedElement="Component-createOwnedEnumeration-name">
            <body>The name for the new enumeration, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Component-createOwnedInterface" name="createOwnedInterface">
        <ownedComment xmi:id="Component-createOwnedInterface-_ownedComment.0" annotatedElement="Component-createOwnedInterface">
          <body>Creates an interface with the specified name as a packaged element of this component.</body>
        </ownedComment>
        <ownedParameter xmi:id="Component-createOwnedInterface-_ownedParameter.0" type="Interface" direction="return"/>
        <ownedParameter xmi:id="Component-createOwnedInterface-name" name="name" effect="read">
          <ownedComment xmi:id="Component-createOwnedInterface-name-_ownedComment.0" annotatedElement="Component-createOwnedInterface-name">
            <body>The name for the new interface, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Component-createOwnedPrimitiveType" name="createOwnedPrimitiveType">
        <ownedComment xmi:id="Component-createOwnedPrimitiveType-_ownedComment.0" annotatedElement="Component-createOwnedPrimitiveType">
          <body>Creates a primitive type with the specified name as a packaged element of this component.</body>
        </ownedComment>
        <ownedParameter xmi:id="Component-createOwnedPrimitiveType-_ownedParameter.0" type="PrimitiveType" direction="return"/>
        <ownedParameter xmi:id="Component-createOwnedPrimitiveType-name" name="name" effect="read">
          <ownedComment xmi:id="Component-createOwnedPrimitiveType-name-_ownedComment.0" annotatedElement="Component-createOwnedPrimitiveType-name">
            <body>The name for the new primitive type, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Component-provided.1" name="provided" visibility="protected" bodyCondition="Component-provided.1-spec" isQuery="true">
        <ownedComment xmi:id="Component-provided.1-_ownedComment.0" annotatedElement="Component-provided.1">
          <body>Derivation for Component::/provided</body>
        </ownedComment>
        <ownedRule xmi:id="Component-provided.1-spec" name="spec" constrainedElement="Component-provided.1 Component-provided">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Component-provided.1-spec-_specification">
            <language>OCL</language>
            <body>result = (let 	ris : Set(Interface) = allRealizedInterfaces(),&#xD;
        realizingClassifiers : Set(Classifier) =  self.realization.realizingClassifier->union(self.allParents()->collect(realization.realizingClassifier))->asSet(),&#xD;
        allRealizingClassifiers : Set(Classifier) = realizingClassifiers->union(realizingClassifiers.allParents())->asSet(),&#xD;
        realizingClassifierInterfaces : Set(Interface) = allRealizingClassifiers->iterate(c; rci : Set(Interface) = Set{} | rci->union(c.allRealizedInterfaces())),&#xD;
        ports : Set(Port) = self.ownedPort->union(allParents()->collect(ownedPort))->asSet(),&#xD;
        providedByPorts : Set(Interface) = ports.provided->asSet()&#xD;
in     ris->union(realizingClassifierInterfaces) ->union(providedByPorts)->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Component-provided.1-result" name="result" type="Interface" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Component-provided.1-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Component-provided.1-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Component-required.1" name="required" visibility="protected" bodyCondition="Component-required.1-spec" isQuery="true">
        <ownedComment xmi:id="Component-required.1-_ownedComment.0" annotatedElement="Component-required.1">
          <body>Derivation for Component::/required</body>
        </ownedComment>
        <ownedRule xmi:id="Component-required.1-spec" name="spec" constrainedElement="Component-required.1 Component-required">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Component-required.1-spec-_specification">
            <language>OCL</language>
            <body>result = (let 	uis : Set(Interface) = allUsedInterfaces(),&#xD;
        realizingClassifiers : Set(Classifier) = self.realization.realizingClassifier->union(self.allParents()->collect(realization.realizingClassifier))->asSet(),&#xD;
        allRealizingClassifiers : Set(Classifier) = realizingClassifiers->union(realizingClassifiers.allParents())->asSet(),&#xD;
        realizingClassifierInterfaces : Set(Interface) = allRealizingClassifiers->iterate(c; rci : Set(Interface) = Set{} | rci->union(c.allUsedInterfaces())),&#xD;
        ports : Set(Port) = self.ownedPort->union(allParents()->collect(ownedPort))->asSet(),&#xD;
        usedByPorts : Set(Interface) = ports.required->asSet()&#xD;
in	    uis->union(realizingClassifierInterfaces)->union(usedByPorts)->asSet()&#xD;
)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Component-required.1-result" name="result" type="Interface" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Component-required.1-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Component-required.1-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ComponentRealization" name="ComponentRealization">
      <ownedComment xmi:id="ComponentRealization-_ownedComment.0" annotatedElement="ComponentRealization">
        <body>Realization is specialized to (optionally) define the Classifiers that realize the contract offered by a Component in terms of its provided and required Interfaces. The Component forms an abstraction from these various Classifiers.</body>
      </ownedComment>
      <generalization xmi:id="ComponentRealization-_generalization.0" general="Realization"/>
      <ownedAttribute xmi:id="ComponentRealization-abstraction" name="abstraction" type="Component" subsettedProperty="Dependency-supplier Element-owner" association="A_realization_abstraction_component">
        <ownedComment xmi:id="ComponentRealization-abstraction-_ownedComment.0" annotatedElement="ComponentRealization-abstraction">
          <body>The Component that owns this ComponentRealization and which is implemented by its realizing Classifiers.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ComponentRealization-abstraction-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ComponentRealization-realizingClassifier" name="realizingClassifier" type="Classifier" subsettedProperty="Dependency-client" association="A_realizingClassifier_componentRealization">
        <ownedComment xmi:id="ComponentRealization-realizingClassifier-_ownedComment.0" annotatedElement="ComponentRealization-realizingClassifier">
          <body>The Classifiers that are involved in the implementation of the Component that owns this Realization.</body>
        </ownedComment>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ComponentRealization-realizingClassifier-_upperValue" value="*"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ConnectableElement" name="ConnectableElement" isAbstract="true">
      <ownedComment xmi:id="ConnectableElement-_ownedComment.0" annotatedElement="ConnectableElement">
        <body>ConnectableElement is an abstract metaclass representing a set of instances that play roles of a StructuredClassifier. ConnectableElements may be joined by attached Connectors and specify configurations of linked instances to be created within an instance of the containing StructuredClassifier.</body>
      </ownedComment>
      <generalization xmi:id="ConnectableElement-_generalization.0" general="TypedElement"/>
      <generalization xmi:id="ConnectableElement-_generalization.1" general="ParameterableElement"/>
      <ownedAttribute xmi:id="ConnectableElement-end" name="end" type="ConnectorEnd" isReadOnly="true" isDerived="true" association="A_end_role">
        <ownedComment xmi:id="ConnectableElement-end-_ownedComment.0" annotatedElement="ConnectableElement-end">
          <body>A set of ConnectorEnds that attach to this ConnectableElement.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ConnectableElement-end-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ConnectableElement-end-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ConnectableElement-templateParameter" name="templateParameter" type="ConnectableElementTemplateParameter" redefinedProperty="ParameterableElement-templateParameter" association="A_connectableElement_templateParameter_parameteredElement">
        <ownedComment xmi:id="ConnectableElement-templateParameter-_ownedComment.0" annotatedElement="ConnectableElement-templateParameter">
          <body>The ConnectableElementTemplateParameter for this ConnectableElement parameter.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ConnectableElement-templateParameter-_lowerValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="ConnectableElement-end.1" name="end" visibility="protected" bodyCondition="ConnectableElement-end.1-spec" isQuery="true">
        <ownedComment xmi:id="ConnectableElement-end.1-_ownedComment.0" annotatedElement="ConnectableElement-end.1">
          <body>Derivation for ConnectableElement::/end : ConnectorEnd</body>
        </ownedComment>
        <ownedRule xmi:id="ConnectableElement-end.1-spec" name="spec" constrainedElement="ConnectableElement-end.1 ConnectableElement-end">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ConnectableElement-end.1-spec-_specification">
            <language>OCL</language>
            <body>result = (ConnectorEnd.allInstances()->select(role = self))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="ConnectableElement-end.1-result" name="result" type="ConnectorEnd" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ConnectableElement-end.1-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ConnectableElement-end.1-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ConnectableElementTemplateParameter" name="ConnectableElementTemplateParameter">
      <ownedComment xmi:id="ConnectableElementTemplateParameter-_ownedComment.0" annotatedElement="ConnectableElementTemplateParameter">
        <body>A ConnectableElementTemplateParameter exposes a ConnectableElement as a formal parameter for a template.</body>
      </ownedComment>
      <generalization xmi:id="ConnectableElementTemplateParameter-_generalization.0" general="TemplateParameter"/>
      <ownedAttribute xmi:id="ConnectableElementTemplateParameter-parameteredElement" name="parameteredElement" type="ConnectableElement" redefinedProperty="TemplateParameter-parameteredElement" association="A_connectableElement_templateParameter_parameteredElement">
        <ownedComment xmi:id="ConnectableElementTemplateParameter-parameteredElement-_ownedComment.0" annotatedElement="ConnectableElementTemplateParameter-parameteredElement">
          <body>The ConnectableElement for this ConnectableElementTemplateParameter.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Connector" name="Connector">
      <ownedComment xmi:id="Connector-_ownedComment.0" annotatedElement="Connector">
        <body>A Connector specifies links that enables communication between two or more instances. In contrast to Associations, which specify links between any instance of the associated Classifiers, Connectors specify links between instances playing the connected parts only.</body>
      </ownedComment>
      <ownedRule xmi:id="Connector-types" name="types" constrainedElement="Connector">
        <ownedComment xmi:id="Connector-types-_ownedComment.0" annotatedElement="Connector-types">
          <body>The types of the ConnectableElements that the ends of a Connector are attached to must conform to the types of the ends of the Association that types the Connector, if any.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Connector-types-_specification">
          <language>OCL</language>
          <body>type&lt;>null implies &#xD;
  let noOfEnds : Integer = end->size() in &#xD;
  (type.memberEnd->size() = noOfEnds) and Sequence{1..noOfEnds}->forAll(i | end->at(i).role.type.conformsTo(type.memberEnd->at(i).type))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Connector-roles" name="roles" constrainedElement="Connector">
        <ownedComment xmi:id="Connector-roles-_ownedComment.0" annotatedElement="Connector-roles">
          <body>The ConnectableElements attached as roles to each ConnectorEnd owned by a Connector must be owned or inherited roles of the Classifier that owned the Connector, or they must be Ports of such roles.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Connector-roles-_specification">
          <language>OCL</language>
          <body>structuredClassifier &lt;> null&#xD;
and&#xD;
  end->forAll( e | structuredClassifier.allRoles()->includes(e.role)&#xD;
or&#xD;
  e.role.oclIsKindOf(Port) and structuredClassifier.allRoles()->includes(e.partWithPort))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Connector-_generalization.0" general="Feature"/>
      <ownedAttribute xmi:id="Connector-contract" name="contract" type="Behavior" association="A_contract_connector">
        <ownedComment xmi:id="Connector-contract-_ownedComment.0" annotatedElement="Connector-contract">
          <body>The set of Behaviors that specify the valid interaction patterns across the Connector.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Connector-contract-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Connector-contract-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Connector-end" name="end" type="ConnectorEnd" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_end_connector">
        <ownedComment xmi:id="Connector-end-_ownedComment.0" annotatedElement="Connector-end">
          <body>A Connector has at least two ConnectorEnds, each representing the participation of instances of the Classifiers typing the ConnectableElements attached to the end. The set of ConnectorEnds is ordered.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Connector-end-_lowerValue" value="2"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Connector-end-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Connector-kind" name="kind" type="ConnectorKind" isReadOnly="true" isDerived="true">
        <ownedComment xmi:id="Connector-kind-_ownedComment.0" annotatedElement="Connector-kind">
          <body>Indicates the kind of Connector. This is derived: a Connector with one or more ends connected to a Port which is not on a Part and which is not a behavior port is a delegation; otherwise it is an assembly.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="Connector-redefinedConnector" name="redefinedConnector" type="Connector" subsettedProperty="RedefinableElement-redefinedElement" association="A_redefinedConnector_connector">
        <ownedComment xmi:id="Connector-redefinedConnector-_ownedComment.0" annotatedElement="Connector-redefinedConnector">
          <body>A Connector may be redefined when its containing Classifier is specialized. The redefining Connector may have a type that specializes the type of the redefined Connector. The types of the ConnectorEnds of the redefining Connector may specialize the types of the ConnectorEnds of the redefined Connector. The properties of the ConnectorEnds of the redefining Connector may be replaced.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Connector-redefinedConnector-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Connector-redefinedConnector-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Connector-type" name="type" type="Association" association="A_type_connector">
        <ownedComment xmi:id="Connector-type-_ownedComment.0" annotatedElement="Connector-type">
          <body>An optional Association that classifies links corresponding to this Connector.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Connector-type-_lowerValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Connector-kind.1" name="kind" visibility="protected" bodyCondition="Connector-kind.1-spec" isQuery="true">
        <ownedComment xmi:id="Connector-kind.1-_ownedComment.0" annotatedElement="Connector-kind.1">
          <body>Derivation for Connector::/kind : ConnectorKind</body>
        </ownedComment>
        <ownedRule xmi:id="Connector-kind.1-spec" name="spec" constrainedElement="Connector-kind.1 Connector-kind">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Connector-kind.1-spec-_specification">
            <language>OCL</language>
            <body>result = (if end->exists(&#xD;
		role.oclIsKindOf(Port) &#xD;
		and partWithPort->isEmpty()&#xD;
		and not role.oclAsType(Port).isBehavior)&#xD;
then ConnectorKind::delegation &#xD;
else ConnectorKind::assembly &#xD;
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Connector-kind.1-result" name="result" type="ConnectorKind" direction="return"/>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ConnectorEnd" name="ConnectorEnd">
      <ownedComment xmi:id="ConnectorEnd-_ownedComment.0" annotatedElement="ConnectorEnd">
        <body>A ConnectorEnd is an endpoint of a Connector, which attaches the Connector to a ConnectableElement.</body>
      </ownedComment>
      <ownedRule xmi:id="ConnectorEnd-role_and_part_with_port" name="role_and_part_with_port" constrainedElement="ConnectorEnd">
        <ownedComment xmi:id="ConnectorEnd-role_and_part_with_port-_ownedComment.0" annotatedElement="ConnectorEnd-role_and_part_with_port">
          <body>If a ConnectorEnd references a partWithPort, then the role must be a Port that is defined or inherited by the type of the partWithPort.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ConnectorEnd-role_and_part_with_port-_specification">
          <language>OCL</language>
          <body>partWithPort->notEmpty() implies &#xD;
  (role.oclIsKindOf(Port) and partWithPort.type.oclAsType(Namespace).member->includes(role))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ConnectorEnd-part_with_port_empty" name="part_with_port_empty" constrainedElement="ConnectorEnd">
        <ownedComment xmi:id="ConnectorEnd-part_with_port_empty-_ownedComment.0" annotatedElement="ConnectorEnd-part_with_port_empty">
          <body>If a ConnectorEnd is attached to a Port of the containing Classifier, partWithPort will be empty.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ConnectorEnd-part_with_port_empty-_specification">
          <language>OCL</language>
          <body>(role.oclIsKindOf(Port) and role.owner = connector.owner) implies partWithPort->isEmpty()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ConnectorEnd-multiplicity" name="multiplicity" constrainedElement="ConnectorEnd">
        <ownedComment xmi:id="ConnectorEnd-multiplicity-_ownedComment.0" annotatedElement="ConnectorEnd-multiplicity">
          <body>The multiplicity of the ConnectorEnd may not be more general than the multiplicity of the corresponding end of the Association typing the owning Connector, if any.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ConnectorEnd-multiplicity-_specification">
          <language>OCL</language>
          <body>self.compatibleWith(definingEnd)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="ConnectorEnd-self_part_with_port" name="self_part_with_port" constrainedElement="ConnectorEnd">
        <ownedComment xmi:id="ConnectorEnd-self_part_with_port-_ownedComment.0" annotatedElement="ConnectorEnd-self_part_with_port">
          <body>The Property held in self.partWithPort must not be a Port.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ConnectorEnd-self_part_with_port-_specification">
          <language>OCL</language>
          <body>partWithPort->notEmpty() implies not partWithPort.oclIsKindOf(Port)</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ConnectorEnd-_generalization.0" general="MultiplicityElement"/>
      <ownedAttribute xmi:id="ConnectorEnd-definingEnd" name="definingEnd" type="Property" isReadOnly="true" isDerived="true" association="A_definingEnd_connectorEnd">
        <ownedComment xmi:id="ConnectorEnd-definingEnd-_ownedComment.0" annotatedElement="ConnectorEnd-definingEnd">
          <body>A derived property referencing the corresponding end on the Association which types the Connector owing this ConnectorEnd, if any. It is derived by selecting the end at the same place in the ordering of Association ends as this ConnectorEnd.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ConnectorEnd-definingEnd-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ConnectorEnd-partWithPort" name="partWithPort" type="Property" association="A_partWithPort_connectorEnd">
        <ownedComment xmi:id="ConnectorEnd-partWithPort-_ownedComment.0" annotatedElement="ConnectorEnd-partWithPort">
          <body>Indicates the role of the internal structure of a Classifier with the Port to which the ConnectorEnd is attached.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ConnectorEnd-partWithPort-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="ConnectorEnd-role" name="role" visibility="public" type="ConnectableElement" association="A_end_role">
        <ownedComment xmi:id="ConnectorEnd-role-_ownedComment.0" annotatedElement="ConnectorEnd-role">
          <body>The ConnectableElement attached at this ConnectorEnd. When an instance of the containing Classifier is created, a link may (depending on the multiplicities) be created to an instance of the Classifier that types this ConnectableElement.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ConnectorEnd-role-_lowerValue" value="1"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="ConnectorEnd-role-_upperValue" value="1"/>
      </ownedAttribute>
      <ownedOperation xmi:id="ConnectorEnd-definingEnd.1" name="definingEnd" visibility="protected" bodyCondition="ConnectorEnd-definingEnd.1-spec" isQuery="true">
        <ownedComment xmi:id="ConnectorEnd-definingEnd.1-_ownedComment.0" annotatedElement="ConnectorEnd-definingEnd.1">
          <body>Derivation for ConnectorEnd::/definingEnd : Property</body>
        </ownedComment>
        <ownedRule xmi:id="ConnectorEnd-definingEnd.1-spec" name="spec" constrainedElement="ConnectorEnd-definingEnd.1 ConnectorEnd-definingEnd">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ConnectorEnd-definingEnd.1-spec-_specification">
            <language>OCL</language>
            <body>result = (if connector.type = null &#xD;
then&#xD;
  null &#xD;
else&#xD;
  let index : Integer = connector.end->indexOf(self) in&#xD;
    connector.type.memberEnd->at(index)&#xD;
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="ConnectorEnd-definingEnd.1-result" name="result" type="Property" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ConnectorEnd-definingEnd.1-result-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="EncapsulatedClassifier" name="EncapsulatedClassifier" isAbstract="true">
      <ownedComment xmi:id="EncapsulatedClassifier-_ownedComment.0" annotatedElement="EncapsulatedClassifier">
        <body>An EncapsulatedClassifier may own Ports to specify typed interaction points.</body>
      </ownedComment>
      <generalization xmi:id="EncapsulatedClassifier-_generalization.0" general="StructuredClassifier"/>
      <ownedAttribute xmi:id="EncapsulatedClassifier-ownedPort" name="ownedPort" type="Port" isReadOnly="true" aggregation="composite" isDerived="true" subsettedProperty="StructuredClassifier-ownedAttribute" association="A_ownedPort_encapsulatedClassifier">
        <ownedComment xmi:id="EncapsulatedClassifier-ownedPort-_ownedComment.0" annotatedElement="EncapsulatedClassifier-ownedPort">
          <body>The Ports owned by the EncapsulatedClassifier.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="EncapsulatedClassifier-ownedPort-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="EncapsulatedClassifier-ownedPort-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="EncapsulatedClassifier-ownedPort.1" name="ownedPort" visibility="protected" bodyCondition="EncapsulatedClassifier-ownedPort.1-spec" isQuery="true">
        <ownedComment xmi:id="EncapsulatedClassifier-ownedPort.1-_ownedComment.0" annotatedElement="EncapsulatedClassifier-ownedPort.1">
          <body>Derivation for EncapsulatedClassifier::/ownedPort : Port</body>
        </ownedComment>
        <ownedRule xmi:id="EncapsulatedClassifier-ownedPort.1-spec" name="spec" constrainedElement="EncapsulatedClassifier-ownedPort.1 EncapsulatedClassifier-ownedPort">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="EncapsulatedClassifier-ownedPort.1-spec-_specification">
            <language>OCL</language>
            <body>result = (ownedAttribute->select(oclIsKindOf(Port))->collect(oclAsType(Port))->asOrderedSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="EncapsulatedClassifier-ownedPort.1-result" name="result" type="Port" isOrdered="true" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="EncapsulatedClassifier-ownedPort.1-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="EncapsulatedClassifier-ownedPort.1-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Port" name="Port">
      <ownedComment xmi:id="Port-_ownedComment.0" annotatedElement="Port">
        <body>A Port is a property of an EncapsulatedClassifier that specifies a distinct interaction point between that EncapsulatedClassifier and its environment or between the (behavior of the) EncapsulatedClassifier and its internal parts. Ports are connected to Properties of the EncapsulatedClassifier by Connectors through which requests can be made to invoke BehavioralFeatures. A Port may specify the services an EncapsulatedClassifier provides (offers) to its environment as well as the services that an EncapsulatedClassifier expects (requires) of its environment.  A Port may have an associated ProtocolStateMachine.</body>
      </ownedComment>
      <ownedRule xmi:id="Port-port_aggregation" name="port_aggregation" constrainedElement="Port">
        <ownedComment xmi:id="Port-port_aggregation-_ownedComment.0" annotatedElement="Port-port_aggregation">
          <body>Port.aggregation must be composite.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Port-port_aggregation-_specification">
          <language>OCL</language>
          <body>aggregation = AggregationKind::composite</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Port-default_value" name="default_value" constrainedElement="Port">
        <ownedComment xmi:id="Port-default_value-_ownedComment.0" annotatedElement="Port-default_value">
          <body>A defaultValue for port cannot be specified when the type of the Port is an Interface.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Port-default_value-_specification">
          <language>OCL</language>
          <body>type.oclIsKindOf(Interface) implies defaultValue->isEmpty()</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Port-encapsulated_owner" name="encapsulated_owner" constrainedElement="Port">
        <ownedComment xmi:id="Port-encapsulated_owner-_ownedComment.0" annotatedElement="Port-encapsulated_owner">
          <body>All Ports are owned by an EncapsulatedClassifier.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Port-encapsulated_owner-_specification">
          <language>OCL</language>
          <body>owner = encapsulatedClassifier</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Port-_generalization.0" general="Property"/>
      <ownedAttribute xmi:id="Port-isBehavior" name="isBehavior">
        <ownedComment xmi:id="Port-isBehavior-_ownedComment.0" annotatedElement="Port-isBehavior">
          <body>Specifies whether requests arriving at this Port are sent to the classifier behavior of this EncapsulatedClassifier. Such a Port is referred to as a behavior Port. Any invocation of a BehavioralFeature targeted at a behavior Port will be handled by the instance of the owning EncapsulatedClassifier itself, rather than by any instances that it may contain.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Port-isBehavior-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Port-isConjugated" name="isConjugated">
        <ownedComment xmi:id="Port-isConjugated-_ownedComment.0" annotatedElement="Port-isConjugated">
          <body>Specifies the way that the provided and required Interfaces are derived from the Port’s Type.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Port-isConjugated-_defaultValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Port-isService" name="isService">
        <ownedComment xmi:id="Port-isService-_ownedComment.0" annotatedElement="Port-isService">
          <body>If true, indicates that this Port is used to provide the published functionality of an EncapsulatedClassifier.  If false, this Port is used to implement the EncapsulatedClassifier but is not part of the essential externally-visible functionality of the EncapsulatedClassifier and can, therefore, be altered or deleted along with the internal implementation of the EncapsulatedClassifier and other properties that are considered part of its implementation.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="Port-isService-_defaultValue" value="true"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Port-protocol" name="protocol" type="ProtocolStateMachine" association="A_protocol_port">
        <ownedComment xmi:id="Port-protocol-_ownedComment.0" annotatedElement="Port-protocol">
          <body>An optional ProtocolStateMachine which describes valid interactions at this interaction point.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Port-protocol-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Port-provided" name="provided" type="Interface" isReadOnly="true" isDerived="true" association="A_provided_port">
        <ownedComment xmi:id="Port-provided-_ownedComment.0" annotatedElement="Port-provided">
          <body>The Interfaces specifying the set of Operations and Receptions that the EncapsulatedCclassifier offers to its environment via this Port, and which it will handle either directly or by forwarding it to a part of its internal structure. This association is derived according to the value of isConjugated. If isConjugated is false, provided is derived as the union of the sets of Interfaces realized by the type of the port and its supertypes, or directly from the type of the Port if the Port is typed by an Interface. If isConjugated is true, it is derived as the union of the sets of Interfaces used by the type of the Port and its supertypes.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Port-provided-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Port-provided-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Port-redefinedPort" name="redefinedPort" type="Port" subsettedProperty="Property-redefinedProperty" association="A_redefinedPort_port">
        <ownedComment xmi:id="Port-redefinedPort-_ownedComment.0" annotatedElement="Port-redefinedPort">
          <body>A Port may be redefined when its containing EncapsulatedClassifier is specialized. The redefining Port may have additional Interfaces to those that are associated with the redefined Port or it may replace an Interface by one of its subtypes.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Port-redefinedPort-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Port-redefinedPort-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Port-required" name="required" type="Interface" isReadOnly="true" isDerived="true" association="A_required_port">
        <ownedComment xmi:id="Port-required-_ownedComment.0" annotatedElement="Port-required">
          <body>The Interfaces specifying the set of Operations and Receptions that the EncapsulatedCassifier expects its environment to handle via this port. This association is derived according to the value of isConjugated. If isConjugated is false, required is derived as the union of the sets of Interfaces used by the type of the Port and its supertypes. If isConjugated is true, it is derived as the union of the sets of Interfaces realized by the type of the Port and its supertypes, or directly from the type of the Port if the Port is typed by an Interface.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Port-required-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Port-required-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Port-provided.1" name="provided" visibility="protected" bodyCondition="Port-provided.1-spec" isQuery="true">
        <ownedComment xmi:id="Port-provided.1-_ownedComment.0" annotatedElement="Port-provided.1">
          <body>Derivation for Port::/provided</body>
        </ownedComment>
        <ownedRule xmi:id="Port-provided.1-spec" name="spec" constrainedElement="Port-provided.1 Port-provided">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Port-provided.1-spec-_specification">
            <language>OCL</language>
            <body>result = (if isConjugated then basicRequired() else basicProvided() endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Port-provided.1-result" name="result" type="Interface" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Port-provided.1-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Port-provided.1-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Port-required.1" name="required" visibility="protected" bodyCondition="Port-required.1-spec" isQuery="true">
        <ownedComment xmi:id="Port-required.1-_ownedComment.0" annotatedElement="Port-required.1">
          <body>Derivation for Port::/required</body>
        </ownedComment>
        <ownedRule xmi:id="Port-required.1-spec" name="spec" constrainedElement="Port-required.1 Port-required">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Port-required.1-spec-_specification">
            <language>OCL</language>
            <body>result = (if isConjugated then basicProvided() else basicRequired() endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Port-required.1-result" name="result" type="Interface" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Port-required.1-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Port-required.1-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Port-basicProvided" name="basicProvided" bodyCondition="Port-basicProvided-spec" isQuery="true">
        <ownedComment xmi:id="Port-basicProvided-_ownedComment.0" annotatedElement="Port-basicProvided">
          <body>The union of the sets of Interfaces realized by the type of the Port and its supertypes, or directly the type of the Port if the Port is typed by an Interface.</body>
        </ownedComment>
        <ownedRule xmi:id="Port-basicProvided-spec" name="spec" constrainedElement="Port-basicProvided">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Port-basicProvided-spec-_specification">
            <language>OCL</language>
            <body>result = (if type.oclIsKindOf(Interface) &#xD;
then type.oclAsType(Interface)->asSet() &#xD;
else type.oclAsType(Classifier).allRealizedInterfaces() &#xD;
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Port-basicProvided-result" name="result" type="Interface" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Port-basicProvided-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Port-basicProvided-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="Port-basicRequired" name="basicRequired" bodyCondition="Port-basicRequired-spec" isQuery="true">
        <ownedComment xmi:id="Port-basicRequired-_ownedComment.0" annotatedElement="Port-basicRequired">
          <body>The union of the sets of Interfaces used by the type of the Port and its supertypes.</body>
        </ownedComment>
        <ownedRule xmi:id="Port-basicRequired-spec" name="spec" constrainedElement="Port-basicRequired">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="Port-basicRequired-spec-_specification">
            <language>OCL</language>
            <body>result = ( type.oclAsType(Classifier).allUsedInterfaces() )</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="Port-basicRequired-result" name="result" type="Interface" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Port-basicRequired-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Port-basicRequired-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="StructuredClassifier" name="StructuredClassifier" isAbstract="true">
      <ownedComment xmi:id="StructuredClassifier-_ownedComment.0" annotatedElement="StructuredClassifier">
        <body>StructuredClassifiers may contain an internal structure of connected elements each of which plays a role in the overall Behavior modeled by the StructuredClassifier.</body>
      </ownedComment>
      <generalization xmi:id="StructuredClassifier-_generalization.0" general="Classifier"/>
      <ownedAttribute xmi:id="StructuredClassifier-ownedAttribute" name="ownedAttribute" type="Property" isOrdered="true" aggregation="composite" subsettedProperty="Classifier-attribute Namespace-ownedMember StructuredClassifier-role" association="A_ownedAttribute_structuredClassifier">
        <ownedComment xmi:id="StructuredClassifier-ownedAttribute-_ownedComment.0" annotatedElement="StructuredClassifier-ownedAttribute">
          <body>The Properties owned by the StructuredClassifier.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredClassifier-ownedAttribute-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredClassifier-ownedAttribute-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="StructuredClassifier-ownedConnector" name="ownedConnector" type="Connector" aggregation="composite" subsettedProperty="A_redefinitionContext_redefinableElement-redefinableElement Classifier-feature Namespace-ownedMember" association="A_ownedConnector_structuredClassifier">
        <ownedComment xmi:id="StructuredClassifier-ownedConnector-_ownedComment.0" annotatedElement="StructuredClassifier-ownedConnector">
          <body>The connectors owned by the StructuredClassifier.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredClassifier-ownedConnector-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredClassifier-ownedConnector-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="StructuredClassifier-part" name="part" type="Property" isReadOnly="true" isDerived="true" association="A_part_structuredClassifier">
        <ownedComment xmi:id="StructuredClassifier-part-_ownedComment.0" annotatedElement="StructuredClassifier-part">
          <body>The Properties specifying instances that the StructuredClassifier owns by composition. This collection is derived, selecting those owned Properties where isComposite is true.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredClassifier-part-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredClassifier-part-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="StructuredClassifier-role" name="role" type="ConnectableElement" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="Namespace-member" association="A_role_structuredClassifier">
        <ownedComment xmi:id="StructuredClassifier-role-_ownedComment.0" annotatedElement="StructuredClassifier-role">
          <body>The roles that instances may play in this StructuredClassifier.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredClassifier-role-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredClassifier-role-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="StructuredClassifier-createOwnedAttribute" name="createOwnedAttribute">
        <ownedComment xmi:id="StructuredClassifier-createOwnedAttribute-_ownedComment.0" annotatedElement="StructuredClassifier-createOwnedAttribute">
          <body>Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this structured classifier.</body>
        </ownedComment>
        <ownedParameter xmi:id="StructuredClassifier-createOwnedAttribute-_ownedParameter.0" type="Property" direction="return"/>
        <ownedParameter xmi:id="StructuredClassifier-createOwnedAttribute-name" name="name" effect="read">
          <ownedComment xmi:id="StructuredClassifier-createOwnedAttribute-name-_ownedComment.0" annotatedElement="StructuredClassifier-createOwnedAttribute-name">
            <body>The name for the new attribute, or null.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredClassifier-createOwnedAttribute-name-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredClassifier-createOwnedAttribute-name-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="StructuredClassifier-createOwnedAttribute-type" name="type" type="Type" effect="read">
          <ownedComment xmi:id="StructuredClassifier-createOwnedAttribute-type-_ownedComment.0" annotatedElement="StructuredClassifier-createOwnedAttribute-type">
            <body>The type for the new attribute, or null.</body>
          </ownedComment>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredClassifier-createOwnedAttribute-type-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredClassifier-createOwnedAttribute-type-_upperValue" value="1"/>
        </ownedParameter>
        <ownedParameter xmi:id="StructuredClassifier-createOwnedAttribute-lower" name="lower" effect="read">
          <ownedComment xmi:id="StructuredClassifier-createOwnedAttribute-lower-_ownedComment.0" annotatedElement="StructuredClassifier-createOwnedAttribute-lower">
            <body>The lower bound for the new attribute.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
        <ownedParameter xmi:id="StructuredClassifier-createOwnedAttribute-upper" name="upper" effect="read">
          <ownedComment xmi:id="StructuredClassifier-createOwnedAttribute-upper-_ownedComment.0" annotatedElement="StructuredClassifier-createOwnedAttribute-upper">
            <body>The upper bound for the new attribute.</body>
          </ownedComment>
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="StructuredClassifier-part.1" name="part" visibility="protected" bodyCondition="StructuredClassifier-part.1-spec" isQuery="true">
        <ownedComment xmi:id="StructuredClassifier-part.1-_ownedComment.0" annotatedElement="StructuredClassifier-part.1">
          <body>Derivation for StructuredClassifier::/part</body>
        </ownedComment>
        <ownedRule xmi:id="StructuredClassifier-part.1-spec" name="spec" constrainedElement="StructuredClassifier-part.1 StructuredClassifier-part">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuredClassifier-part.1-spec-_specification">
            <language>OCL</language>
            <body>result = (ownedAttribute->select(isComposite)->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="StructuredClassifier-part.1-result" name="result" type="Property" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredClassifier-part.1-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredClassifier-part.1-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="StructuredClassifier-allRoles" name="allRoles" bodyCondition="StructuredClassifier-allRoles-spec" isQuery="true">
        <ownedComment xmi:id="StructuredClassifier-allRoles-_ownedComment.0" annotatedElement="StructuredClassifier-allRoles">
          <body>All features of type ConnectableElement, equivalent to all direct and inherited roles.</body>
        </ownedComment>
        <ownedRule xmi:id="StructuredClassifier-allRoles-spec" name="spec" constrainedElement="StructuredClassifier-allRoles">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StructuredClassifier-allRoles-spec-_specification">
            <language>OCL</language>
            <body>result = (allFeatures()->select(oclIsKindOf(ConnectableElement))->collect(oclAsType(ConnectableElement))->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="StructuredClassifier-allRoles-result" name="result" type="ConnectableElement" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StructuredClassifier-allRoles-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StructuredClassifier-allRoles-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Enumeration" xmi:id="ConnectorKind" name="ConnectorKind" visibility="private">
      <ownedComment xmi:id="ConnectorKind-_ownedComment.0" annotatedElement="ConnectorKind">
        <body>ConnectorKind is an enumeration that defines whether a Connector is an assembly or a delegation.</body>
      </ownedComment>
      <ownedLiteral xmi:id="ConnectorKind-assembly" name="assembly">
        <ownedComment xmi:id="ConnectorKind-assembly-_ownedComment.0" annotatedElement="ConnectorKind-assembly">
          <body>Indicates that the Connector is an assembly Connector.</body>
        </ownedComment>
      </ownedLiteral>
      <ownedLiteral xmi:id="ConnectorKind-delegation" name="delegation">
        <ownedComment xmi:id="ConnectorKind-delegation-_ownedComment.0" annotatedElement="ConnectorKind-delegation">
          <body>Indicates that the Connector is a delegation Connector.</body>
        </ownedComment>
      </ownedLiteral>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_part_structuredClassifier" name="A_part_structuredClassifier" visibility="private" isDerived="true" memberEnd="StructuredClassifier-part A_part_structuredClassifier-structuredClassifier">
      <ownedEnd xmi:id="A_part_structuredClassifier-structuredClassifier" name="structuredClassifier" type="StructuredClassifier" association="A_part_structuredClassifier">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_part_structuredClassifier-structuredClassifier-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedConnector_structuredClassifier" name="A_ownedConnector_structuredClassifier" visibility="private" memberEnd="StructuredClassifier-ownedConnector A_ownedConnector_structuredClassifier-structuredClassifier">
      <ownedEnd xmi:id="A_ownedConnector_structuredClassifier-structuredClassifier" name="structuredClassifier" type="StructuredClassifier" subsettedProperty="Feature-featuringClassifier NamedElement-namespace RedefinableElement-redefinitionContext" association="A_ownedConnector_structuredClassifier">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedConnector_structuredClassifier-structuredClassifier-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedAttribute_structuredClassifier" name="A_ownedAttribute_structuredClassifier" visibility="private" memberEnd="StructuredClassifier-ownedAttribute A_ownedAttribute_structuredClassifier-structuredClassifier">
      <generalization xmi:id="A_ownedAttribute_structuredClassifier-_generalization.0" general="A_role_structuredClassifier"/>
      <ownedEnd xmi:id="A_ownedAttribute_structuredClassifier-structuredClassifier" name="structuredClassifier" type="StructuredClassifier" redefinedProperty="A_role_structuredClassifier-structuredClassifier" subsettedProperty="A_attribute_classifier-classifier NamedElement-namespace" association="A_ownedAttribute_structuredClassifier">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedAttribute_structuredClassifier-structuredClassifier-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_role_structuredClassifier" name="A_role_structuredClassifier" visibility="private" isDerived="true" memberEnd="StructuredClassifier-role A_role_structuredClassifier-structuredClassifier">
      <ownedEnd xmi:id="A_role_structuredClassifier-structuredClassifier" name="structuredClassifier" type="StructuredClassifier" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="A_member_memberNamespace-memberNamespace" association="A_role_structuredClassifier">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_role_structuredClassifier-structuredClassifier-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_role_structuredClassifier-structuredClassifier-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_protocol_port" name="A_protocol_port" visibility="private" memberEnd="Port-protocol A_protocol_port-port">
      <ownedEnd xmi:id="A_protocol_port-port" name="port" type="Port" association="A_protocol_port">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_protocol_port-port-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_protocol_port-port-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_required_port" name="A_required_port" visibility="private" isDerived="true" memberEnd="Port-required A_required_port-port">
      <ownedEnd xmi:id="A_required_port-port" name="port" type="Port" association="A_required_port">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_required_port-port-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_required_port-port-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_redefinedPort_port" name="A_redefinedPort_port" visibility="private" memberEnd="Port-redefinedPort A_redefinedPort_port-port">
      <ownedEnd xmi:id="A_redefinedPort_port-port" name="port" type="Port" subsettedProperty="A_redefinedProperty_property-property" association="A_redefinedPort_port">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinedPort_port-port-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinedPort_port-port-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_provided_port" name="A_provided_port" visibility="private" isDerived="true" memberEnd="Port-provided A_provided_port-port">
      <ownedEnd xmi:id="A_provided_port-port" name="port" type="Port" association="A_provided_port">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_provided_port-port-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_provided_port-port-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedPort_encapsulatedClassifier" name="A_ownedPort_encapsulatedClassifier" visibility="private" isDerived="true" memberEnd="EncapsulatedClassifier-ownedPort A_ownedPort_encapsulatedClassifier-encapsulatedClassifier">
      <ownedEnd xmi:id="A_ownedPort_encapsulatedClassifier-encapsulatedClassifier" name="encapsulatedClassifier" type="EncapsulatedClassifier" subsettedProperty="A_ownedAttribute_structuredClassifier-structuredClassifier" association="A_ownedPort_encapsulatedClassifier">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedPort_encapsulatedClassifier-encapsulatedClassifier-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_partWithPort_connectorEnd" name="A_partWithPort_connectorEnd" visibility="private" memberEnd="ConnectorEnd-partWithPort A_partWithPort_connectorEnd-connectorEnd">
      <ownedEnd xmi:id="A_partWithPort_connectorEnd-connectorEnd" name="connectorEnd" type="ConnectorEnd" association="A_partWithPort_connectorEnd">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_partWithPort_connectorEnd-connectorEnd-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_partWithPort_connectorEnd-connectorEnd-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_definingEnd_connectorEnd" name="A_definingEnd_connectorEnd" visibility="private" isDerived="true" memberEnd="ConnectorEnd-definingEnd A_definingEnd_connectorEnd-connectorEnd">
      <ownedEnd xmi:id="A_definingEnd_connectorEnd-connectorEnd" name="connectorEnd" type="ConnectorEnd" association="A_definingEnd_connectorEnd">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_definingEnd_connectorEnd-connectorEnd-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_definingEnd_connectorEnd-connectorEnd-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_end_connector" name="A_end_connector" visibility="private" memberEnd="Connector-end A_end_connector-connector">
      <ownedEnd xmi:id="A_end_connector-connector" name="connector" type="Connector" subsettedProperty="Element-owner" association="A_end_connector"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_redefinedConnector_connector" name="A_redefinedConnector_connector" visibility="private" memberEnd="Connector-redefinedConnector A_redefinedConnector_connector-connector">
      <ownedEnd xmi:id="A_redefinedConnector_connector-connector" name="connector" type="Connector" subsettedProperty="A_redefinedElement_redefinableElement-redefinableElement" association="A_redefinedConnector_connector">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_redefinedConnector_connector-connector-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_redefinedConnector_connector-connector-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_contract_connector" name="A_contract_connector" visibility="private" memberEnd="Connector-contract A_contract_connector-connector">
      <ownedEnd xmi:id="A_contract_connector-connector" name="connector" type="Connector" association="A_contract_connector">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_contract_connector-connector-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_contract_connector-connector-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_type_connector" name="A_type_connector" visibility="private" memberEnd="Connector-type A_type_connector-connector">
      <ownedEnd xmi:id="A_type_connector-connector" name="connector" type="Connector" association="A_type_connector">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_type_connector-connector-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_type_connector-connector-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_connectableElement_templateParameter_parameteredElement" name="A_connectableElement_templateParameter_parameteredElement" visibility="private" memberEnd="ConnectableElement-templateParameter ConnectableElementTemplateParameter-parameteredElement"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_end_role" name="A_end_role" visibility="private" memberEnd="ConnectableElement-end ConnectorEnd-role A_end_role-end">
      <ownedEnd xmi:id="A_end_role-end" name="end" visibility="private" type="ConnectorEnd" association="A_end_role">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_end_role-end-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_end_role-end-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_realizingClassifier_componentRealization" name="A_realizingClassifier_componentRealization" visibility="private" memberEnd="ComponentRealization-realizingClassifier A_realizingClassifier_componentRealization-componentRealization">
      <ownedEnd xmi:id="A_realizingClassifier_componentRealization-componentRealization" name="componentRealization" type="ComponentRealization" association="A_realizingClassifier_componentRealization">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_realizingClassifier_componentRealization-componentRealization-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_realizingClassifier_componentRealization-componentRealization-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_required_component" name="A_required_component" visibility="private" isDerived="true" memberEnd="Component-required A_required_component-component">
      <ownedEnd xmi:id="A_required_component-component" name="component" type="Component" association="A_required_component">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_required_component-component-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_required_component-component-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_packagedElement_component" name="A_packagedElement_component" visibility="private" memberEnd="Component-packagedElement A_packagedElement_component-component">
      <ownedEnd xmi:id="A_packagedElement_component-component" name="component" type="Component" subsettedProperty="NamedElement-namespace" association="A_packagedElement_component">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_packagedElement_component-component-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_realization_abstraction_component" name="A_realization_abstraction_component" visibility="private" memberEnd="Component-realization ComponentRealization-abstraction"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_provided_component" name="A_provided_component" visibility="private" isDerived="true" memberEnd="Component-provided A_provided_component-component">
      <ownedEnd xmi:id="A_provided_component-component" name="component" type="Component" association="A_provided_component">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_provided_component-component-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_provided_component-component-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_type_collaborationUse" name="A_type_collaborationUse" visibility="private" memberEnd="CollaborationUse-type A_type_collaborationUse-collaborationUse">
      <ownedEnd xmi:id="A_type_collaborationUse-collaborationUse" name="collaborationUse" type="CollaborationUse" association="A_type_collaborationUse">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_type_collaborationUse-collaborationUse-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_type_collaborationUse-collaborationUse-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_roleBinding_collaborationUse" name="A_roleBinding_collaborationUse" visibility="private" memberEnd="CollaborationUse-roleBinding A_roleBinding_collaborationUse-collaborationUse">
      <ownedEnd xmi:id="A_roleBinding_collaborationUse-collaborationUse" name="collaborationUse" type="CollaborationUse" subsettedProperty="Element-owner" association="A_roleBinding_collaborationUse">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_roleBinding_collaborationUse-collaborationUse-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_collaborationRole_collaboration" name="A_collaborationRole_collaboration" visibility="private" memberEnd="Collaboration-collaborationRole A_collaborationRole_collaboration-collaboration">
      <ownedEnd xmi:id="A_collaborationRole_collaboration-collaboration" name="collaboration" type="Collaboration" subsettedProperty="A_role_structuredClassifier-structuredClassifier" association="A_collaborationRole_collaboration">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_collaborationRole_collaboration-collaboration-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_collaborationRole_collaboration-collaboration-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedOperation_class" name="A_ownedOperation_class" visibility="private" memberEnd="Class-ownedOperation Operation-class"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_superClass_class" name="A_superClass_class" visibility="private" isDerived="true" memberEnd="Class-superClass A_superClass_class-class">
      <ownedEnd xmi:id="A_superClass_class-class" name="class" type="Class" subsettedProperty="A_general_classifier-classifier" association="A_superClass_class">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_superClass_class-class-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_superClass_class-class-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_extension_metaclass" name="A_extension_metaclass" visibility="private" isDerived="true" memberEnd="Class-extension Extension-metaclass"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedAttribute_class" name="A_ownedAttribute_class" visibility="private" memberEnd="Class-ownedAttribute Property-class"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_nestedClassifier_nestingClass" name="A_nestedClassifier_nestingClass" visibility="private" memberEnd="Class-nestedClassifier A_nestedClassifier_nestingClass-nestingClass">
      <ownedEnd xmi:id="A_nestedClassifier_nestingClass-nestingClass" name="nestingClass" type="Class" subsettedProperty="NamedElement-namespace RedefinableElement-redefinitionContext" association="A_nestedClassifier_nestingClass">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_nestedClassifier_nestingClass-nestingClass-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedReception_class" name="A_ownedReception_class" visibility="private" memberEnd="Class-ownedReception A_ownedReception_class-class">
      <ownedEnd xmi:id="A_ownedReception_class-class" name="class" type="Class" subsettedProperty="Feature-featuringClassifier NamedElement-namespace" association="A_ownedReception_class">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_ownedReception_class-class-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_memberEnd_association" name="A_memberEnd_association" visibility="private" memberEnd="Association-memberEnd Property-association"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_endType_association" name="A_endType_association" visibility="private" isDerived="true" memberEnd="Association-endType A_endType_association-association">
      <ownedEnd xmi:id="A_endType_association-association" name="association" type="Association" subsettedProperty="A_relatedElement_relationship-relationship" association="A_endType_association">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_endType_association-association-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_endType_association-association-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_ownedEnd_owningAssociation" name="A_ownedEnd_owningAssociation" visibility="private" memberEnd="Association-ownedEnd Property-owningAssociation"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_navigableOwnedEnd_association" name="A_navigableOwnedEnd_association" visibility="private" memberEnd="Association-navigableOwnedEnd A_navigableOwnedEnd_association-association">
      <ownedEnd xmi:id="A_navigableOwnedEnd_association-association" name="association" type="Association" subsettedProperty="Property-owningAssociation" association="A_navigableOwnedEnd_association">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_navigableOwnedEnd_association-association-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Actor" name="Actor">
      <ownedComment xmi:id="Actor-_ownedComment.0" annotatedElement="Actor">
        <body>An Actor specifies a role played by a user or any other system that interacts with the subject.</body>
      </ownedComment>
      <ownedRule xmi:id="Actor-associations" name="associations" constrainedElement="Actor">
        <ownedComment xmi:id="Actor-associations-_ownedComment.0" annotatedElement="Actor-associations">
          <body>An Actor can only have Associations to UseCases, Components, and Classes. Furthermore these Associations must be binary.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Actor-associations-_specification">
          <language>OCL</language>
          <body>Association.allInstances()->forAll( a |
  a.memberEnd->collect(type)->includes(self) implies
  (
    a.memberEnd->size() = 2 and
    let actorEnd : Property = a.memberEnd->any(type = self) in
      actorEnd.opposite.class.oclIsKindOf(UseCase) or
      ( actorEnd.opposite.class.oclIsKindOf(Class) and not
         actorEnd.opposite.class.oclIsKindOf(Behavior))
      )
  )</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="Actor-must_have_name" name="must_have_name" constrainedElement="Actor">
        <ownedComment xmi:id="Actor-must_have_name-_ownedComment.0" annotatedElement="Actor-must_have_name">
          <body>An Actor must have a name.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Actor-must_have_name-_specification">
          <language>OCL</language>
          <body>name->notEmpty()</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Actor-_generalization.0" general="BehavioredClassifier"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Extend" name="Extend">
      <ownedComment xmi:id="Extend-_ownedComment.0" annotatedElement="Extend">
        <body>A relationship from an extending UseCase to an extended UseCase that specifies how and when the behavior defined in the extending UseCase can be inserted into the behavior defined in the extended UseCase.</body>
      </ownedComment>
      <ownedRule xmi:id="Extend-extension_points" name="extension_points" constrainedElement="Extend">
        <ownedComment xmi:id="Extend-extension_points-_ownedComment.0" annotatedElement="Extend-extension_points">
          <body>The ExtensionPoints referenced by the Extend relationship must belong to the UseCase that is being extended.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Extend-extension_points-_specification">
          <language>OCL</language>
          <body>extensionLocation->forAll (xp | extendedCase.extensionPoint->includes(xp))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Extend-_generalization.0" general="NamedElement"/>
      <generalization xmi:id="Extend-_generalization.1" general="DirectedRelationship"/>
      <ownedAttribute xmi:id="Extend-condition" name="condition" type="Constraint" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_condition_extend">
        <ownedComment xmi:id="Extend-condition-_ownedComment.0" annotatedElement="Extend-condition">
          <body>References the condition that must hold when the first ExtensionPoint is reached for the extension to take place. If no constraint is associated with the Extend relationship, the extension is unconditional.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Extend-condition-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Extend-extendedCase" name="extendedCase" type="UseCase" subsettedProperty="DirectedRelationship-target" association="A_extendedCase_extend">
        <ownedComment xmi:id="Extend-extendedCase-_ownedComment.0" annotatedElement="Extend-extendedCase">
          <body>The UseCase that is being extended.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="Extend-extension" name="extension" type="UseCase" subsettedProperty="DirectedRelationship-source NamedElement-namespace" association="A_extend_extension">
        <ownedComment xmi:id="Extend-extension-_ownedComment.0" annotatedElement="Extend-extension">
          <body>The UseCase that represents the extension and owns the Extend relationship.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="Extend-extensionLocation" name="extensionLocation" type="ExtensionPoint" isOrdered="true" association="A_extensionLocation_extension">
        <ownedComment xmi:id="Extend-extensionLocation-_ownedComment.0" annotatedElement="Extend-extensionLocation">
          <body>An ordered list of ExtensionPoints belonging to the extended UseCase, specifying where the respective behavioral fragments of the extending UseCase are to be inserted. The first fragment in the extending UseCase is associated with the first extension point in the list, the second fragment with the second point, and so on. Note that, in most practical cases, the extending UseCase has just a single behavior fragment, so that the list of ExtensionPoints is trivial.</body>
        </ownedComment>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Extend-extensionLocation-_upperValue" value="*"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ExtensionPoint" name="ExtensionPoint">
      <ownedComment xmi:id="ExtensionPoint-_ownedComment.0" annotatedElement="ExtensionPoint">
        <body>An ExtensionPoint identifies a point in the behavior of a UseCase where that behavior can be extended by the behavior of some other (extending) UseCase, as specified by an Extend relationship.</body>
      </ownedComment>
      <ownedRule xmi:id="ExtensionPoint-must_have_name" name="must_have_name" constrainedElement="ExtensionPoint">
        <ownedComment xmi:id="ExtensionPoint-must_have_name-_ownedComment.0" annotatedElement="ExtensionPoint-must_have_name">
          <body>An ExtensionPoint must have a name.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="ExtensionPoint-must_have_name-_specification">
          <language>OCL</language>
          <body>name->notEmpty ()</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="ExtensionPoint-_generalization.0" general="RedefinableElement"/>
      <ownedAttribute xmi:id="ExtensionPoint-useCase" name="useCase" type="UseCase" subsettedProperty="NamedElement-namespace" association="A_extensionPoint_useCase">
        <ownedComment xmi:id="ExtensionPoint-useCase-_ownedComment.0" annotatedElement="ExtensionPoint-useCase">
          <body>The UseCase that owns this ExtensionPoint.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Include" name="Include">
      <ownedComment xmi:id="Include-_ownedComment.0" annotatedElement="Include">
        <body>An Include relationship specifies that a UseCase contains the behavior defined in another UseCase.</body>
      </ownedComment>
      <generalization xmi:id="Include-_generalization.0" general="DirectedRelationship"/>
      <generalization xmi:id="Include-_generalization.1" general="NamedElement"/>
      <ownedAttribute xmi:id="Include-addition" name="addition" type="UseCase" subsettedProperty="DirectedRelationship-target" association="A_addition_include">
        <ownedComment xmi:id="Include-addition-_ownedComment.0" annotatedElement="Include-addition">
          <body>The UseCase that is to be included.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="Include-includingCase" name="includingCase" type="UseCase" subsettedProperty="DirectedRelationship-source NamedElement-namespace" association="A_include_includingCase">
        <ownedComment xmi:id="Include-includingCase-_ownedComment.0" annotatedElement="Include-includingCase">
          <body>The UseCase which includes the addition and owns the Include relationship.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="UseCase" name="UseCase">
      <ownedComment xmi:id="UseCase-_ownedComment.0" annotatedElement="UseCase">
        <body>A UseCase specifies a set of actions performed by its subjects, which yields an observable result that is of value for one or more Actors or other stakeholders of each subject.</body>
      </ownedComment>
      <ownedRule xmi:id="UseCase-binary_associations" name="binary_associations" constrainedElement="UseCase">
        <ownedComment xmi:id="UseCase-binary_associations-_ownedComment.0" annotatedElement="UseCase-binary_associations">
          <body>UseCases can only be involved in binary Associations.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="UseCase-binary_associations-_specification">
          <language>OCL</language>
          <body>Association.allInstances()->forAll(a | a.memberEnd.type->includes(self) implies a.memberEnd->size() = 2)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="UseCase-no_association_to_use_case" name="no_association_to_use_case" constrainedElement="UseCase">
        <ownedComment xmi:id="UseCase-no_association_to_use_case-_ownedComment.0" annotatedElement="UseCase-no_association_to_use_case">
          <body>UseCases cannot have Associations to UseCases specifying the same subject.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="UseCase-no_association_to_use_case-_specification">
          <language>OCL</language>
          <body>Association.allInstances()->forAll(a | a.memberEnd.type->includes(self) implies &#xD;
   (&#xD;
   let usecases: Set(UseCase) = a.memberEnd.type->select(oclIsKindOf(UseCase))->collect(oclAsType(UseCase))->asSet() in&#xD;
   usecases->size() > 1 implies usecases->collect(subject)->size() > 1&#xD;
   )&#xD;
)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="UseCase-cannot_include_self" name="cannot_include_self" constrainedElement="UseCase">
        <ownedComment xmi:id="UseCase-cannot_include_self-_ownedComment.0" annotatedElement="UseCase-cannot_include_self">
          <body>A UseCase cannot include UseCases that directly or indirectly include it.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="UseCase-cannot_include_self-_specification">
          <language>OCL</language>
          <body>not allIncludedUseCases()->includes(self)</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="UseCase-must_have_name" name="must_have_name" constrainedElement="UseCase">
        <ownedComment xmi:id="UseCase-must_have_name-_ownedComment.0" annotatedElement="UseCase-must_have_name">
          <body>A UseCase must have a name.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="UseCase-must_have_name-_specification">
          <language>OCL</language>
          <body>name -> notEmpty ()</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="UseCase-_generalization.0" general="BehavioredClassifier"/>
      <ownedAttribute xmi:id="UseCase-extend" name="extend" type="Extend" aggregation="composite" subsettedProperty="A_source_directedRelationship-directedRelationship Namespace-ownedMember" association="A_extend_extension">
        <ownedComment xmi:id="UseCase-extend-_ownedComment.0" annotatedElement="UseCase-extend">
          <body>The Extend relationships owned by this UseCase.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="UseCase-extend-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="UseCase-extend-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="UseCase-extensionPoint" name="extensionPoint" type="ExtensionPoint" aggregation="composite" subsettedProperty="Namespace-ownedMember" association="A_extensionPoint_useCase">
        <ownedComment xmi:id="UseCase-extensionPoint-_ownedComment.0" annotatedElement="UseCase-extensionPoint">
          <body>The ExtensionPoints owned by this UseCase.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="UseCase-extensionPoint-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="UseCase-extensionPoint-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="UseCase-include" name="include" type="Include" aggregation="composite" subsettedProperty="A_source_directedRelationship-directedRelationship Namespace-ownedMember" association="A_include_includingCase">
        <ownedComment xmi:id="UseCase-include-_ownedComment.0" annotatedElement="UseCase-include">
          <body>The Include relationships owned by this UseCase.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="UseCase-include-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="UseCase-include-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="UseCase-subject" name="subject" type="Classifier" association="A_subject_useCase">
        <ownedComment xmi:id="UseCase-subject-_ownedComment.0" annotatedElement="UseCase-subject">
          <body>The subjects to which this UseCase applies. Each subject or its parts realize all the UseCases that apply to it.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="UseCase-subject-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="UseCase-subject-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="UseCase-allIncludedUseCases" name="allIncludedUseCases" bodyCondition="UseCase-allIncludedUseCases-spec" isQuery="true">
        <ownedComment xmi:id="UseCase-allIncludedUseCases-_ownedComment.0" annotatedElement="UseCase-allIncludedUseCases">
          <body>The query allIncludedUseCases() returns the transitive closure of all UseCases (directly or indirectly) included by this UseCase.</body>
        </ownedComment>
        <ownedRule xmi:id="UseCase-allIncludedUseCases-spec" name="spec" constrainedElement="UseCase-allIncludedUseCases">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="UseCase-allIncludedUseCases-spec-_specification">
            <language>OCL</language>
            <body>result = (self.include.addition->union(self.include.addition->collect(uc | uc.allIncludedUseCases()))->asSet())</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="UseCase-allIncludedUseCases-result" name="result" type="UseCase" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="UseCase-allIncludedUseCases-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="UseCase-allIncludedUseCases-result-_upperValue" value="*"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_extensionPoint_useCase" name="A_extensionPoint_useCase" visibility="private" memberEnd="UseCase-extensionPoint ExtensionPoint-useCase"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_include_includingCase" name="A_include_includingCase" visibility="private" memberEnd="UseCase-include Include-includingCase"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_subject_useCase" name="A_subject_useCase" visibility="private" memberEnd="UseCase-subject Classifier-useCase"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_extend_extension" name="A_extend_extension" visibility="private" memberEnd="UseCase-extend Extend-extension"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_addition_include" name="A_addition_include" visibility="private" memberEnd="Include-addition A_addition_include-include">
      <ownedEnd xmi:id="A_addition_include-include" name="include" type="Include" subsettedProperty="A_target_directedRelationship-directedRelationship" association="A_addition_include">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_addition_include-include-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_addition_include-include-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_extensionLocation_extension" name="A_extensionLocation_extension" visibility="private" memberEnd="Extend-extensionLocation A_extensionLocation_extension-extension">
      <ownedEnd xmi:id="A_extensionLocation_extension-extension" name="extension" type="Extend" association="A_extensionLocation_extension">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_extensionLocation_extension-extension-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_extensionLocation_extension-extension-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_condition_extend" name="A_condition_extend" visibility="private" memberEnd="Extend-condition A_condition_extend-extend">
      <ownedEnd xmi:id="A_condition_extend-extend" name="extend" type="Extend" subsettedProperty="Element-owner" association="A_condition_extend">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_condition_extend-extend-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_extendedCase_extend" name="A_extendedCase_extend" visibility="private" memberEnd="Extend-extendedCase A_extendedCase_extend-extend">
      <ownedEnd xmi:id="A_extendedCase_extend-extend" name="extend" type="Extend" subsettedProperty="A_target_directedRelationship-directedRelationship" association="A_extendedCase_extend">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_extendedCase_extend-extend-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_extendedCase_extend-extend-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Duration" name="Duration">
      <ownedComment xmi:id="Duration-_ownedComment.0" annotatedElement="Duration">
        <body>A Duration is a ValueSpecification that specifies the temporal distance between two time instants.</body>
      </ownedComment>
      <ownedRule xmi:id="Duration-no_expr_requires_observation" name="no_expr_requires_observation" constrainedElement="Duration">
        <ownedComment xmi:id="Duration-no_expr_requires_observation-_ownedComment.0" annotatedElement="Duration-no_expr_requires_observation">
          <body>If a Duration has no expr, then it must have a single observation that is a DurationObservation.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="Duration-no_expr_requires_observation-_specification">
          <language>OCL</language>
          <body>expr = null implies (observation->size() = 1 and observation->forAll(oclIsKindOf(DurationObservation)))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="Duration-_generalization.0" general="ValueSpecification"/>
      <ownedAttribute xmi:id="Duration-expr" name="expr" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_expr_duration">
        <ownedComment xmi:id="Duration-expr-_ownedComment.0" annotatedElement="Duration-expr">
          <body>A ValueSpecification that evaluates to the value of the Duration.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Duration-expr-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Duration-observation" name="observation" type="Observation" association="A_observation_duration">
        <ownedComment xmi:id="Duration-observation-_ownedComment.0" annotatedElement="Duration-observation">
          <body>Refers to the Observations that are involved in the computation of the Duration value</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Duration-observation-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Duration-observation-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="Duration-stringValue" name="stringValue" visibility="protected" isQuery="true">
        <ownedParameter xmi:id="Duration-stringValue-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="DurationConstraint" name="DurationConstraint">
      <ownedComment xmi:id="DurationConstraint-_ownedComment.0" annotatedElement="DurationConstraint">
        <body>A DurationConstraint is a Constraint that refers to a DurationInterval.</body>
      </ownedComment>
      <ownedRule xmi:id="DurationConstraint-first_event_multiplicity" name="first_event_multiplicity" constrainedElement="DurationConstraint">
        <ownedComment xmi:id="DurationConstraint-first_event_multiplicity-_ownedComment.0" annotatedElement="DurationConstraint-first_event_multiplicity">
          <body>The multiplicity of firstEvent must be 2 if the multiplicity of constrainedElement is 2. Otherwise the multiplicity of firstEvent is 0.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="DurationConstraint-first_event_multiplicity-_specification">
          <language>OCL</language>
          <body>if (constrainedElement->size() = 2)&#xD;
  then (firstEvent->size() = 2) else (firstEvent->size() = 0) &#xD;
endif</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="DurationConstraint-has_one_or_two_constrainedElements" name="has_one_or_two_constrainedElements" constrainedElement="DurationConstraint">
        <ownedComment xmi:id="DurationConstraint-has_one_or_two_constrainedElements-_ownedComment.0" annotatedElement="DurationConstraint-has_one_or_two_constrainedElements">
          <body>A DurationConstraint has either one or two constrainedElements.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="DurationConstraint-has_one_or_two_constrainedElements-_specification">
          <language>OCL</language>
          <body>constrainedElement->size() = 1 or constrainedElement->size()=2</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="DurationConstraint-_generalization.0" general="IntervalConstraint"/>
      <ownedAttribute xmi:id="DurationConstraint-firstEvent" name="firstEvent">
        <ownedComment xmi:id="DurationConstraint-firstEvent-_ownedComment.0" annotatedElement="DurationConstraint-firstEvent">
          <body>The value of firstEvent[i] is related to constrainedElement[i] (where i is 1 or 2). If firstEvent[i] is true, then the corresponding observation event is the first time instant the execution enters constrainedElement[i]. If firstEvent[i] is false, then the corresponding observation event is the last time instant the execution is within constrainedElement[i].</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DurationConstraint-firstEvent-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DurationConstraint-firstEvent-_upperValue" value="2"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="DurationConstraint-specification" name="specification" type="DurationInterval" aggregation="composite" redefinedProperty="IntervalConstraint-specification Constraint-specification" association="A_specification_durationConstraint">
        <ownedComment xmi:id="DurationConstraint-specification-_ownedComment.0" annotatedElement="DurationConstraint-specification">
          <body>The DurationInterval constraining the duration.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="DurationInterval" name="DurationInterval">
      <ownedComment xmi:id="DurationInterval-_ownedComment.0" annotatedElement="DurationInterval">
        <body>A DurationInterval defines the range between two Durations.</body>
      </ownedComment>
      <generalization xmi:id="DurationInterval-_generalization.0" general="Interval"/>
      <ownedAttribute xmi:id="DurationInterval-max" name="max" type="Duration" redefinedProperty="Interval-max" association="A_max_durationInterval">
        <ownedComment xmi:id="DurationInterval-max-_ownedComment.0" annotatedElement="DurationInterval-max">
          <body>Refers to the Duration denoting the maximum value of the range.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="DurationInterval-min" name="min" type="Duration" redefinedProperty="Interval-min" association="A_min_durationInterval">
        <ownedComment xmi:id="DurationInterval-min-_ownedComment.0" annotatedElement="DurationInterval-min">
          <body>Refers to the Duration denoting the minimum value of the range.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="DurationObservation" name="DurationObservation">
      <ownedComment xmi:id="DurationObservation-_ownedComment.0" annotatedElement="DurationObservation">
        <body>A DurationObservation is a reference to a duration during an execution. It points out the NamedElement(s) in the model to observe and whether the observations are when this NamedElement is entered or when it is exited.</body>
      </ownedComment>
      <ownedRule xmi:id="DurationObservation-first_event_multiplicity" name="first_event_multiplicity" constrainedElement="DurationObservation">
        <ownedComment xmi:id="DurationObservation-first_event_multiplicity-_ownedComment.0" annotatedElement="DurationObservation-first_event_multiplicity">
          <body>The multiplicity of firstEvent must be 2 if the multiplicity of event is 2. Otherwise the multiplicity of firstEvent is 0.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="DurationObservation-first_event_multiplicity-_specification">
          <language>OCL</language>
          <body>if (event->size() = 2)&#xD;
  then (firstEvent->size() = 2) else (firstEvent->size() = 0)&#xD;
endif</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="DurationObservation-_generalization.0" general="Observation"/>
      <ownedAttribute xmi:id="DurationObservation-event" name="event" type="NamedElement" isOrdered="true" association="A_event_durationObservation">
        <ownedComment xmi:id="DurationObservation-event-_ownedComment.0" annotatedElement="DurationObservation-event">
          <body>The DurationObservation is determined as the duration between the entering or exiting of a single event Element during execution, or the entering/exiting of one event Element and the entering/exiting of a second.</body>
        </ownedComment>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DurationObservation-event-_upperValue" value="2"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="DurationObservation-firstEvent" name="firstEvent">
        <ownedComment xmi:id="DurationObservation-firstEvent-_ownedComment.0" annotatedElement="DurationObservation-firstEvent">
          <body>The value of firstEvent[i] is related to event[i] (where i is 1 or 2). If firstEvent[i] is true, then the corresponding observation event is the first time instant the execution enters event[i]. If firstEvent[i] is false, then the corresponding observation event is the time instant the execution exits event[i].</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DurationObservation-firstEvent-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="DurationObservation-firstEvent-_upperValue" value="2"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Expression" name="Expression">
      <ownedComment xmi:id="Expression-_ownedComment.0" annotatedElement="Expression">
        <body>An Expression represents a node in an expression tree, which may be non-terminal or terminal. It defines a symbol, and has a possibly empty sequence of operands that are ValueSpecifications. It denotes a (possibly empty) set of values when evaluated in a context.</body>
      </ownedComment>
      <generalization xmi:id="Expression-_generalization.0" general="ValueSpecification"/>
      <ownedAttribute xmi:id="Expression-operand" name="operand" type="ValueSpecification" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_operand_expression">
        <ownedComment xmi:id="Expression-operand-_ownedComment.0" annotatedElement="Expression-operand">
          <body>Specifies a sequence of operand ValueSpecifications.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Expression-operand-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="Expression-operand-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="Expression-symbol" name="symbol">
        <ownedComment xmi:id="Expression-symbol-_ownedComment.0" annotatedElement="Expression-symbol">
          <body>The symbol associated with this node in the expression tree.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="Expression-symbol-_lowerValue"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Interval" name="Interval">
      <ownedComment xmi:id="Interval-_ownedComment.0" annotatedElement="Interval">
        <body>An Interval defines the range between two ValueSpecifications.</body>
      </ownedComment>
      <generalization xmi:id="Interval-_generalization.0" general="ValueSpecification"/>
      <ownedAttribute xmi:id="Interval-max" name="max" type="ValueSpecification" association="A_max_interval">
        <ownedComment xmi:id="Interval-max-_ownedComment.0" annotatedElement="Interval-max">
          <body>Refers to the ValueSpecification denoting the maximum value of the range.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="Interval-min" name="min" type="ValueSpecification" association="A_min_interval">
        <ownedComment xmi:id="Interval-min-_ownedComment.0" annotatedElement="Interval-min">
          <body>Refers to the ValueSpecification denoting the minimum value of the range.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="IntervalConstraint" name="IntervalConstraint">
      <ownedComment xmi:id="IntervalConstraint-_ownedComment.0" annotatedElement="IntervalConstraint">
        <body>An IntervalConstraint is a Constraint that is specified by an Interval.</body>
      </ownedComment>
      <generalization xmi:id="IntervalConstraint-_generalization.0" general="Constraint"/>
      <ownedAttribute xmi:id="IntervalConstraint-specification" name="specification" type="Interval" aggregation="composite" redefinedProperty="Constraint-specification" association="A_specification_intervalConstraint">
        <ownedComment xmi:id="IntervalConstraint-specification-_ownedComment.0" annotatedElement="IntervalConstraint-specification">
          <body>The Interval that specifies the condition of the IntervalConstraint.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="LiteralBoolean" name="LiteralBoolean">
      <ownedComment xmi:id="LiteralBoolean-_ownedComment.0" annotatedElement="LiteralBoolean">
        <body>A LiteralBoolean is a specification of a Boolean value.</body>
      </ownedComment>
      <generalization xmi:id="LiteralBoolean-_generalization.0" general="LiteralSpecification"/>
      <ownedAttribute xmi:id="LiteralBoolean-value" name="value">
        <ownedComment xmi:id="LiteralBoolean-value-_ownedComment.0" annotatedElement="LiteralBoolean-value">
          <body>The specified Boolean value.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="LiteralBoolean-value-_defaultValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="LiteralBoolean-stringValue" name="stringValue" visibility="protected" isQuery="true">
        <ownedParameter xmi:id="LiteralBoolean-stringValue-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="LiteralBoolean-booleanValue" name="booleanValue" bodyCondition="LiteralBoolean-booleanValue-spec" isQuery="true" redefinedOperation="ValueSpecification-booleanValue">
        <ownedComment xmi:id="LiteralBoolean-booleanValue-_ownedComment.0" annotatedElement="LiteralBoolean-booleanValue">
          <body>The query booleanValue() gives the value.</body>
        </ownedComment>
        <ownedRule xmi:id="LiteralBoolean-booleanValue-spec" name="spec" constrainedElement="LiteralBoolean-booleanValue">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralBoolean-booleanValue-spec-_specification">
            <language>OCL</language>
            <body>result = (value)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LiteralBoolean-booleanValue-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="LiteralBoolean-isComputable" name="isComputable" bodyCondition="LiteralBoolean-isComputable-spec" isQuery="true" redefinedOperation="ValueSpecification-isComputable">
        <ownedComment xmi:id="LiteralBoolean-isComputable-_ownedComment.0" annotatedElement="LiteralBoolean-isComputable">
          <body>The query isComputable() is redefined to be true.</body>
        </ownedComment>
        <ownedRule xmi:id="LiteralBoolean-isComputable-spec" name="spec" constrainedElement="LiteralBoolean-isComputable">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralBoolean-isComputable-spec-_specification">
            <language>OCL</language>
            <body>result = (true)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LiteralBoolean-isComputable-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="LiteralInteger" name="LiteralInteger">
      <ownedComment xmi:id="LiteralInteger-_ownedComment.0" annotatedElement="LiteralInteger">
        <body>A LiteralInteger is a specification of an Integer value.</body>
      </ownedComment>
      <generalization xmi:id="LiteralInteger-_generalization.0" general="LiteralSpecification"/>
      <ownedAttribute xmi:id="LiteralInteger-value" name="value">
        <ownedComment xmi:id="LiteralInteger-value-_ownedComment.0" annotatedElement="LiteralInteger-value">
          <body>The specified Integer value.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        <defaultValue xmi:type="uml:LiteralInteger" xmi:id="LiteralInteger-value-_defaultValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="LiteralInteger-stringValue" name="stringValue" visibility="protected" isQuery="true">
        <ownedParameter xmi:id="LiteralInteger-stringValue-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="LiteralInteger-integerValue" name="integerValue" bodyCondition="LiteralInteger-integerValue-spec" isQuery="true" redefinedOperation="ValueSpecification-integerValue">
        <ownedComment xmi:id="LiteralInteger-integerValue-_ownedComment.0" annotatedElement="LiteralInteger-integerValue">
          <body>The query integerValue() gives the value.</body>
        </ownedComment>
        <ownedRule xmi:id="LiteralInteger-integerValue-spec" name="spec" constrainedElement="LiteralInteger-integerValue">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralInteger-integerValue-spec-_specification">
            <language>OCL</language>
            <body>result = (value)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LiteralInteger-integerValue-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="LiteralInteger-isComputable" name="isComputable" bodyCondition="LiteralInteger-isComputable-spec" isQuery="true" redefinedOperation="ValueSpecification-isComputable">
        <ownedComment xmi:id="LiteralInteger-isComputable-_ownedComment.0" annotatedElement="LiteralInteger-isComputable">
          <body>The query isComputable() is redefined to be true.</body>
        </ownedComment>
        <ownedRule xmi:id="LiteralInteger-isComputable-spec" name="spec" constrainedElement="LiteralInteger-isComputable">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralInteger-isComputable-spec-_specification">
            <language>OCL</language>
            <body>result = (true)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LiteralInteger-isComputable-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="LiteralNull" name="LiteralNull">
      <ownedComment xmi:id="LiteralNull-_ownedComment.0" annotatedElement="LiteralNull">
        <body>A LiteralNull specifies the lack of a value.</body>
      </ownedComment>
      <generalization xmi:id="LiteralNull-_generalization.0" general="LiteralSpecification"/>
      <ownedOperation xmi:id="LiteralNull-isComputable" name="isComputable" bodyCondition="LiteralNull-isComputable-spec" isQuery="true" redefinedOperation="ValueSpecification-isComputable">
        <ownedComment xmi:id="LiteralNull-isComputable-_ownedComment.0" annotatedElement="LiteralNull-isComputable">
          <body>The query isComputable() is redefined to be true.</body>
        </ownedComment>
        <ownedRule xmi:id="LiteralNull-isComputable-spec" name="spec" constrainedElement="LiteralNull-isComputable">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralNull-isComputable-spec-_specification">
            <language>OCL</language>
            <body>result = (true)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LiteralNull-isComputable-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="LiteralNull-isNull" name="isNull" bodyCondition="LiteralNull-isNull-spec" isQuery="true" redefinedOperation="ValueSpecification-isNull">
        <ownedComment xmi:id="LiteralNull-isNull-_ownedComment.0" annotatedElement="LiteralNull-isNull">
          <body>The query isNull() returns true.</body>
        </ownedComment>
        <ownedRule xmi:id="LiteralNull-isNull-spec" name="spec" constrainedElement="LiteralNull-isNull">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralNull-isNull-spec-_specification">
            <language>OCL</language>
            <body>result = (true)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LiteralNull-isNull-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="LiteralReal" name="LiteralReal">
      <ownedComment xmi:id="LiteralReal-_ownedComment.0" annotatedElement="LiteralReal">
        <body>A LiteralReal is a specification of a Real value.</body>
      </ownedComment>
      <generalization xmi:id="LiteralReal-_generalization.0" general="LiteralSpecification"/>
      <ownedAttribute xmi:id="LiteralReal-value" name="value">
        <ownedComment xmi:id="LiteralReal-value-_ownedComment.0" annotatedElement="LiteralReal-value">
          <body>The specified Real value.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
      </ownedAttribute>
      <ownedOperation xmi:id="LiteralReal-stringValue" name="stringValue" visibility="protected" isQuery="true">
        <ownedParameter xmi:id="LiteralReal-stringValue-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="LiteralReal-isComputable" name="isComputable" bodyCondition="LiteralReal-isComputable-spec" isQuery="true" redefinedOperation="ValueSpecification-isComputable">
        <ownedComment xmi:id="LiteralReal-isComputable-_ownedComment.0" annotatedElement="LiteralReal-isComputable">
          <body>The query isComputable() is redefined to be true.</body>
        </ownedComment>
        <ownedRule xmi:id="LiteralReal-isComputable-spec" name="spec" constrainedElement="LiteralReal-isComputable">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralReal-isComputable-spec-_specification">
            <language>OCL</language>
            <body>result = (true)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LiteralReal-isComputable-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="LiteralReal-realValue" name="realValue" bodyCondition="LiteralReal-realValue-spec" isQuery="true" redefinedOperation="ValueSpecification-realValue">
        <ownedComment xmi:id="LiteralReal-realValue-_ownedComment.0" annotatedElement="LiteralReal-realValue">
          <body>The query realValue() gives the value.</body>
        </ownedComment>
        <ownedRule xmi:id="LiteralReal-realValue-spec" name="spec" constrainedElement="LiteralReal-realValue">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralReal-realValue-spec-_specification">
            <language>OCL</language>
            <body>result = (value)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LiteralReal-realValue-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="LiteralSpecification" name="LiteralSpecification" isAbstract="true">
      <ownedComment xmi:id="LiteralSpecification-_ownedComment.0" annotatedElement="LiteralSpecification">
        <body>A LiteralSpecification identifies a literal constant being modeled.</body>
      </ownedComment>
      <generalization xmi:id="LiteralSpecification-_generalization.0" general="ValueSpecification"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="LiteralString" name="LiteralString">
      <ownedComment xmi:id="LiteralString-_ownedComment.0" annotatedElement="LiteralString">
        <body>A LiteralString is a specification of a String value.</body>
      </ownedComment>
      <generalization xmi:id="LiteralString-_generalization.0" general="LiteralSpecification"/>
      <ownedAttribute xmi:id="LiteralString-value" name="value">
        <ownedComment xmi:id="LiteralString-value-_ownedComment.0" annotatedElement="LiteralString-value">
          <body>The specified String value.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="LiteralString-value-_lowerValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="LiteralString-integerValue" name="integerValue" visibility="protected" isQuery="true">
        <ownedParameter xmi:id="LiteralString-integerValue-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="LiteralString-unlimitedValue" name="unlimitedValue" visibility="protected" isQuery="true">
        <ownedParameter xmi:id="LiteralString-unlimitedValue-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="LiteralString-isComputable" name="isComputable" bodyCondition="LiteralString-isComputable-spec" isQuery="true" redefinedOperation="ValueSpecification-isComputable">
        <ownedComment xmi:id="LiteralString-isComputable-_ownedComment.0" annotatedElement="LiteralString-isComputable">
          <body>The query isComputable() is redefined to be true.</body>
        </ownedComment>
        <ownedRule xmi:id="LiteralString-isComputable-spec" name="spec" constrainedElement="LiteralString-isComputable">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralString-isComputable-spec-_specification">
            <language>OCL</language>
            <body>result = (true)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LiteralString-isComputable-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="LiteralString-stringValue" name="stringValue" bodyCondition="LiteralString-stringValue-spec" isQuery="true" redefinedOperation="ValueSpecification-stringValue">
        <ownedComment xmi:id="LiteralString-stringValue-_ownedComment.0" annotatedElement="LiteralString-stringValue">
          <body>The query stringValue() gives the value.</body>
        </ownedComment>
        <ownedRule xmi:id="LiteralString-stringValue-spec" name="spec" constrainedElement="LiteralString-stringValue">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralString-stringValue-spec-_specification">
            <language>OCL</language>
            <body>result = (value)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LiteralString-stringValue-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="LiteralUnlimitedNatural" name="LiteralUnlimitedNatural">
      <ownedComment xmi:id="LiteralUnlimitedNatural-_ownedComment.0" annotatedElement="LiteralUnlimitedNatural">
        <body>A LiteralUnlimitedNatural is a specification of an UnlimitedNatural number.</body>
      </ownedComment>
      <generalization xmi:id="LiteralUnlimitedNatural-_generalization.0" general="LiteralSpecification"/>
      <ownedAttribute xmi:id="LiteralUnlimitedNatural-value" name="value">
        <ownedComment xmi:id="LiteralUnlimitedNatural-value-_ownedComment.0" annotatedElement="LiteralUnlimitedNatural-value">
          <body>The specified UnlimitedNatural value.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        <defaultValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="LiteralUnlimitedNatural-value-_defaultValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="LiteralUnlimitedNatural-stringValue" name="stringValue" visibility="protected" isQuery="true">
        <ownedParameter xmi:id="LiteralUnlimitedNatural-stringValue-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="LiteralUnlimitedNatural-isComputable" name="isComputable" bodyCondition="LiteralUnlimitedNatural-isComputable-spec" isQuery="true" redefinedOperation="ValueSpecification-isComputable">
        <ownedComment xmi:id="LiteralUnlimitedNatural-isComputable-_ownedComment.0" annotatedElement="LiteralUnlimitedNatural-isComputable">
          <body>The query isComputable() is redefined to be true.</body>
        </ownedComment>
        <ownedRule xmi:id="LiteralUnlimitedNatural-isComputable-spec" name="spec" constrainedElement="LiteralUnlimitedNatural-isComputable">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralUnlimitedNatural-isComputable-spec-_specification">
            <language>OCL</language>
            <body>result = (true)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LiteralUnlimitedNatural-isComputable-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="LiteralUnlimitedNatural-unlimitedValue" name="unlimitedValue" bodyCondition="LiteralUnlimitedNatural-unlimitedValue-spec" isQuery="true" redefinedOperation="ValueSpecification-unlimitedValue">
        <ownedComment xmi:id="LiteralUnlimitedNatural-unlimitedValue-_ownedComment.0" annotatedElement="LiteralUnlimitedNatural-unlimitedValue">
          <body>The query unlimitedValue() gives the value.</body>
        </ownedComment>
        <ownedRule xmi:id="LiteralUnlimitedNatural-unlimitedValue-spec" name="spec" constrainedElement="LiteralUnlimitedNatural-unlimitedValue">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="LiteralUnlimitedNatural-unlimitedValue-spec-_specification">
            <language>OCL</language>
            <body>result = (value)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="LiteralUnlimitedNatural-unlimitedValue-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="Observation" name="Observation" isAbstract="true">
      <ownedComment xmi:id="Observation-_ownedComment.0" annotatedElement="Observation">
        <body>Observation specifies a value determined by observing an event or events that occur relative to other model Elements.</body>
      </ownedComment>
      <generalization xmi:id="Observation-_generalization.0" general="PackageableElement"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="OpaqueExpression" name="OpaqueExpression">
      <ownedComment xmi:id="OpaqueExpression-_ownedComment.0" annotatedElement="OpaqueExpression">
        <body>An OpaqueExpression is a ValueSpecification that specifies the computation of a collection of values either in terms of a UML Behavior or based on a textual statement in a language other than UML</body>
      </ownedComment>
      <ownedRule xmi:id="OpaqueExpression-language_body_size" name="language_body_size" constrainedElement="OpaqueExpression">
        <ownedComment xmi:id="OpaqueExpression-language_body_size-_ownedComment.0" annotatedElement="OpaqueExpression-language_body_size">
          <body>If the language attribute is not empty, then the size of the body and language arrays must be the same.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueExpression-language_body_size-_specification">
          <language>OCL</language>
          <body>language->notEmpty() implies (_'body'->size() = language->size())</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="OpaqueExpression-one_return_result_parameter" name="one_return_result_parameter" constrainedElement="OpaqueExpression">
        <ownedComment xmi:id="OpaqueExpression-one_return_result_parameter-_ownedComment.0" annotatedElement="OpaqueExpression-one_return_result_parameter">
          <body>The behavior must have exactly one return result parameter.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueExpression-one_return_result_parameter-_specification">
          <language>OCL</language>
          <body>behavior &lt;> null implies&#xD;
   behavior.ownedParameter->select(direction=ParameterDirectionKind::return)->size() = 1</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="OpaqueExpression-only_return_result_parameters" name="only_return_result_parameters" constrainedElement="OpaqueExpression">
        <ownedComment xmi:id="OpaqueExpression-only_return_result_parameters-_ownedComment.0" annotatedElement="OpaqueExpression-only_return_result_parameters">
          <body>The behavior may only have return result parameters.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueExpression-only_return_result_parameters-_specification">
          <language>OCL</language>
          <body>behavior &lt;> null implies behavior.ownedParameter->select(direction&lt;>ParameterDirectionKind::return)->isEmpty()</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="OpaqueExpression-_generalization.0" general="ValueSpecification"/>
      <ownedAttribute xmi:id="OpaqueExpression-behavior" name="behavior" type="Behavior" association="A_behavior_opaqueExpression">
        <ownedComment xmi:id="OpaqueExpression-behavior-_ownedComment.0" annotatedElement="OpaqueExpression-behavior">
          <body>Specifies the behavior of the OpaqueExpression as a UML Behavior.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OpaqueExpression-behavior-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="OpaqueExpression-body" name="body" isOrdered="true" isUnique="false">
        <ownedComment xmi:id="OpaqueExpression-body-_ownedComment.0" annotatedElement="OpaqueExpression-body">
          <body>A textual definition of the behavior of the OpaqueExpression, possibly in multiple languages.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OpaqueExpression-body-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="OpaqueExpression-body-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="OpaqueExpression-language" name="language" isOrdered="true">
        <ownedComment xmi:id="OpaqueExpression-language-_ownedComment.0" annotatedElement="OpaqueExpression-language">
          <body>Specifies the languages used to express the textual bodies of the OpaqueExpression.  Languages are matched to body Strings by order. The interpretation of the body depends on the languages. If the languages are unspecified, they may be implicit from the expression body or the context.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OpaqueExpression-language-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="OpaqueExpression-language-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="OpaqueExpression-result" name="result" type="Parameter" isReadOnly="true" isDerived="true" association="A_result_opaqueExpression">
        <ownedComment xmi:id="OpaqueExpression-result-_ownedComment.0" annotatedElement="OpaqueExpression-result">
          <body>If an OpaqueExpression is specified using a UML Behavior, then this refers to the single required return Parameter of that Behavior. When the Behavior completes execution, the values on this Parameter give the result of evaluating the OpaqueExpression.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OpaqueExpression-result-_lowerValue"/>
      </ownedAttribute>
      <ownedOperation xmi:id="OpaqueExpression-stringValue" name="stringValue" visibility="protected" isQuery="true">
        <ownedParameter xmi:id="OpaqueExpression-stringValue-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="OpaqueExpression-isIntegral" name="isIntegral" bodyCondition="OpaqueExpression-isIntegral-spec" isQuery="true">
        <ownedComment xmi:id="OpaqueExpression-isIntegral-_ownedComment.0" annotatedElement="OpaqueExpression-isIntegral">
          <body>The query isIntegral() tells whether an expression is intended to produce an Integer.</body>
        </ownedComment>
        <ownedRule xmi:id="OpaqueExpression-isIntegral-spec" name="spec" constrainedElement="OpaqueExpression-isIntegral">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueExpression-isIntegral-spec-_specification">
            <language>OCL</language>
            <body>result = (false)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="OpaqueExpression-isIntegral-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="OpaqueExpression-isNonNegative" name="isNonNegative" bodyCondition="OpaqueExpression-isNonNegative-spec" isQuery="true" precondition="OpaqueExpression-isNonNegative-pre">
        <ownedComment xmi:id="OpaqueExpression-isNonNegative-_ownedComment.0" annotatedElement="OpaqueExpression-isNonNegative">
          <body>The query isNonNegative() tells whether an integer expression has a non-negative value.</body>
        </ownedComment>
        <ownedRule xmi:id="OpaqueExpression-isNonNegative-pre" name="pre" constrainedElement="OpaqueExpression-isNonNegative">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueExpression-isNonNegative-pre-_specification">
            <language>OCL</language>
            <body>self.isIntegral()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:id="OpaqueExpression-isNonNegative-spec" name="spec" constrainedElement="OpaqueExpression-isNonNegative">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueExpression-isNonNegative-spec-_specification">
            <language>OCL</language>
            <body>result = (false)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="OpaqueExpression-isNonNegative-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="OpaqueExpression-isPositive" name="isPositive" bodyCondition="OpaqueExpression-isPositive-spec" isQuery="true" precondition="OpaqueExpression-isPositive-pre">
        <ownedComment xmi:id="OpaqueExpression-isPositive-_ownedComment.0" annotatedElement="OpaqueExpression-isPositive">
          <body>The query isPositive() tells whether an integer expression has a positive value.</body>
        </ownedComment>
        <ownedRule xmi:id="OpaqueExpression-isPositive-spec" name="spec" constrainedElement="OpaqueExpression-isPositive">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueExpression-isPositive-spec-_specification">
            <language>OCL</language>
            <body>result = (false)</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:id="OpaqueExpression-isPositive-pre" name="pre" constrainedElement="OpaqueExpression-isPositive">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueExpression-isPositive-pre-_specification">
            <language>OCL</language>
            <body>self.isIntegral()</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="OpaqueExpression-isPositive-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="OpaqueExpression-result.1" name="result" visibility="protected" bodyCondition="OpaqueExpression-result.1-spec" isQuery="true">
        <ownedComment xmi:id="OpaqueExpression-result.1-_ownedComment.0" annotatedElement="OpaqueExpression-result.1">
          <body>Derivation for OpaqueExpression::/result</body>
        </ownedComment>
        <ownedRule xmi:id="OpaqueExpression-result.1-spec" name="spec" constrainedElement="OpaqueExpression-result.1 OpaqueExpression-result">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueExpression-result.1-spec-_specification">
            <language>OCL</language>
            <body>result = (if behavior = null then&#xD;
	null&#xD;
else&#xD;
	behavior.ownedParameter->first()&#xD;
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="OpaqueExpression-result.1-result" name="result" type="Parameter" direction="return">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="OpaqueExpression-result.1-result-_lowerValue"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="OpaqueExpression-result.1-result-_upperValue" value="1"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="OpaqueExpression-value" name="value" bodyCondition="OpaqueExpression-value-spec" isQuery="true" precondition="OpaqueExpression-value-pre">
        <ownedComment xmi:id="OpaqueExpression-value-_ownedComment.0" annotatedElement="OpaqueExpression-value">
          <body>The query value() gives an integer value for an expression intended to produce one.</body>
        </ownedComment>
        <ownedRule xmi:id="OpaqueExpression-value-pre" name="pre" constrainedElement="OpaqueExpression-value">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueExpression-value-pre-_specification">
            <language>OCL</language>
            <body>self.isIntegral()</body>
          </specification>
        </ownedRule>
        <ownedRule xmi:id="OpaqueExpression-value-spec" name="spec" constrainedElement="OpaqueExpression-value">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="OpaqueExpression-value-spec-_specification">
            <language>OCL</language>
            <body>result = (0)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="OpaqueExpression-value-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="StringExpression" name="StringExpression">
      <ownedComment xmi:id="StringExpression-_ownedComment.0" annotatedElement="StringExpression">
        <body>A StringExpression is an Expression that specifies a String value that is derived by concatenating a sequence of operands with String values or a sequence of subExpressions, some of which might be template parameters.</body>
      </ownedComment>
      <ownedRule xmi:id="StringExpression-operands" name="operands" constrainedElement="StringExpression">
        <ownedComment xmi:id="StringExpression-operands-_ownedComment.0" annotatedElement="StringExpression-operands">
          <body>All the operands of a StringExpression must be LiteralStrings</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="StringExpression-operands-_specification">
          <language>OCL</language>
          <body>operand->forAll (oclIsKindOf (LiteralString))</body>
        </specification>
      </ownedRule>
      <ownedRule xmi:id="StringExpression-subexpressions" name="subexpressions" constrainedElement="StringExpression">
        <ownedComment xmi:id="StringExpression-subexpressions-_ownedComment.0" annotatedElement="StringExpression-subexpressions">
          <body>If a StringExpression has sub-expressions, it cannot have operands and vice versa (this avoids the problem of having to define a collating sequence between operands and subexpressions).</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="StringExpression-subexpressions-_specification">
          <language>OCL</language>
          <body>if subExpression->notEmpty() then operand->isEmpty() else operand->notEmpty() endif</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="StringExpression-_generalization.0" general="TemplateableElement"/>
      <generalization xmi:id="StringExpression-_generalization.1" general="Expression"/>
      <ownedAttribute xmi:id="StringExpression-owningExpression" name="owningExpression" type="StringExpression" subsettedProperty="Element-owner" association="A_subExpression_owningExpression">
        <ownedComment xmi:id="StringExpression-owningExpression-_ownedComment.0" annotatedElement="StringExpression-owningExpression">
          <body>The StringExpression of which this StringExpression is a subExpression.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StringExpression-owningExpression-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="StringExpression-subExpression" name="subExpression" type="StringExpression" isOrdered="true" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_subExpression_owningExpression">
        <ownedComment xmi:id="StringExpression-subExpression-_ownedComment.0" annotatedElement="StringExpression-subExpression">
          <body>The StringExpressions that constitute this StringExpression.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="StringExpression-subExpression-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="StringExpression-subExpression-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="StringExpression-stringValue" name="stringValue" bodyCondition="StringExpression-stringValue-spec" isQuery="true" redefinedOperation="ValueSpecification-stringValue">
        <ownedComment xmi:id="StringExpression-stringValue-_ownedComment.0" annotatedElement="StringExpression-stringValue">
          <body>The query stringValue() returns the String resulting from concatenating, in order, all the component String values of all the operands or subExpressions that are part of the StringExpression.</body>
        </ownedComment>
        <ownedRule xmi:id="StringExpression-stringValue-spec" name="spec" constrainedElement="StringExpression-stringValue">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="StringExpression-stringValue-spec-_specification">
            <language>OCL</language>
            <body>result = (if subExpression->notEmpty()
then subExpression->iterate(se; stringValue: String = '' | stringValue.concat(se.stringValue()))
else operand->iterate(op; stringValue: String = '' | stringValue.concat(op.stringValue()))
endif)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="StringExpression-stringValue-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="TimeConstraint" name="TimeConstraint">
      <ownedComment xmi:id="TimeConstraint-_ownedComment.0" annotatedElement="TimeConstraint">
        <body>A TimeConstraint is a Constraint that refers to a TimeInterval.</body>
      </ownedComment>
      <ownedRule xmi:id="TimeConstraint-has_one_constrainedElement" name="has_one_constrainedElement" constrainedElement="TimeConstraint">
        <ownedComment xmi:id="TimeConstraint-has_one_constrainedElement-_ownedComment.0" annotatedElement="TimeConstraint-has_one_constrainedElement">
          <body>A TimeConstraint has one constrainedElement.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="TimeConstraint-has_one_constrainedElement-_specification">
          <language>OCL</language>
          <body>constrainedElement->size() = 1</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="TimeConstraint-_generalization.0" general="IntervalConstraint"/>
      <ownedAttribute xmi:id="TimeConstraint-firstEvent" name="firstEvent">
        <ownedComment xmi:id="TimeConstraint-firstEvent-_ownedComment.0" annotatedElement="TimeConstraint-firstEvent">
          <body>The value of firstEvent is related to the constrainedElement. If firstEvent is true, then the corresponding observation event is the first time instant the execution enters the constrainedElement. If firstEvent is false, then the corresponding observation event is the last time instant the execution is within the constrainedElement.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TimeConstraint-firstEvent-_lowerValue"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="TimeConstraint-firstEvent-_defaultValue" value="true"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="TimeConstraint-specification" name="specification" type="TimeInterval" aggregation="composite" redefinedProperty="IntervalConstraint-specification Constraint-specification" association="A_specification_timeConstraint">
        <ownedComment xmi:id="TimeConstraint-specification-_ownedComment.0" annotatedElement="TimeConstraint-specification">
          <body>TheTimeInterval constraining the duration.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="TimeExpression" name="TimeExpression">
      <ownedComment xmi:id="TimeExpression-_ownedComment.0" annotatedElement="TimeExpression">
        <body>A TimeExpression is a ValueSpecification that represents a time value.</body>
      </ownedComment>
      <ownedRule xmi:id="TimeExpression-no_expr_requires_observation" name="no_expr_requires_observation" constrainedElement="TimeExpression">
        <ownedComment xmi:id="TimeExpression-no_expr_requires_observation-_ownedComment.0" annotatedElement="TimeExpression-no_expr_requires_observation">
          <body>If a TimeExpression has no expr, then it must have a single observation that is a TimeObservation.</body>
        </ownedComment>
        <specification xmi:type="uml:OpaqueExpression" xmi:id="TimeExpression-no_expr_requires_observation-_specification">
          <language>OCL</language>
          <body>expr = null implies (observation->size() = 1 and observation->forAll(oclIsKindOf(TimeObservation)))</body>
        </specification>
      </ownedRule>
      <generalization xmi:id="TimeExpression-_generalization.0" general="ValueSpecification"/>
      <ownedAttribute xmi:id="TimeExpression-expr" name="expr" type="ValueSpecification" aggregation="composite" subsettedProperty="Element-ownedElement" association="A_expr_timeExpression">
        <ownedComment xmi:id="TimeExpression-expr-_ownedComment.0" annotatedElement="TimeExpression-expr">
          <body>A ValueSpecification that evaluates to the value of the TimeExpression.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TimeExpression-expr-_lowerValue"/>
      </ownedAttribute>
      <ownedAttribute xmi:id="TimeExpression-observation" name="observation" type="Observation" association="A_observation_timeExpression">
        <ownedComment xmi:id="TimeExpression-observation-_ownedComment.0" annotatedElement="TimeExpression-observation">
          <body>Refers to the Observations that are involved in the computation of the TimeExpression value.</body>
        </ownedComment>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TimeExpression-observation-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="TimeExpression-observation-_upperValue" value="*"/>
      </ownedAttribute>
      <ownedOperation xmi:id="TimeExpression-stringValue" name="stringValue" visibility="protected" isQuery="true">
        <ownedParameter xmi:id="TimeExpression-stringValue-_ownedParameter.0" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="TimeInterval" name="TimeInterval">
      <ownedComment xmi:id="TimeInterval-_ownedComment.0" annotatedElement="TimeInterval">
        <body>A TimeInterval defines the range between two TimeExpressions.</body>
      </ownedComment>
      <generalization xmi:id="TimeInterval-_generalization.0" general="Interval"/>
      <ownedAttribute xmi:id="TimeInterval-max" name="max" type="TimeExpression" redefinedProperty="Interval-max" association="A_max_timeInterval">
        <ownedComment xmi:id="TimeInterval-max-_ownedComment.0" annotatedElement="TimeInterval-max">
          <body>Refers to the TimeExpression denoting the maximum value of the range.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="TimeInterval-min" name="min" type="TimeExpression" redefinedProperty="Interval-min" association="A_min_timeInterval">
        <ownedComment xmi:id="TimeInterval-min-_ownedComment.0" annotatedElement="TimeInterval-min">
          <body>Refers to the TimeExpression denoting the minimum value of the range.</body>
        </ownedComment>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="TimeObservation" name="TimeObservation">
      <ownedComment xmi:id="TimeObservation-_ownedComment.0" annotatedElement="TimeObservation">
        <body>A TimeObservation is a reference to a time instant during an execution. It points out the NamedElement in the model to observe and whether the observation is when this NamedElement is entered or when it is exited.</body>
      </ownedComment>
      <generalization xmi:id="TimeObservation-_generalization.0" general="Observation"/>
      <ownedAttribute xmi:id="TimeObservation-event" name="event" type="NamedElement" association="A_event_timeObservation">
        <ownedComment xmi:id="TimeObservation-event-_ownedComment.0" annotatedElement="TimeObservation-event">
          <body>The TimeObservation is determined by the entering or exiting of the event Element during execution.</body>
        </ownedComment>
      </ownedAttribute>
      <ownedAttribute xmi:id="TimeObservation-firstEvent" name="firstEvent">
        <ownedComment xmi:id="TimeObservation-firstEvent-_ownedComment.0" annotatedElement="TimeObservation-firstEvent">
          <body>The value of firstEvent is related to the event. If firstEvent is true, then the corresponding observation event is the first time instant the execution enters the event Element. If firstEvent is false, then the corresponding observation event is the time instant the execution exits the event Element.</body>
        </ownedComment>
        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="TimeObservation-firstEvent-_defaultValue" value="true"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" xmi:id="ValueSpecification" name="ValueSpecification" isAbstract="true">
      <ownedComment xmi:id="ValueSpecification-_ownedComment.0" annotatedElement="ValueSpecification">
        <body>A ValueSpecification is the specification of a (possibly empty) set of values. A ValueSpecification is a ParameterableElement that may be exposed as a formal TemplateParameter and provided as the actual parameter in the binding of a template.</body>
      </ownedComment>
      <generalization xmi:id="ValueSpecification-_generalization.0" general="TypedElement"/>
      <generalization xmi:id="ValueSpecification-_generalization.1" general="PackageableElement"/>
      <ownedOperation xmi:id="ValueSpecification-booleanValue" name="booleanValue" bodyCondition="ValueSpecification-booleanValue-spec" isQuery="true">
        <ownedComment xmi:id="ValueSpecification-booleanValue-_ownedComment.0" annotatedElement="ValueSpecification-booleanValue">
          <body>The query booleanValue() gives a single Boolean value when one can be computed.</body>
        </ownedComment>
        <ownedRule xmi:id="ValueSpecification-booleanValue-spec" name="spec" constrainedElement="ValueSpecification-booleanValue">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ValueSpecification-booleanValue-spec-_specification">
            <language>OCL</language>
            <body>result = (null)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="ValueSpecification-booleanValue-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ValueSpecification-booleanValue-result-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="ValueSpecification-integerValue" name="integerValue" bodyCondition="ValueSpecification-integerValue-spec" isQuery="true">
        <ownedComment xmi:id="ValueSpecification-integerValue-_ownedComment.0" annotatedElement="ValueSpecification-integerValue">
          <body>The query integerValue() gives a single Integer value when one can be computed.</body>
        </ownedComment>
        <ownedRule xmi:id="ValueSpecification-integerValue-spec" name="spec" constrainedElement="ValueSpecification-integerValue">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ValueSpecification-integerValue-spec-_specification">
            <language>OCL</language>
            <body>result = (null)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="ValueSpecification-integerValue-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ValueSpecification-integerValue-result-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="ValueSpecification-isCompatibleWith" name="isCompatibleWith" bodyCondition="ValueSpecification-isCompatibleWith-spec" isQuery="true" redefinedOperation="ParameterableElement-isCompatibleWith">
        <ownedComment xmi:id="ValueSpecification-isCompatibleWith-_ownedComment.0" annotatedElement="ValueSpecification-isCompatibleWith">
          <body>The query isCompatibleWith() determines if this ValueSpecification is compatible with the specified ParameterableElement. This ValueSpecification is compatible with ParameterableElement p if the kind of this ValueSpecification is the same as or a subtype of the kind of p. Further, if p is a TypedElement, then the type of this ValueSpecification must be conformant with the type of p.</body>
        </ownedComment>
        <ownedRule xmi:id="ValueSpecification-isCompatibleWith-spec" name="spec" constrainedElement="ValueSpecification-isCompatibleWith">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ValueSpecification-isCompatibleWith-spec-_specification">
            <language>OCL</language>
            <body>result = (self.oclIsKindOf(p.oclType()) and (p.oclIsKindOf(TypedElement) implies &#xD;
self.type.conformsTo(p.oclAsType(TypedElement).type)))</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="ValueSpecification-isCompatibleWith-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
        <ownedParameter xmi:id="ValueSpecification-isCompatibleWith-p" name="p" type="ParameterableElement"/>
      </ownedOperation>
      <ownedOperation xmi:id="ValueSpecification-isComputable" name="isComputable" bodyCondition="ValueSpecification-isComputable-spec" isQuery="true">
        <ownedComment xmi:id="ValueSpecification-isComputable-_ownedComment.0" annotatedElement="ValueSpecification-isComputable">
          <body>The query isComputable() determines whether a value specification can be computed in a model. This operation cannot be fully defined in OCL. A conforming implementation is expected to deliver true for this operation for all ValueSpecifications that it can compute, and to compute all of those for which the operation is true. A conforming implementation is expected to be able to compute at least the value of all LiteralSpecifications.</body>
        </ownedComment>
        <ownedRule xmi:id="ValueSpecification-isComputable-spec" name="spec" constrainedElement="ValueSpecification-isComputable">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ValueSpecification-isComputable-spec-_specification">
            <language>OCL</language>
            <body>result = (false)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="ValueSpecification-isComputable-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="ValueSpecification-isNull" name="isNull" bodyCondition="ValueSpecification-isNull-spec" isQuery="true">
        <ownedComment xmi:id="ValueSpecification-isNull-_ownedComment.0" annotatedElement="ValueSpecification-isNull">
          <body>The query isNull() returns true when it can be computed that the value is null.</body>
        </ownedComment>
        <ownedRule xmi:id="ValueSpecification-isNull-spec" name="spec" constrainedElement="ValueSpecification-isNull">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ValueSpecification-isNull-spec-_specification">
            <language>OCL</language>
            <body>result = (false)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="ValueSpecification-isNull-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="ValueSpecification-realValue" name="realValue" bodyCondition="ValueSpecification-realValue-spec" isQuery="true">
        <ownedComment xmi:id="ValueSpecification-realValue-_ownedComment.0" annotatedElement="ValueSpecification-realValue">
          <body>The query realValue() gives a single Real value when one can be computed.</body>
        </ownedComment>
        <ownedRule xmi:id="ValueSpecification-realValue-spec" name="spec" constrainedElement="ValueSpecification-realValue">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ValueSpecification-realValue-spec-_specification">
            <language>OCL</language>
            <body>result = (null)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="ValueSpecification-realValue-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ValueSpecification-realValue-result-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="ValueSpecification-stringValue" name="stringValue" bodyCondition="ValueSpecification-stringValue-spec" isQuery="true">
        <ownedComment xmi:id="ValueSpecification-stringValue-_ownedComment.0" annotatedElement="ValueSpecification-stringValue">
          <body>The query stringValue() gives a single String value when one can be computed.</body>
        </ownedComment>
        <ownedRule xmi:id="ValueSpecification-stringValue-spec" name="spec" constrainedElement="ValueSpecification-stringValue">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ValueSpecification-stringValue-spec-_specification">
            <language>OCL</language>
            <body>result = (null)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="ValueSpecification-stringValue-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ValueSpecification-stringValue-result-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
      <ownedOperation xmi:id="ValueSpecification-unlimitedValue" name="unlimitedValue" bodyCondition="ValueSpecification-unlimitedValue-spec" isQuery="true">
        <ownedComment xmi:id="ValueSpecification-unlimitedValue-_ownedComment.0" annotatedElement="ValueSpecification-unlimitedValue">
          <body>The query unlimitedValue() gives a single UnlimitedNatural value when one can be computed.</body>
        </ownedComment>
        <ownedRule xmi:id="ValueSpecification-unlimitedValue-spec" name="spec" constrainedElement="ValueSpecification-unlimitedValue">
          <specification xmi:type="uml:OpaqueExpression" xmi:id="ValueSpecification-unlimitedValue-spec-_specification">
            <language>OCL</language>
            <body>result = (null)</body>
          </specification>
        </ownedRule>
        <ownedParameter xmi:id="ValueSpecification-unlimitedValue-result" name="result" direction="return">
          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="ValueSpecification-unlimitedValue-result-_lowerValue"/>
        </ownedParameter>
      </ownedOperation>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_event_timeObservation" name="A_event_timeObservation" visibility="private" memberEnd="TimeObservation-event A_event_timeObservation-timeObservation">
      <ownedEnd xmi:id="A_event_timeObservation-timeObservation" name="timeObservation" type="TimeObservation" association="A_event_timeObservation">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_event_timeObservation-timeObservation-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_event_timeObservation-timeObservation-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_max_timeInterval" name="A_max_timeInterval" visibility="private" memberEnd="TimeInterval-max A_max_timeInterval-timeInterval">
      <generalization xmi:id="A_max_timeInterval-_generalization.0" general="A_max_interval"/>
      <ownedEnd xmi:id="A_max_timeInterval-timeInterval" name="timeInterval" type="TimeInterval" redefinedProperty="A_max_interval-interval" association="A_max_timeInterval">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_max_timeInterval-timeInterval-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_max_timeInterval-timeInterval-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_min_timeInterval" name="A_min_timeInterval" visibility="private" memberEnd="TimeInterval-min A_min_timeInterval-timeInterval">
      <generalization xmi:id="A_min_timeInterval-_generalization.0" general="A_min_interval"/>
      <ownedEnd xmi:id="A_min_timeInterval-timeInterval" name="timeInterval" type="TimeInterval" redefinedProperty="A_min_interval-interval" association="A_min_timeInterval">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_min_timeInterval-timeInterval-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_min_timeInterval-timeInterval-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_expr_timeExpression" name="A_expr_timeExpression" visibility="private" memberEnd="TimeExpression-expr A_expr_timeExpression-timeExpression">
      <ownedEnd xmi:id="A_expr_timeExpression-timeExpression" name="timeExpression" type="TimeExpression" subsettedProperty="Element-owner" association="A_expr_timeExpression">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_expr_timeExpression-timeExpression-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_observation_timeExpression" name="A_observation_timeExpression" visibility="private" memberEnd="TimeExpression-observation A_observation_timeExpression-timeExpression">
      <ownedEnd xmi:id="A_observation_timeExpression-timeExpression" name="timeExpression" type="TimeExpression" association="A_observation_timeExpression">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_observation_timeExpression-timeExpression-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_specification_timeConstraint" name="A_specification_timeConstraint" visibility="private" memberEnd="TimeConstraint-specification A_specification_timeConstraint-timeConstraint">
      <generalization xmi:id="A_specification_timeConstraint-_generalization.0" general="A_specification_intervalConstraint"/>
      <ownedEnd xmi:id="A_specification_timeConstraint-timeConstraint" name="timeConstraint" type="TimeConstraint" redefinedProperty="A_specification_intervalConstraint-intervalConstraint" association="A_specification_timeConstraint">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_specification_timeConstraint-timeConstraint-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_subExpression_owningExpression" name="A_subExpression_owningExpression" visibility="private" memberEnd="StringExpression-subExpression StringExpression-owningExpression"/>
    <packagedElement xmi:type="uml:Association" xmi:id="A_result_opaqueExpression" name="A_result_opaqueExpression" visibility="private" isDerived="true" memberEnd="OpaqueExpression-result A_result_opaqueExpression-opaqueExpression">
      <ownedEnd xmi:id="A_result_opaqueExpression-opaqueExpression" name="opaqueExpression" type="OpaqueExpression" association="A_result_opaqueExpression">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_result_opaqueExpression-opaqueExpression-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_result_opaqueExpression-opaqueExpression-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_behavior_opaqueExpression" name="A_behavior_opaqueExpression" visibility="private" memberEnd="OpaqueExpression-behavior A_behavior_opaqueExpression-opaqueExpression">
      <ownedEnd xmi:id="A_behavior_opaqueExpression-opaqueExpression" name="opaqueExpression" type="OpaqueExpression" association="A_behavior_opaqueExpression">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_behavior_opaqueExpression-opaqueExpression-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_behavior_opaqueExpression-opaqueExpression-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_specification_intervalConstraint" name="A_specification_intervalConstraint" visibility="private" memberEnd="IntervalConstraint-specification A_specification_intervalConstraint-intervalConstraint">
      <generalization xmi:id="A_specification_intervalConstraint-_generalization.0" general="A_specification_owningConstraint"/>
      <ownedEnd xmi:id="A_specification_intervalConstraint-intervalConstraint" name="intervalConstraint" type="IntervalConstraint" redefinedProperty="A_specification_owningConstraint-owningConstraint" association="A_specification_intervalConstraint">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_specification_intervalConstraint-intervalConstraint-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_max_interval" name="A_max_interval" visibility="private" memberEnd="Interval-max A_max_interval-interval">
      <ownedEnd xmi:id="A_max_interval-interval" name="interval" type="Interval" association="A_max_interval">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_max_interval-interval-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_max_interval-interval-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_min_interval" name="A_min_interval" visibility="private" memberEnd="Interval-min A_min_interval-interval">
      <ownedEnd xmi:id="A_min_interval-interval" name="interval" type="Interval" association="A_min_interval">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_min_interval-interval-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_min_interval-interval-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_operand_expression" name="A_operand_expression" visibility="private" memberEnd="Expression-operand A_operand_expression-expression">
      <ownedEnd xmi:id="A_operand_expression-expression" name="expression" type="Expression" subsettedProperty="Element-owner" association="A_operand_expression">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_operand_expression-expression-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_event_durationObservation" name="A_event_durationObservation" visibility="private" memberEnd="DurationObservation-event A_event_durationObservation-durationObservation">
      <ownedEnd xmi:id="A_event_durationObservation-durationObservation" name="durationObservation" type="DurationObservation" association="A_event_durationObservation">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_event_durationObservation-durationObservation-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_event_durationObservation-durationObservation-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_max_durationInterval" name="A_max_durationInterval" visibility="private" memberEnd="DurationInterval-max A_max_durationInterval-durationInterval">
      <generalization xmi:id="A_max_durationInterval-_generalization.0" general="A_max_interval"/>
      <ownedEnd xmi:id="A_max_durationInterval-durationInterval" name="durationInterval" type="DurationInterval" redefinedProperty="A_max_interval-interval" association="A_max_durationInterval">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_max_durationInterval-durationInterval-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_max_durationInterval-durationInterval-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_min_durationInterval" name="A_min_durationInterval" visibility="private" memberEnd="DurationInterval-min A_min_durationInterval-durationInterval">
      <generalization xmi:id="A_min_durationInterval-_generalization.0" general="A_min_interval"/>
      <ownedEnd xmi:id="A_min_durationInterval-durationInterval" name="durationInterval" type="DurationInterval" redefinedProperty="A_min_interval-interval" association="A_min_durationInterval">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_min_durationInterval-durationInterval-_lowerValue"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="A_min_durationInterval-durationInterval-_upperValue" value="*"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_specification_durationConstraint" name="A_specification_durationConstraint" visibility="private" memberEnd="DurationConstraint-specification A_specification_durationConstraint-durationConstraint">
      <generalization xmi:id="A_specification_durationConstraint-_generalization.0" general="A_specification_intervalConstraint"/>
      <ownedEnd xmi:id="A_specification_durationConstraint-durationConstraint" name="durationConstraint" type="DurationConstraint" redefinedProperty="A_specification_intervalConstraint-intervalConstraint" association="A_specification_durationConstraint">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_specification_durationConstraint-durationConstraint-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_expr_duration" name="A_expr_duration" visibility="private" memberEnd="Duration-expr A_expr_duration-duration">
      <ownedEnd xmi:id="A_expr_duration-duration" name="duration" type="Duration" subsettedProperty="Element-owner" association="A_expr_duration">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_expr_duration-duration-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" xmi:id="A_observation_duration" name="A_observation_duration" visibility="private" memberEnd="Duration-observation A_observation_duration-duration">
      <ownedEnd xmi:id="A_observation_duration-duration" name="duration" type="Duration" association="A_observation_duration">
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="A_observation_duration-duration-_lowerValue"/>
      </ownedEnd>
    </packagedElement>
    <profileApplication xmi:id="_profileApplication.0">
      <eAnnotations xmi:id="_profileApplication.0-_http2F2Fwww.eclipse.org2Fuml22F2.0.02FUML" source="http://www.eclipse.org/uml2/2.0.0/UML">
        <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
      </eAnnotations>
      <appliedProfile href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
    </profileApplication>
    <profileApplication xmi:id="_profileApplication.1">
      <eAnnotations xmi:id="_profileApplication.1-_http2F2Fwww.eclipse.org2Fuml22F2.0.02FUML" source="http://www.eclipse.org/uml2/2.0.0/UML">
        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
      </eAnnotations>
      <appliedProfile href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
    </profileApplication>
  </uml:Model>
  <Ecore:EPackage xmi:id="_LWVYQN7NEduglsXU_NKRsA" base_Package="_0" packageName="uml" nsPrefix="uml" nsURI="http://www.eclipse.org/uml2/5.0.0/UML" basePackage="org.eclipse.uml2" prefix="UML"/>
  <Ecore:EGenericType xmi:id="_PUkIYN7NEduglsXU_NKRsA" base_DataType="Profile-EMap_EJavaObject_EJavaObject"/>
  <Ecore:EGenericType xmi:id="_QfhfoN7NEduglsXU_NKRsA" base_DataType="Profile-EMap_EString_EString"/>
  <Ecore:EOperation xmi:id="_SnLRYMb4EdyrC427ygySag" base_Operation="OpaqueExpression-result.1" operationName="getResult" visibility="None"/>
  <Ecore:EOperation xmi:id="_xkIRwMb4EdyrC427ygySag" base_Operation="Parameter-default.1" operationName="getDefault" visibility="None"/>
  <Ecore:EOperation xmi:id="_zi8H0Mb4EdyrC427ygySag" base_Operation="Parameter-isSetDefault" visibility="None"/>
  <Ecore:EOperation xmi:id="_1Bty8Mb4EdyrC427ygySag" base_Operation="Parameter-setDefault" visibility="None"/>
  <Ecore:EOperation xmi:id="_3E_SQMb4EdyrC427ygySag" base_Operation="Parameter-unsetDefault" visibility="None"/>
  <Ecore:EOperation xmi:id="_hObjwMb6EdyrC427ygySag" base_Operation="Class-extension.1" operationName="getExtensions" visibility="None"/>
  <Ecore:EOperation xmi:id="_kCb8cMb6EdyrC427ygySag" base_Operation="ExtensionEnd-getLower" visibility="None"/>
  <Ecore:EOperation xmi:id="_wTSDAMb6EdyrC427ygySag" base_Operation="RedefinableTemplateSignature-inheritedParameter.1" operationName="getInheritedParameters" visibility="None"/>
  <Ecore:EOperation xmi:id="_26LegMb6EdyrC427ygySag" base_Operation="OpaqueExpression-stringValue" visibility="None"/>
  <Ecore:EOperation xmi:id="_5WV-8Mb6EdyrC427ygySag" base_Operation="LiteralInteger-stringValue" visibility="None"/>
  <Ecore:EOperation xmi:id="_n89b0Mb7EdyrC427ygySag" base_Operation="LiteralBoolean-stringValue" visibility="None"/>
  <Ecore:EOperation xmi:id="_poGH8Mb7EdyrC427ygySag" base_Operation="MultiplicityElement-setLower" visibility="None"/>
  <Ecore:EOperation xmi:id="_q6DfEMb7EdyrC427ygySag" base_Operation="MultiplicityElement-setUpper" visibility="None"/>
  <Ecore:EOperation xmi:id="_wtF0sMb7EdyrC427ygySag" base_Operation="Property-setIsComposite" visibility="None"/>
  <Ecore:EOperation xmi:id="_xr-e0Mb7EdyrC427ygySag" base_Operation="Property-setOpposite" visibility="None"/>
  <Ecore:EOperation xmi:id="_ADORMMb8EdyrC427ygySag" base_Operation="Operation-lower.1" operationName="getLower" visibility="None"/>
  <Ecore:EOperation xmi:id="_Bqyr8Mb8EdyrC427ygySag" base_Operation="Operation-upper.1" operationName="getUpper" visibility="None"/>
  <Ecore:EOperation xmi:id="_M8TccMb8EdyrC427ygySag" base_Operation="InstanceValue-stringValue" visibility="None"/>
  <Ecore:EOperation xmi:id="_O5LY0Mb8EdyrC427ygySag" base_Operation="LiteralUnlimitedNatural-stringValue" visibility="None"/>
  <Ecore:EOperation xmi:id="_Qrd10Mb8EdyrC427ygySag" base_Operation="Behavior-context.1" operationName="getContext" visibility="None"/>
  <Ecore:EOperation xmi:id="_SnJfYMb8EdyrC427ygySag" base_Operation="Port-provided.1" operationName="getProvideds" visibility="None"/>
  <Ecore:EOperation xmi:id="_UIAOIMb8EdyrC427ygySag" base_Operation="Port-required.1" operationName="getRequireds" visibility="None"/>
  <Ecore:EOperation xmi:id="_WQMpsMb8EdyrC427ygySag" base_Operation="ConnectorEnd-definingEnd.1" operationName="getDefiningEnd" visibility="None"/>
  <Ecore:EOperation xmi:id="_YY_iMMb8EdyrC427ygySag" base_Operation="Message-messageKind.1" operationName="getMessageKind" visibility="None"/>
  <Ecore:EOperation xmi:id="_oEJMcMb8EdyrC427ygySag" base_Operation="Duration-stringValue" visibility="None"/>
  <Ecore:EOperation xmi:id="_p3eLQMb8EdyrC427ygySag" base_Operation="TimeExpression-stringValue" visibility="None"/>
  <Ecore:EOperation xmi:id="_tDBhQMb8EdyrC427ygySag" base_Operation="LiteralString-integerValue" visibility="None"/>
  <Ecore:EOperation xmi:id="_upizIMb8EdyrC427ygySag" base_Operation="LiteralString-unlimitedValue" visibility="None"/>
  <Ecore:EAttribute xmi:id="_qlk0MLGzEeCDe8CO90iVKQ" isUnsettable="true" xmlFeatureKind="Element" base_Property="Comment-body"/>
  <Ecore:EAttribute xmi:id="_F9XrwLG0EeCDe8CO90iVKQ" isUnsettable="true" base_Property="NamedElement-name"/>
  <Ecore:EAttribute xmi:id="_Y0N18LG0EeCDe8CO90iVKQ" isUnsettable="true" base_Property="NamedElement-visibility"/>
  <Ecore:EAttribute xmi:id="_m8ZRkLG0EeCDe8CO90iVKQ" isUnsettable="true" base_Property="ElementImport-alias"/>
  <Ecore:EAttribute xmi:id="_78jRoLG0EeCDe8CO90iVKQ" isUnsettable="true" xmlFeatureKind="Element" base_Property="OpaqueExpression-body"/>
  <Ecore:EAttribute xmi:id="_HIUmgLG1EeCDe8CO90iVKQ" isUnsettable="true" base_Property="OpaqueExpression-language"/>
  <Ecore:EAttribute xmi:id="_ez3OwLG1EeCDe8CO90iVKQ" isUnsettable="true" base_Property="Parameter-default"/>
  <Ecore:EAttribute xmi:id="_7MAJALG1EeCDe8CO90iVKQ" isUnsettable="true" base_Property="Parameter-effect"/>
  <Ecore:EAttribute xmi:id="_gB_ZULG2EeCDe8CO90iVKQ" isUnsettable="true" base_Property="DeploymentSpecification-deploymentLocation"/>
  <Ecore:EAttribute xmi:id="_oqhVYLG2EeCDe8CO90iVKQ" isUnsettable="true" base_Property="DeploymentSpecification-executionLocation"/>
  <Ecore:EAttribute xmi:id="_15YjYLG2EeCDe8CO90iVKQ" isUnsettable="true" base_Property="Artifact-fileName"/>
  <Ecore:EAttribute xmi:id="_VA4m4LG3EeCDe8CO90iVKQ" isUnsettable="true" base_Property="Image-content"/>
  <Ecore:EAttribute xmi:id="_dFvOILG3EeCDe8CO90iVKQ" isUnsettable="true" base_Property="Image-location"/>
  <Ecore:EAttribute xmi:id="_lgZGQLG3EeCDe8CO90iVKQ" isUnsettable="true" base_Property="Image-format"/>
  <Ecore:EAttribute xmi:id="_yBw8ILG3EeCDe8CO90iVKQ" isUnsettable="true" base_Property="Model-viewpoint"/>
  <Ecore:EAttribute xmi:id="_A6JssLG4EeCDe8CO90iVKQ" isUnsettable="true" base_Property="Expression-symbol"/>
  <Ecore:EAttribute xmi:id="_XOU5YLG4EeCDe8CO90iVKQ" isUnsettable="true" base_Property="LiteralString-value"/>
  <Ecore:EAttribute xmi:id="_tNrsoLG4EeCDe8CO90iVKQ" isUnsettable="true" xmlFeatureKind="Element" base_Property="OpaqueBehavior-body"/>
  <Ecore:EAttribute xmi:id="_zHmtYLG4EeCDe8CO90iVKQ" isUnsettable="true" base_Property="OpaqueBehavior-language"/>
  <Ecore:EAttribute xmi:id="_CYKtYLG5EeCDe8CO90iVKQ" isUnsettable="true" xmlFeatureKind="Element" base_Property="OpaqueAction-body"/>
  <Ecore:EAttribute xmi:id="_FL4LILG5EeCDe8CO90iVKQ" isUnsettable="true" base_Property="OpaqueAction-language"/>
  <Ecore:EOperation xmi:id="_glNIILKHEeCwDd6B2NQzWA" base_Operation="Operation-type.1" operationName="getType" visibility="None"/>
  <Ecore:EOperation xmi:id="_Lsf0QLLREeCsYvaJqFFivQ" base_Operation="Action-context.1" operationName="getContext" visibility="None"/>
  <Ecore:EOperation xmi:id="_CRhSILLSEeCsYvaJqFFivQ" base_Operation="Association-endType.1" operationName="getEndTypes" visibility="None"/>
  <Ecore:EOperation xmi:id="_q1_mYLLSEeCsYvaJqFFivQ" base_Operation="Class-superClass.1" operationName="getSuperClasses" visibility="None"/>
  <Ecore:EOperation xmi:id="_52-SQLLSEeCsYvaJqFFivQ" base_Operation="Classifier-general.1" operationName="getGenerals" visibility="None"/>
  <Ecore:EOperation xmi:id="_JTGpELLTEeCsYvaJqFFivQ" base_Operation="Classifier-inheritedMember.1" operationName="getInheritedMembers" visibility="None"/>
  <Ecore:EOperation xmi:id="_VEmrwLLUEeCsYvaJqFFivQ" base_Operation="Component-provided.1" operationName="getProvideds" visibility="None"/>
  <Ecore:EOperation xmi:id="_tPlpELLUEeCsYvaJqFFivQ" base_Operation="Component-required.1" operationName="getRequireds" visibility="None"/>
  <Ecore:EOperation xmi:id="_LwnicLLVEeCsYvaJqFFivQ" base_Operation="ConnectableElement-end.1" operationName="getEnds" visibility="None"/>
  <Ecore:EOperation xmi:id="_rodBQLLWEeCsYvaJqFFivQ" base_Operation="Connector-kind.1" operationName="getKind" visibility="None"/>
  <Ecore:EOperation xmi:id="_9YlJELLYEeCsYvaJqFFivQ" base_Operation="DeploymentTarget-deployedElement.1" operationName="getDeployedElements" visibility="None"/>
  <Ecore:EOperation xmi:id="_WhXsQLL2EeCBifIhhuFqZA" base_Operation="EncapsulatedClassifier-ownedPort.1" operationName="getOwnedPorts" visibility="None"/>
  <Ecore:EOperation xmi:id="_uIYZ0LL2EeCBifIhhuFqZA" base_Operation="EnumerationLiteral-classifier.1" operationName="getClassifier"/>
  <Ecore:EOperation xmi:id="_GdT9ULL3EeCBifIhhuFqZA" base_Operation="Extension-metaclass.1" operationName="getMetaclass" visibility="None"/>
  <Ecore:EOperation xmi:id="_ezWUELL3EeCBifIhhuFqZA" base_Operation="MultiplicityElement-lower.1" operationName="getLower" visibility="None"/>
  <Ecore:EOperation xmi:id="_ig3HoLL3EeCBifIhhuFqZA" base_Operation="MultiplicityElement-upper.1" operationName="getUpper" visibility="None"/>
  <Ecore:EOperation xmi:id="_0bHGsLL3EeCBifIhhuFqZA" base_Operation="NamedElement-namespace.1" operationName="getNamespace" visibility="None"/>
  <Ecore:EOperation xmi:id="_GMe2kLL4EeCBifIhhuFqZA" base_Operation="NamedElement-qualifiedName.1" operationName="getQualifiedName" visibility="None"/>
  <Ecore:EOperation xmi:id="_WLi7ULL4EeCBifIhhuFqZA" base_Operation="Namespace-importedMember.1" operationName="getImportedMembers" visibility="None"/>
  <Ecore:EOperation xmi:id="_kOOy8LL4EeCBifIhhuFqZA" base_Operation="Namespace-ownedMember.1" operationName="getOwnedMembers" visibility="None"/>
  <Ecore:EOperation xmi:id="_K1fzoLL5EeCBifIhhuFqZA" base_Operation="Package-nestedPackage.1" operationName="getNestedPackages" visibility="None"/>
  <Ecore:EOperation xmi:id="_rz9_0LL5EeCBifIhhuFqZA" base_Operation="Package-ownedStereotype.1" operationName="getOwnedStereotypes" visibility="None"/>
  <Ecore:EOperation xmi:id="_ANO_ALL6EeCBifIhhuFqZA" base_Operation="Package-ownedType.1" operationName="getOwnedTypes" visibility="None"/>
  <Ecore:EOperation xmi:id="_zo6GULL6EeCBifIhhuFqZA" base_Operation="Property-opposite.1" operationName="getOpposite" visibility="None"/>
  <Ecore:EOperation xmi:id="_SxtxYLL7EeCBifIhhuFqZA" base_Operation="ProtocolTransition-referred.1" operationName="getReferreds" visibility="None"/>
  <Ecore:EOperation xmi:id="_1Kjp0LL7EeCBifIhhuFqZA" base_Operation="Stereotype-profile.1" operationName="getProfile" visibility="None"/>
  <Ecore:EOperation xmi:id="_G_HQkLL8EeCBifIhhuFqZA" base_Operation="StructuredClassifier-part.1" operationName="getParts" visibility="None"/>
  <Ecore:EOperation xmi:id="_0SoRYLL9EeCBifIhhuFqZA" base_Operation="Vertex-incoming.1" operationName="getIncomings" visibility="None"/>
  <Ecore:EOperation xmi:id="_BI5ZMLL-EeCBifIhhuFqZA" base_Operation="Vertex-outgoing.1" operationName="getOutgoings" visibility="None"/>
  <Ecore:EOperation xmi:id="_dy4cULNJEeCT16-4OmDs9g" base_Operation="EnumerationLiteral-getClassifiers" visibility="None"/>
  <Ecore:EAttribute xmi:id="_dFQKQNwaEeCT5O2F6sGn5g" isUnsettable="true" base_Property="Behavior-isReentrant"/>
  <Ecore:EReference xmi:id="_JWtREAtDEeGcpbeCPJfCmw" xmlName="group" xmlFeatureKind="Element" base_Property="Activity-ownedGroup"/>
  <Ecore:EReference xmi:id="_N4I04AtDEeGcpbeCPJfCmw" xmlName="node" xmlFeatureKind="Element" base_Property="Activity-ownedNode"/>
  <Ecore:EReference xmi:id="_1XKowBCNEeG9F6n8Twp9jA" xmlFeatureKind="Attribute" base_Property="Activity-node">
    <annotation>http://www.eclipse.org/emf/CDO persistent='true' filter='ownedNode'</annotation>
  </Ecore:EReference>
  <Ecore:EReference xmi:id="_4FNjYBCNEeG9F6n8Twp9jA" xmlFeatureKind="Attribute" base_Property="Activity-group">
    <annotation>http://www.eclipse.org/emf/CDO persistent='true' filter='ownedGroup'</annotation>
  </Ecore:EReference>
  <Ecore:EAttribute xmi:id="_oHuy0IPZEeOyLuI0bir0Bg" isTransient="true" isVolatile="true" isUnsettable="true" visibility="None" base_Property="Property-default"/>
  <Ecore:EOperation xmi:id="_64Y1cIPZEeOyLuI0bir0Bg" base_Operation="Property-isSetDefault" visibility="None"/>
  <Ecore:EOperation xmi:id="_GwdPoIPaEeOyLuI0bir0Bg" base_Operation="Property-unsetDefault" visibility="None"/>
  <Ecore:EOperation xmi:id="_6p4ogIRfEeOrzvVsV3Q4sA" base_Operation="NamedElement-clientDependency.1" operationName="getClientDependencies" visibility="None"/>
  <Ecore:EAttribute xmi:id="_nyeDgH2aEeSVK_cyXH-KWw" isUnsettable="true" base_Property="PackageableElement-visibility"/>
  <standard:Metamodel xmi:id="_blzWQIx_EeOumeDJYV0ScA" base_Model="_0"/>
  <standard:Metaclass xmi:id="_bmO0EIx_EeOumeDJYV0ScA" base_Class="ValueSpecificationAction"/>
  <standard:Metaclass xmi:id="_bmO0EYx_EeOumeDJYV0ScA" base_Class="VariableAction"/>
  <standard:Metaclass xmi:id="_bmPbIIx_EeOumeDJYV0ScA" base_Class="WriteLinkAction"/>
  <standard:Metaclass xmi:id="_bmPbIYx_EeOumeDJYV0ScA" base_Class="WriteStructuralFeatureAction"/>
  <standard:Metaclass xmi:id="_bmQCMIx_EeOumeDJYV0ScA" base_Class="WriteVariableAction"/>
  <standard:Metaclass xmi:id="_bmQCMYx_EeOumeDJYV0ScA" base_Class="AcceptCallAction"/>
  <standard:Metaclass xmi:id="_bmQpQIx_EeOumeDJYV0ScA" base_Class="AcceptEventAction"/>
  <standard:Metaclass xmi:id="_bmQpQYx_EeOumeDJYV0ScA" base_Class="Action"/>
  <standard:Metaclass xmi:id="_bmRQUIx_EeOumeDJYV0ScA" base_Class="ActionInputPin"/>
  <standard:Metaclass xmi:id="_bmR3YIx_EeOumeDJYV0ScA" base_Class="AddStructuralFeatureValueAction"/>
  <standard:Metaclass xmi:id="_bmR3YYx_EeOumeDJYV0ScA" base_Class="AddVariableValueAction"/>
  <standard:Metaclass xmi:id="_bmSecIx_EeOumeDJYV0ScA" base_Class="BroadcastSignalAction"/>
  <standard:Metaclass xmi:id="_bmTFgIx_EeOumeDJYV0ScA" base_Class="CallAction"/>
  <standard:Metaclass xmi:id="_bmTskIx_EeOumeDJYV0ScA" base_Class="CallBehaviorAction"/>
  <standard:Metaclass xmi:id="_bmTskYx_EeOumeDJYV0ScA" base_Class="CallOperationAction"/>
  <standard:Metaclass xmi:id="_bmUToIx_EeOumeDJYV0ScA" base_Class="Clause"/>
  <standard:Metaclass xmi:id="_bmU6sIx_EeOumeDJYV0ScA" base_Class="ClearAssociationAction"/>
  <standard:Metaclass xmi:id="_bmVhwIx_EeOumeDJYV0ScA" base_Class="ClearStructuralFeatureAction"/>
  <standard:Metaclass xmi:id="_bmVhwYx_EeOumeDJYV0ScA" base_Class="ClearVariableAction"/>
  <standard:Metaclass xmi:id="_bmWI0Ix_EeOumeDJYV0ScA" base_Class="ConditionalNode"/>
  <standard:Metaclass xmi:id="_bmWv4Ix_EeOumeDJYV0ScA" base_Class="CreateLinkAction"/>
  <standard:Metaclass xmi:id="_bmWv4Yx_EeOumeDJYV0ScA" base_Class="CreateLinkObjectAction"/>
  <standard:Metaclass xmi:id="_bmhH8Ix_EeOumeDJYV0ScA" base_Class="CreateObjectAction"/>
  <standard:Metaclass xmi:id="_bmhvAIx_EeOumeDJYV0ScA" base_Class="DestroyLinkAction"/>
  <standard:Metaclass xmi:id="_bmiWEIx_EeOumeDJYV0ScA" base_Class="DestroyObjectAction"/>
  <standard:Metaclass xmi:id="_bmi9IIx_EeOumeDJYV0ScA" base_Class="ExpansionNode"/>
  <standard:Metaclass xmi:id="_bmi9IYx_EeOumeDJYV0ScA" base_Class="ExpansionRegion"/>
  <standard:Metaclass xmi:id="_bmjkMIx_EeOumeDJYV0ScA" base_Class="InputPin"/>
  <standard:Metaclass xmi:id="_bmkLQIx_EeOumeDJYV0ScA" base_Class="InvocationAction"/>
  <standard:Metaclass xmi:id="_bmkLQYx_EeOumeDJYV0ScA" base_Class="LinkAction"/>
  <standard:Metaclass xmi:id="_bmkyUIx_EeOumeDJYV0ScA" base_Class="LinkEndCreationData"/>
  <standard:Metaclass xmi:id="_bmlZYIx_EeOumeDJYV0ScA" base_Class="LinkEndData"/>
  <standard:Metaclass xmi:id="_bmmAcIx_EeOumeDJYV0ScA" base_Class="LinkEndDestructionData"/>
  <standard:Metaclass xmi:id="_bmmngIx_EeOumeDJYV0ScA" base_Class="LoopNode"/>
  <standard:Metaclass xmi:id="_bmn1oIx_EeOumeDJYV0ScA" base_Class="OpaqueAction"/>
  <standard:Metaclass xmi:id="_bmn1oYx_EeOumeDJYV0ScA" base_Class="OutputPin"/>
  <standard:Metaclass xmi:id="_bmocsIx_EeOumeDJYV0ScA" base_Class="Pin"/>
  <standard:Metaclass xmi:id="_bmpDwIx_EeOumeDJYV0ScA" base_Class="QualifierValue"/>
  <standard:Metaclass xmi:id="_bmpq0Ix_EeOumeDJYV0ScA" base_Class="RaiseExceptionAction"/>
  <standard:Metaclass xmi:id="_bmpq0Yx_EeOumeDJYV0ScA" base_Class="ReadExtentAction"/>
  <standard:Metaclass xmi:id="_bmqR4Ix_EeOumeDJYV0ScA" base_Class="ReadIsClassifiedObjectAction"/>
  <standard:Metaclass xmi:id="_bmq48Ix_EeOumeDJYV0ScA" base_Class="ReadLinkAction"/>
  <standard:Metaclass xmi:id="_bmrgAIx_EeOumeDJYV0ScA" base_Class="ReadLinkObjectEndAction"/>
  <standard:Metaclass xmi:id="_bmsHEIx_EeOumeDJYV0ScA" base_Class="ReadLinkObjectEndQualifierAction"/>
  <standard:Metaclass xmi:id="_bmsuIIx_EeOumeDJYV0ScA" base_Class="ReadSelfAction"/>
  <standard:Metaclass xmi:id="_bmtVMIx_EeOumeDJYV0ScA" base_Class="ReadStructuralFeatureAction"/>
  <standard:Metaclass xmi:id="_bmtVMYx_EeOumeDJYV0ScA" base_Class="ReadVariableAction"/>
  <standard:Metaclass xmi:id="_bmt8QIx_EeOumeDJYV0ScA" base_Class="ReclassifyObjectAction"/>
  <standard:Metaclass xmi:id="_bmujUIx_EeOumeDJYV0ScA" base_Class="ReduceAction"/>
  <standard:Metaclass xmi:id="_bmvKYIx_EeOumeDJYV0ScA" base_Class="RemoveStructuralFeatureValueAction"/>
  <standard:Metaclass xmi:id="_bmvKYYx_EeOumeDJYV0ScA" base_Class="RemoveVariableValueAction"/>
  <standard:Metaclass xmi:id="_bmvxcIx_EeOumeDJYV0ScA" base_Class="ReplyAction"/>
  <standard:Metaclass xmi:id="_bmwYgIx_EeOumeDJYV0ScA" base_Class="SendObjectAction"/>
  <standard:Metaclass xmi:id="_bmw_kIx_EeOumeDJYV0ScA" base_Class="SendSignalAction"/>
  <standard:Metaclass xmi:id="_bmw_kYx_EeOumeDJYV0ScA" base_Class="SequenceNode"/>
  <standard:Metaclass xmi:id="_bmxmoIx_EeOumeDJYV0ScA" base_Class="StartClassifierBehaviorAction"/>
  <standard:Metaclass xmi:id="_bmyNsIx_EeOumeDJYV0ScA" base_Class="StartObjectBehaviorAction"/>
  <standard:Metaclass xmi:id="_bmy0wIx_EeOumeDJYV0ScA" base_Class="StructuralFeatureAction"/>
  <standard:Metaclass xmi:id="_bmzb0Ix_EeOumeDJYV0ScA" base_Class="StructuredActivityNode"/>
  <standard:Metaclass xmi:id="_bm0p8Ix_EeOumeDJYV0ScA" base_Class="TestIdentityAction"/>
  <standard:Metaclass xmi:id="_bm1RAIx_EeOumeDJYV0ScA" base_Class="UnmarshallAction"/>
  <standard:Metaclass xmi:id="_bm1RAYx_EeOumeDJYV0ScA" base_Class="ValuePin"/>
  <standard:Metaclass xmi:id="_bm9z4Ix_EeOumeDJYV0ScA" base_Class="Activity"/>
  <standard:Metaclass xmi:id="_bm_CAIx_EeOumeDJYV0ScA" base_Class="ActivityEdge"/>
  <standard:Metaclass xmi:id="_bnAQIIx_EeOumeDJYV0ScA" base_Class="ActivityFinalNode"/>
  <standard:Metaclass xmi:id="_bnA3MIx_EeOumeDJYV0ScA" base_Class="ActivityGroup"/>
  <standard:Metaclass xmi:id="_bnCFUIx_EeOumeDJYV0ScA" base_Class="ActivityNode"/>
  <standard:Metaclass xmi:id="_bnDTcIx_EeOumeDJYV0ScA" base_Class="ActivityParameterNode"/>
  <standard:Metaclass xmi:id="_bnD6gIx_EeOumeDJYV0ScA" base_Class="ActivityPartition"/>
  <standard:Metaclass xmi:id="_bnFIoIx_EeOumeDJYV0ScA" base_Class="CentralBufferNode"/>
  <standard:Metaclass xmi:id="_bnFvsIx_EeOumeDJYV0ScA" base_Class="ControlFlow"/>
  <standard:Metaclass xmi:id="_bnFvsYx_EeOumeDJYV0ScA" base_Class="ControlNode"/>
  <standard:Metaclass xmi:id="_bnGWwIx_EeOumeDJYV0ScA" base_Class="DataStoreNode"/>
  <standard:Metaclass xmi:id="_bnG90Ix_EeOumeDJYV0ScA" base_Class="DecisionNode"/>
  <standard:Metaclass xmi:id="_bnHk4Ix_EeOumeDJYV0ScA" base_Class="ExceptionHandler"/>
  <standard:Metaclass xmi:id="_bnIzAIx_EeOumeDJYV0ScA" base_Class="ExecutableNode"/>
  <standard:Metaclass xmi:id="_bnJaEIx_EeOumeDJYV0ScA" base_Class="FinalNode"/>
  <standard:Metaclass xmi:id="_bnJaEYx_EeOumeDJYV0ScA" base_Class="FlowFinalNode"/>
  <standard:Metaclass xmi:id="_bnKBIIx_EeOumeDJYV0ScA" base_Class="ForkNode"/>
  <standard:Metaclass xmi:id="_bnKoMIx_EeOumeDJYV0ScA" base_Class="InitialNode"/>
  <standard:Metaclass xmi:id="_bnLPQIx_EeOumeDJYV0ScA" base_Class="InterruptibleActivityRegion"/>
  <standard:Metaclass xmi:id="_bnL2UIx_EeOumeDJYV0ScA" base_Class="JoinNode"/>
  <standard:Metaclass xmi:id="_bnMdYIx_EeOumeDJYV0ScA" base_Class="MergeNode"/>
  <standard:Metaclass xmi:id="_bnNEcIx_EeOumeDJYV0ScA" base_Class="ObjectFlow"/>
  <standard:Metaclass xmi:id="_bnOSkIx_EeOumeDJYV0ScA" base_Class="ObjectNode"/>
  <standard:Metaclass xmi:id="_bnO5oIx_EeOumeDJYV0ScA" base_Class="Variable"/>
  <standard:Metaclass xmi:id="_bnTyIIx_EeOumeDJYV0ScA" base_Class="Substitution"/>
  <standard:Metaclass xmi:id="_bnUZMIx_EeOumeDJYV0ScA" base_Class="BehavioralFeature"/>
  <standard:Metaclass xmi:id="_bnW1cIx_EeOumeDJYV0ScA" base_Class="Classifier"/>
  <standard:Metaclass xmi:id="_bncVAIx_EeOumeDJYV0ScA" base_Class="ClassifierTemplateParameter"/>
  <standard:Metaclass xmi:id="_bndjIIx_EeOumeDJYV0ScA" base_Class="Feature"/>
  <standard:Metaclass xmi:id="_bneKMIx_EeOumeDJYV0ScA" base_Class="Generalization"/>
  <standard:Metaclass xmi:id="_bnexQIx_EeOumeDJYV0ScA" base_Class="GeneralizationSet"/>
  <standard:Metaclass xmi:id="_bnfYUIx_EeOumeDJYV0ScA" base_Class="InstanceSpecification"/>
  <standard:Metaclass xmi:id="_bnf_YIx_EeOumeDJYV0ScA" base_Class="InstanceValue"/>
  <standard:Metaclass xmi:id="_bngmcIx_EeOumeDJYV0ScA" base_Class="Operation"/>
  <standard:Metaclass xmi:id="_bnjpwIx_EeOumeDJYV0ScA" base_Class="OperationTemplateParameter"/>
  <standard:Metaclass xmi:id="_bnjpwYx_EeOumeDJYV0ScA" base_Class="Parameter"/>
  <standard:Metaclass xmi:id="_bnle8Ix_EeOumeDJYV0ScA" base_Class="ParameterSet"/>
  <standard:Metaclass xmi:id="_bnmGAIx_EeOumeDJYV0ScA" base_Class="Property"/>
  <standard:Metaclass xmi:id="_bnqXcIx_EeOumeDJYV0ScA" base_Class="RedefinableElement"/>
  <standard:Metaclass xmi:id="_bnq-gIx_EeOumeDJYV0ScA" base_Class="RedefinableTemplateSignature"/>
  <standard:Metaclass xmi:id="_bnsMoIx_EeOumeDJYV0ScA" base_Class="Slot"/>
  <standard:Metaclass xmi:id="_bnszsIx_EeOumeDJYV0ScA" base_Class="StructuralFeature"/>
  <standard:Metaclass xmi:id="_bnxsMIx_EeOumeDJYV0ScA" base_Class="AnyReceiveEvent"/>
  <standard:Metaclass xmi:id="_bnxsMYx_EeOumeDJYV0ScA" base_Class="Behavior"/>
  <standard:Metaclass xmi:id="_bn0IcIx_EeOumeDJYV0ScA" base_Class="CallEvent"/>
  <standard:Metaclass xmi:id="_bn0IcYx_EeOumeDJYV0ScA" base_Class="ChangeEvent"/>
  <standard:Metaclass xmi:id="_bn0vgIx_EeOumeDJYV0ScA" base_Class="Event"/>
  <standard:Metaclass xmi:id="_bn0vgYx_EeOumeDJYV0ScA" base_Class="FunctionBehavior"/>
  <standard:Metaclass xmi:id="_bn1WkIx_EeOumeDJYV0ScA" base_Class="MessageEvent"/>
  <standard:Metaclass xmi:id="_bn19oIx_EeOumeDJYV0ScA" base_Class="OpaqueBehavior"/>
  <standard:Metaclass xmi:id="_bn2ksIx_EeOumeDJYV0ScA" base_Class="SignalEvent"/>
  <standard:Metaclass xmi:id="_bn2ksYx_EeOumeDJYV0ScA" base_Class="TimeEvent"/>
  <standard:Metaclass xmi:id="_bn3LwIx_EeOumeDJYV0ScA" base_Class="Trigger"/>
  <standard:Metaclass xmi:id="_bn5A8Ix_EeOumeDJYV0ScA" base_Class="Abstraction"/>
  <standard:Metaclass xmi:id="_bn5A8Yx_EeOumeDJYV0ScA" base_Class="Comment"/>
  <standard:Metaclass xmi:id="_bn5oAIx_EeOumeDJYV0ScA" base_Class="Constraint"/>
  <standard:Metaclass xmi:id="_bn6PEIx_EeOumeDJYV0ScA" base_Class="Dependency"/>
  <standard:Metaclass xmi:id="_bn62IIx_EeOumeDJYV0ScA" base_Class="DirectedRelationship"/>
  <standard:Metaclass xmi:id="_bn7dMIx_EeOumeDJYV0ScA" base_Class="Element"/>
  <standard:Metaclass xmi:id="_boBj0Ix_EeOumeDJYV0ScA" base_Class="ElementImport"/>
  <standard:Metaclass xmi:id="_boCK4Ix_EeOumeDJYV0ScA" base_Class="MultiplicityElement"/>
  <standard:Metaclass xmi:id="_boFOMIx_EeOumeDJYV0ScA" base_Class="NamedElement"/>
  <standard:Metaclass xmi:id="_boHqcIx_EeOumeDJYV0ScA" base_Class="Namespace"/>
  <standard:Metaclass xmi:id="_boKtwIx_EeOumeDJYV0ScA" base_Class="PackageableElement"/>
  <standard:Metaclass xmi:id="_boLU0Ix_EeOumeDJYV0ScA" base_Class="PackageImport"/>
  <standard:Metaclass xmi:id="_boL74Ix_EeOumeDJYV0ScA" base_Class="ParameterableElement"/>
  <standard:Metaclass xmi:id="_boMi8Ix_EeOumeDJYV0ScA" base_Class="Realization"/>
  <standard:Metaclass xmi:id="_boNKAIx_EeOumeDJYV0ScA" base_Class="Relationship"/>
  <standard:Metaclass xmi:id="_boNKAYx_EeOumeDJYV0ScA" base_Class="TemplateableElement"/>
  <standard:Metaclass xmi:id="_boOYIIx_EeOumeDJYV0ScA" base_Class="TemplateBinding"/>
  <standard:Metaclass xmi:id="_boO_MIx_EeOumeDJYV0ScA" base_Class="TemplateParameter"/>
  <standard:Metaclass xmi:id="_boQNUIx_EeOumeDJYV0ScA" base_Class="TemplateParameterSubstitution"/>
  <standard:Metaclass xmi:id="_boQ0YIx_EeOumeDJYV0ScA" base_Class="TemplateSignature"/>
  <standard:Metaclass xmi:id="_boRbcIx_EeOumeDJYV0ScA" base_Class="Type"/>
  <standard:Metaclass xmi:id="_boSpkIx_EeOumeDJYV0ScA" base_Class="TypedElement"/>
  <standard:Metaclass xmi:id="_boTQoIx_EeOumeDJYV0ScA" base_Class="Usage"/>
  <standard:Metaclass xmi:id="_boYwMIx_EeOumeDJYV0ScA" base_Class="Artifact"/>
  <standard:Metaclass xmi:id="_boalYIx_EeOumeDJYV0ScA" base_Class="CommunicationPath"/>
  <standard:Metaclass xmi:id="_bobMcIx_EeOumeDJYV0ScA" base_Class="DeployedArtifact"/>
  <standard:Metaclass xmi:id="_bobMcYx_EeOumeDJYV0ScA" base_Class="Deployment"/>
  <standard:Metaclass xmi:id="_bobzgIx_EeOumeDJYV0ScA" base_Class="DeploymentSpecification"/>
  <standard:Metaclass xmi:id="_bocakIx_EeOumeDJYV0ScA" base_Class="DeploymentTarget"/>
  <standard:Metaclass xmi:id="_bodosIx_EeOumeDJYV0ScA" base_Class="Device"/>
  <standard:Metaclass xmi:id="_boePwIx_EeOumeDJYV0ScA" base_Class="ExecutionEnvironment"/>
  <standard:Metaclass xmi:id="_boePwYx_EeOumeDJYV0ScA" base_Class="Manifestation"/>
  <standard:Metaclass xmi:id="_boe20Ix_EeOumeDJYV0ScA" base_Class="Node"/>
  <standard:Metaclass xmi:id="_boh6IIx_EeOumeDJYV0ScA" base_Class="InformationFlow"/>
  <standard:Metaclass xmi:id="_bojIQIx_EeOumeDJYV0ScA" base_Class="InformationItem"/>
  <standard:Metaclass xmi:id="_bok9cIx_EeOumeDJYV0ScA" base_Class="ActionExecutionSpecification"/>
  <standard:Metaclass xmi:id="_bolkgIx_EeOumeDJYV0ScA" base_Class="BehaviorExecutionSpecification"/>
  <standard:Metaclass xmi:id="_bomLkIx_EeOumeDJYV0ScA" base_Class="CombinedFragment"/>
  <standard:Metaclass xmi:id="_bomyoIx_EeOumeDJYV0ScA" base_Class="ConsiderIgnoreFragment"/>
  <standard:Metaclass xmi:id="_bonZsIx_EeOumeDJYV0ScA" base_Class="Continuation"/>
  <standard:Metaclass xmi:id="_boon0Ix_EeOumeDJYV0ScA" base_Class="DestructionOccurrenceSpecification"/>
  <standard:Metaclass xmi:id="_boon0Yx_EeOumeDJYV0ScA" base_Class="ExecutionOccurrenceSpecification"/>
  <standard:Metaclass xmi:id="_bopO4Ix_EeOumeDJYV0ScA" base_Class="ExecutionSpecification"/>
  <standard:Metaclass xmi:id="_bop18Ix_EeOumeDJYV0ScA" base_Class="Gate"/>
  <standard:Metaclass xmi:id="_bosSMIx_EeOumeDJYV0ScA" base_Class="GeneralOrdering"/>
  <standard:Metaclass xmi:id="_bos5QIx_EeOumeDJYV0ScA" base_Class="Interaction"/>
  <standard:Metaclass xmi:id="_botgUIx_EeOumeDJYV0ScA" base_Class="InteractionConstraint"/>
  <standard:Metaclass xmi:id="_bouucIx_EeOumeDJYV0ScA" base_Class="InteractionFragment"/>
  <standard:Metaclass xmi:id="_bov8kIx_EeOumeDJYV0ScA" base_Class="InteractionOperand"/>
  <standard:Metaclass xmi:id="_bowjoIx_EeOumeDJYV0ScA" base_Class="InteractionUse"/>
  <standard:Metaclass xmi:id="_boxxwIx_EeOumeDJYV0ScA" base_Class="Lifeline"/>
  <standard:Metaclass xmi:id="_boy_4Ix_EeOumeDJYV0ScA" base_Class="Message"/>
  <standard:Metaclass xmi:id="_bo1cIIx_EeOumeDJYV0ScA" base_Class="MessageEnd"/>
  <standard:Metaclass xmi:id="_bo2qQIx_EeOumeDJYV0ScA" base_Class="MessageOccurrenceSpecification"/>
  <standard:Metaclass xmi:id="_bo3RUIx_EeOumeDJYV0ScA" base_Class="OccurrenceSpecification"/>
  <standard:Metaclass xmi:id="_bo34YIx_EeOumeDJYV0ScA" base_Class="PartDecomposition"/>
  <standard:Metaclass xmi:id="_bo4fcIx_EeOumeDJYV0ScA" base_Class="StateInvariant"/>
  <standard:Metaclass xmi:id="_bo_NIIx_EeOumeDJYV0ScA" base_Class="Extension"/>
  <standard:Metaclass xmi:id="_bpBCUIx_EeOumeDJYV0ScA" base_Class="ExtensionEnd"/>
  <standard:Metaclass xmi:id="_bpBpYIx_EeOumeDJYV0ScA" base_Class="Image"/>
  <standard:Metaclass xmi:id="_bpC3gIx_EeOumeDJYV0ScA" base_Class="Model"/>
  <standard:Metaclass xmi:id="_bpC3gYx_EeOumeDJYV0ScA" base_Class="Package"/>
  <standard:Metaclass xmi:id="_bpKMQIx_EeOumeDJYV0ScA" base_Class="PackageMerge"/>
  <standard:Metaclass xmi:id="_bpKzUIx_EeOumeDJYV0ScA" base_Class="Profile"/>
  <standard:Metaclass xmi:id="_bpPEwIx_EeOumeDJYV0ScA" base_Class="ProfileApplication"/>
  <standard:Metaclass xmi:id="_bpQS4Ix_EeOumeDJYV0ScA" base_Class="Stereotype"/>
  <standard:Metaclass xmi:id="_bpXAkIx_EeOumeDJYV0ScA" base_Class="BehavioredClassifier"/>
  <standard:Metaclass xmi:id="_bpY1wIx_EeOumeDJYV0ScA" base_Class="DataType"/>
  <standard:Metaclass xmi:id="_bpbSAIx_EeOumeDJYV0ScA" base_Class="Enumeration"/>
  <standard:Metaclass xmi:id="_bpcgIIx_EeOumeDJYV0ScA" base_Class="EnumerationLiteral"/>
  <standard:Metaclass xmi:id="_bpdHMIx_EeOumeDJYV0ScA" base_Class="Interface"/>
  <standard:Metaclass xmi:id="_bpgKgIx_EeOumeDJYV0ScA" base_Class="InterfaceRealization"/>
  <standard:Metaclass xmi:id="_bpgxkIx_EeOumeDJYV0ScA" base_Class="PrimitiveType"/>
  <standard:Metaclass xmi:id="_bphYoIx_EeOumeDJYV0ScA" base_Class="Reception"/>
  <standard:Metaclass xmi:id="_bph_sIx_EeOumeDJYV0ScA" base_Class="Signal"/>
  <standard:Metaclass xmi:id="_bpnfQIx_EeOumeDJYV0ScA" base_Class="ConnectionPointReference"/>
  <standard:Metaclass xmi:id="_bpotYIx_EeOumeDJYV0ScA" base_Class="FinalState"/>
  <standard:Metaclass xmi:id="_bpqikIx_EeOumeDJYV0ScA" base_Class="ProtocolConformance"/>
  <standard:Metaclass xmi:id="_bprJoIx_EeOumeDJYV0ScA" base_Class="ProtocolStateMachine"/>
  <standard:Metaclass xmi:id="_bpsXwIx_EeOumeDJYV0ScA" base_Class="ProtocolTransition"/>
  <standard:Metaclass xmi:id="_bpuM8Ix_EeOumeDJYV0ScA" base_Class="Pseudostate"/>
  <standard:Metaclass xmi:id="_bpwCIIx_EeOumeDJYV0ScA" base_Class="Region"/>
  <standard:Metaclass xmi:id="_bpzFcIx_EeOumeDJYV0ScA" base_Class="State"/>
  <standard:Metaclass xmi:id="_bp5zIIx_EeOumeDJYV0ScA" base_Class="StateMachine"/>
  <standard:Metaclass xmi:id="_bp9dgIx_EeOumeDJYV0ScA" base_Class="Transition"/>
  <standard:Metaclass xmi:id="_bqCWAIx_EeOumeDJYV0ScA" base_Class="Vertex"/>
  <standard:Metaclass xmi:id="_bqMHAIx_EeOumeDJYV0ScA" base_Class="Association"/>
  <standard:Metaclass xmi:id="_bqOjQIx_EeOumeDJYV0ScA" base_Class="AssociationClass"/>
  <standard:Metaclass xmi:id="_bqPKUIx_EeOumeDJYV0ScA" base_Class="Class"/>
  <standard:Metaclass xmi:id="_bqTbwIx_EeOumeDJYV0ScA" base_Class="Collaboration"/>
  <standard:Metaclass xmi:id="_bqUC0Ix_EeOumeDJYV0ScA" base_Class="CollaborationUse"/>
  <standard:Metaclass xmi:id="_bqVQ8Ix_EeOumeDJYV0ScA" base_Class="Component"/>
  <standard:Metaclass xmi:id="_bqZiYIx_EeOumeDJYV0ScA" base_Class="ComponentRealization"/>
  <standard:Metaclass xmi:id="_bqawgIx_EeOumeDJYV0ScA" base_Class="ConnectableElement"/>
  <standard:Metaclass xmi:id="_bqb-oIx_EeOumeDJYV0ScA" base_Class="ConnectableElementTemplateParameter"/>
  <standard:Metaclass xmi:id="_bqclsIx_EeOumeDJYV0ScA" base_Class="Connector"/>
  <standard:Metaclass xmi:id="_bqdz0Ix_EeOumeDJYV0ScA" base_Class="ConnectorEnd"/>
  <standard:Metaclass xmi:id="_bqfpAIx_EeOumeDJYV0ScA" base_Class="EncapsulatedClassifier"/>
  <standard:Metaclass xmi:id="_bqgQEIx_EeOumeDJYV0ScA" base_Class="Port"/>
  <standard:Metaclass xmi:id="_bqjTYIx_EeOumeDJYV0ScA" base_Class="StructuredClassifier"/>
  <standard:Metaclass xmi:id="_bqtEYIx_EeOumeDJYV0ScA" base_Class="Actor"/>
  <standard:Metaclass xmi:id="_bqtrcIx_EeOumeDJYV0ScA" base_Class="Extend"/>
  <standard:Metaclass xmi:id="_bqu5kIx_EeOumeDJYV0ScA" base_Class="ExtensionPoint"/>
  <standard:Metaclass xmi:id="_bqvgoIx_EeOumeDJYV0ScA" base_Class="Include"/>
  <standard:Metaclass xmi:id="_bqwHsIx_EeOumeDJYV0ScA" base_Class="UseCase"/>
  <standard:Metaclass xmi:id="_bqzyEIx_EeOumeDJYV0ScA" base_Class="Duration"/>
  <standard:Metaclass xmi:id="_bq1AMIx_EeOumeDJYV0ScA" base_Class="DurationConstraint"/>
  <standard:Metaclass xmi:id="_bq1nQIx_EeOumeDJYV0ScA" base_Class="DurationInterval"/>
  <standard:Metaclass xmi:id="_bq21YIx_EeOumeDJYV0ScA" base_Class="DurationObservation"/>
  <standard:Metaclass xmi:id="_bq4DgIx_EeOumeDJYV0ScA" base_Class="Expression"/>
  <standard:Metaclass xmi:id="_bq5RoIx_EeOumeDJYV0ScA" base_Class="Interval"/>
  <standard:Metaclass xmi:id="_bq54sIx_EeOumeDJYV0ScA" base_Class="IntervalConstraint"/>
  <standard:Metaclass xmi:id="_bq6fwIx_EeOumeDJYV0ScA" base_Class="LiteralBoolean"/>
  <standard:Metaclass xmi:id="_bq7G0Ix_EeOumeDJYV0ScA" base_Class="LiteralInteger"/>
  <standard:Metaclass xmi:id="_bq8U8Ix_EeOumeDJYV0ScA" base_Class="LiteralNull"/>
  <standard:Metaclass xmi:id="_bq9jEIx_EeOumeDJYV0ScA" base_Class="LiteralReal"/>
  <standard:Metaclass xmi:id="_bq_YQIx_EeOumeDJYV0ScA" base_Class="LiteralSpecification"/>
  <standard:Metaclass xmi:id="_bq_YQYx_EeOumeDJYV0ScA" base_Class="LiteralString"/>
  <standard:Metaclass xmi:id="_brBNcIx_EeOumeDJYV0ScA" base_Class="LiteralUnlimitedNatural"/>
  <standard:Metaclass xmi:id="_brDCoIx_EeOumeDJYV0ScA" base_Class="Observation"/>
  <standard:Metaclass xmi:id="_brDCoYx_EeOumeDJYV0ScA" base_Class="OpaqueExpression"/>
  <standard:Metaclass xmi:id="_brHUEIx_EeOumeDJYV0ScA" base_Class="StringExpression"/>
  <standard:Metaclass xmi:id="_brJJQIx_EeOumeDJYV0ScA" base_Class="TimeConstraint"/>
  <standard:Metaclass xmi:id="_brJwUIx_EeOumeDJYV0ScA" base_Class="TimeExpression"/>
  <standard:Metaclass xmi:id="_brK-cIx_EeOumeDJYV0ScA" base_Class="TimeInterval"/>
  <standard:Metaclass xmi:id="_brLlgIx_EeOumeDJYV0ScA" base_Class="TimeObservation"/>
  <standard:Metaclass xmi:id="_brMMkIx_EeOumeDJYV0ScA" base_Class="ValueSpecification"/>
</xmi:XMI>
