Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn')
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/Activator.java50
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/AdHocOrdering.java214
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/AdHocSubProcess.java124
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Assignment.java104
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/AssociationDirection.java241
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Auditing.java49
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNActivity.java383
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNArtifact.java17
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNAssociation.java156
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNCollaboration.java217
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNEvent.java102
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNExpression.java50
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNExtension.java107
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNInterface.java169
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNMessage.java65
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNOperation.java206
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNProcess.java367
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNProfileFactory.java1032
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNProfilePackage.java29177
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNProperty.java113
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNRelationship.java171
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNSignal.java33
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BaseElement.java170
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BoundaryEvent.java92
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BusinessRuleTask.java95
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CallActivity.java94
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CallConversation.java126
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CallableElement.java142
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CancelEventDefinition.java50
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CatchEvent.java141
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Category.java69
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CategoryValue.java71
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CompensateEventDefinition.java105
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ComplexBehaviorDefinition.java104
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ComplexGateway.java118
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ConditionalEventDefinition.java94
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Conversation.java17
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ConversationLink.java137
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ConversationNode.java119
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CorrelationKey.java67
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CorrelationProperty.java96
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CorrelationPropertyBinding.java104
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CorrelationPropertyRetrievalExpression.java104
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CorrelationSubscription.java94
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataAssociation.java193
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataInput.java236
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataInputAssociation.java47
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataObject.java95
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataObjectReference.java108
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataOutput.java219
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataOutputAssociation.java47
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataState.java50
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataStore.java132
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataStoreReference.java78
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Definitions.java255
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Documentation.java104
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/EndEvent.java50
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Error.java53
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ErrorEventDefinition.java77
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Escalation.java65
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/EscalationEventDefinition.java77
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/EventBasedGateway.java165
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/EventBasedGatewayType.java214
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/EventDefinition.java50
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ExclusiveGateway.java122
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ExtensionAttributeDefinition.java106
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ExtensionAttributeValue.java107
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ExtensionDefinition.java71
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/FlowElement.java126
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/FlowElementsContainer.java61
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/FlowNode.java50
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/FormalExpression.java65
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Gateway.java78
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/GatewayDirection.java268
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/GlobalBusinessRuleTask.java56
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/GlobalConversation.java33
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/GlobalManualTask.java17
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/GlobalScriptTask.java86
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/GlobalTask.java85
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/GlobalUserTask.java86
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Group.java78
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/HumanPerformer.java17
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ImplicitThrowEvent.java17
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Import.java160
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/InclusiveGateway.java65
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/InputOutputBinding.java131
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/InputOutputSpecification.java148
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/InputSet.java151
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/InteractionNode.java102
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/IntermediateCatchEvent.java17
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/IntermediateThrowEvent.java50
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ItemAwareElement.java113
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ItemDefinition.java181
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ItemKind.java214
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Lane.java237
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/LaneSet.java172
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/LinkEventDefinition.java101
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/LoopCharacteristics.java50
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ManualTask.java50
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/MessageEventDefinition.java104
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/MessageFlow.java174
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/MessageFlowAssociation.java134
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Monitoring.java49
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/MultiInstanceBehavior.java268
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/MultiInstanceLoopCharacteristics.java359
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/NonExclusiveGateway.java78
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/OutputSet.java149
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ParallelGateway.java17
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Participant.java283
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ParticipantAssociation.java134
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ParticipantMultiplicity.java104
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/PartnerEntity.java87
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/PartnerRole.java85
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Performer.java17
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/PotentialOwner.java17
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ProcessType.java241
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ReceiveTask.java177
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/RelationshipDirection.java268
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Rendering.java50
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Resource.java56
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ResourceAssignmentExpression.java65
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ResourceParameter.java149
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ResourceParameterBinding.java134
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ResourceRole.java221
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/RootElement.java79
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ScriptTask.java134
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/SendTask.java149
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/SequenceFlow.java147
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ServiceTask.java148
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/SignalEventDefinition.java77
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/StandardLoopCharacteristics.java161
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/StartEvent.java50
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/SubConversation.java56
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/SubProcess.java113
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Task.java49
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/TerminateEventDefinition.java50
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/TextAnnotation.java104
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ThrowEvent.java113
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/TimerEventDefinition.java131
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Transaction.java50
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/UserTask.java126
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/AdHocSubProcessImpl.java334
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/AssignmentImpl.java277
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/AuditingImpl.java155
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNActivityImpl.java883
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNArtifactImpl.java37
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNAssociationImpl.java483
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNCollaborationImpl.java560
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNEventImpl.java266
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNExpressionImpl.java157
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNExtensionImpl.java287
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNInterfaceImpl.java427
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNMessageImpl.java209
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNOperationImpl.java512
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNProcessImpl.java993
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNProfile.ecore2667
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNProfileFactoryImpl.java1643
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNProfilePackageImpl.java7299
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNPropertyImpl.java300
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNRelationshipImpl.java417
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNSignalImpl.java92
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BaseElementImpl.java443
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BoundaryEventImpl.java279
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BusinessRuleTaskImpl.java280
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CallActivityImpl.java273
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CallConversationImpl.java337
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CallableElementImpl.java373
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CancelEventDefinitionImpl.java157
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CatchEventImpl.java379
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CategoryImpl.java198
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CategoryValueImpl.java229
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CompensateEventDefinitionImpl.java286
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ComplexBehaviorDefinitionImpl.java277
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ComplexGatewayImpl.java323
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ConditionalEventDefinitionImpl.java273
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ConversationImpl.java37
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ConversationLinkImpl.java446
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ConversationNodeImpl.java320
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CorrelationKeyImpl.java196
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CorrelationPropertyBindingImpl.java279
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CorrelationPropertyImpl.java260
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CorrelationPropertyRetrievalExpressionImpl.java278
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CorrelationSubscriptionImpl.java256
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataAssociationImpl.java486
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataInputAssociationImpl.java119
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataInputImpl.java601
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataObjectImpl.java520
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataObjectReferenceImpl.java540
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataOutputAssociationImpl.java119
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataOutputImpl.java567
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataStateImpl.java157
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataStoreImpl.java338
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataStoreReferenceImpl.java486
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DefinitionsImpl.java617
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DocumentationImpl.java279
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/EndEventImpl.java157
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ErrorEventDefinitionImpl.java217
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ErrorImpl.java161
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/EscalationEventDefinitionImpl.java218
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/EscalationImpl.java217
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/EventBasedGatewayImpl.java402
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/EventDefinitionImpl.java157
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ExclusiveGatewayImpl.java334
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ExtensionAttributeDefinitionImpl.java280
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ExtensionAttributeValueImpl.java280
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ExtensionDefinitionImpl.java199
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/FlowElementImpl.java379
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/FlowElementsContainerImpl.java201
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/FlowNodeImpl.java157
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/FormalExpressionImpl.java209
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GatewayImpl.java218
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GlobalBusinessRuleTaskImpl.java198
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GlobalConversationImpl.java92
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GlobalManualTaskImpl.java37
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GlobalScriptTaskImpl.java261
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GlobalTaskImpl.java250
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GlobalUserTaskImpl.java260
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GroupImpl.java218
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/HumanPerformerImpl.java37
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ImplicitThrowEventImpl.java37
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ImportImpl.java395
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/InclusiveGatewayImpl.java209
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/InputOutputBindingImpl.java337
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/InputOutputSpecificationImpl.java364
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/InputSetImpl.java409
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/InteractionNodeImpl.java317
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/IntermediateCatchEventImpl.java37
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/IntermediateThrowEventImpl.java157
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ItemAwareElementImpl.java311
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ItemDefinitionImpl.java456
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/LaneImpl.java627
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/LaneSetImpl.java484
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/LinkEventDefinitionImpl.java317
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/LoopCharacteristicsImpl.java157
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ManualTaskImpl.java157
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/MessageEventDefinitionImpl.java279
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/MessageFlowAssociationImpl.java359
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/MessageFlowImpl.java446
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/MonitoringImpl.java155
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/MultiInstanceLoopCharacteristicsImpl.java858
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/NonExclusiveGatewayImpl.java218
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/OutputSetImpl.java402
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ParallelGatewayImpl.java37
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ParticipantAssociationImpl.java359
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ParticipantImpl.java690
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ParticipantMultiplicityImpl.java279
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/PartnerEntityImpl.java281
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/PartnerRoleImpl.java279
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/PerformerImpl.java37
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/PotentialOwnerImpl.java37
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ReceiveTaskImpl.java456
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/RenderingImpl.java157
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ResourceAssignmentExpressionImpl.java209
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ResourceImpl.java183
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ResourceParameterBindingImpl.java360
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ResourceParameterImpl.java395
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ResourceRoleImpl.java594
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/RootElementImpl.java271
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ScriptTaskImpl.java361
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/SendTaskImpl.java402
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/SequenceFlowImpl.java395
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ServiceTaskImpl.java395
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/SignalEventDefinitionImpl.java218
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/StandardLoopCharacteristicsImpl.java422
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/StartEventImpl.java162
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/SubConversationImpl.java183
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/SubProcessImpl.java458
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/TaskImpl.java154
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/TerminateEventDefinitionImpl.java157
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/TextAnnotationImpl.java279
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ThrowEventImpl.java311
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/TimerEventDefinitionImpl.java338
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/TransactionImpl.java162
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/UserTaskImpl.java345
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/util/BPMNProfileAdapterFactory.java2571
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/util/BPMNProfileSwitch.java3263
-rw-r--r--extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/util/BPMNProfileValidator.java5047
277 files changed, 108179 insertions, 0 deletions
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/Activator.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/Activator.java
new file mode 100644
index 00000000000..562f49496c7
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/Activator.java
@@ -0,0 +1,50 @@
+package org.eclipse.papyrus.bpmn;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+ // The plug-in ID
+ public static final String PLUGIN_ID = "org.eclipse.papyrus.bpmn"; //$NON-NLS-1$
+
+ // The shared instance
+ private static Activator plugin;
+
+ /**
+ * The constructor
+ */
+ public Activator() {
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+}
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/AdHocOrdering.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/AdHocOrdering.java
new file mode 100644
index 00000000000..6fbe6876c6a
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/AdHocOrdering.java
@@ -0,0 +1,214 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Ad Hoc Ordering</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getAdHocOrdering()
+ * @model
+ * @generated
+ */
+public enum AdHocOrdering implements Enumerator {
+ /**
+ * The '<em><b>Parallel</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PARALLEL_VALUE
+ * @generated
+ * @ordered
+ */
+ PARALLEL(0, "parallel", "parallel"),
+
+ /**
+ * The '<em><b>Sequential</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SEQUENTIAL_VALUE
+ * @generated
+ * @ordered
+ */
+ SEQUENTIAL(1, "sequential", "sequential");
+
+ /**
+ * The '<em><b>Parallel</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Parallel</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PARALLEL
+ * @model name="parallel"
+ * @generated
+ * @ordered
+ */
+ public static final int PARALLEL_VALUE = 0;
+
+ /**
+ * The '<em><b>Sequential</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Sequential</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #SEQUENTIAL
+ * @model name="sequential"
+ * @generated
+ * @ordered
+ */
+ public static final int SEQUENTIAL_VALUE = 1;
+
+ /**
+ * An array of all the '<em><b>Ad Hoc Ordering</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final AdHocOrdering[] VALUES_ARRAY =
+ new AdHocOrdering[] {
+ PARALLEL,
+ SEQUENTIAL,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Ad Hoc Ordering</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<AdHocOrdering> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Ad Hoc Ordering</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static AdHocOrdering get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ AdHocOrdering result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Ad Hoc Ordering</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static AdHocOrdering getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ AdHocOrdering result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Ad Hoc Ordering</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static AdHocOrdering get(int value) {
+ switch (value) {
+ case PARALLEL_VALUE: return PARALLEL;
+ case SEQUENTIAL_VALUE: return SEQUENTIAL;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private AdHocOrdering(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //AdHocOrdering
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/AdHocSubProcess.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/AdHocSubProcess.java
new file mode 100644
index 00000000000..dad57b276ce
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/AdHocSubProcess.java
@@ -0,0 +1,124 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Ad Hoc Sub Process</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.AdHocSubProcess#getCompletionCondition <em>Completion Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.AdHocSubProcess#getOrdering <em>Ordering</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.AdHocSubProcess#isCancelRemainingInstances <em>Cancel Remaining Instances</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getAdHocSubProcess()
+ * @model
+ * @generated
+ */
+public interface AdHocSubProcess extends SubProcess {
+ /**
+ * Returns the value of the '<em><b>Completion Condition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Completion Condition</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Completion Condition</em>' reference.
+ * @see #setCompletionCondition(BPMNExpression)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getAdHocSubProcess_CompletionCondition()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ BPMNExpression getCompletionCondition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.AdHocSubProcess#getCompletionCondition <em>Completion Condition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Completion Condition</em>' reference.
+ * @see #getCompletionCondition()
+ * @generated
+ */
+ void setCompletionCondition(BPMNExpression value);
+
+ /**
+ * Returns the value of the '<em><b>Ordering</b></em>' attribute.
+ * The default value is <code>"parallel"</code>.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.bpmn.BPMNProfile.AdHocOrdering}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ordering</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Ordering</em>' attribute.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.AdHocOrdering
+ * @see #setOrdering(AdHocOrdering)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getAdHocSubProcess_Ordering()
+ * @model default="parallel" required="true" ordered="false"
+ * @generated
+ */
+ AdHocOrdering getOrdering();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.AdHocSubProcess#getOrdering <em>Ordering</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Ordering</em>' attribute.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.AdHocOrdering
+ * @see #getOrdering()
+ * @generated
+ */
+ void setOrdering(AdHocOrdering value);
+
+ /**
+ * Returns the value of the '<em><b>Cancel Remaining Instances</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cancel Remaining Instances</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Cancel Remaining Instances</em>' attribute.
+ * @see #setCancelRemainingInstances(boolean)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getAdHocSubProcess_CancelRemainingInstances()
+ * @model default="true" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isCancelRemainingInstances();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.AdHocSubProcess#isCancelRemainingInstances <em>Cancel Remaining Instances</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cancel Remaining Instances</em>' attribute.
+ * @see #isCancelRemainingInstances()
+ * @generated
+ */
+ void setCancelRemainingInstances(boolean value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * cancelRemainingInstances attribute shall be used only if ordering = parallel
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='AdHocSubProcess.cancelRemainingInstances'"
+ * @generated
+ */
+ boolean AdHocSubProcesscancelRemainingInstances(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // AdHocSubProcess
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Assignment.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Assignment.java
new file mode 100644
index 00000000000..69260710ffa
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Assignment.java
@@ -0,0 +1,104 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.Dependency;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Assignment</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Assignment#getBase_Dependency <em>Base Dependency</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Assignment#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Assignment#getTo <em>To</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getAssignment()
+ * @model
+ * @generated
+ */
+public interface Assignment extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Dependency</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Dependency</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Dependency</em>' reference.
+ * @see #setBase_Dependency(Dependency)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getAssignment_Base_Dependency()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Dependency getBase_Dependency();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Assignment#getBase_Dependency <em>Base Dependency</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Dependency</em>' reference.
+ * @see #getBase_Dependency()
+ * @generated
+ */
+ void setBase_Dependency(Dependency value);
+
+ /**
+ * Returns the value of the '<em><b>From</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>From</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>From</em>' reference.
+ * @see #setFrom(BPMNExpression)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getAssignment_From()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ BPMNExpression getFrom();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Assignment#getFrom <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>From</em>' reference.
+ * @see #getFrom()
+ * @generated
+ */
+ void setFrom(BPMNExpression value);
+
+ /**
+ * Returns the value of the '<em><b>To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>To</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>To</em>' reference.
+ * @see #setTo(BPMNExpression)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getAssignment_To()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ BPMNExpression getTo();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Assignment#getTo <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>To</em>' reference.
+ * @see #getTo()
+ * @generated
+ */
+ void setTo(BPMNExpression value);
+
+} // Assignment
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/AssociationDirection.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/AssociationDirection.java
new file mode 100644
index 00000000000..dfc72ee80a2
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/AssociationDirection.java
@@ -0,0 +1,241 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Association Direction</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getAssociationDirection()
+ * @model
+ * @generated
+ */
+public enum AssociationDirection implements Enumerator {
+ /**
+ * The '<em><b>None</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #NONE_VALUE
+ * @generated
+ * @ordered
+ */
+ NONE(0, "none", "none"),
+
+ /**
+ * The '<em><b>One</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ONE_VALUE
+ * @generated
+ * @ordered
+ */
+ ONE(1, "one", "one"),
+
+ /**
+ * The '<em><b>Both</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #BOTH_VALUE
+ * @generated
+ * @ordered
+ */
+ BOTH(2, "both", "both");
+
+ /**
+ * The '<em><b>None</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>None</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #NONE
+ * @model name="none"
+ * @generated
+ * @ordered
+ */
+ public static final int NONE_VALUE = 0;
+
+ /**
+ * The '<em><b>One</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>One</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ONE
+ * @model name="one"
+ * @generated
+ * @ordered
+ */
+ public static final int ONE_VALUE = 1;
+
+ /**
+ * The '<em><b>Both</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Both</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #BOTH
+ * @model name="both"
+ * @generated
+ * @ordered
+ */
+ public static final int BOTH_VALUE = 2;
+
+ /**
+ * An array of all the '<em><b>Association Direction</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final AssociationDirection[] VALUES_ARRAY =
+ new AssociationDirection[] {
+ NONE,
+ ONE,
+ BOTH,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Association Direction</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<AssociationDirection> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Association Direction</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static AssociationDirection get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ AssociationDirection result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Association Direction</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static AssociationDirection getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ AssociationDirection result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Association Direction</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static AssociationDirection get(int value) {
+ switch (value) {
+ case NONE_VALUE: return NONE;
+ case ONE_VALUE: return ONE;
+ case BOTH_VALUE: return BOTH;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private AssociationDirection(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //AssociationDirection
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Auditing.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Auditing.java
new file mode 100644
index 00000000000..bd588fbfa13
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Auditing.java
@@ -0,0 +1,49 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Auditing</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Auditing#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getAuditing()
+ * @model
+ * @generated
+ */
+public interface Auditing extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Class</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Class</em>' reference.
+ * @see #setBase_Class(org.eclipse.uml2.uml.Class)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getAuditing_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Auditing#getBase_Class <em>Base Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Class</em>' reference.
+ * @see #getBase_Class()
+ * @generated
+ */
+ void setBase_Class(org.eclipse.uml2.uml.Class value);
+
+} // Auditing
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNActivity.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNActivity.java
new file mode 100644
index 00000000000..1cc7072d6d4
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNActivity.java
@@ -0,0 +1,383 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.Action;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>BPMN Activity</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#isForCompensation <em>Is For Compensation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getStartQuantity <em>Start Quantity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getCompletionQuantity <em>Completion Quantity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getBase_Action <em>Base Action</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getActivityClass <em>Activity Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getProperties <em>Properties</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getDefault <em>Default</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getBoundaryEventRefs <em>Boundary Event Refs</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getDataInputAssociations <em>Data Input Associations</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getDataOutputAssociations <em>Data Output Associations</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getLoopCharacteristics <em>Loop Characteristics</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getResources <em>Resources</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNActivity()
+ * @model abstract="true"
+ * @generated
+ */
+public interface BPMNActivity extends FlowNode {
+ /**
+ * Returns the value of the '<em><b>Is For Compensation</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is For Compensation</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is For Compensation</em>' attribute.
+ * @see #setIsForCompensation(boolean)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNActivity_IsForCompensation()
+ * @model default="false" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isForCompensation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#isForCompensation <em>Is For Compensation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is For Compensation</em>' attribute.
+ * @see #isForCompensation()
+ * @generated
+ */
+ void setIsForCompensation(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Start Quantity</b></em>' attribute.
+ * The default value is <code>"1"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Start Quantity</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Start Quantity</em>' attribute.
+ * @see #setStartQuantity(int)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNActivity_StartQuantity()
+ * @model default="1" dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+ * @generated
+ */
+ int getStartQuantity();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getStartQuantity <em>Start Quantity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Start Quantity</em>' attribute.
+ * @see #getStartQuantity()
+ * @generated
+ */
+ void setStartQuantity(int value);
+
+ /**
+ * Returns the value of the '<em><b>Completion Quantity</b></em>' attribute.
+ * The default value is <code>"1"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Completion Quantity</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Completion Quantity</em>' attribute.
+ * @see #setCompletionQuantity(int)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNActivity_CompletionQuantity()
+ * @model default="1" dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+ * @generated
+ */
+ int getCompletionQuantity();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getCompletionQuantity <em>Completion Quantity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Completion Quantity</em>' attribute.
+ * @see #getCompletionQuantity()
+ * @generated
+ */
+ void setCompletionQuantity(int value);
+
+ /**
+ * Returns the value of the '<em><b>Base Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Action</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Action</em>' reference.
+ * @see #setBase_Action(Action)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNActivity_Base_Action()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Action getBase_Action();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getBase_Action <em>Base Action</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Action</em>' reference.
+ * @see #getBase_Action()
+ * @generated
+ */
+ void setBase_Action(Action value);
+
+ /**
+ * Returns the value of the '<em><b>Activity Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Activity Class</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Activity Class</em>' reference.
+ * @see #setActivityClass(org.eclipse.uml2.uml.Class)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNActivity_ActivityClass()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getActivityClass();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getActivityClass <em>Activity Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Activity Class</em>' reference.
+ * @see #getActivityClass()
+ * @generated
+ */
+ void setActivityClass(org.eclipse.uml2.uml.Class value);
+
+ /**
+ * Returns the value of the '<em><b>Properties</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Properties</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Properties</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNActivity_Properties()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<BPMNProperty> getProperties();
+
+ /**
+ * Returns the value of the '<em><b>Default</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Default</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Default</em>' reference.
+ * @see #setDefault(SequenceFlow)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNActivity_Default()
+ * @model ordered="false"
+ * @generated
+ */
+ SequenceFlow getDefault();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getDefault <em>Default</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Default</em>' reference.
+ * @see #getDefault()
+ * @generated
+ */
+ void setDefault(SequenceFlow value);
+
+ /**
+ * Returns the value of the '<em><b>Boundary Event Refs</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.BoundaryEvent}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Boundary Event Refs</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Boundary Event Refs</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNActivity_BoundaryEventRefs()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<BoundaryEvent> getBoundaryEventRefs();
+
+ /**
+ * Returns the value of the '<em><b>Data Input Associations</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInputAssociation}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Data Input Associations</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Data Input Associations</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNActivity_DataInputAssociations()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<DataInputAssociation> getDataInputAssociations();
+
+ /**
+ * Returns the value of the '<em><b>Data Output Associations</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutputAssociation}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Data Output Associations</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Data Output Associations</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNActivity_DataOutputAssociations()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<DataOutputAssociation> getDataOutputAssociations();
+
+ /**
+ * Returns the value of the '<em><b>Loop Characteristics</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Loop Characteristics</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Loop Characteristics</em>' reference.
+ * @see #setLoopCharacteristics(LoopCharacteristics)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNActivity_LoopCharacteristics()
+ * @model ordered="false"
+ * @generated
+ */
+ LoopCharacteristics getLoopCharacteristics();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getLoopCharacteristics <em>Loop Characteristics</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Loop Characteristics</em>' reference.
+ * @see #getLoopCharacteristics()
+ * @generated
+ */
+ void setLoopCharacteristics(LoopCharacteristics value);
+
+ /**
+ * Returns the value of the '<em><b>Resources</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Resources</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Resources</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNActivity_Resources()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<ResourceRole> getResources();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * self.properties = self.base_BPMNActivity.activityClass. ownedAttribute.bpmnProperty
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='BPMNActivity.resources'"
+ * @generated
+ */
+ boolean BPMNActivityresources(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * BPMNActivity::/container : RederinableElement the collected values of Action::Activity and Action::inGroup. Constrained to elements stereotyped by BPMNActivity or SubProcess
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='BPMNActivity.container'"
+ * @generated
+ */
+ boolean BPMNActivitycontainer(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * BPMNActivity::/resources : ResourceRole [*] = BPMNActivity.activityClass.OwnedAttribute with the ResourceRole stereotype applied.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='BPMNActivity.properties'"
+ * @generated
+ */
+ boolean BPMNActivityproperties(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * BPMNActivity::/default : SequenceFlow [0..1] = and outgoingSequenceFlow with guard = "else"
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='BPMNActivity.default'"
+ * @generated
+ */
+ boolean BPMNActivitydefault(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * BPMNActivity::/boundaryEventsRefs : BoundaryEvent [*] = accept Event Actions in the same interruptible region as the BPMNActivity action.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='BPMNActivity.boundaryEventsRefs'"
+ * @generated
+ */
+ boolean BPMNActivityboundaryEventsRefs(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * BPMNActivity::/loopCharacteristics = inStructuredActivityNode, if the inStructuredActivityNode is a LoopNode with the StandardLoopCharacteristics stereotype applied or an ExpansionRegion with MultiInstanceLoopCharacteristics stereotype applied, otherwise empty.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='BPMNActivity.loopCharacteristics'"
+ * @generated
+ */
+ boolean BPMNActivityloopCharacteristics(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // BPMNActivity
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNArtifact.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNArtifact.java
new file mode 100644
index 00000000000..6ecd8e8098e
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNArtifact.java
@@ -0,0 +1,17 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>BPMN Artifact</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNArtifact()
+ * @model abstract="true"
+ * @generated
+ */
+public interface BPMNArtifact extends BaseElement {
+} // BPMNArtifact
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNAssociation.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNAssociation.java
new file mode 100644
index 00000000000..8fdd052fec5
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNAssociation.java
@@ -0,0 +1,156 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.uml2.uml.Dependency;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>BPMN Association</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation#getBase_Dependency <em>Base Dependency</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation#getAssociationDirection <em>Association Direction</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation#getTargetRef <em>Target Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation#getSourceRef <em>Source Ref</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNAssociation()
+ * @model
+ * @generated
+ */
+public interface BPMNAssociation extends BPMNArtifact {
+ /**
+ * Returns the value of the '<em><b>Base Dependency</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Dependency</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Dependency</em>' reference.
+ * @see #setBase_Dependency(Dependency)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNAssociation_Base_Dependency()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Dependency getBase_Dependency();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation#getBase_Dependency <em>Base Dependency</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Dependency</em>' reference.
+ * @see #getBase_Dependency()
+ * @generated
+ */
+ void setBase_Dependency(Dependency value);
+
+ /**
+ * Returns the value of the '<em><b>Association Direction</b></em>' attribute.
+ * The default value is <code>"none"</code>.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.bpmn.BPMNProfile.AssociationDirection}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Association Direction</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Association Direction</em>' attribute.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.AssociationDirection
+ * @see #setAssociationDirection(AssociationDirection)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNAssociation_AssociationDirection()
+ * @model default="none" required="true" ordered="false"
+ * @generated
+ */
+ AssociationDirection getAssociationDirection();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation#getAssociationDirection <em>Association Direction</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Association Direction</em>' attribute.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.AssociationDirection
+ * @see #getAssociationDirection()
+ * @generated
+ */
+ void setAssociationDirection(AssociationDirection value);
+
+ /**
+ * Returns the value of the '<em><b>Target Ref</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement#getIncoming <em>Incoming</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Target Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Target Ref</em>' reference.
+ * @see #setTargetRef(BaseElement)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNAssociation_TargetRef()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement#getIncoming
+ * @model opposite="incoming" required="true" ordered="false"
+ * @generated
+ */
+ BaseElement getTargetRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation#getTargetRef <em>Target Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Target Ref</em>' reference.
+ * @see #getTargetRef()
+ * @generated
+ */
+ void setTargetRef(BaseElement value);
+
+ /**
+ * Returns the value of the '<em><b>Source Ref</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement#getOutgoing <em>Outgoing</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Source Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Source Ref</em>' reference.
+ * @see #setSourceRef(BaseElement)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNAssociation_SourceRef()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement#getOutgoing
+ * @model opposite="outgoing" required="true" ordered="false"
+ * @generated
+ */
+ BaseElement getSourceRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation#getSourceRef <em>Source Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Source Ref</em>' reference.
+ * @see #getSourceRef()
+ * @generated
+ */
+ void setSourceRef(BaseElement value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * At least one of association ends (target or source) must be TextAnnotation.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model
+ * @generated
+ */
+ boolean AssociationEnd(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // BPMNAssociation
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNCollaboration.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNCollaboration.java
new file mode 100644
index 00000000000..def97628e27
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNCollaboration.java
@@ -0,0 +1,217 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.Collaboration;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>BPMN Collaboration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#isClosed <em>Is Closed</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#getParticipantAssociations <em>Participant Associations</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#getConversationLinks <em>Conversation Links</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#getMessageFlowAssociations <em>Message Flow Associations</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#getMessageFlows <em>Message Flows</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#getBase_Collaboration <em>Base Collaboration</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#getConversations <em>Conversations</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#getCorrelationKeys <em>Correlation Keys</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#getParticipants <em>Participants</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNCollaboration()
+ * @model
+ * @generated
+ */
+public interface BPMNCollaboration extends RootElement {
+ /**
+ * Returns the value of the '<em><b>Is Closed</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Closed</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Closed</em>' attribute.
+ * @see #setIsClosed(boolean)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNCollaboration_IsClosed()
+ * @model default="false" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isClosed();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#isClosed <em>Is Closed</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Closed</em>' attribute.
+ * @see #isClosed()
+ * @generated
+ */
+ void setIsClosed(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Participant Associations</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Participant Associations</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Participant Associations</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNCollaboration_ParticipantAssociations()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<ParticipantAssociation> getParticipantAssociations();
+
+ /**
+ * Returns the value of the '<em><b>Conversation Links</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink#getCollaboration <em>Collaboration</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Conversation Links</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Conversation Links</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNCollaboration_ConversationLinks()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink#getCollaboration
+ * @model opposite="collaboration" required="true" ordered="false"
+ * @generated
+ */
+ EList<ConversationLink> getConversationLinks();
+
+ /**
+ * Returns the value of the '<em><b>Message Flow Associations</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlowAssociation}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Message Flow Associations</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Message Flow Associations</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNCollaboration_MessageFlowAssociations()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<MessageFlowAssociation> getMessageFlowAssociations();
+
+ /**
+ * Returns the value of the '<em><b>Message Flows</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Message Flows</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Message Flows</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNCollaboration_MessageFlows()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<MessageFlow> getMessageFlows();
+
+ /**
+ * Returns the value of the '<em><b>Base Collaboration</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Collaboration</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Collaboration</em>' reference.
+ * @see #setBase_Collaboration(Collaboration)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNCollaboration_Base_Collaboration()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Collaboration getBase_Collaboration();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#getBase_Collaboration <em>Base Collaboration</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Collaboration</em>' reference.
+ * @see #getBase_Collaboration()
+ * @generated
+ */
+ void setBase_Collaboration(Collaboration value);
+
+ /**
+ * Returns the value of the '<em><b>Conversations</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationNode}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Conversations</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Conversations</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNCollaboration_Conversations()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<ConversationNode> getConversations();
+
+ /**
+ * Returns the value of the '<em><b>Correlation Keys</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationKey}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Correlation Keys</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Correlation Keys</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNCollaboration_CorrelationKeys()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<CorrelationKey> getCorrelationKeys();
+
+ /**
+ * Returns the value of the '<em><b>Participants</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Participants</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Participants</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNCollaboration_Participants()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<Participant> getParticipants();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Collaboration::/participants : Participant [*] = Collaboration.ownedAttributes with Participant stereotype applied.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Collaboration.participants'"
+ * @generated
+ */
+ boolean Collaborationparticipants(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // BPMNCollaboration
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNEvent.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNEvent.java
new file mode 100644
index 00000000000..2b38fb94af7
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNEvent.java
@@ -0,0 +1,102 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>BPMN Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNEvent#getEventClass <em>Event Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNEvent#get_eventDefinitions <em>event Definitions</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNEvent#getProperties <em>Properties</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNEvent#getEventDefinitionRefs <em>Event Definition Refs</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNEvent()
+ * @model abstract="true"
+ * @generated
+ */
+public interface BPMNEvent extends FlowNode {
+ /**
+ * Returns the value of the '<em><b>Event Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Event Class</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Event Class</em>' reference.
+ * @see #setEventClass(org.eclipse.uml2.uml.Class)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNEvent_EventClass()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getEventClass();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNEvent#getEventClass <em>Event Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Event Class</em>' reference.
+ * @see #getEventClass()
+ * @generated
+ */
+ void setEventClass(org.eclipse.uml2.uml.Class value);
+
+ /**
+ * Returns the value of the '<em><b>event Definitions</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.EventDefinition}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>event Definitions</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>event Definitions</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNEvent__eventDefinitions()
+ * @model required="true" ordered="false"
+ * annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName=' eventDefinitions'"
+ * @generated
+ */
+ EList<EventDefinition> get_eventDefinitions();
+
+ /**
+ * Returns the value of the '<em><b>Properties</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Properties</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Properties</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNEvent_Properties()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<BPMNProperty> getProperties();
+
+ /**
+ * Returns the value of the '<em><b>Event Definition Refs</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.EventDefinition}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Event Definition Refs</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Event Definition Refs</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNEvent_EventDefinitionRefs()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<EventDefinition> getEventDefinitionRefs();
+
+} // BPMNEvent
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNExpression.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNExpression.java
new file mode 100644
index 00000000000..b576bc2f3c0
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNExpression.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.OpaqueExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>BPMN Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExpression#getBase_OpaqueExpression <em>Base Opaque Expression</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNExpression()
+ * @model
+ * @generated
+ */
+public interface BPMNExpression extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Opaque Expression</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Opaque Expression</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Opaque Expression</em>' reference.
+ * @see #setBase_OpaqueExpression(OpaqueExpression)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNExpression_Base_OpaqueExpression()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ OpaqueExpression getBase_OpaqueExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExpression#getBase_OpaqueExpression <em>Base Opaque Expression</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Opaque Expression</em>' reference.
+ * @see #getBase_OpaqueExpression()
+ * @generated
+ */
+ void setBase_OpaqueExpression(OpaqueExpression value);
+
+} // BPMNExpression
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNExtension.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNExtension.java
new file mode 100644
index 00000000000..c3b978e16b9
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNExtension.java
@@ -0,0 +1,107 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Stereotype;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>BPMN Extension</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExtension#getBase_Stereotype <em>Base Stereotype</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExtension#isMustUnderstand <em>Must Understand</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExtension#getDefinition <em>Definition</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNExtension()
+ * @model
+ * @generated
+ */
+public interface BPMNExtension extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Stereotype</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Stereotype</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Stereotype</em>' reference.
+ * @see #setBase_Stereotype(Stereotype)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNExtension_Base_Stereotype()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Stereotype getBase_Stereotype();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExtension#getBase_Stereotype <em>Base Stereotype</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Stereotype</em>' reference.
+ * @see #getBase_Stereotype()
+ * @generated
+ */
+ void setBase_Stereotype(Stereotype value);
+
+ /**
+ * Returns the value of the '<em><b>Must Understand</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Must Understand</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Must Understand</em>' attribute.
+ * @see #setMustUnderstand(boolean)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNExtension_MustUnderstand()
+ * @model default="false" dataType="org.eclipse.uml2.types.Boolean" ordered="false"
+ * @generated
+ */
+ boolean isMustUnderstand();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExtension#isMustUnderstand <em>Must Understand</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Must Understand</em>' attribute.
+ * @see #isMustUnderstand()
+ * @generated
+ */
+ void setMustUnderstand(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Definition</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Definition</em>' reference.
+ * @see #setDefinition(ExtensionDefinition)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNExtension_Definition()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ ExtensionDefinition getDefinition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExtension#getDefinition <em>Definition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Definition</em>' reference.
+ * @see #getDefinition()
+ * @generated
+ */
+ void setDefinition(ExtensionDefinition value);
+
+} // BPMNExtension
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNInterface.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNInterface.java
new file mode 100644
index 00000000000..9b759533a29
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNInterface.java
@@ -0,0 +1,169 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Interface;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>BPMN Interface</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface#getBase_Interface <em>Base Interface</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface#getImplementationRef <em>Implementation Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface#getOperations <em>Operations</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface#getCallableElements <em>Callable Elements</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNInterface()
+ * @model
+ * @generated
+ */
+public interface BPMNInterface extends RootElement {
+ /**
+ * Returns the value of the '<em><b>Base Interface</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Interface</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Interface</em>' reference.
+ * @see #setBase_Interface(Interface)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNInterface_Base_Interface()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Interface getBase_Interface();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface#getBase_Interface <em>Base Interface</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Interface</em>' reference.
+ * @see #getBase_Interface()
+ * @generated
+ */
+ void setBase_Interface(Interface value);
+
+ /**
+ * Returns the value of the '<em><b>Implementation Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Implementation Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Implementation Ref</em>' reference.
+ * @see #setImplementationRef(Element)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNInterface_ImplementationRef()
+ * @model ordered="false"
+ * @generated
+ */
+ Element getImplementationRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface#getImplementationRef <em>Implementation Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Implementation Ref</em>' reference.
+ * @see #getImplementationRef()
+ * @generated
+ */
+ void setImplementationRef(Element value);
+
+ /**
+ * Returns the value of the '<em><b>Operations</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Operations</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Operations</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNInterface_Operations()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<BPMNOperation> getOperations();
+
+ /**
+ * Returns the value of the '<em><b>Callable Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Callable Elements</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Callable Elements</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNInterface_CallableElements()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<CallableElement> getCallableElements();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Interface may have from 1 to many operations.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Interface.operation.multiplicity'"
+ * @generated
+ */
+ boolean Interfaceoperationmultiplicity(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * All interface operations should have BPMN <<Operation>> sterereotype applied.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Interface.ownedOperation'"
+ * @generated
+ */
+ boolean InterfaceownedOperation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * BPMNInterface::/callableElements : CallableElement [*] = Interface.interfaceRealization.implementingClassifier
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='BPMNInterface.callableElements'"
+ * @generated
+ */
+ boolean BPMNInterfacecallableElements(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * BPMNInterface::/operations: BPMNOperation : Interface.ownedOperation
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='BPMNInterface.operations'"
+ * @generated
+ */
+ boolean BPMNInterfaceoperations(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // BPMNInterface
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNMessage.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNMessage.java
new file mode 100644
index 00000000000..9824441c4b6
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNMessage.java
@@ -0,0 +1,65 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>BPMN Message</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNMessage#getItemRef <em>Item Ref</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNMessage()
+ * @model
+ * @generated
+ */
+public interface BPMNMessage extends ItemDefinition {
+ /**
+ * Returns the value of the '<em><b>Item Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Item Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Item Ref</em>' reference.
+ * @see #setItemRef(ItemDefinition)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNMessage_ItemRef()
+ * @model ordered="false"
+ * @generated
+ */
+ ItemDefinition getItemRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNMessage#getItemRef <em>Item Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Item Ref</em>' reference.
+ * @see #getItemRef()
+ * @generated
+ */
+ void setItemRef(ItemDefinition value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * self.iitemRef : ItemDefintion [0..1] = self.base_Class.extension_ItemDefinition
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Message.itemRef'"
+ * @generated
+ */
+ boolean MessageitemRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // BPMNMessage
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNOperation.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNOperation.java
new file mode 100644
index 00000000000..d09a38058ce
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNOperation.java
@@ -0,0 +1,206 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Operation;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>BPMN Operation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation#getBase_Operation <em>Base Operation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation#getImplementationRef <em>Implementation Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation#getInMessageRef <em>In Message Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation#getOutMessageRef <em>Out Message Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation#getErrorRef <em>Error Ref</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNOperation()
+ * @model
+ * @generated
+ */
+public interface BPMNOperation extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Operation</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Operation</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Operation</em>' reference.
+ * @see #setBase_Operation(Operation)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNOperation_Base_Operation()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Operation getBase_Operation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation#getBase_Operation <em>Base Operation</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Operation</em>' reference.
+ * @see #getBase_Operation()
+ * @generated
+ */
+ void setBase_Operation(Operation value);
+
+ /**
+ * Returns the value of the '<em><b>Implementation Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Implementation Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Implementation Ref</em>' reference.
+ * @see #setImplementationRef(Element)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNOperation_ImplementationRef()
+ * @model ordered="false"
+ * @generated
+ */
+ Element getImplementationRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation#getImplementationRef <em>Implementation Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Implementation Ref</em>' reference.
+ * @see #getImplementationRef()
+ * @generated
+ */
+ void setImplementationRef(Element value);
+
+ /**
+ * Returns the value of the '<em><b>In Message Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>In Message Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>In Message Ref</em>' reference.
+ * @see #setInMessageRef(BPMNMessage)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNOperation_InMessageRef()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ BPMNMessage getInMessageRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation#getInMessageRef <em>In Message Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>In Message Ref</em>' reference.
+ * @see #getInMessageRef()
+ * @generated
+ */
+ void setInMessageRef(BPMNMessage value);
+
+ /**
+ * Returns the value of the '<em><b>Out Message Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Out Message Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Out Message Ref</em>' reference.
+ * @see #setOutMessageRef(BPMNMessage)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNOperation_OutMessageRef()
+ * @model ordered="false"
+ * @generated
+ */
+ BPMNMessage getOutMessageRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation#getOutMessageRef <em>Out Message Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Out Message Ref</em>' reference.
+ * @see #getOutMessageRef()
+ * @generated
+ */
+ void setOutMessageRef(BPMNMessage value);
+
+ /**
+ * Returns the value of the '<em><b>Error Ref</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.Error}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Error Ref</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Error Ref</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNOperation_ErrorRef()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<org.eclipse.papyrus.bpmn.BPMNProfile.Error> getErrorRef();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * BPMN Operation owner must be BPMN Interface.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='BPMNOperation.owner'"
+ * @generated
+ */
+ boolean BPMNOperationowner(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * BPMNOperation::/inMessageRef : BPMNMessage = the first in Operation.ownedParameter with direction = in, and a type that has the BPMNMessage stereotype applied.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='BPMNOperation.inMessageRef'"
+ * @generated
+ */
+ boolean BPMNOperationinMessageRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * BPMNOperation::/outMessageRef : BPMNMessage = the first in Operation.ownedParameter with direction = out or return, and a type that has the BPMNMessage stereotype applied.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='BPMNOperation.outMessageRef'"
+ * @generated
+ */
+ boolean BPMNOperationoutMessageRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * BPMNOperation::/errorRefs : Error [*] = Operation.raisedException (defined on Behavioral Feature)
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='BPMNOperation.errorRefs'"
+ * @generated
+ */
+ boolean BPMNOperationerrorRefs(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // BPMNOperation
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNProcess.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNProcess.java
new file mode 100644
index 00000000000..12c5f5fc0a3
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNProcess.java
@@ -0,0 +1,367 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.Activity;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>BPMN Process</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getProcessType <em>Process Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#isClosed <em>Is Closed</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getAuditing <em>Auditing</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#isExecutable <em>Is Executable</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getDefinitionalCollaborationRef <em>Definitional Collaboration Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getBase_Activity <em>Base Activity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getCorrelationSubscriptions <em>Correlation Subscriptions</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getMonitoring <em>Monitoring</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getSupports <em>Supports</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getProperties <em>Properties</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getResources <em>Resources</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNProcess()
+ * @model
+ * @generated
+ */
+public interface BPMNProcess extends CallableElement, FlowElementsContainer {
+ /**
+ * Returns the value of the '<em><b>Process Type</b></em>' attribute.
+ * The default value is <code>"none"</code>.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.bpmn.BPMNProfile.ProcessType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Process Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Process Type</em>' attribute.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ProcessType
+ * @see #setProcessType(ProcessType)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNProcess_ProcessType()
+ * @model default="none" required="true" ordered="false"
+ * @generated
+ */
+ ProcessType getProcessType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getProcessType <em>Process Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Process Type</em>' attribute.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ProcessType
+ * @see #getProcessType()
+ * @generated
+ */
+ void setProcessType(ProcessType value);
+
+ /**
+ * Returns the value of the '<em><b>Is Closed</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Closed</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Closed</em>' attribute.
+ * @see #setIsClosed(boolean)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNProcess_IsClosed()
+ * @model default="false" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isClosed();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#isClosed <em>Is Closed</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Closed</em>' attribute.
+ * @see #isClosed()
+ * @generated
+ */
+ void setIsClosed(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Auditing</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Auditing</em>' reference.
+ * @see #setAuditing(Auditing)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNProcess_Auditing()
+ * @model ordered="false"
+ * @generated
+ */
+ Auditing getAuditing();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getAuditing <em>Auditing</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Auditing</em>' reference.
+ * @see #getAuditing()
+ * @generated
+ */
+ void setAuditing(Auditing value);
+
+ /**
+ * Returns the value of the '<em><b>Is Executable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Executable</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Executable</em>' attribute.
+ * @see #setIsExecutable(boolean)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNProcess_IsExecutable()
+ * @model dataType="org.eclipse.uml2.types.Boolean" ordered="false"
+ * @generated
+ */
+ boolean isExecutable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#isExecutable <em>Is Executable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Executable</em>' attribute.
+ * @see #isExecutable()
+ * @generated
+ */
+ void setIsExecutable(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Definitional Collaboration Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Definitional Collaboration Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Definitional Collaboration Ref</em>' reference.
+ * @see #setDefinitionalCollaborationRef(BPMNCollaboration)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNProcess_DefinitionalCollaborationRef()
+ * @model ordered="false"
+ * @generated
+ */
+ BPMNCollaboration getDefinitionalCollaborationRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getDefinitionalCollaborationRef <em>Definitional Collaboration Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Definitional Collaboration Ref</em>' reference.
+ * @see #getDefinitionalCollaborationRef()
+ * @generated
+ */
+ void setDefinitionalCollaborationRef(BPMNCollaboration value);
+
+ /**
+ * Returns the value of the '<em><b>Base Activity</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Activity</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Activity</em>' reference.
+ * @see #setBase_Activity(Activity)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNProcess_Base_Activity()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Activity getBase_Activity();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getBase_Activity <em>Base Activity</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Activity</em>' reference.
+ * @see #getBase_Activity()
+ * @generated
+ */
+ void setBase_Activity(Activity value);
+
+ /**
+ * Returns the value of the '<em><b>Correlation Subscriptions</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationSubscription}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Correlation Subscriptions</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Correlation Subscriptions</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNProcess_CorrelationSubscriptions()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<CorrelationSubscription> getCorrelationSubscriptions();
+
+ /**
+ * Returns the value of the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Monitoring</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Monitoring</em>' reference.
+ * @see #setMonitoring(Monitoring)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNProcess_Monitoring()
+ * @model ordered="false"
+ * @generated
+ */
+ Monitoring getMonitoring();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getMonitoring <em>Monitoring</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Monitoring</em>' reference.
+ * @see #getMonitoring()
+ * @generated
+ */
+ void setMonitoring(Monitoring value);
+
+ /**
+ * Returns the value of the '<em><b>Supports</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Supports</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Supports</em>' reference.
+ * @see #setSupports(BPMNProcess)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNProcess_Supports()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ BPMNProcess getSupports();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getSupports <em>Supports</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Supports</em>' reference.
+ * @see #getSupports()
+ * @generated
+ */
+ void setSupports(BPMNProcess value);
+
+ /**
+ * Returns the value of the '<em><b>Properties</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Properties</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Properties</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNProcess_Properties()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<BPMNProperty> getProperties();
+
+ /**
+ * Returns the value of the '<em><b>Resources</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#getProcess <em>Process</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Resources</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Resources</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNProcess_Resources()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#getProcess
+ * @model opposite="process" required="true" ordered="false"
+ * @generated
+ */
+ EList<ResourceRole> getResources();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * BPMN::Process supportedInterfaceRefs are referenced by UML property RealizedInterface.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Process.supportedInterfaceRefs'"
+ * @generated
+ */
+ boolean ProcesssupportedInterfaceRefs(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * self.supports = self.base_Activity./general.extension_Process
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Process.supports'"
+ * @generated
+ */
+ boolean Processsupports(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * self.properties = self.base_Activity.ownedAttribute.bpmnProperty
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Process.properties'"
+ * @generated
+ */
+ boolean Processproperties(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Process::/laneSets : LaneSet [*] = Activity.partition
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Process.laneSets'"
+ * @generated
+ */
+ boolean ProcesslaneSets(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Process::/flowElements : RedefinableElement = the collected values of Activity::node, Activity::edge and Activity::group. Constrained to elements stereotyped by BPMN process element stereotypes.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Process.flowElements'"
+ * @generated
+ */
+ boolean ProcessflowElements(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // BPMNProcess
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNProfileFactory.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNProfileFactory.java
new file mode 100644
index 00000000000..8b6ab244174
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNProfileFactory.java
@@ -0,0 +1,1032 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage
+ * @generated
+ */
+public interface BPMNProfileFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ BPMNProfileFactory eINSTANCE = org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfileFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Inclusive Gateway</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Inclusive Gateway</em>'.
+ * @generated
+ */
+ InclusiveGateway createInclusiveGateway();
+
+ /**
+ * Returns a new object of class '<em>Extension Attribute Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Extension Attribute Value</em>'.
+ * @generated
+ */
+ ExtensionAttributeValue createExtensionAttributeValue();
+
+ /**
+ * Returns a new object of class '<em>Extension Attribute Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Extension Attribute Definition</em>'.
+ * @generated
+ */
+ ExtensionAttributeDefinition createExtensionAttributeDefinition();
+
+ /**
+ * Returns a new object of class '<em>Documentation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Documentation</em>'.
+ * @generated
+ */
+ Documentation createDocumentation();
+
+ /**
+ * Returns a new object of class '<em>Extension Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Extension Definition</em>'.
+ * @generated
+ */
+ ExtensionDefinition createExtensionDefinition();
+
+ /**
+ * Returns a new object of class '<em>BPMN Association</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>BPMN Association</em>'.
+ * @generated
+ */
+ BPMNAssociation createBPMNAssociation();
+
+ /**
+ * Returns a new object of class '<em>Auditing</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Auditing</em>'.
+ * @generated
+ */
+ Auditing createAuditing();
+
+ /**
+ * Returns a new object of class '<em>Monitoring</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Monitoring</em>'.
+ * @generated
+ */
+ Monitoring createMonitoring();
+
+ /**
+ * Returns a new object of class '<em>Category Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Category Value</em>'.
+ * @generated
+ */
+ CategoryValue createCategoryValue();
+
+ /**
+ * Returns a new object of class '<em>Lane Set</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Lane Set</em>'.
+ * @generated
+ */
+ LaneSet createLaneSet();
+
+ /**
+ * Returns a new object of class '<em>Lane</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Lane</em>'.
+ * @generated
+ */
+ Lane createLane();
+
+ /**
+ * Returns a new object of class '<em>Sequence Flow</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Sequence Flow</em>'.
+ * @generated
+ */
+ SequenceFlow createSequenceFlow();
+
+ /**
+ * Returns a new object of class '<em>BPMN Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>BPMN Expression</em>'.
+ * @generated
+ */
+ BPMNExpression createBPMNExpression();
+
+ /**
+ * Returns a new object of class '<em>Event Based Gateway</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Event Based Gateway</em>'.
+ * @generated
+ */
+ EventBasedGateway createEventBasedGateway();
+
+ /**
+ * Returns a new object of class '<em>Parallel Gateway</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Parallel Gateway</em>'.
+ * @generated
+ */
+ ParallelGateway createParallelGateway();
+
+ /**
+ * Returns a new object of class '<em>Complex Gateway</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Complex Gateway</em>'.
+ * @generated
+ */
+ ComplexGateway createComplexGateway();
+
+ /**
+ * Returns a new object of class '<em>Exclusive Gateway</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Exclusive Gateway</em>'.
+ * @generated
+ */
+ ExclusiveGateway createExclusiveGateway();
+
+ /**
+ * Returns a new object of class '<em>Definitions</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Definitions</em>'.
+ * @generated
+ */
+ Definitions createDefinitions();
+
+ /**
+ * Returns a new object of class '<em>BPMN Extension</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>BPMN Extension</em>'.
+ * @generated
+ */
+ BPMNExtension createBPMNExtension();
+
+ /**
+ * Returns a new object of class '<em>Import</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Import</em>'.
+ * @generated
+ */
+ Import createImport();
+
+ /**
+ * Returns a new object of class '<em>BPMN Relationship</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>BPMN Relationship</em>'.
+ * @generated
+ */
+ BPMNRelationship createBPMNRelationship();
+
+ /**
+ * Returns a new object of class '<em>BPMN Process</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>BPMN Process</em>'.
+ * @generated
+ */
+ BPMNProcess createBPMNProcess();
+
+ /**
+ * Returns a new object of class '<em>Input Output Specification</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Input Output Specification</em>'.
+ * @generated
+ */
+ InputOutputSpecification createInputOutputSpecification();
+
+ /**
+ * Returns a new object of class '<em>Data Input</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Data Input</em>'.
+ * @generated
+ */
+ DataInput createDataInput();
+
+ /**
+ * Returns a new object of class '<em>Data State</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Data State</em>'.
+ * @generated
+ */
+ DataState createDataState();
+
+ /**
+ * Returns a new object of class '<em>Item Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Item Definition</em>'.
+ * @generated
+ */
+ ItemDefinition createItemDefinition();
+
+ /**
+ * Returns a new object of class '<em>Input Set</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Input Set</em>'.
+ * @generated
+ */
+ InputSet createInputSet();
+
+ /**
+ * Returns a new object of class '<em>Data Output</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Data Output</em>'.
+ * @generated
+ */
+ DataOutput createDataOutput();
+
+ /**
+ * Returns a new object of class '<em>Output Set</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Output Set</em>'.
+ * @generated
+ */
+ OutputSet createOutputSet();
+
+ /**
+ * Returns a new object of class '<em>BPMN Interface</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>BPMN Interface</em>'.
+ * @generated
+ */
+ BPMNInterface createBPMNInterface();
+
+ /**
+ * Returns a new object of class '<em>BPMN Operation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>BPMN Operation</em>'.
+ * @generated
+ */
+ BPMNOperation createBPMNOperation();
+
+ /**
+ * Returns a new object of class '<em>BPMN Message</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>BPMN Message</em>'.
+ * @generated
+ */
+ BPMNMessage createBPMNMessage();
+
+ /**
+ * Returns a new object of class '<em>Error</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Error</em>'.
+ * @generated
+ */
+ Error createError();
+
+ /**
+ * Returns a new object of class '<em>Input Output Binding</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Input Output Binding</em>'.
+ * @generated
+ */
+ InputOutputBinding createInputOutputBinding();
+
+ /**
+ * Returns a new object of class '<em>BPMN Collaboration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>BPMN Collaboration</em>'.
+ * @generated
+ */
+ BPMNCollaboration createBPMNCollaboration();
+
+ /**
+ * Returns a new object of class '<em>Participant Association</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Participant Association</em>'.
+ * @generated
+ */
+ ParticipantAssociation createParticipantAssociation();
+
+ /**
+ * Returns a new object of class '<em>Participant</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Participant</em>'.
+ * @generated
+ */
+ Participant createParticipant();
+
+ /**
+ * Returns a new object of class '<em>Conversation Link</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Conversation Link</em>'.
+ * @generated
+ */
+ ConversationLink createConversationLink();
+
+ /**
+ * Returns a new object of class '<em>Participant Multiplicity</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Participant Multiplicity</em>'.
+ * @generated
+ */
+ ParticipantMultiplicity createParticipantMultiplicity();
+
+ /**
+ * Returns a new object of class '<em>Partner Entity</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Partner Entity</em>'.
+ * @generated
+ */
+ PartnerEntity createPartnerEntity();
+
+ /**
+ * Returns a new object of class '<em>Partner Role</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Partner Role</em>'.
+ * @generated
+ */
+ PartnerRole createPartnerRole();
+
+ /**
+ * Returns a new object of class '<em>Message Flow Association</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Message Flow Association</em>'.
+ * @generated
+ */
+ MessageFlowAssociation createMessageFlowAssociation();
+
+ /**
+ * Returns a new object of class '<em>Message Flow</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Message Flow</em>'.
+ * @generated
+ */
+ MessageFlow createMessageFlow();
+
+ /**
+ * Returns a new object of class '<em>Correlation Key</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Correlation Key</em>'.
+ * @generated
+ */
+ CorrelationKey createCorrelationKey();
+
+ /**
+ * Returns a new object of class '<em>Correlation Property</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Correlation Property</em>'.
+ * @generated
+ */
+ CorrelationProperty createCorrelationProperty();
+
+ /**
+ * Returns a new object of class '<em>Correlation Property Retrieval Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Correlation Property Retrieval Expression</em>'.
+ * @generated
+ */
+ CorrelationPropertyRetrievalExpression createCorrelationPropertyRetrievalExpression();
+
+ /**
+ * Returns a new object of class '<em>Formal Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Formal Expression</em>'.
+ * @generated
+ */
+ FormalExpression createFormalExpression();
+
+ /**
+ * Returns a new object of class '<em>Correlation Subscription</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Correlation Subscription</em>'.
+ * @generated
+ */
+ CorrelationSubscription createCorrelationSubscription();
+
+ /**
+ * Returns a new object of class '<em>Correlation Property Binding</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Correlation Property Binding</em>'.
+ * @generated
+ */
+ CorrelationPropertyBinding createCorrelationPropertyBinding();
+
+ /**
+ * Returns a new object of class '<em>BPMN Property</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>BPMN Property</em>'.
+ * @generated
+ */
+ BPMNProperty createBPMNProperty();
+
+ /**
+ * Returns a new object of class '<em>Resource Role</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Resource Role</em>'.
+ * @generated
+ */
+ ResourceRole createResourceRole();
+
+ /**
+ * Returns a new object of class '<em>Resource Assignment Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Resource Assignment Expression</em>'.
+ * @generated
+ */
+ ResourceAssignmentExpression createResourceAssignmentExpression();
+
+ /**
+ * Returns a new object of class '<em>Resource</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Resource</em>'.
+ * @generated
+ */
+ Resource createResource();
+
+ /**
+ * Returns a new object of class '<em>Resource Parameter</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Resource Parameter</em>'.
+ * @generated
+ */
+ ResourceParameter createResourceParameter();
+
+ /**
+ * Returns a new object of class '<em>Resource Parameter Binding</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Resource Parameter Binding</em>'.
+ * @generated
+ */
+ ResourceParameterBinding createResourceParameterBinding();
+
+ /**
+ * Returns a new object of class '<em>Global Script Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Global Script Task</em>'.
+ * @generated
+ */
+ GlobalScriptTask createGlobalScriptTask();
+
+ /**
+ * Returns a new object of class '<em>Global Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Global Task</em>'.
+ * @generated
+ */
+ GlobalTask createGlobalTask();
+
+ /**
+ * Returns a new object of class '<em>Global Business Rule Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Global Business Rule Task</em>'.
+ * @generated
+ */
+ GlobalBusinessRuleTask createGlobalBusinessRuleTask();
+
+ /**
+ * Returns a new object of class '<em>Compensate Event Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Compensate Event Definition</em>'.
+ * @generated
+ */
+ CompensateEventDefinition createCompensateEventDefinition();
+
+ /**
+ * Returns a new object of class '<em>Boundary Event</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Boundary Event</em>'.
+ * @generated
+ */
+ BoundaryEvent createBoundaryEvent();
+
+ /**
+ * Returns a new object of class '<em>Data Output Association</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Data Output Association</em>'.
+ * @generated
+ */
+ DataOutputAssociation createDataOutputAssociation();
+
+ /**
+ * Returns a new object of class '<em>Assignment</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Assignment</em>'.
+ * @generated
+ */
+ Assignment createAssignment();
+
+ /**
+ * Returns a new object of class '<em>Data Input Association</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Data Input Association</em>'.
+ * @generated
+ */
+ DataInputAssociation createDataInputAssociation();
+
+ /**
+ * Returns a new object of class '<em>Escalation Event Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Escalation Event Definition</em>'.
+ * @generated
+ */
+ EscalationEventDefinition createEscalationEventDefinition();
+
+ /**
+ * Returns a new object of class '<em>Escalation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Escalation</em>'.
+ * @generated
+ */
+ Escalation createEscalation();
+
+ /**
+ * Returns a new object of class '<em>Timer Event Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Timer Event Definition</em>'.
+ * @generated
+ */
+ TimerEventDefinition createTimerEventDefinition();
+
+ /**
+ * Returns a new object of class '<em>Signal Event Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Signal Event Definition</em>'.
+ * @generated
+ */
+ SignalEventDefinition createSignalEventDefinition();
+
+ /**
+ * Returns a new object of class '<em>BPMN Signal</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>BPMN Signal</em>'.
+ * @generated
+ */
+ BPMNSignal createBPMNSignal();
+
+ /**
+ * Returns a new object of class '<em>End Event</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>End Event</em>'.
+ * @generated
+ */
+ EndEvent createEndEvent();
+
+ /**
+ * Returns a new object of class '<em>Message Event Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Message Event Definition</em>'.
+ * @generated
+ */
+ MessageEventDefinition createMessageEventDefinition();
+
+ /**
+ * Returns a new object of class '<em>Start Event</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Start Event</em>'.
+ * @generated
+ */
+ StartEvent createStartEvent();
+
+ /**
+ * Returns a new object of class '<em>Conditional Event Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Conditional Event Definition</em>'.
+ * @generated
+ */
+ ConditionalEventDefinition createConditionalEventDefinition();
+
+ /**
+ * Returns a new object of class '<em>Link Event Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Link Event Definition</em>'.
+ * @generated
+ */
+ LinkEventDefinition createLinkEventDefinition();
+
+ /**
+ * Returns a new object of class '<em>Error Event Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Error Event Definition</em>'.
+ * @generated
+ */
+ ErrorEventDefinition createErrorEventDefinition();
+
+ /**
+ * Returns a new object of class '<em>Intermediate Catch Event</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Intermediate Catch Event</em>'.
+ * @generated
+ */
+ IntermediateCatchEvent createIntermediateCatchEvent();
+
+ /**
+ * Returns a new object of class '<em>Intermediate Throw Event</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Intermediate Throw Event</em>'.
+ * @generated
+ */
+ IntermediateThrowEvent createIntermediateThrowEvent();
+
+ /**
+ * Returns a new object of class '<em>Terminate Event Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Terminate Event Definition</em>'.
+ * @generated
+ */
+ TerminateEventDefinition createTerminateEventDefinition();
+
+ /**
+ * Returns a new object of class '<em>Implicit Throw Event</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Implicit Throw Event</em>'.
+ * @generated
+ */
+ ImplicitThrowEvent createImplicitThrowEvent();
+
+ /**
+ * Returns a new object of class '<em>Cancel Event Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Cancel Event Definition</em>'.
+ * @generated
+ */
+ CancelEventDefinition createCancelEventDefinition();
+
+ /**
+ * Returns a new object of class '<em>Text Annotation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Text Annotation</em>'.
+ * @generated
+ */
+ TextAnnotation createTextAnnotation();
+
+ /**
+ * Returns a new object of class '<em>Category</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Category</em>'.
+ * @generated
+ */
+ Category createCategory();
+
+ /**
+ * Returns a new object of class '<em>Group</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Group</em>'.
+ * @generated
+ */
+ Group createGroup();
+
+ /**
+ * Returns a new object of class '<em>Data Object Reference</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Data Object Reference</em>'.
+ * @generated
+ */
+ DataObjectReference createDataObjectReference();
+
+ /**
+ * Returns a new object of class '<em>Data Object</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Data Object</em>'.
+ * @generated
+ */
+ DataObject createDataObject();
+
+ /**
+ * Returns a new object of class '<em>Data Store</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Data Store</em>'.
+ * @generated
+ */
+ DataStore createDataStore();
+
+ /**
+ * Returns a new object of class '<em>Data Store Reference</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Data Store Reference</em>'.
+ * @generated
+ */
+ DataStoreReference createDataStoreReference();
+
+ /**
+ * Returns a new object of class '<em>User Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>User Task</em>'.
+ * @generated
+ */
+ UserTask createUserTask();
+
+ /**
+ * Returns a new object of class '<em>Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Task</em>'.
+ * @generated
+ */
+ Task createTask();
+
+ /**
+ * Returns a new object of class '<em>Rendering</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Rendering</em>'.
+ * @generated
+ */
+ Rendering createRendering();
+
+ /**
+ * Returns a new object of class '<em>Human Performer</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Human Performer</em>'.
+ * @generated
+ */
+ HumanPerformer createHumanPerformer();
+
+ /**
+ * Returns a new object of class '<em>Performer</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Performer</em>'.
+ * @generated
+ */
+ Performer createPerformer();
+
+ /**
+ * Returns a new object of class '<em>Global User Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Global User Task</em>'.
+ * @generated
+ */
+ GlobalUserTask createGlobalUserTask();
+
+ /**
+ * Returns a new object of class '<em>Global Manual Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Global Manual Task</em>'.
+ * @generated
+ */
+ GlobalManualTask createGlobalManualTask();
+
+ /**
+ * Returns a new object of class '<em>Manual Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Manual Task</em>'.
+ * @generated
+ */
+ ManualTask createManualTask();
+
+ /**
+ * Returns a new object of class '<em>Potential Owner</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Potential Owner</em>'.
+ * @generated
+ */
+ PotentialOwner createPotentialOwner();
+
+ /**
+ * Returns a new object of class '<em>Sub Conversation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Sub Conversation</em>'.
+ * @generated
+ */
+ SubConversation createSubConversation();
+
+ /**
+ * Returns a new object of class '<em>Global Conversation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Global Conversation</em>'.
+ * @generated
+ */
+ GlobalConversation createGlobalConversation();
+
+ /**
+ * Returns a new object of class '<em>Call Conversation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Call Conversation</em>'.
+ * @generated
+ */
+ CallConversation createCallConversation();
+
+ /**
+ * Returns a new object of class '<em>Conversation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Conversation</em>'.
+ * @generated
+ */
+ Conversation createConversation();
+
+ /**
+ * Returns a new object of class '<em>Sub Process</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Sub Process</em>'.
+ * @generated
+ */
+ SubProcess createSubProcess();
+
+ /**
+ * Returns a new object of class '<em>Call Activity</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Call Activity</em>'.
+ * @generated
+ */
+ CallActivity createCallActivity();
+
+ /**
+ * Returns a new object of class '<em>Business Rule Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Business Rule Task</em>'.
+ * @generated
+ */
+ BusinessRuleTask createBusinessRuleTask();
+
+ /**
+ * Returns a new object of class '<em>Complex Behavior Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Complex Behavior Definition</em>'.
+ * @generated
+ */
+ ComplexBehaviorDefinition createComplexBehaviorDefinition();
+
+ /**
+ * Returns a new object of class '<em>Ad Hoc Sub Process</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Ad Hoc Sub Process</em>'.
+ * @generated
+ */
+ AdHocSubProcess createAdHocSubProcess();
+
+ /**
+ * Returns a new object of class '<em>Script Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Script Task</em>'.
+ * @generated
+ */
+ ScriptTask createScriptTask();
+
+ /**
+ * Returns a new object of class '<em>Send Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Send Task</em>'.
+ * @generated
+ */
+ SendTask createSendTask();
+
+ /**
+ * Returns a new object of class '<em>Transaction</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Transaction</em>'.
+ * @generated
+ */
+ Transaction createTransaction();
+
+ /**
+ * Returns a new object of class '<em>Standard Loop Characteristics</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Standard Loop Characteristics</em>'.
+ * @generated
+ */
+ StandardLoopCharacteristics createStandardLoopCharacteristics();
+
+ /**
+ * Returns a new object of class '<em>Receive Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Receive Task</em>'.
+ * @generated
+ */
+ ReceiveTask createReceiveTask();
+
+ /**
+ * Returns a new object of class '<em>Service Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Service Task</em>'.
+ * @generated
+ */
+ ServiceTask createServiceTask();
+
+ /**
+ * Returns a new object of class '<em>Multi Instance Loop Characteristics</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Multi Instance Loop Characteristics</em>'.
+ * @generated
+ */
+ MultiInstanceLoopCharacteristics createMultiInstanceLoopCharacteristics();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ BPMNProfilePackage getBPMNProfilePackage();
+
+} //BPMNProfileFactory
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNProfilePackage.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNProfilePackage.java
new file mode 100644
index 00000000000..832a2cdb3bf
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNProfilePackage.java
@@ -0,0 +1,29177 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfileFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface BPMNProfilePackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "BPMNProfile";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.omg.org/spec/BPMNProfile/20121112/";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "BPMNProfile";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ BPMNProfilePackage eINSTANCE = org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BaseElementImpl <em>Base Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BaseElementImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getBaseElement()
+ * @generated
+ */
+ int BASE_ELEMENT = 5;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE_ELEMENT__ID = 0;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE_ELEMENT__EXTENSION_VALUES = 1;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE_ELEMENT__BASE_ELEMENT = 2;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE_ELEMENT__DOCUMENTATION = 3;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE_ELEMENT__EXTENSION_DEFINITIONS = 4;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE_ELEMENT__OUTGOING = 5;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE_ELEMENT__INCOMING = 6;
+
+ /**
+ * The number of structural features of the '<em>Base Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE_ELEMENT_FEATURE_COUNT = 7;
+
+ /**
+ * The number of operations of the '<em>Base Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE_ELEMENT_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.FlowElementImpl <em>Flow Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.FlowElementImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getFlowElement()
+ * @generated
+ */
+ int FLOW_ELEMENT = 4;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_ELEMENT__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_ELEMENT__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_ELEMENT__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_ELEMENT__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_ELEMENT__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_ELEMENT__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_ELEMENT__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_ELEMENT__AUDITING = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_ELEMENT__MONITORING = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_ELEMENT__CATEGORY_VALUE_REF = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_ELEMENT__CONTAINER = BASE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Flow Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_ELEMENT_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of operations of the '<em>Flow Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_ELEMENT_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.FlowNodeImpl <em>Flow Node</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.FlowNodeImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getFlowNode()
+ * @generated
+ */
+ int FLOW_NODE = 3;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_NODE__ID = FLOW_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_NODE__EXTENSION_VALUES = FLOW_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_NODE__BASE_ELEMENT = FLOW_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_NODE__DOCUMENTATION = FLOW_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_NODE__EXTENSION_DEFINITIONS = FLOW_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_NODE__OUTGOING = FLOW_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_NODE__INCOMING = FLOW_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_NODE__AUDITING = FLOW_ELEMENT__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_NODE__MONITORING = FLOW_ELEMENT__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_NODE__CATEGORY_VALUE_REF = FLOW_ELEMENT__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_NODE__CONTAINER = FLOW_ELEMENT__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_NODE__BASE_ACTIVITY_NODE = FLOW_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Flow Node</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_NODE_FEATURE_COUNT = FLOW_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Flow Node</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_NODE_OPERATION_COUNT = FLOW_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.GatewayImpl <em>Gateway</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.GatewayImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getGateway()
+ * @generated
+ */
+ int GATEWAY = 2;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GATEWAY__ID = FLOW_NODE__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GATEWAY__EXTENSION_VALUES = FLOW_NODE__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GATEWAY__BASE_ELEMENT = FLOW_NODE__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GATEWAY__DOCUMENTATION = FLOW_NODE__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GATEWAY__EXTENSION_DEFINITIONS = FLOW_NODE__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GATEWAY__OUTGOING = FLOW_NODE__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GATEWAY__INCOMING = FLOW_NODE__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GATEWAY__AUDITING = FLOW_NODE__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GATEWAY__MONITORING = FLOW_NODE__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GATEWAY__CATEGORY_VALUE_REF = FLOW_NODE__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GATEWAY__CONTAINER = FLOW_NODE__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GATEWAY__BASE_ACTIVITY_NODE = FLOW_NODE__BASE_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Base Control Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GATEWAY__BASE_CONTROL_NODE = FLOW_NODE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Group</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GATEWAY__BASE_ACTIVITY_GROUP = FLOW_NODE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Gateway</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GATEWAY_FEATURE_COUNT = FLOW_NODE_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Gateway</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GATEWAY_OPERATION_COUNT = FLOW_NODE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.NonExclusiveGatewayImpl <em>Non Exclusive Gateway</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.NonExclusiveGatewayImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getNonExclusiveGateway()
+ * @generated
+ */
+ int NON_EXCLUSIVE_GATEWAY = 1;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NON_EXCLUSIVE_GATEWAY__ID = GATEWAY__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NON_EXCLUSIVE_GATEWAY__EXTENSION_VALUES = GATEWAY__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NON_EXCLUSIVE_GATEWAY__BASE_ELEMENT = GATEWAY__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NON_EXCLUSIVE_GATEWAY__DOCUMENTATION = GATEWAY__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NON_EXCLUSIVE_GATEWAY__EXTENSION_DEFINITIONS = GATEWAY__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NON_EXCLUSIVE_GATEWAY__OUTGOING = GATEWAY__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NON_EXCLUSIVE_GATEWAY__INCOMING = GATEWAY__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NON_EXCLUSIVE_GATEWAY__AUDITING = GATEWAY__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NON_EXCLUSIVE_GATEWAY__MONITORING = GATEWAY__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NON_EXCLUSIVE_GATEWAY__CATEGORY_VALUE_REF = GATEWAY__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NON_EXCLUSIVE_GATEWAY__CONTAINER = GATEWAY__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NON_EXCLUSIVE_GATEWAY__BASE_ACTIVITY_NODE = GATEWAY__BASE_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Base Control Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NON_EXCLUSIVE_GATEWAY__BASE_CONTROL_NODE = GATEWAY__BASE_CONTROL_NODE;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Group</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NON_EXCLUSIVE_GATEWAY__BASE_ACTIVITY_GROUP = GATEWAY__BASE_ACTIVITY_GROUP;
+
+ /**
+ * The feature id for the '<em><b>Base Join Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NON_EXCLUSIVE_GATEWAY__BASE_JOIN_NODE = GATEWAY_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Fork Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NON_EXCLUSIVE_GATEWAY__BASE_FORK_NODE = GATEWAY_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Non Exclusive Gateway</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NON_EXCLUSIVE_GATEWAY_FEATURE_COUNT = GATEWAY_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Non Exclusive Gateway</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NON_EXCLUSIVE_GATEWAY_OPERATION_COUNT = GATEWAY_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.InclusiveGatewayImpl <em>Inclusive Gateway</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.InclusiveGatewayImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getInclusiveGateway()
+ * @generated
+ */
+ int INCLUSIVE_GATEWAY = 0;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INCLUSIVE_GATEWAY__ID = NON_EXCLUSIVE_GATEWAY__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INCLUSIVE_GATEWAY__EXTENSION_VALUES = NON_EXCLUSIVE_GATEWAY__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INCLUSIVE_GATEWAY__BASE_ELEMENT = NON_EXCLUSIVE_GATEWAY__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INCLUSIVE_GATEWAY__DOCUMENTATION = NON_EXCLUSIVE_GATEWAY__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INCLUSIVE_GATEWAY__EXTENSION_DEFINITIONS = NON_EXCLUSIVE_GATEWAY__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INCLUSIVE_GATEWAY__OUTGOING = NON_EXCLUSIVE_GATEWAY__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INCLUSIVE_GATEWAY__INCOMING = NON_EXCLUSIVE_GATEWAY__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INCLUSIVE_GATEWAY__AUDITING = NON_EXCLUSIVE_GATEWAY__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INCLUSIVE_GATEWAY__MONITORING = NON_EXCLUSIVE_GATEWAY__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INCLUSIVE_GATEWAY__CATEGORY_VALUE_REF = NON_EXCLUSIVE_GATEWAY__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INCLUSIVE_GATEWAY__CONTAINER = NON_EXCLUSIVE_GATEWAY__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INCLUSIVE_GATEWAY__BASE_ACTIVITY_NODE = NON_EXCLUSIVE_GATEWAY__BASE_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Base Control Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INCLUSIVE_GATEWAY__BASE_CONTROL_NODE = NON_EXCLUSIVE_GATEWAY__BASE_CONTROL_NODE;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Group</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INCLUSIVE_GATEWAY__BASE_ACTIVITY_GROUP = NON_EXCLUSIVE_GATEWAY__BASE_ACTIVITY_GROUP;
+
+ /**
+ * The feature id for the '<em><b>Base Join Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INCLUSIVE_GATEWAY__BASE_JOIN_NODE = NON_EXCLUSIVE_GATEWAY__BASE_JOIN_NODE;
+
+ /**
+ * The feature id for the '<em><b>Base Fork Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INCLUSIVE_GATEWAY__BASE_FORK_NODE = NON_EXCLUSIVE_GATEWAY__BASE_FORK_NODE;
+
+ /**
+ * The feature id for the '<em><b>Default</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INCLUSIVE_GATEWAY__DEFAULT = NON_EXCLUSIVE_GATEWAY_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Inclusive Gateway</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INCLUSIVE_GATEWAY_FEATURE_COUNT = NON_EXCLUSIVE_GATEWAY_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Inclusive Gatewaydefault</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INCLUSIVE_GATEWAY___INCLUSIVE_GATEWAYDEFAULT__DIAGNOSTICCHAIN_MAP = NON_EXCLUSIVE_GATEWAY_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Inclusive Gateway</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INCLUSIVE_GATEWAY_OPERATION_COUNT = NON_EXCLUSIVE_GATEWAY_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ExtensionAttributeValueImpl <em>Extension Attribute Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ExtensionAttributeValueImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getExtensionAttributeValue()
+ * @generated
+ */
+ int EXTENSION_ATTRIBUTE_VALUE = 6;
+
+ /**
+ * The feature id for the '<em><b>Base Slot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENSION_ATTRIBUTE_VALUE__BASE_SLOT = 0;
+
+ /**
+ * The feature id for the '<em><b>Value Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENSION_ATTRIBUTE_VALUE__VALUE_REF = 1;
+
+ /**
+ * The feature id for the '<em><b>Extension Attribute Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENSION_ATTRIBUTE_VALUE__EXTENSION_ATTRIBUTE_DEFINITION = 2;
+
+ /**
+ * The number of structural features of the '<em>Extension Attribute Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENSION_ATTRIBUTE_VALUE_FEATURE_COUNT = 3;
+
+ /**
+ * The number of operations of the '<em>Extension Attribute Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENSION_ATTRIBUTE_VALUE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ExtensionAttributeDefinitionImpl <em>Extension Attribute Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ExtensionAttributeDefinitionImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getExtensionAttributeDefinition()
+ * @generated
+ */
+ int EXTENSION_ATTRIBUTE_DEFINITION = 7;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENSION_ATTRIBUTE_DEFINITION__BASE_PROPERTY = 0;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENSION_ATTRIBUTE_DEFINITION__TYPE = 1;
+
+ /**
+ * The feature id for the '<em><b>Is Reference</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENSION_ATTRIBUTE_DEFINITION__IS_REFERENCE = 2;
+
+ /**
+ * The number of structural features of the '<em>Extension Attribute Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENSION_ATTRIBUTE_DEFINITION_FEATURE_COUNT = 3;
+
+ /**
+ * The number of operations of the '<em>Extension Attribute Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENSION_ATTRIBUTE_DEFINITION_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DocumentationImpl <em>Documentation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.DocumentationImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getDocumentation()
+ * @generated
+ */
+ int DOCUMENTATION = 8;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTATION__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTATION__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTATION__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTATION__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTATION__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTATION__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTATION__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Comment</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTATION__BASE_COMMENT = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Text Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTATION__TEXT_FORMAT = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Text</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTATION__TEXT = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Documentation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTATION_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Documentation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTATION_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ExtensionDefinitionImpl <em>Extension Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ExtensionDefinitionImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getExtensionDefinition()
+ * @generated
+ */
+ int EXTENSION_DEFINITION = 9;
+
+ /**
+ * The feature id for the '<em><b>Base Stereotype</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENSION_DEFINITION__BASE_STEREOTYPE = 0;
+
+ /**
+ * The feature id for the '<em><b>Extension Attribute Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENSION_DEFINITION__EXTENSION_ATTRIBUTE_DEFINITIONS = 1;
+
+ /**
+ * The number of structural features of the '<em>Extension Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENSION_DEFINITION_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>Extension Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXTENSION_DEFINITION_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNArtifactImpl <em>BPMN Artifact</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNArtifactImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getBPMNArtifact()
+ * @generated
+ */
+ int BPMN_ARTIFACT = 11;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ARTIFACT__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ARTIFACT__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ARTIFACT__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ARTIFACT__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ARTIFACT__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ARTIFACT__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ARTIFACT__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The number of structural features of the '<em>BPMN Artifact</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ARTIFACT_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>BPMN Artifact</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ARTIFACT_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNAssociationImpl <em>BPMN Association</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNAssociationImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getBPMNAssociation()
+ * @generated
+ */
+ int BPMN_ASSOCIATION = 10;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ASSOCIATION__ID = BPMN_ARTIFACT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ASSOCIATION__EXTENSION_VALUES = BPMN_ARTIFACT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ASSOCIATION__BASE_ELEMENT = BPMN_ARTIFACT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ASSOCIATION__DOCUMENTATION = BPMN_ARTIFACT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ASSOCIATION__EXTENSION_DEFINITIONS = BPMN_ARTIFACT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ASSOCIATION__OUTGOING = BPMN_ARTIFACT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ASSOCIATION__INCOMING = BPMN_ARTIFACT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Dependency</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ASSOCIATION__BASE_DEPENDENCY = BPMN_ARTIFACT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Association Direction</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ASSOCIATION__ASSOCIATION_DIRECTION = BPMN_ARTIFACT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Target Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ASSOCIATION__TARGET_REF = BPMN_ARTIFACT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Source Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ASSOCIATION__SOURCE_REF = BPMN_ARTIFACT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>BPMN Association</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ASSOCIATION_FEATURE_COUNT = BPMN_ARTIFACT_FEATURE_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Association End</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ASSOCIATION___ASSOCIATION_END__DIAGNOSTICCHAIN_MAP = BPMN_ARTIFACT_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>BPMN Association</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ASSOCIATION_OPERATION_COUNT = BPMN_ARTIFACT_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.AuditingImpl <em>Auditing</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.AuditingImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getAuditing()
+ * @generated
+ */
+ int AUDITING = 12;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AUDITING__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AUDITING__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AUDITING__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AUDITING__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AUDITING__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AUDITING__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AUDITING__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AUDITING__BASE_CLASS = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Auditing</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AUDITING_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Auditing</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AUDITING_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.MonitoringImpl <em>Monitoring</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.MonitoringImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getMonitoring()
+ * @generated
+ */
+ int MONITORING = 13;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MONITORING__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MONITORING__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MONITORING__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MONITORING__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MONITORING__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MONITORING__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MONITORING__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MONITORING__BASE_CLASS = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Monitoring</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MONITORING_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Monitoring</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MONITORING_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CategoryValueImpl <em>Category Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.CategoryValueImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getCategoryValue()
+ * @generated
+ */
+ int CATEGORY_VALUE = 14;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY_VALUE__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY_VALUE__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY_VALUE__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY_VALUE__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY_VALUE__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY_VALUE__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY_VALUE__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Enumeration Literal</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY_VALUE__BASE_ENUMERATION_LITERAL = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Categorized Flow Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY_VALUE__CATEGORIZED_FLOW_ELEMENTS = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Category Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY_VALUE_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Category Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY_VALUE_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.FlowElementsContainerImpl <em>Flow Elements Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.FlowElementsContainerImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getFlowElementsContainer()
+ * @generated
+ */
+ int FLOW_ELEMENTS_CONTAINER = 15;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_ELEMENTS_CONTAINER__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_ELEMENTS_CONTAINER__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_ELEMENTS_CONTAINER__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_ELEMENTS_CONTAINER__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_ELEMENTS_CONTAINER__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_ELEMENTS_CONTAINER__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_ELEMENTS_CONTAINER__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Lane Sets</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_ELEMENTS_CONTAINER__LANE_SETS = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Flow Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_ELEMENTS_CONTAINER__FLOW_ELEMENTS = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Flow Elements Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_ELEMENTS_CONTAINER_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Flow Elements Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_ELEMENTS_CONTAINER_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.LaneSetImpl <em>Lane Set</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.LaneSetImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getLaneSet()
+ * @generated
+ */
+ int LANE_SET = 16;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE_SET__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE_SET__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE_SET__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE_SET__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE_SET__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE_SET__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE_SET__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Partition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE_SET__BASE_ACTIVITY_PARTITION = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Lanes</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE_SET__LANES = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Parent Lane</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE_SET__PARENT_LANE = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Flow Elements Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE_SET__FLOW_ELEMENTS_CONTAINER = BASE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Lane Set</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE_SET_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Lane Setlanes</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE_SET___LANE_SETLANES__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Lane Setparent Lane</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE_SET___LANE_SETPARENT_LANE__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Lane Setflow Elements Container</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE_SET___LANE_SETFLOW_ELEMENTS_CONTAINER__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Lane Set</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE_SET___LANE_SET__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Lane Set</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE_SET_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.LaneImpl <em>Lane</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.LaneImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getLane()
+ * @generated
+ */
+ int LANE = 17;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Partition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE__BASE_ACTIVITY_PARTITION = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>partition Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE__PARTITION_ELEMENT = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Flow Node Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE__FLOW_NODE_REFS = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Partition Element Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE__PARTITION_ELEMENT_REF = BASE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Child Lane Set</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE__CHILD_LANE_SET = BASE_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Lane Set</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE__LANE_SET = BASE_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Lane</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Lanelane Set</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE___LANELANE_SET__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Lanechild Lane Set</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE___LANECHILD_LANE_SET__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Lanepartition Element Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE___LANEPARTITION_ELEMENT_REF__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Laneflow Node Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE___LANEFLOW_NODE_REFS__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Lane</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LANE_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.SequenceFlowImpl <em>Sequence Flow</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.SequenceFlowImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getSequenceFlow()
+ * @generated
+ */
+ int SEQUENCE_FLOW = 18;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_FLOW__ID = FLOW_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_FLOW__EXTENSION_VALUES = FLOW_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_FLOW__BASE_ELEMENT = FLOW_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_FLOW__DOCUMENTATION = FLOW_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_FLOW__EXTENSION_DEFINITIONS = FLOW_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_FLOW__OUTGOING = FLOW_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_FLOW__INCOMING = FLOW_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_FLOW__AUDITING = FLOW_ELEMENT__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_FLOW__MONITORING = FLOW_ELEMENT__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_FLOW__CATEGORY_VALUE_REF = FLOW_ELEMENT__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_FLOW__CONTAINER = FLOW_ELEMENT__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Control Flow</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_FLOW__BASE_CONTROL_FLOW = FLOW_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Is Immediate</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_FLOW__IS_IMMEDIATE = FLOW_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Condition Expression</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_FLOW__CONDITION_EXPRESSION = FLOW_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Sequence Flow</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_FLOW_FEATURE_COUNT = FLOW_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Sequence Flowcondition Expression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_FLOW___SEQUENCE_FLOWCONDITION_EXPRESSION__DIAGNOSTICCHAIN_MAP = FLOW_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Sequence Flowsource Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_FLOW___SEQUENCE_FLOWSOURCE_REF__DIAGNOSTICCHAIN_MAP = FLOW_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Sequence Flowtarget Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_FLOW___SEQUENCE_FLOWTARGET_REF__DIAGNOSTICCHAIN_MAP = FLOW_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Sequence Flow</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEQUENCE_FLOW_OPERATION_COUNT = FLOW_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNExpressionImpl <em>BPMN Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNExpressionImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getBPMNExpression()
+ * @generated
+ */
+ int BPMN_EXPRESSION = 19;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EXPRESSION__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EXPRESSION__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EXPRESSION__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EXPRESSION__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EXPRESSION__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EXPRESSION__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EXPRESSION__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Opaque Expression</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EXPRESSION__BASE_OPAQUE_EXPRESSION = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>BPMN Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EXPRESSION_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>BPMN Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EXPRESSION_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.EventBasedGatewayImpl <em>Event Based Gateway</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.EventBasedGatewayImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getEventBasedGateway()
+ * @generated
+ */
+ int EVENT_BASED_GATEWAY = 20;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_BASED_GATEWAY__ID = GATEWAY__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_BASED_GATEWAY__EXTENSION_VALUES = GATEWAY__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_BASED_GATEWAY__BASE_ELEMENT = GATEWAY__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_BASED_GATEWAY__DOCUMENTATION = GATEWAY__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_BASED_GATEWAY__EXTENSION_DEFINITIONS = GATEWAY__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_BASED_GATEWAY__OUTGOING = GATEWAY__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_BASED_GATEWAY__INCOMING = GATEWAY__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_BASED_GATEWAY__AUDITING = GATEWAY__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_BASED_GATEWAY__MONITORING = GATEWAY__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_BASED_GATEWAY__CATEGORY_VALUE_REF = GATEWAY__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_BASED_GATEWAY__CONTAINER = GATEWAY__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_BASED_GATEWAY__BASE_ACTIVITY_NODE = GATEWAY__BASE_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Base Control Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_BASED_GATEWAY__BASE_CONTROL_NODE = GATEWAY__BASE_CONTROL_NODE;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Group</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_BASED_GATEWAY__BASE_ACTIVITY_GROUP = GATEWAY__BASE_ACTIVITY_GROUP;
+
+ /**
+ * The feature id for the '<em><b>Instantiate</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_BASED_GATEWAY__INSTANTIATE = GATEWAY_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Event Gateway Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_BASED_GATEWAY__EVENT_GATEWAY_TYPE = GATEWAY_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Fork Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_BASED_GATEWAY__BASE_FORK_NODE = GATEWAY_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Base Structured Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_BASED_GATEWAY__BASE_STRUCTURED_ACTIVITY_NODE = GATEWAY_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Base Interruptible Activity Region</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_BASED_GATEWAY__BASE_INTERRUPTIBLE_ACTIVITY_REGION = GATEWAY_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Event Based Gateway</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_BASED_GATEWAY_FEATURE_COUNT = GATEWAY_FEATURE_COUNT + 5;
+
+ /**
+ * The number of operations of the '<em>Event Based Gateway</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_BASED_GATEWAY_OPERATION_COUNT = GATEWAY_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ParallelGatewayImpl <em>Parallel Gateway</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ParallelGatewayImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getParallelGateway()
+ * @generated
+ */
+ int PARALLEL_GATEWAY = 21;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARALLEL_GATEWAY__ID = NON_EXCLUSIVE_GATEWAY__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARALLEL_GATEWAY__EXTENSION_VALUES = NON_EXCLUSIVE_GATEWAY__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARALLEL_GATEWAY__BASE_ELEMENT = NON_EXCLUSIVE_GATEWAY__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARALLEL_GATEWAY__DOCUMENTATION = NON_EXCLUSIVE_GATEWAY__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARALLEL_GATEWAY__EXTENSION_DEFINITIONS = NON_EXCLUSIVE_GATEWAY__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARALLEL_GATEWAY__OUTGOING = NON_EXCLUSIVE_GATEWAY__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARALLEL_GATEWAY__INCOMING = NON_EXCLUSIVE_GATEWAY__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARALLEL_GATEWAY__AUDITING = NON_EXCLUSIVE_GATEWAY__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARALLEL_GATEWAY__MONITORING = NON_EXCLUSIVE_GATEWAY__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARALLEL_GATEWAY__CATEGORY_VALUE_REF = NON_EXCLUSIVE_GATEWAY__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARALLEL_GATEWAY__CONTAINER = NON_EXCLUSIVE_GATEWAY__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARALLEL_GATEWAY__BASE_ACTIVITY_NODE = NON_EXCLUSIVE_GATEWAY__BASE_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Base Control Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARALLEL_GATEWAY__BASE_CONTROL_NODE = NON_EXCLUSIVE_GATEWAY__BASE_CONTROL_NODE;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Group</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARALLEL_GATEWAY__BASE_ACTIVITY_GROUP = NON_EXCLUSIVE_GATEWAY__BASE_ACTIVITY_GROUP;
+
+ /**
+ * The feature id for the '<em><b>Base Join Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARALLEL_GATEWAY__BASE_JOIN_NODE = NON_EXCLUSIVE_GATEWAY__BASE_JOIN_NODE;
+
+ /**
+ * The feature id for the '<em><b>Base Fork Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARALLEL_GATEWAY__BASE_FORK_NODE = NON_EXCLUSIVE_GATEWAY__BASE_FORK_NODE;
+
+ /**
+ * The number of structural features of the '<em>Parallel Gateway</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARALLEL_GATEWAY_FEATURE_COUNT = NON_EXCLUSIVE_GATEWAY_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Parallel Gateway</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARALLEL_GATEWAY_OPERATION_COUNT = NON_EXCLUSIVE_GATEWAY_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ComplexGatewayImpl <em>Complex Gateway</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ComplexGatewayImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getComplexGateway()
+ * @generated
+ */
+ int COMPLEX_GATEWAY = 22;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_GATEWAY__ID = NON_EXCLUSIVE_GATEWAY__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_GATEWAY__EXTENSION_VALUES = NON_EXCLUSIVE_GATEWAY__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_GATEWAY__BASE_ELEMENT = NON_EXCLUSIVE_GATEWAY__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_GATEWAY__DOCUMENTATION = NON_EXCLUSIVE_GATEWAY__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_GATEWAY__EXTENSION_DEFINITIONS = NON_EXCLUSIVE_GATEWAY__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_GATEWAY__OUTGOING = NON_EXCLUSIVE_GATEWAY__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_GATEWAY__INCOMING = NON_EXCLUSIVE_GATEWAY__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_GATEWAY__AUDITING = NON_EXCLUSIVE_GATEWAY__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_GATEWAY__MONITORING = NON_EXCLUSIVE_GATEWAY__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_GATEWAY__CATEGORY_VALUE_REF = NON_EXCLUSIVE_GATEWAY__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_GATEWAY__CONTAINER = NON_EXCLUSIVE_GATEWAY__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_GATEWAY__BASE_ACTIVITY_NODE = NON_EXCLUSIVE_GATEWAY__BASE_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Base Control Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_GATEWAY__BASE_CONTROL_NODE = NON_EXCLUSIVE_GATEWAY__BASE_CONTROL_NODE;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Group</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_GATEWAY__BASE_ACTIVITY_GROUP = NON_EXCLUSIVE_GATEWAY__BASE_ACTIVITY_GROUP;
+
+ /**
+ * The feature id for the '<em><b>Base Join Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_GATEWAY__BASE_JOIN_NODE = NON_EXCLUSIVE_GATEWAY__BASE_JOIN_NODE;
+
+ /**
+ * The feature id for the '<em><b>Base Fork Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_GATEWAY__BASE_FORK_NODE = NON_EXCLUSIVE_GATEWAY__BASE_FORK_NODE;
+
+ /**
+ * The feature id for the '<em><b>Default</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_GATEWAY__DEFAULT = NON_EXCLUSIVE_GATEWAY_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Activation Condition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_GATEWAY__ACTIVATION_CONDITION = NON_EXCLUSIVE_GATEWAY_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Complex Gateway</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_GATEWAY_FEATURE_COUNT = NON_EXCLUSIVE_GATEWAY_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Complex Gatewaydefault</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_GATEWAY___COMPLEX_GATEWAYDEFAULT__DIAGNOSTICCHAIN_MAP = NON_EXCLUSIVE_GATEWAY_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Complex Gatewayactivation Condition</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_GATEWAY___COMPLEX_GATEWAYACTIVATION_CONDITION__DIAGNOSTICCHAIN_MAP = NON_EXCLUSIVE_GATEWAY_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Complex Gatewayjoin Spec</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_GATEWAY___COMPLEX_GATEWAYJOIN_SPEC__DIAGNOSTICCHAIN_MAP = NON_EXCLUSIVE_GATEWAY_OPERATION_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Complex Gateway</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_GATEWAY_OPERATION_COUNT = NON_EXCLUSIVE_GATEWAY_OPERATION_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ExclusiveGatewayImpl <em>Exclusive Gateway</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ExclusiveGatewayImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getExclusiveGateway()
+ * @generated
+ */
+ int EXCLUSIVE_GATEWAY = 23;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXCLUSIVE_GATEWAY__ID = GATEWAY__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXCLUSIVE_GATEWAY__EXTENSION_VALUES = GATEWAY__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXCLUSIVE_GATEWAY__BASE_ELEMENT = GATEWAY__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXCLUSIVE_GATEWAY__DOCUMENTATION = GATEWAY__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXCLUSIVE_GATEWAY__EXTENSION_DEFINITIONS = GATEWAY__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXCLUSIVE_GATEWAY__OUTGOING = GATEWAY__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXCLUSIVE_GATEWAY__INCOMING = GATEWAY__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXCLUSIVE_GATEWAY__AUDITING = GATEWAY__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXCLUSIVE_GATEWAY__MONITORING = GATEWAY__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXCLUSIVE_GATEWAY__CATEGORY_VALUE_REF = GATEWAY__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXCLUSIVE_GATEWAY__CONTAINER = GATEWAY__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXCLUSIVE_GATEWAY__BASE_ACTIVITY_NODE = GATEWAY__BASE_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Base Control Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXCLUSIVE_GATEWAY__BASE_CONTROL_NODE = GATEWAY__BASE_CONTROL_NODE;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Group</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXCLUSIVE_GATEWAY__BASE_ACTIVITY_GROUP = GATEWAY__BASE_ACTIVITY_GROUP;
+
+ /**
+ * The feature id for the '<em><b>Base Decision Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXCLUSIVE_GATEWAY__BASE_DECISION_NODE = GATEWAY_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Merge Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXCLUSIVE_GATEWAY__BASE_MERGE_NODE = GATEWAY_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Default</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXCLUSIVE_GATEWAY__DEFAULT = GATEWAY_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Exclusive Gateway</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXCLUSIVE_GATEWAY_FEATURE_COUNT = GATEWAY_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Exclusive Gatewaydefault</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXCLUSIVE_GATEWAY___EXCLUSIVE_GATEWAYDEFAULT__DIAGNOSTICCHAIN_MAP = GATEWAY_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Exclusive Gateway</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXCLUSIVE_GATEWAY_OPERATION_COUNT = GATEWAY_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.RootElementImpl <em>Root Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.RootElementImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getRootElement()
+ * @generated
+ */
+ int ROOT_ELEMENT = 24;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROOT_ELEMENT__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROOT_ELEMENT__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROOT_ELEMENT__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROOT_ELEMENT__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROOT_ELEMENT__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROOT_ELEMENT__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROOT_ELEMENT__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROOT_ELEMENT__BASE_PACKAGEABLE_ELEMENT = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROOT_ELEMENT__DEFINITION = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Root Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROOT_ELEMENT_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Root Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROOT_ELEMENT_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DefinitionsImpl <em>Definitions</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.DefinitionsImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getDefinitions()
+ * @generated
+ */
+ int DEFINITIONS = 25;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFINITIONS__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFINITIONS__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFINITIONS__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFINITIONS__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFINITIONS__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFINITIONS__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFINITIONS__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFINITIONS__BASE_PACKAGE = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Target Namespace</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFINITIONS__TARGET_NAMESPACE = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Expression Language</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFINITIONS__EXPRESSION_LANGUAGE = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Type Language</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFINITIONS__TYPE_LANGUAGE = BASE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Exporter</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFINITIONS__EXPORTER = BASE_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Exporter Version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFINITIONS__EXPORTER_VERSION = BASE_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Extensions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFINITIONS__EXTENSIONS = BASE_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Imports</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFINITIONS__IMPORTS = BASE_ELEMENT_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Relationships</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFINITIONS__RELATIONSHIPS = BASE_ELEMENT_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Root Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFINITIONS__ROOT_ELEMENTS = BASE_ELEMENT_FEATURE_COUNT + 9;
+
+ /**
+ * The number of structural features of the '<em>Definitions</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFINITIONS_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 10;
+
+ /**
+ * The number of operations of the '<em>Definitions</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEFINITIONS_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNExtensionImpl <em>BPMN Extension</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNExtensionImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getBPMNExtension()
+ * @generated
+ */
+ int BPMN_EXTENSION = 26;
+
+ /**
+ * The feature id for the '<em><b>Base Stereotype</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EXTENSION__BASE_STEREOTYPE = 0;
+
+ /**
+ * The feature id for the '<em><b>Must Understand</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EXTENSION__MUST_UNDERSTAND = 1;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EXTENSION__DEFINITION = 2;
+
+ /**
+ * The number of structural features of the '<em>BPMN Extension</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EXTENSION_FEATURE_COUNT = 3;
+
+ /**
+ * The number of operations of the '<em>BPMN Extension</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EXTENSION_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ImportImpl <em>Import</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ImportImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getImport()
+ * @generated
+ */
+ int IMPORT = 27;
+
+ /**
+ * The feature id for the '<em><b>Base Package Import</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPORT__BASE_PACKAGE_IMPORT = 0;
+
+ /**
+ * The feature id for the '<em><b>Import Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPORT__IMPORT_TYPE = 1;
+
+ /**
+ * The feature id for the '<em><b>Location</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPORT__LOCATION = 2;
+
+ /**
+ * The feature id for the '<em><b>Namespace</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPORT__NAMESPACE = 3;
+
+ /**
+ * The feature id for the '<em><b>Definitions</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPORT__DEFINITIONS = 4;
+
+ /**
+ * The number of structural features of the '<em>Import</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPORT_FEATURE_COUNT = 5;
+
+ /**
+ * The number of operations of the '<em>Import</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPORT_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNRelationshipImpl <em>BPMN Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNRelationshipImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getBPMNRelationship()
+ * @generated
+ */
+ int BPMN_RELATIONSHIP = 28;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_RELATIONSHIP__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_RELATIONSHIP__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_RELATIONSHIP__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_RELATIONSHIP__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_RELATIONSHIP__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_RELATIONSHIP__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_RELATIONSHIP__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Constraint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_RELATIONSHIP__BASE_CONSTRAINT = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_RELATIONSHIP__TYPE = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Direction</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_RELATIONSHIP__DIRECTION = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Targets</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_RELATIONSHIP__TARGETS = BASE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Sources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_RELATIONSHIP__SOURCES = BASE_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_RELATIONSHIP__DEFINITION = BASE_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>BPMN Relationship</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_RELATIONSHIP_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The number of operations of the '<em>BPMN Relationship</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_RELATIONSHIP_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CallableElementImpl <em>Callable Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.CallableElementImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getCallableElement()
+ * @generated
+ */
+ int CALLABLE_ELEMENT = 30;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALLABLE_ELEMENT__ID = ROOT_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALLABLE_ELEMENT__EXTENSION_VALUES = ROOT_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALLABLE_ELEMENT__BASE_ELEMENT = ROOT_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALLABLE_ELEMENT__DOCUMENTATION = ROOT_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALLABLE_ELEMENT__EXTENSION_DEFINITIONS = ROOT_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALLABLE_ELEMENT__OUTGOING = ROOT_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALLABLE_ELEMENT__INCOMING = ROOT_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALLABLE_ELEMENT__BASE_PACKAGEABLE_ELEMENT = ROOT_ELEMENT__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALLABLE_ELEMENT__DEFINITION = ROOT_ELEMENT__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Base Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALLABLE_ELEMENT__BASE_BEHAVIOR = ROOT_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Io Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALLABLE_ELEMENT__IO_SPECIFICATION = ROOT_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Supported Interface Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALLABLE_ELEMENT__SUPPORTED_INTERFACE_REFS = ROOT_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Io Binding</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALLABLE_ELEMENT__IO_BINDING = ROOT_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Callable Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALLABLE_ELEMENT_FEATURE_COUNT = ROOT_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Callable Eelementsupported Interface Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALLABLE_ELEMENT___CALLABLE_EELEMENTSUPPORTED_INTERFACE_REFS__DIAGNOSTICCHAIN_MAP = ROOT_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Callable Elementresources</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALLABLE_ELEMENT___CALLABLE_ELEMENTRESOURCES__DIAGNOSTICCHAIN_MAP = ROOT_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Callable Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALLABLE_ELEMENT_OPERATION_COUNT = ROOT_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProcessImpl <em>BPMN Process</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProcessImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getBPMNProcess()
+ * @generated
+ */
+ int BPMN_PROCESS = 29;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS__ID = CALLABLE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS__EXTENSION_VALUES = CALLABLE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS__BASE_ELEMENT = CALLABLE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS__DOCUMENTATION = CALLABLE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS__EXTENSION_DEFINITIONS = CALLABLE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS__OUTGOING = CALLABLE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS__INCOMING = CALLABLE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS__BASE_PACKAGEABLE_ELEMENT = CALLABLE_ELEMENT__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS__DEFINITION = CALLABLE_ELEMENT__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Base Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS__BASE_BEHAVIOR = CALLABLE_ELEMENT__BASE_BEHAVIOR;
+
+ /**
+ * The feature id for the '<em><b>Io Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS__IO_SPECIFICATION = CALLABLE_ELEMENT__IO_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Supported Interface Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS__SUPPORTED_INTERFACE_REFS = CALLABLE_ELEMENT__SUPPORTED_INTERFACE_REFS;
+
+ /**
+ * The feature id for the '<em><b>Io Binding</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS__IO_BINDING = CALLABLE_ELEMENT__IO_BINDING;
+
+ /**
+ * The feature id for the '<em><b>Lane Sets</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS__LANE_SETS = CALLABLE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Flow Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS__FLOW_ELEMENTS = CALLABLE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Process Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS__PROCESS_TYPE = CALLABLE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Is Closed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS__IS_CLOSED = CALLABLE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS__AUDITING = CALLABLE_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Is Executable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS__IS_EXECUTABLE = CALLABLE_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Definitional Collaboration Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS__DEFINITIONAL_COLLABORATION_REF = CALLABLE_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Base Activity</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS__BASE_ACTIVITY = CALLABLE_ELEMENT_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Correlation Subscriptions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS__CORRELATION_SUBSCRIPTIONS = CALLABLE_ELEMENT_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS__MONITORING = CALLABLE_ELEMENT_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Supports</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS__SUPPORTS = CALLABLE_ELEMENT_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS__PROPERTIES = CALLABLE_ELEMENT_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the '<em><b>Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS__RESOURCES = CALLABLE_ELEMENT_FEATURE_COUNT + 12;
+
+ /**
+ * The number of structural features of the '<em>BPMN Process</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS_FEATURE_COUNT = CALLABLE_ELEMENT_FEATURE_COUNT + 13;
+
+ /**
+ * The operation id for the '<em>Callable Eelementsupported Interface Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS___CALLABLE_EELEMENTSUPPORTED_INTERFACE_REFS__DIAGNOSTICCHAIN_MAP = CALLABLE_ELEMENT___CALLABLE_EELEMENTSUPPORTED_INTERFACE_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Callable Elementresources</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS___CALLABLE_ELEMENTRESOURCES__DIAGNOSTICCHAIN_MAP = CALLABLE_ELEMENT___CALLABLE_ELEMENTRESOURCES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Processsupported Interface Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS___PROCESSSUPPORTED_INTERFACE_REFS__DIAGNOSTICCHAIN_MAP = CALLABLE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Processsupports</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS___PROCESSSUPPORTS__DIAGNOSTICCHAIN_MAP = CALLABLE_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Processproperties</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS___PROCESSPROPERTIES__DIAGNOSTICCHAIN_MAP = CALLABLE_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Processlane Sets</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS___PROCESSLANE_SETS__DIAGNOSTICCHAIN_MAP = CALLABLE_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Processflow Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS___PROCESSFLOW_ELEMENTS__DIAGNOSTICCHAIN_MAP = CALLABLE_ELEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The number of operations of the '<em>BPMN Process</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROCESS_OPERATION_COUNT = CALLABLE_ELEMENT_OPERATION_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.InputOutputSpecificationImpl <em>Input Output Specification</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.InputOutputSpecificationImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getInputOutputSpecification()
+ * @generated
+ */
+ int INPUT_OUTPUT_SPECIFICATION = 31;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_OUTPUT_SPECIFICATION__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_OUTPUT_SPECIFICATION__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_OUTPUT_SPECIFICATION__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_OUTPUT_SPECIFICATION__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_OUTPUT_SPECIFICATION__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_OUTPUT_SPECIFICATION__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_OUTPUT_SPECIFICATION__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_OUTPUT_SPECIFICATION__BASE_BEHAVIOR = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_OUTPUT_SPECIFICATION__BASE_ACTION = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Data Inputs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_OUTPUT_SPECIFICATION__DATA_INPUTS = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Data Outputs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_OUTPUT_SPECIFICATION__DATA_OUTPUTS = BASE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Input Sets</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_OUTPUT_SPECIFICATION__INPUT_SETS = BASE_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Output Sets</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_OUTPUT_SPECIFICATION__OUTPUT_SETS = BASE_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Input Output Specification</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_OUTPUT_SPECIFICATION_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The number of operations of the '<em>Input Output Specification</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_OUTPUT_SPECIFICATION_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ItemAwareElementImpl <em>Item Aware Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ItemAwareElementImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getItemAwareElement()
+ * @generated
+ */
+ int ITEM_AWARE_ELEMENT = 33;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_AWARE_ELEMENT__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_AWARE_ELEMENT__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_AWARE_ELEMENT__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_AWARE_ELEMENT__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_AWARE_ELEMENT__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_AWARE_ELEMENT__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_AWARE_ELEMENT__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Data State</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_AWARE_ELEMENT__DATA_STATE = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Typed Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_AWARE_ELEMENT__BASE_TYPED_ELEMENT = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Item Subject Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_AWARE_ELEMENT__ITEM_SUBJECT_REF = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Item Aware Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_AWARE_ELEMENT_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Item Aware Elementdata State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_AWARE_ELEMENT___ITEM_AWARE_ELEMENTDATA_STATE__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Item Aware Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_AWARE_ELEMENT_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataInputImpl <em>Data Input</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataInputImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getDataInput()
+ * @generated
+ */
+ int DATA_INPUT = 32;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT__ID = ITEM_AWARE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT__EXTENSION_VALUES = ITEM_AWARE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT__BASE_ELEMENT = ITEM_AWARE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT__DOCUMENTATION = ITEM_AWARE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT__EXTENSION_DEFINITIONS = ITEM_AWARE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT__OUTGOING = ITEM_AWARE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT__INCOMING = ITEM_AWARE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Data State</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT__DATA_STATE = ITEM_AWARE_ELEMENT__DATA_STATE;
+
+ /**
+ * The feature id for the '<em><b>Base Typed Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT__BASE_TYPED_ELEMENT = ITEM_AWARE_ELEMENT__BASE_TYPED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Item Subject Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT__ITEM_SUBJECT_REF = ITEM_AWARE_ELEMENT__ITEM_SUBJECT_REF;
+
+ /**
+ * The feature id for the '<em><b>Is Collection</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT__IS_COLLECTION = ITEM_AWARE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Input Pin</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT__BASE_INPUT_PIN = ITEM_AWARE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Parameter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT__BASE_PARAMETER = ITEM_AWARE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Parameter Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT__BASE_ACTIVITY_PARAMETER_NODE = ITEM_AWARE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Input Set Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT__INPUT_SET_REFS = ITEM_AWARE_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Input Set With Optional</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT__INPUT_SET_WITH_OPTIONAL = ITEM_AWARE_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Input Set With While Executing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT__INPUT_SET_WITH_WHILE_EXECUTING = ITEM_AWARE_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The number of structural features of the '<em>Data Input</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT_FEATURE_COUNT = ITEM_AWARE_ELEMENT_FEATURE_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Item Aware Elementdata State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT___ITEM_AWARE_ELEMENTDATA_STATE__DIAGNOSTICCHAIN_MAP = ITEM_AWARE_ELEMENT___ITEM_AWARE_ELEMENTDATA_STATE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Data Input Association</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT___DATA_INPUT_ASSOCIATION__DIAGNOSTICCHAIN_MAP = ITEM_AWARE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Data Inputnotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT___DATA_INPUTNOTATION__DIAGNOSTICCHAIN_MAP = ITEM_AWARE_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Data Inputitem Subject Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT___DATA_INPUTITEM_SUBJECT_REF__DIAGNOSTICCHAIN_MAP = ITEM_AWARE_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Data Input</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT_OPERATION_COUNT = ITEM_AWARE_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataStateImpl <em>Data State</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataStateImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getDataState()
+ * @generated
+ */
+ int DATA_STATE = 34;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STATE__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STATE__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STATE__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STATE__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STATE__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STATE__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STATE__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base State</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STATE__BASE_STATE = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Data State</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STATE_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Data State</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STATE_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ItemDefinitionImpl <em>Item Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ItemDefinitionImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getItemDefinition()
+ * @generated
+ */
+ int ITEM_DEFINITION = 35;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_DEFINITION__ID = ROOT_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_DEFINITION__EXTENSION_VALUES = ROOT_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_DEFINITION__BASE_ELEMENT = ROOT_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_DEFINITION__DOCUMENTATION = ROOT_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_DEFINITION__EXTENSION_DEFINITIONS = ROOT_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_DEFINITION__OUTGOING = ROOT_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_DEFINITION__INCOMING = ROOT_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_DEFINITION__BASE_PACKAGEABLE_ELEMENT = ROOT_ELEMENT__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_DEFINITION__DEFINITION = ROOT_ELEMENT__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Item Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_DEFINITION__ITEM_KIND = ROOT_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Is Collection</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_DEFINITION__IS_COLLECTION = ROOT_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_DEFINITION__BASE_CLASS = ROOT_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Structure Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_DEFINITION__STRUCTURE_REF = ROOT_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Import</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_DEFINITION__IMPORT = ROOT_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Item Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_DEFINITION_FEATURE_COUNT = ROOT_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Item Definitionstructure Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_DEFINITION___ITEM_DEFINITIONSTRUCTURE_REF__DIAGNOSTICCHAIN_MAP = ROOT_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Item Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_DEFINITION_OPERATION_COUNT = ROOT_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.InputSetImpl <em>Input Set</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.InputSetImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getInputSet()
+ * @generated
+ */
+ int INPUT_SET = 36;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_SET__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_SET__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_SET__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_SET__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_SET__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_SET__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_SET__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Parameter Set</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_SET__BASE_PARAMETER_SET = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Optional Input Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_SET__OPTIONAL_INPUT_REFS = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>While Executing Input Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_SET__WHILE_EXECUTING_INPUT_REFS = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Data Input Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_SET__DATA_INPUT_REFS = BASE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Input Set</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_SET_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Input Setdata Input Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_SET___INPUT_SETDATA_INPUT_REFS__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Input Setoptional Input Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_SET___INPUT_SETOPTIONAL_INPUT_REFS__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Input Setwhile Executing Input Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_SET___INPUT_SETWHILE_EXECUTING_INPUT_REFS__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Input Set</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_SET_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataOutputImpl <em>Data Output</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataOutputImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getDataOutput()
+ * @generated
+ */
+ int DATA_OUTPUT = 37;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT__ID = ITEM_AWARE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT__EXTENSION_VALUES = ITEM_AWARE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT__BASE_ELEMENT = ITEM_AWARE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT__DOCUMENTATION = ITEM_AWARE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT__EXTENSION_DEFINITIONS = ITEM_AWARE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT__OUTGOING = ITEM_AWARE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT__INCOMING = ITEM_AWARE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Data State</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT__DATA_STATE = ITEM_AWARE_ELEMENT__DATA_STATE;
+
+ /**
+ * The feature id for the '<em><b>Base Typed Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT__BASE_TYPED_ELEMENT = ITEM_AWARE_ELEMENT__BASE_TYPED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Item Subject Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT__ITEM_SUBJECT_REF = ITEM_AWARE_ELEMENT__ITEM_SUBJECT_REF;
+
+ /**
+ * The feature id for the '<em><b>Base Output Pin</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT__BASE_OUTPUT_PIN = ITEM_AWARE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Is Collection</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT__IS_COLLECTION = ITEM_AWARE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Parameter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT__BASE_PARAMETER = ITEM_AWARE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Parameter Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT__BASE_ACTIVITY_PARAMETER_NODE = ITEM_AWARE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Output Set Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT__OUTPUT_SET_REFS = ITEM_AWARE_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Output Set With Optional</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT__OUTPUT_SET_WITH_OPTIONAL = ITEM_AWARE_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Output Set With While Executing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT__OUTPUT_SET_WITH_WHILE_EXECUTING = ITEM_AWARE_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The number of structural features of the '<em>Data Output</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT_FEATURE_COUNT = ITEM_AWARE_ELEMENT_FEATURE_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Item Aware Elementdata State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT___ITEM_AWARE_ELEMENTDATA_STATE__DIAGNOSTICCHAIN_MAP = ITEM_AWARE_ELEMENT___ITEM_AWARE_ELEMENTDATA_STATE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Data Outputnotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT___DATA_OUTPUTNOTATION__DIAGNOSTICCHAIN_MAP = ITEM_AWARE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Data Outputitem Subject Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT___DATA_OUTPUTITEM_SUBJECT_REF__DIAGNOSTICCHAIN_MAP = ITEM_AWARE_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Data Output</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT_OPERATION_COUNT = ITEM_AWARE_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.OutputSetImpl <em>Output Set</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.OutputSetImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getOutputSet()
+ * @generated
+ */
+ int OUTPUT_SET = 38;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_SET__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_SET__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_SET__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_SET__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_SET__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_SET__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_SET__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Parameter Set</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_SET__BASE_PARAMETER_SET = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Optional Output Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_SET__OPTIONAL_OUTPUT_REFS = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>While Executing Output Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_SET__WHILE_EXECUTING_OUTPUT_REFS = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Data Output Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_SET__DATA_OUTPUT_REFS = BASE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Output Set</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_SET_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Output Setdata Output Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_SET___OUTPUT_SETDATA_OUTPUT_REFS__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Output Setoptional Output Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_SET___OUTPUT_SETOPTIONAL_OUTPUT_REFS__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Output Setwhile Executing Output Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_SET___OUTPUT_SETWHILE_EXECUTING_OUTPUT_REFS__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Output Set</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OUTPUT_SET_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNInterfaceImpl <em>BPMN Interface</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNInterfaceImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getBPMNInterface()
+ * @generated
+ */
+ int BPMN_INTERFACE = 39;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_INTERFACE__ID = ROOT_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_INTERFACE__EXTENSION_VALUES = ROOT_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_INTERFACE__BASE_ELEMENT = ROOT_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_INTERFACE__DOCUMENTATION = ROOT_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_INTERFACE__EXTENSION_DEFINITIONS = ROOT_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_INTERFACE__OUTGOING = ROOT_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_INTERFACE__INCOMING = ROOT_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_INTERFACE__BASE_PACKAGEABLE_ELEMENT = ROOT_ELEMENT__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_INTERFACE__DEFINITION = ROOT_ELEMENT__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Base Interface</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_INTERFACE__BASE_INTERFACE = ROOT_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Implementation Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_INTERFACE__IMPLEMENTATION_REF = ROOT_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Operations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_INTERFACE__OPERATIONS = ROOT_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Callable Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_INTERFACE__CALLABLE_ELEMENTS = ROOT_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>BPMN Interface</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_INTERFACE_FEATURE_COUNT = ROOT_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Interfaceoperationmultiplicity</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_INTERFACE___INTERFACEOPERATIONMULTIPLICITY__DIAGNOSTICCHAIN_MAP = ROOT_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Interfaceowned Operation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_INTERFACE___INTERFACEOWNED_OPERATION__DIAGNOSTICCHAIN_MAP = ROOT_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>BPMN Interfacecallable Elements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_INTERFACE___BPMN_INTERFACECALLABLE_ELEMENTS__DIAGNOSTICCHAIN_MAP = ROOT_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>BPMN Interfaceoperations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_INTERFACE___BPMN_INTERFACEOPERATIONS__DIAGNOSTICCHAIN_MAP = ROOT_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>BPMN Interface</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_INTERFACE_OPERATION_COUNT = ROOT_ELEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNOperationImpl <em>BPMN Operation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNOperationImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getBPMNOperation()
+ * @generated
+ */
+ int BPMN_OPERATION = 40;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_OPERATION__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_OPERATION__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_OPERATION__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_OPERATION__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_OPERATION__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_OPERATION__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_OPERATION__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Operation</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_OPERATION__BASE_OPERATION = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Implementation Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_OPERATION__IMPLEMENTATION_REF = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>In Message Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_OPERATION__IN_MESSAGE_REF = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Out Message Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_OPERATION__OUT_MESSAGE_REF = BASE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Error Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_OPERATION__ERROR_REF = BASE_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>BPMN Operation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_OPERATION_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>BPMN Operationowner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_OPERATION___BPMN_OPERATIONOWNER__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>BPMN Operationin Message Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_OPERATION___BPMN_OPERATIONIN_MESSAGE_REF__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>BPMN Operationout Message Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_OPERATION___BPMN_OPERATIONOUT_MESSAGE_REF__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>BPMN Operationerror Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_OPERATION___BPMN_OPERATIONERROR_REFS__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>BPMN Operation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_OPERATION_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNMessageImpl <em>BPMN Message</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNMessageImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getBPMNMessage()
+ * @generated
+ */
+ int BPMN_MESSAGE = 41;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_MESSAGE__ID = ITEM_DEFINITION__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_MESSAGE__EXTENSION_VALUES = ITEM_DEFINITION__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_MESSAGE__BASE_ELEMENT = ITEM_DEFINITION__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_MESSAGE__DOCUMENTATION = ITEM_DEFINITION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_MESSAGE__EXTENSION_DEFINITIONS = ITEM_DEFINITION__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_MESSAGE__OUTGOING = ITEM_DEFINITION__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_MESSAGE__INCOMING = ITEM_DEFINITION__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_MESSAGE__BASE_PACKAGEABLE_ELEMENT = ITEM_DEFINITION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_MESSAGE__DEFINITION = ITEM_DEFINITION__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Item Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_MESSAGE__ITEM_KIND = ITEM_DEFINITION__ITEM_KIND;
+
+ /**
+ * The feature id for the '<em><b>Is Collection</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_MESSAGE__IS_COLLECTION = ITEM_DEFINITION__IS_COLLECTION;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_MESSAGE__BASE_CLASS = ITEM_DEFINITION__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Structure Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_MESSAGE__STRUCTURE_REF = ITEM_DEFINITION__STRUCTURE_REF;
+
+ /**
+ * The feature id for the '<em><b>Import</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_MESSAGE__IMPORT = ITEM_DEFINITION__IMPORT;
+
+ /**
+ * The feature id for the '<em><b>Item Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_MESSAGE__ITEM_REF = ITEM_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>BPMN Message</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_MESSAGE_FEATURE_COUNT = ITEM_DEFINITION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Item Definitionstructure Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_MESSAGE___ITEM_DEFINITIONSTRUCTURE_REF__DIAGNOSTICCHAIN_MAP = ITEM_DEFINITION___ITEM_DEFINITIONSTRUCTURE_REF__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Messageitem Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_MESSAGE___MESSAGEITEM_REF__DIAGNOSTICCHAIN_MAP = ITEM_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>BPMN Message</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_MESSAGE_OPERATION_COUNT = ITEM_DEFINITION_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ErrorImpl <em>Error</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ErrorImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getError()
+ * @generated
+ */
+ int ERROR = 42;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR__ID = ITEM_DEFINITION__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR__EXTENSION_VALUES = ITEM_DEFINITION__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR__BASE_ELEMENT = ITEM_DEFINITION__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR__DOCUMENTATION = ITEM_DEFINITION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR__EXTENSION_DEFINITIONS = ITEM_DEFINITION__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR__OUTGOING = ITEM_DEFINITION__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR__INCOMING = ITEM_DEFINITION__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR__BASE_PACKAGEABLE_ELEMENT = ITEM_DEFINITION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR__DEFINITION = ITEM_DEFINITION__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Item Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR__ITEM_KIND = ITEM_DEFINITION__ITEM_KIND;
+
+ /**
+ * The feature id for the '<em><b>Is Collection</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR__IS_COLLECTION = ITEM_DEFINITION__IS_COLLECTION;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR__BASE_CLASS = ITEM_DEFINITION__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Structure Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR__STRUCTURE_REF = ITEM_DEFINITION__STRUCTURE_REF;
+
+ /**
+ * The feature id for the '<em><b>Import</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR__IMPORT = ITEM_DEFINITION__IMPORT;
+
+ /**
+ * The feature id for the '<em><b>Error Code</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR__ERROR_CODE = ITEM_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Error</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_FEATURE_COUNT = ITEM_DEFINITION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Item Definitionstructure Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR___ITEM_DEFINITIONSTRUCTURE_REF__DIAGNOSTICCHAIN_MAP = ITEM_DEFINITION___ITEM_DEFINITIONSTRUCTURE_REF__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The number of operations of the '<em>Error</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_OPERATION_COUNT = ITEM_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.InputOutputBindingImpl <em>Input Output Binding</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.InputOutputBindingImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getInputOutputBinding()
+ * @generated
+ */
+ int INPUT_OUTPUT_BINDING = 43;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_OUTPUT_BINDING__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_OUTPUT_BINDING__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_OUTPUT_BINDING__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_OUTPUT_BINDING__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_OUTPUT_BINDING__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_OUTPUT_BINDING__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_OUTPUT_BINDING__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Input Data Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_OUTPUT_BINDING__INPUT_DATA_REF = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Output Data Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_OUTPUT_BINDING__OUTPUT_DATA_REF = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Operation Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_OUTPUT_BINDING__OPERATION_REF = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Base Dependency</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_OUTPUT_BINDING__BASE_DEPENDENCY = BASE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Input Output Binding</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_OUTPUT_BINDING_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of operations of the '<em>Input Output Binding</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INPUT_OUTPUT_BINDING_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNCollaborationImpl <em>BPMN Collaboration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNCollaborationImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getBPMNCollaboration()
+ * @generated
+ */
+ int BPMN_COLLABORATION = 44;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_COLLABORATION__ID = ROOT_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_COLLABORATION__EXTENSION_VALUES = ROOT_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_COLLABORATION__BASE_ELEMENT = ROOT_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_COLLABORATION__DOCUMENTATION = ROOT_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_COLLABORATION__EXTENSION_DEFINITIONS = ROOT_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_COLLABORATION__OUTGOING = ROOT_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_COLLABORATION__INCOMING = ROOT_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_COLLABORATION__BASE_PACKAGEABLE_ELEMENT = ROOT_ELEMENT__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_COLLABORATION__DEFINITION = ROOT_ELEMENT__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Is Closed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_COLLABORATION__IS_CLOSED = ROOT_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Participant Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_COLLABORATION__PARTICIPANT_ASSOCIATIONS = ROOT_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_COLLABORATION__CONVERSATION_LINKS = ROOT_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Message Flow Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_COLLABORATION__MESSAGE_FLOW_ASSOCIATIONS = ROOT_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Message Flows</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_COLLABORATION__MESSAGE_FLOWS = ROOT_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Base Collaboration</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_COLLABORATION__BASE_COLLABORATION = ROOT_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Conversations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_COLLABORATION__CONVERSATIONS = ROOT_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Correlation Keys</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_COLLABORATION__CORRELATION_KEYS = ROOT_ELEMENT_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Participants</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_COLLABORATION__PARTICIPANTS = ROOT_ELEMENT_FEATURE_COUNT + 8;
+
+ /**
+ * The number of structural features of the '<em>BPMN Collaboration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_COLLABORATION_FEATURE_COUNT = ROOT_ELEMENT_FEATURE_COUNT + 9;
+
+ /**
+ * The operation id for the '<em>Collaborationparticipants</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_COLLABORATION___COLLABORATIONPARTICIPANTS__DIAGNOSTICCHAIN_MAP = ROOT_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>BPMN Collaboration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_COLLABORATION_OPERATION_COUNT = ROOT_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ParticipantAssociationImpl <em>Participant Association</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ParticipantAssociationImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getParticipantAssociation()
+ * @generated
+ */
+ int PARTICIPANT_ASSOCIATION = 45;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT_ASSOCIATION__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT_ASSOCIATION__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT_ASSOCIATION__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT_ASSOCIATION__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT_ASSOCIATION__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT_ASSOCIATION__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT_ASSOCIATION__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Dependency</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT_ASSOCIATION__BASE_DEPENDENCY = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Inner Participant Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT_ASSOCIATION__INNER_PARTICIPANT_REF = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Outer Participant Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT_ASSOCIATION__OUTER_PARTICIPANT_REF = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Participant Association</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT_ASSOCIATION_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Participant Associationinner Participant Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT_ASSOCIATION___PARTICIPANT_ASSOCIATIONINNER_PARTICIPANT_REF__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Participant Associationouter Participant Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT_ASSOCIATION___PARTICIPANT_ASSOCIATIONOUTER_PARTICIPANT_REF__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Participant Association</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT_ASSOCIATION_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ParticipantImpl <em>Participant</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ParticipantImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getParticipant()
+ * @generated
+ */
+ int PARTICIPANT = 46;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT__BASE_PROPERTY = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Process Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT__PROCESS_REF = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Participant Multiplicity</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT__PARTICIPANT_MULTIPLICITY = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Partner Entity Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT__PARTNER_ENTITY_REF = BASE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Partner Role Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT__PARTNER_ROLE_REF = BASE_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Interface Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT__INTERFACE_REFS = BASE_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Participant</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Participantownership</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT___PARTICIPANTOWNERSHIP__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Participanttype</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT___PARTICIPANTTYPE__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Participantmultiplicity Minimum</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT___PARTICIPANTMULTIPLICITY_MINIMUM__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Participantrealizationsupplier</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT___PARTICIPANTREALIZATIONSUPPLIER__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Participantprocess Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT___PARTICIPANTPROCESS_REF__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Participantmultiplicity Maximum</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT___PARTICIPANTMULTIPLICITY_MAXIMUM__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Participantpartner Entity Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT___PARTICIPANTPARTNER_ENTITY_REF__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Participantpartner Role Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT___PARTICIPANTPARTNER_ROLE_REF__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Participantinterface Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT___PARTICIPANTINTERFACE_REFS__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 8;
+
+ /**
+ * The number of operations of the '<em>Participant</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 9;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.InteractionNodeImpl <em>Interaction Node</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.InteractionNodeImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getInteractionNode()
+ * @generated
+ */
+ int INTERACTION_NODE = 47;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERACTION_NODE__BASE_ELEMENT = 0;
+
+ /**
+ * The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERACTION_NODE__OUTGOING_CONVERSATION_LINKS = 1;
+
+ /**
+ * The feature id for the '<em><b>Incoming Conversation Links</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERACTION_NODE__INCOMING_CONVERSATION_LINKS = 2;
+
+ /**
+ * The number of structural features of the '<em>Interaction Node</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERACTION_NODE_FEATURE_COUNT = 3;
+
+ /**
+ * The number of operations of the '<em>Interaction Node</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERACTION_NODE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ConversationLinkImpl <em>Conversation Link</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ConversationLinkImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getConversationLink()
+ * @generated
+ */
+ int CONVERSATION_LINK = 48;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_LINK__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_LINK__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_LINK__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_LINK__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_LINK__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_LINK__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_LINK__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Collaboration</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_LINK__COLLABORATION = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Dependency</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_LINK__BASE_DEPENDENCY = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Target Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_LINK__TARGET_REF = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Source Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_LINK__SOURCE_REF = BASE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Conversation Link</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_LINK_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of operations of the '<em>Conversation Link</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_LINK_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ParticipantMultiplicityImpl <em>Participant Multiplicity</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ParticipantMultiplicityImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getParticipantMultiplicity()
+ * @generated
+ */
+ int PARTICIPANT_MULTIPLICITY = 49;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT_MULTIPLICITY__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT_MULTIPLICITY__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT_MULTIPLICITY__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT_MULTIPLICITY__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT_MULTIPLICITY__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT_MULTIPLICITY__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT_MULTIPLICITY__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Multiplicity Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT_MULTIPLICITY__BASE_MULTIPLICITY_ELEMENT = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Minimum</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT_MULTIPLICITY__MINIMUM = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Maximum</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT_MULTIPLICITY__MAXIMUM = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Participant Multiplicity</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT_MULTIPLICITY_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Participant Multiplicity</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTICIPANT_MULTIPLICITY_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.PartnerEntityImpl <em>Partner Entity</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.PartnerEntityImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getPartnerEntity()
+ * @generated
+ */
+ int PARTNER_ENTITY = 50;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTNER_ENTITY__ID = ROOT_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTNER_ENTITY__EXTENSION_VALUES = ROOT_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTNER_ENTITY__BASE_ELEMENT = ROOT_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTNER_ENTITY__DOCUMENTATION = ROOT_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTNER_ENTITY__EXTENSION_DEFINITIONS = ROOT_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTNER_ENTITY__OUTGOING = ROOT_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTNER_ENTITY__INCOMING = ROOT_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTNER_ENTITY__BASE_PACKAGEABLE_ELEMENT = ROOT_ELEMENT__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTNER_ENTITY__DEFINITION = ROOT_ELEMENT__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTNER_ENTITY__BASE_INSTANCE_SPECIFICATION = ROOT_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Participant Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTNER_ENTITY__PARTICIPANT_REF = ROOT_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Partner Entity</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTNER_ENTITY_FEATURE_COUNT = ROOT_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Partner Entityparticipant Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTNER_ENTITY___PARTNER_ENTITYPARTICIPANT_REF__DIAGNOSTICCHAIN_MAP = ROOT_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Partner Entity</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTNER_ENTITY_OPERATION_COUNT = ROOT_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.PartnerRoleImpl <em>Partner Role</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.PartnerRoleImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getPartnerRole()
+ * @generated
+ */
+ int PARTNER_ROLE = 51;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTNER_ROLE__ID = ROOT_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTNER_ROLE__EXTENSION_VALUES = ROOT_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTNER_ROLE__BASE_ELEMENT = ROOT_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTNER_ROLE__DOCUMENTATION = ROOT_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTNER_ROLE__EXTENSION_DEFINITIONS = ROOT_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTNER_ROLE__OUTGOING = ROOT_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTNER_ROLE__INCOMING = ROOT_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTNER_ROLE__BASE_PACKAGEABLE_ELEMENT = ROOT_ELEMENT__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTNER_ROLE__DEFINITION = ROOT_ELEMENT__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTNER_ROLE__BASE_CLASS = ROOT_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Participant Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTNER_ROLE__PARTICIPANT_REF = ROOT_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Partner Role</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTNER_ROLE_FEATURE_COUNT = ROOT_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Partner Roleparticipant Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTNER_ROLE___PARTNER_ROLEPARTICIPANT_REF__DIAGNOSTICCHAIN_MAP = ROOT_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Partner Role</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARTNER_ROLE_OPERATION_COUNT = ROOT_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.MessageFlowAssociationImpl <em>Message Flow Association</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.MessageFlowAssociationImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getMessageFlowAssociation()
+ * @generated
+ */
+ int MESSAGE_FLOW_ASSOCIATION = 52;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW_ASSOCIATION__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW_ASSOCIATION__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW_ASSOCIATION__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW_ASSOCIATION__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW_ASSOCIATION__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW_ASSOCIATION__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW_ASSOCIATION__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Dependency</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW_ASSOCIATION__BASE_DEPENDENCY = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Inner Message Flow Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW_ASSOCIATION__INNER_MESSAGE_FLOW_REF = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Outer Message Flow Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW_ASSOCIATION__OUTER_MESSAGE_FLOW_REF = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Message Flow Association</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW_ASSOCIATION_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Message Flow Associationinner Message Flow Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW_ASSOCIATION___MESSAGE_FLOW_ASSOCIATIONINNER_MESSAGE_FLOW_REF__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Message Flow Associationouter Message Flow Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW_ASSOCIATION___MESSAGE_FLOW_ASSOCIATIONOUTER_MESSAGE_FLOW_REF__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Message Flow Association</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW_ASSOCIATION_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.MessageFlowImpl <em>Message Flow</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.MessageFlowImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getMessageFlow()
+ * @generated
+ */
+ int MESSAGE_FLOW = 53;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Information Flow</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW__BASE_INFORMATION_FLOW = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Source Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW__SOURCE_REF = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Target Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW__TARGET_REF = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Message Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW__MESSAGE_REF = BASE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Message Flow</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Message Flowsource Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW___MESSAGE_FLOWSOURCE_REF__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Message Flowtarget Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW___MESSAGE_FLOWTARGET_REF__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Message Flowmessage Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW___MESSAGE_FLOWMESSAGE_REF__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Message Flow</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_FLOW_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ConversationNodeImpl <em>Conversation Node</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ConversationNodeImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getConversationNode()
+ * @generated
+ */
+ int CONVERSATION_NODE = 54;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_NODE__BASE_ELEMENT = INTERACTION_NODE__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_NODE__OUTGOING_CONVERSATION_LINKS = INTERACTION_NODE__OUTGOING_CONVERSATION_LINKS;
+
+ /**
+ * The feature id for the '<em><b>Incoming Conversation Links</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_NODE__INCOMING_CONVERSATION_LINKS = INTERACTION_NODE__INCOMING_CONVERSATION_LINKS;
+
+ /**
+ * The feature id for the '<em><b>Base Information Flow</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_NODE__BASE_INFORMATION_FLOW = INTERACTION_NODE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Message Flow Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_NODE__MESSAGE_FLOW_REFS = INTERACTION_NODE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Correlation Keys</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_NODE__CORRELATION_KEYS = INTERACTION_NODE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Participant Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_NODE__PARTICIPANT_REFS = INTERACTION_NODE_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Conversation Node</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_NODE_FEATURE_COUNT = INTERACTION_NODE_FEATURE_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Conversation Nodeparticipant Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_NODE___CONVERSATION_NODEPARTICIPANT_REFS__DIAGNOSTICCHAIN_MAP = INTERACTION_NODE_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Conversation Node</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_NODE_OPERATION_COUNT = INTERACTION_NODE_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CorrelationKeyImpl <em>Correlation Key</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.CorrelationKeyImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getCorrelationKey()
+ * @generated
+ */
+ int CORRELATION_KEY = 55;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_KEY__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_KEY__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_KEY__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_KEY__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_KEY__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_KEY__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_KEY__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_KEY__BASE_CLASS = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Correlation Property Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_KEY__CORRELATION_PROPERTY_REF = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Correlation Key</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_KEY_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Correlation Key</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_KEY_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CorrelationPropertyImpl <em>Correlation Property</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.CorrelationPropertyImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getCorrelationProperty()
+ * @generated
+ */
+ int CORRELATION_PROPERTY = 56;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY__BASE_PROPERTY = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY__TYPE = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Correlation Property Retrieval Expression</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY__CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Correlation Property</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Correlation Property</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CorrelationPropertyRetrievalExpressionImpl <em>Correlation Property Retrieval Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.CorrelationPropertyRetrievalExpressionImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getCorrelationPropertyRetrievalExpression()
+ * @generated
+ */
+ int CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION = 57;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Dependency</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION__BASE_DEPENDENCY = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Message Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION__MESSAGE_REF = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Message Path</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION__MESSAGE_PATH = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Correlation Property Retrieval Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Correlation Property Retrieval Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.FormalExpressionImpl <em>Formal Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.FormalExpressionImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getFormalExpression()
+ * @generated
+ */
+ int FORMAL_EXPRESSION = 58;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FORMAL_EXPRESSION__ID = BPMN_EXPRESSION__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FORMAL_EXPRESSION__EXTENSION_VALUES = BPMN_EXPRESSION__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FORMAL_EXPRESSION__BASE_ELEMENT = BPMN_EXPRESSION__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FORMAL_EXPRESSION__DOCUMENTATION = BPMN_EXPRESSION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FORMAL_EXPRESSION__EXTENSION_DEFINITIONS = BPMN_EXPRESSION__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FORMAL_EXPRESSION__OUTGOING = BPMN_EXPRESSION__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FORMAL_EXPRESSION__INCOMING = BPMN_EXPRESSION__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Opaque Expression</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FORMAL_EXPRESSION__BASE_OPAQUE_EXPRESSION = BPMN_EXPRESSION__BASE_OPAQUE_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Evaluates To Type Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FORMAL_EXPRESSION__EVALUATES_TO_TYPE_REF = BPMN_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Formal Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FORMAL_EXPRESSION_FEATURE_COUNT = BPMN_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Formal Expressionevaluates To Type Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FORMAL_EXPRESSION___FORMAL_EXPRESSIONEVALUATES_TO_TYPE_REF__DIAGNOSTICCHAIN_MAP = BPMN_EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Formal Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FORMAL_EXPRESSION_OPERATION_COUNT = BPMN_EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CorrelationSubscriptionImpl <em>Correlation Subscription</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.CorrelationSubscriptionImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getCorrelationSubscription()
+ * @generated
+ */
+ int CORRELATION_SUBSCRIPTION = 59;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_SUBSCRIPTION__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_SUBSCRIPTION__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_SUBSCRIPTION__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_SUBSCRIPTION__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_SUBSCRIPTION__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_SUBSCRIPTION__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_SUBSCRIPTION__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_SUBSCRIPTION__BASE_CLASS = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Correlation Key Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_SUBSCRIPTION__CORRELATION_KEY_REF = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Correlation Property Binding</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_SUBSCRIPTION__CORRELATION_PROPERTY_BINDING = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Correlation Subscription</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_SUBSCRIPTION_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Correlation Subscription</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_SUBSCRIPTION_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CorrelationPropertyBindingImpl <em>Correlation Property Binding</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.CorrelationPropertyBindingImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getCorrelationPropertyBinding()
+ * @generated
+ */
+ int CORRELATION_PROPERTY_BINDING = 60;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY_BINDING__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY_BINDING__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY_BINDING__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY_BINDING__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY_BINDING__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY_BINDING__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY_BINDING__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY_BINDING__BASE_PROPERTY = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Data Path</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY_BINDING__DATA_PATH = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Correlation Property Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY_BINDING__CORRELATION_PROPERTY_REF = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Correlation Property Binding</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY_BINDING_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Correlation Property Binding</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CORRELATION_PROPERTY_BINDING_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNPropertyImpl <em>BPMN Property</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNPropertyImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getBPMNProperty()
+ * @generated
+ */
+ int BPMN_PROPERTY = 61;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROPERTY__ID = ITEM_AWARE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROPERTY__EXTENSION_VALUES = ITEM_AWARE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROPERTY__BASE_ELEMENT = ITEM_AWARE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROPERTY__DOCUMENTATION = ITEM_AWARE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROPERTY__EXTENSION_DEFINITIONS = ITEM_AWARE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROPERTY__OUTGOING = ITEM_AWARE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROPERTY__INCOMING = ITEM_AWARE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Data State</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROPERTY__DATA_STATE = ITEM_AWARE_ELEMENT__DATA_STATE;
+
+ /**
+ * The feature id for the '<em><b>Base Typed Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROPERTY__BASE_TYPED_ELEMENT = ITEM_AWARE_ELEMENT__BASE_TYPED_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Item Subject Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROPERTY__ITEM_SUBJECT_REF = ITEM_AWARE_ELEMENT__ITEM_SUBJECT_REF;
+
+ /**
+ * The feature id for the '<em><b>Base Data Store Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROPERTY__BASE_DATA_STORE_NODE = ITEM_AWARE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Uml Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROPERTY__UML_PROPERTY = ITEM_AWARE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>BPMN Property</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROPERTY_FEATURE_COUNT = ITEM_AWARE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Item Aware Elementdata State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROPERTY___ITEM_AWARE_ELEMENTDATA_STATE__DIAGNOSTICCHAIN_MAP = ITEM_AWARE_ELEMENT___ITEM_AWARE_ELEMENTDATA_STATE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Propertynotation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROPERTY___PROPERTYNOTATION__DIAGNOSTICCHAIN_MAP = ITEM_AWARE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>BPMN Propertyapply</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROPERTY___BPMN_PROPERTYAPPLY__DIAGNOSTICCHAIN_MAP = ITEM_AWARE_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>BPMN Property</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_PROPERTY_OPERATION_COUNT = ITEM_AWARE_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ResourceRoleImpl <em>Resource Role</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ResourceRoleImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getResourceRole()
+ * @generated
+ */
+ int RESOURCE_ROLE = 62;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ROLE__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ROLE__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ROLE__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ROLE__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ROLE__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ROLE__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ROLE__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ROLE__BASE_PROPERTY = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Resource Assignment Expression</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ROLE__RESOURCE_ASSIGNMENT_EXPRESSION = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Resource Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ROLE__RESOURCE_REF = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Resource Parameter Bindings</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ROLE__RESOURCE_PARAMETER_BINDINGS = BASE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Process</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ROLE__PROCESS = BASE_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Resource Role</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ROLE_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Resource Roleowner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ROLE___RESOURCE_ROLEOWNER__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Resource Roleresource Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ROLE___RESOURCE_ROLERESOURCE_REF__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Resource Roleis Required</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ROLE___RESOURCE_ROLEIS_REQUIRED__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Resource Roleprocess</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ROLE___RESOURCE_ROLEPROCESS__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Resource Roleresource Parameter Bindings</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ROLE___RESOURCE_ROLERESOURCE_PARAMETER_BINDINGS__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 4;
+
+ /**
+ * The number of operations of the '<em>Resource Role</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ROLE_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ResourceAssignmentExpressionImpl <em>Resource Assignment Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ResourceAssignmentExpressionImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getResourceAssignmentExpression()
+ * @generated
+ */
+ int RESOURCE_ASSIGNMENT_EXPRESSION = 63;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ASSIGNMENT_EXPRESSION__ID = BPMN_EXPRESSION__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ASSIGNMENT_EXPRESSION__EXTENSION_VALUES = BPMN_EXPRESSION__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ASSIGNMENT_EXPRESSION__BASE_ELEMENT = BPMN_EXPRESSION__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ASSIGNMENT_EXPRESSION__DOCUMENTATION = BPMN_EXPRESSION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ASSIGNMENT_EXPRESSION__EXTENSION_DEFINITIONS = BPMN_EXPRESSION__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ASSIGNMENT_EXPRESSION__OUTGOING = BPMN_EXPRESSION__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ASSIGNMENT_EXPRESSION__INCOMING = BPMN_EXPRESSION__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Opaque Expression</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ASSIGNMENT_EXPRESSION__BASE_OPAQUE_EXPRESSION = BPMN_EXPRESSION__BASE_OPAQUE_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Expression</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ASSIGNMENT_EXPRESSION__EXPRESSION = BPMN_EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Resource Assignment Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ASSIGNMENT_EXPRESSION_FEATURE_COUNT = BPMN_EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Resource Assignment Expressionexpression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ASSIGNMENT_EXPRESSION___RESOURCE_ASSIGNMENT_EXPRESSIONEXPRESSION__DIAGNOSTICCHAIN_MAP = BPMN_EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Resource Assignment Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_ASSIGNMENT_EXPRESSION_OPERATION_COUNT = BPMN_EXPRESSION_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ResourceImpl <em>Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ResourceImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getResource()
+ * @generated
+ */
+ int RESOURCE = 64;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE__ID = ITEM_DEFINITION__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE__EXTENSION_VALUES = ITEM_DEFINITION__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE__BASE_ELEMENT = ITEM_DEFINITION__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE__DOCUMENTATION = ITEM_DEFINITION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE__EXTENSION_DEFINITIONS = ITEM_DEFINITION__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE__OUTGOING = ITEM_DEFINITION__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE__INCOMING = ITEM_DEFINITION__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE__BASE_PACKAGEABLE_ELEMENT = ITEM_DEFINITION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE__DEFINITION = ITEM_DEFINITION__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Item Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE__ITEM_KIND = ITEM_DEFINITION__ITEM_KIND;
+
+ /**
+ * The feature id for the '<em><b>Is Collection</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE__IS_COLLECTION = ITEM_DEFINITION__IS_COLLECTION;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE__BASE_CLASS = ITEM_DEFINITION__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Structure Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE__STRUCTURE_REF = ITEM_DEFINITION__STRUCTURE_REF;
+
+ /**
+ * The feature id for the '<em><b>Import</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE__IMPORT = ITEM_DEFINITION__IMPORT;
+
+ /**
+ * The feature id for the '<em><b>Resource Parameters</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE__RESOURCE_PARAMETERS = ITEM_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Resource</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_FEATURE_COUNT = ITEM_DEFINITION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Item Definitionstructure Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE___ITEM_DEFINITIONSTRUCTURE_REF__DIAGNOSTICCHAIN_MAP = ITEM_DEFINITION___ITEM_DEFINITIONSTRUCTURE_REF__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Resourceresource Parameters</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE___RESOURCERESOURCE_PARAMETERS__DIAGNOSTICCHAIN_MAP = ITEM_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Resource</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_OPERATION_COUNT = ITEM_DEFINITION_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ResourceParameterImpl <em>Resource Parameter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ResourceParameterImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getResourceParameter()
+ * @generated
+ */
+ int RESOURCE_PARAMETER = 65;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_PARAMETER__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_PARAMETER__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_PARAMETER__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_PARAMETER__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_PARAMETER__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_PARAMETER__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_PARAMETER__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_PARAMETER__BASE_PROPERTY = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_PARAMETER__TYPE = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Is Required</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_PARAMETER__IS_REQUIRED = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Resource Parameter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_PARAMETER_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Resource Parameterowner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_PARAMETER___RESOURCE_PARAMETEROWNER__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Resource Parametertype</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_PARAMETER___RESOURCE_PARAMETERTYPE__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Resource Parameteris Required</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_PARAMETER___RESOURCE_PARAMETERIS_REQUIRED__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Resource Parameter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_PARAMETER_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ResourceParameterBindingImpl <em>Resource Parameter Binding</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ResourceParameterBindingImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getResourceParameterBinding()
+ * @generated
+ */
+ int RESOURCE_PARAMETER_BINDING = 66;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_PARAMETER_BINDING__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_PARAMETER_BINDING__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_PARAMETER_BINDING__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_PARAMETER_BINDING__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_PARAMETER_BINDING__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_PARAMETER_BINDING__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_PARAMETER_BINDING__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Slot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_PARAMETER_BINDING__BASE_SLOT = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Parameter Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_PARAMETER_BINDING__PARAMETER_REF = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Expression</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_PARAMETER_BINDING__EXPRESSION = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Resource Parameter Binding</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_PARAMETER_BINDING_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Resource Parameter Bindingexpression</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_PARAMETER_BINDING___RESOURCE_PARAMETER_BINDINGEXPRESSION__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Resource Parameter Bindingparameter Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_PARAMETER_BINDING___RESOURCE_PARAMETER_BINDINGPARAMETER_REF__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Resource Parameter Binding</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESOURCE_PARAMETER_BINDING_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.GlobalTaskImpl <em>Global Task</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.GlobalTaskImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getGlobalTask()
+ * @generated
+ */
+ int GLOBAL_TASK = 68;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_TASK__ID = CALLABLE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_TASK__EXTENSION_VALUES = CALLABLE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_TASK__BASE_ELEMENT = CALLABLE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_TASK__DOCUMENTATION = CALLABLE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_TASK__EXTENSION_DEFINITIONS = CALLABLE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_TASK__OUTGOING = CALLABLE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_TASK__INCOMING = CALLABLE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_TASK__BASE_PACKAGEABLE_ELEMENT = CALLABLE_ELEMENT__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_TASK__DEFINITION = CALLABLE_ELEMENT__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Base Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_TASK__BASE_BEHAVIOR = CALLABLE_ELEMENT__BASE_BEHAVIOR;
+
+ /**
+ * The feature id for the '<em><b>Io Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_TASK__IO_SPECIFICATION = CALLABLE_ELEMENT__IO_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Supported Interface Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_TASK__SUPPORTED_INTERFACE_REFS = CALLABLE_ELEMENT__SUPPORTED_INTERFACE_REFS;
+
+ /**
+ * The feature id for the '<em><b>Io Binding</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_TASK__IO_BINDING = CALLABLE_ELEMENT__IO_BINDING;
+
+ /**
+ * The feature id for the '<em><b>Base Opaque Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_TASK__BASE_OPAQUE_BEHAVIOR = CALLABLE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_TASK__RESOURCES = CALLABLE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Global Task</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_TASK_FEATURE_COUNT = CALLABLE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Callable Eelementsupported Interface Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_TASK___CALLABLE_EELEMENTSUPPORTED_INTERFACE_REFS__DIAGNOSTICCHAIN_MAP = CALLABLE_ELEMENT___CALLABLE_EELEMENTSUPPORTED_INTERFACE_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Callable Elementresources</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_TASK___CALLABLE_ELEMENTRESOURCES__DIAGNOSTICCHAIN_MAP = CALLABLE_ELEMENT___CALLABLE_ELEMENTRESOURCES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Global Tasksupported Interface Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_TASK___GLOBAL_TASKSUPPORTED_INTERFACE_REFS__DIAGNOSTICCHAIN_MAP = CALLABLE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Global Task</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_TASK_OPERATION_COUNT = CALLABLE_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.GlobalScriptTaskImpl <em>Global Script Task</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.GlobalScriptTaskImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getGlobalScriptTask()
+ * @generated
+ */
+ int GLOBAL_SCRIPT_TASK = 67;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_SCRIPT_TASK__ID = GLOBAL_TASK__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_SCRIPT_TASK__EXTENSION_VALUES = GLOBAL_TASK__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_SCRIPT_TASK__BASE_ELEMENT = GLOBAL_TASK__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_SCRIPT_TASK__DOCUMENTATION = GLOBAL_TASK__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_SCRIPT_TASK__EXTENSION_DEFINITIONS = GLOBAL_TASK__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_SCRIPT_TASK__OUTGOING = GLOBAL_TASK__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_SCRIPT_TASK__INCOMING = GLOBAL_TASK__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_SCRIPT_TASK__BASE_PACKAGEABLE_ELEMENT = GLOBAL_TASK__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_SCRIPT_TASK__DEFINITION = GLOBAL_TASK__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Base Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_SCRIPT_TASK__BASE_BEHAVIOR = GLOBAL_TASK__BASE_BEHAVIOR;
+
+ /**
+ * The feature id for the '<em><b>Io Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_SCRIPT_TASK__IO_SPECIFICATION = GLOBAL_TASK__IO_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Supported Interface Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_SCRIPT_TASK__SUPPORTED_INTERFACE_REFS = GLOBAL_TASK__SUPPORTED_INTERFACE_REFS;
+
+ /**
+ * The feature id for the '<em><b>Io Binding</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_SCRIPT_TASK__IO_BINDING = GLOBAL_TASK__IO_BINDING;
+
+ /**
+ * The feature id for the '<em><b>Base Opaque Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_SCRIPT_TASK__BASE_OPAQUE_BEHAVIOR = GLOBAL_TASK__BASE_OPAQUE_BEHAVIOR;
+
+ /**
+ * The feature id for the '<em><b>Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_SCRIPT_TASK__RESOURCES = GLOBAL_TASK__RESOURCES;
+
+ /**
+ * The feature id for the '<em><b>Script</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_SCRIPT_TASK__SCRIPT = GLOBAL_TASK_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Script Format</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_SCRIPT_TASK__SCRIPT_FORMAT = GLOBAL_TASK_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Global Script Task</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_SCRIPT_TASK_FEATURE_COUNT = GLOBAL_TASK_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Callable Eelementsupported Interface Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_SCRIPT_TASK___CALLABLE_EELEMENTSUPPORTED_INTERFACE_REFS__DIAGNOSTICCHAIN_MAP = GLOBAL_TASK___CALLABLE_EELEMENTSUPPORTED_INTERFACE_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Callable Elementresources</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_SCRIPT_TASK___CALLABLE_ELEMENTRESOURCES__DIAGNOSTICCHAIN_MAP = GLOBAL_TASK___CALLABLE_ELEMENTRESOURCES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Global Tasksupported Interface Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_SCRIPT_TASK___GLOBAL_TASKSUPPORTED_INTERFACE_REFS__DIAGNOSTICCHAIN_MAP = GLOBAL_TASK___GLOBAL_TASKSUPPORTED_INTERFACE_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Global Script Taskscript Format</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_SCRIPT_TASK___GLOBAL_SCRIPT_TASKSCRIPT_FORMAT__DIAGNOSTICCHAIN_MAP = GLOBAL_TASK_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Global Script Taskscript</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_SCRIPT_TASK___GLOBAL_SCRIPT_TASKSCRIPT__DIAGNOSTICCHAIN_MAP = GLOBAL_TASK_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Global Script Task</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_SCRIPT_TASK_OPERATION_COUNT = GLOBAL_TASK_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.GlobalBusinessRuleTaskImpl <em>Global Business Rule Task</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.GlobalBusinessRuleTaskImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getGlobalBusinessRuleTask()
+ * @generated
+ */
+ int GLOBAL_BUSINESS_RULE_TASK = 69;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_BUSINESS_RULE_TASK__ID = GLOBAL_TASK__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_BUSINESS_RULE_TASK__EXTENSION_VALUES = GLOBAL_TASK__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_BUSINESS_RULE_TASK__BASE_ELEMENT = GLOBAL_TASK__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_BUSINESS_RULE_TASK__DOCUMENTATION = GLOBAL_TASK__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_BUSINESS_RULE_TASK__EXTENSION_DEFINITIONS = GLOBAL_TASK__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_BUSINESS_RULE_TASK__OUTGOING = GLOBAL_TASK__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_BUSINESS_RULE_TASK__INCOMING = GLOBAL_TASK__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_BUSINESS_RULE_TASK__BASE_PACKAGEABLE_ELEMENT = GLOBAL_TASK__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_BUSINESS_RULE_TASK__DEFINITION = GLOBAL_TASK__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Base Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_BUSINESS_RULE_TASK__BASE_BEHAVIOR = GLOBAL_TASK__BASE_BEHAVIOR;
+
+ /**
+ * The feature id for the '<em><b>Io Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_BUSINESS_RULE_TASK__IO_SPECIFICATION = GLOBAL_TASK__IO_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Supported Interface Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_BUSINESS_RULE_TASK__SUPPORTED_INTERFACE_REFS = GLOBAL_TASK__SUPPORTED_INTERFACE_REFS;
+
+ /**
+ * The feature id for the '<em><b>Io Binding</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_BUSINESS_RULE_TASK__IO_BINDING = GLOBAL_TASK__IO_BINDING;
+
+ /**
+ * The feature id for the '<em><b>Base Opaque Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_BUSINESS_RULE_TASK__BASE_OPAQUE_BEHAVIOR = GLOBAL_TASK__BASE_OPAQUE_BEHAVIOR;
+
+ /**
+ * The feature id for the '<em><b>Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_BUSINESS_RULE_TASK__RESOURCES = GLOBAL_TASK__RESOURCES;
+
+ /**
+ * The feature id for the '<em><b>Implementation</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_BUSINESS_RULE_TASK__IMPLEMENTATION = GLOBAL_TASK_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Global Business Rule Task</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_BUSINESS_RULE_TASK_FEATURE_COUNT = GLOBAL_TASK_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Callable Eelementsupported Interface Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_BUSINESS_RULE_TASK___CALLABLE_EELEMENTSUPPORTED_INTERFACE_REFS__DIAGNOSTICCHAIN_MAP = GLOBAL_TASK___CALLABLE_EELEMENTSUPPORTED_INTERFACE_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Callable Elementresources</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_BUSINESS_RULE_TASK___CALLABLE_ELEMENTRESOURCES__DIAGNOSTICCHAIN_MAP = GLOBAL_TASK___CALLABLE_ELEMENTRESOURCES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Global Tasksupported Interface Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_BUSINESS_RULE_TASK___GLOBAL_TASKSUPPORTED_INTERFACE_REFS__DIAGNOSTICCHAIN_MAP = GLOBAL_TASK___GLOBAL_TASKSUPPORTED_INTERFACE_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Global Business Rule Taskimplementation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_BUSINESS_RULE_TASK___GLOBAL_BUSINESS_RULE_TASKIMPLEMENTATION__DIAGNOSTICCHAIN_MAP = GLOBAL_TASK_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Global Business Rule Task</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_BUSINESS_RULE_TASK_OPERATION_COUNT = GLOBAL_TASK_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.EventDefinitionImpl <em>Event Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.EventDefinitionImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getEventDefinition()
+ * @generated
+ */
+ int EVENT_DEFINITION = 71;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_DEFINITION__ID = ROOT_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_DEFINITION__EXTENSION_VALUES = ROOT_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_DEFINITION__BASE_ELEMENT = ROOT_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_DEFINITION__DOCUMENTATION = ROOT_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_DEFINITION__EXTENSION_DEFINITIONS = ROOT_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_DEFINITION__OUTGOING = ROOT_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_DEFINITION__INCOMING = ROOT_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_DEFINITION__BASE_PACKAGEABLE_ELEMENT = ROOT_ELEMENT__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_DEFINITION__DEFINITION = ROOT_ELEMENT__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Base Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_DEFINITION__BASE_EVENT = ROOT_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Event Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_DEFINITION_FEATURE_COUNT = ROOT_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Event Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EVENT_DEFINITION_OPERATION_COUNT = ROOT_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CompensateEventDefinitionImpl <em>Compensate Event Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.CompensateEventDefinitionImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getCompensateEventDefinition()
+ * @generated
+ */
+ int COMPENSATE_EVENT_DEFINITION = 70;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPENSATE_EVENT_DEFINITION__ID = EVENT_DEFINITION__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPENSATE_EVENT_DEFINITION__EXTENSION_VALUES = EVENT_DEFINITION__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPENSATE_EVENT_DEFINITION__BASE_ELEMENT = EVENT_DEFINITION__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPENSATE_EVENT_DEFINITION__DOCUMENTATION = EVENT_DEFINITION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPENSATE_EVENT_DEFINITION__EXTENSION_DEFINITIONS = EVENT_DEFINITION__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPENSATE_EVENT_DEFINITION__OUTGOING = EVENT_DEFINITION__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPENSATE_EVENT_DEFINITION__INCOMING = EVENT_DEFINITION__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPENSATE_EVENT_DEFINITION__BASE_PACKAGEABLE_ELEMENT = EVENT_DEFINITION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPENSATE_EVENT_DEFINITION__DEFINITION = EVENT_DEFINITION__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Base Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPENSATE_EVENT_DEFINITION__BASE_EVENT = EVENT_DEFINITION__BASE_EVENT;
+
+ /**
+ * The feature id for the '<em><b>Wait For Completion</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPENSATE_EVENT_DEFINITION__WAIT_FOR_COMPLETION = EVENT_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Activity Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPENSATE_EVENT_DEFINITION__ACTIVITY_REF = EVENT_DEFINITION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Call Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPENSATE_EVENT_DEFINITION__BASE_CALL_EVENT = EVENT_DEFINITION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Compensate Event Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPENSATE_EVENT_DEFINITION_FEATURE_COUNT = EVENT_DEFINITION_FEATURE_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Compensate Event Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPENSATE_EVENT_DEFINITION_OPERATION_COUNT = EVENT_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNActivityImpl <em>BPMN Activity</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNActivityImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getBPMNActivity()
+ * @generated
+ */
+ int BPMN_ACTIVITY = 72;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY__ID = FLOW_NODE__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY__EXTENSION_VALUES = FLOW_NODE__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY__BASE_ELEMENT = FLOW_NODE__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY__DOCUMENTATION = FLOW_NODE__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY__EXTENSION_DEFINITIONS = FLOW_NODE__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY__OUTGOING = FLOW_NODE__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY__INCOMING = FLOW_NODE__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY__AUDITING = FLOW_NODE__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY__MONITORING = FLOW_NODE__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY__CATEGORY_VALUE_REF = FLOW_NODE__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY__CONTAINER = FLOW_NODE__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY__BASE_ACTIVITY_NODE = FLOW_NODE__BASE_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Is For Compensation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY__IS_FOR_COMPENSATION = FLOW_NODE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Start Quantity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY__START_QUANTITY = FLOW_NODE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Completion Quantity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY__COMPLETION_QUANTITY = FLOW_NODE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Base Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY__BASE_ACTION = FLOW_NODE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Activity Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY__ACTIVITY_CLASS = FLOW_NODE_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY__PROPERTIES = FLOW_NODE_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Default</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY__DEFAULT = FLOW_NODE_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Boundary Event Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY__BOUNDARY_EVENT_REFS = FLOW_NODE_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Data Input Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY__DATA_INPUT_ASSOCIATIONS = FLOW_NODE_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Data Output Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY__DATA_OUTPUT_ASSOCIATIONS = FLOW_NODE_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Loop Characteristics</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY__LOOP_CHARACTERISTICS = FLOW_NODE_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY__RESOURCES = FLOW_NODE_FEATURE_COUNT + 11;
+
+ /**
+ * The number of structural features of the '<em>BPMN Activity</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY_FEATURE_COUNT = FLOW_NODE_FEATURE_COUNT + 12;
+
+ /**
+ * The operation id for the '<em>BPMN Activityresources</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY___BPMN_ACTIVITYRESOURCES__DIAGNOSTICCHAIN_MAP = FLOW_NODE_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>BPMN Activitycontainer</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY___BPMN_ACTIVITYCONTAINER__DIAGNOSTICCHAIN_MAP = FLOW_NODE_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>BPMN Activityproperties</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY___BPMN_ACTIVITYPROPERTIES__DIAGNOSTICCHAIN_MAP = FLOW_NODE_OPERATION_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>BPMN Activitydefault</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY___BPMN_ACTIVITYDEFAULT__DIAGNOSTICCHAIN_MAP = FLOW_NODE_OPERATION_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>BPMN Activityboundary Events Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY___BPMN_ACTIVITYBOUNDARY_EVENTS_REFS__DIAGNOSTICCHAIN_MAP = FLOW_NODE_OPERATION_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>BPMN Activityloop Characteristics</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY___BPMN_ACTIVITYLOOP_CHARACTERISTICS__DIAGNOSTICCHAIN_MAP = FLOW_NODE_OPERATION_COUNT + 5;
+
+ /**
+ * The number of operations of the '<em>BPMN Activity</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_ACTIVITY_OPERATION_COUNT = FLOW_NODE_OPERATION_COUNT + 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNEventImpl <em>BPMN Event</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNEventImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getBPMNEvent()
+ * @generated
+ */
+ int BPMN_EVENT = 75;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EVENT__ID = FLOW_NODE__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EVENT__EXTENSION_VALUES = FLOW_NODE__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EVENT__BASE_ELEMENT = FLOW_NODE__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EVENT__DOCUMENTATION = FLOW_NODE__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EVENT__EXTENSION_DEFINITIONS = FLOW_NODE__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EVENT__OUTGOING = FLOW_NODE__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EVENT__INCOMING = FLOW_NODE__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EVENT__AUDITING = FLOW_NODE__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EVENT__MONITORING = FLOW_NODE__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EVENT__CATEGORY_VALUE_REF = FLOW_NODE__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EVENT__CONTAINER = FLOW_NODE__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EVENT__BASE_ACTIVITY_NODE = FLOW_NODE__BASE_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Event Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EVENT__EVENT_CLASS = FLOW_NODE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>event Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EVENT__EVENT_DEFINITIONS = FLOW_NODE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EVENT__PROPERTIES = FLOW_NODE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Event Definition Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EVENT__EVENT_DEFINITION_REFS = FLOW_NODE_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>BPMN Event</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EVENT_FEATURE_COUNT = FLOW_NODE_FEATURE_COUNT + 4;
+
+ /**
+ * The number of operations of the '<em>BPMN Event</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_EVENT_OPERATION_COUNT = FLOW_NODE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CatchEventImpl <em>Catch Event</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.CatchEventImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getCatchEvent()
+ * @generated
+ */
+ int CATCH_EVENT = 74;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATCH_EVENT__ID = BPMN_EVENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATCH_EVENT__EXTENSION_VALUES = BPMN_EVENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATCH_EVENT__BASE_ELEMENT = BPMN_EVENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATCH_EVENT__DOCUMENTATION = BPMN_EVENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATCH_EVENT__EXTENSION_DEFINITIONS = BPMN_EVENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATCH_EVENT__OUTGOING = BPMN_EVENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATCH_EVENT__INCOMING = BPMN_EVENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATCH_EVENT__AUDITING = BPMN_EVENT__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATCH_EVENT__MONITORING = BPMN_EVENT__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATCH_EVENT__CATEGORY_VALUE_REF = BPMN_EVENT__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATCH_EVENT__CONTAINER = BPMN_EVENT__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATCH_EVENT__BASE_ACTIVITY_NODE = BPMN_EVENT__BASE_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Event Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATCH_EVENT__EVENT_CLASS = BPMN_EVENT__EVENT_CLASS;
+
+ /**
+ * The feature id for the '<em><b>event Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATCH_EVENT__EVENT_DEFINITIONS = BPMN_EVENT__EVENT_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATCH_EVENT__PROPERTIES = BPMN_EVENT__PROPERTIES;
+
+ /**
+ * The feature id for the '<em><b>Event Definition Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATCH_EVENT__EVENT_DEFINITION_REFS = BPMN_EVENT__EVENT_DEFINITION_REFS;
+
+ /**
+ * The feature id for the '<em><b>Parallel Multiple</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATCH_EVENT__PARALLEL_MULTIPLE = BPMN_EVENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Accept Event Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATCH_EVENT__BASE_ACCEPT_EVENT_ACTION = BPMN_EVENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Initial Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATCH_EVENT__BASE_INITIAL_NODE = BPMN_EVENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Data Output Association</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATCH_EVENT__DATA_OUTPUT_ASSOCIATION = BPMN_EVENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Catch Event</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATCH_EVENT_FEATURE_COUNT = BPMN_EVENT_FEATURE_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Catch Eventevent Definitions Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATCH_EVENT___CATCH_EVENTEVENT_DEFINITIONS_REFS__DIAGNOSTICCHAIN_MAP = BPMN_EVENT_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Catch Event</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATCH_EVENT_OPERATION_COUNT = BPMN_EVENT_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BoundaryEventImpl <em>Boundary Event</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BoundaryEventImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getBoundaryEvent()
+ * @generated
+ */
+ int BOUNDARY_EVENT = 73;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDARY_EVENT__ID = CATCH_EVENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDARY_EVENT__EXTENSION_VALUES = CATCH_EVENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDARY_EVENT__BASE_ELEMENT = CATCH_EVENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDARY_EVENT__DOCUMENTATION = CATCH_EVENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDARY_EVENT__EXTENSION_DEFINITIONS = CATCH_EVENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDARY_EVENT__OUTGOING = CATCH_EVENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDARY_EVENT__INCOMING = CATCH_EVENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDARY_EVENT__AUDITING = CATCH_EVENT__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDARY_EVENT__MONITORING = CATCH_EVENT__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDARY_EVENT__CATEGORY_VALUE_REF = CATCH_EVENT__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDARY_EVENT__CONTAINER = CATCH_EVENT__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDARY_EVENT__BASE_ACTIVITY_NODE = CATCH_EVENT__BASE_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Event Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDARY_EVENT__EVENT_CLASS = CATCH_EVENT__EVENT_CLASS;
+
+ /**
+ * The feature id for the '<em><b>event Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDARY_EVENT__EVENT_DEFINITIONS = CATCH_EVENT__EVENT_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDARY_EVENT__PROPERTIES = CATCH_EVENT__PROPERTIES;
+
+ /**
+ * The feature id for the '<em><b>Event Definition Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDARY_EVENT__EVENT_DEFINITION_REFS = CATCH_EVENT__EVENT_DEFINITION_REFS;
+
+ /**
+ * The feature id for the '<em><b>Parallel Multiple</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDARY_EVENT__PARALLEL_MULTIPLE = CATCH_EVENT__PARALLEL_MULTIPLE;
+
+ /**
+ * The feature id for the '<em><b>Base Accept Event Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDARY_EVENT__BASE_ACCEPT_EVENT_ACTION = CATCH_EVENT__BASE_ACCEPT_EVENT_ACTION;
+
+ /**
+ * The feature id for the '<em><b>Base Initial Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDARY_EVENT__BASE_INITIAL_NODE = CATCH_EVENT__BASE_INITIAL_NODE;
+
+ /**
+ * The feature id for the '<em><b>Data Output Association</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDARY_EVENT__DATA_OUTPUT_ASSOCIATION = CATCH_EVENT__DATA_OUTPUT_ASSOCIATION;
+
+ /**
+ * The feature id for the '<em><b>Cancel Activity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDARY_EVENT__CANCEL_ACTIVITY = CATCH_EVENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Attached To Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDARY_EVENT__ATTACHED_TO_REF = CATCH_EVENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Boundary Event</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDARY_EVENT_FEATURE_COUNT = CATCH_EVENT_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Catch Eventevent Definitions Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDARY_EVENT___CATCH_EVENTEVENT_DEFINITIONS_REFS__DIAGNOSTICCHAIN_MAP = CATCH_EVENT___CATCH_EVENTEVENT_DEFINITIONS_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Boundary Eventattached To Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDARY_EVENT___BOUNDARY_EVENTATTACHED_TO_REF__DIAGNOSTICCHAIN_MAP = CATCH_EVENT_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Boundary Event</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDARY_EVENT_OPERATION_COUNT = CATCH_EVENT_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataAssociationImpl <em>Data Association</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataAssociationImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getDataAssociation()
+ * @generated
+ */
+ int DATA_ASSOCIATION = 77;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_ASSOCIATION__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_ASSOCIATION__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_ASSOCIATION__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_ASSOCIATION__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_ASSOCIATION__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_ASSOCIATION__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_ASSOCIATION__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Object Flow</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_ASSOCIATION__BASE_OBJECT_FLOW = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Source Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_ASSOCIATION__SOURCE_REF = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Target Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_ASSOCIATION__TARGET_REF = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Transformation</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_ASSOCIATION__TRANSFORMATION = BASE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Assignment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_ASSOCIATION__ASSIGNMENT = BASE_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Data Association</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_ASSOCIATION_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Data Associationsource</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_ASSOCIATION___DATA_ASSOCIATIONSOURCE__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Data Associationtransformation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_ASSOCIATION___DATA_ASSOCIATIONTRANSFORMATION__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Data Associationtarget</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_ASSOCIATION___DATA_ASSOCIATIONTARGET__DIAGNOSTICCHAIN_MAP = BASE_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Data Association</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_ASSOCIATION_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataOutputAssociationImpl <em>Data Output Association</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataOutputAssociationImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getDataOutputAssociation()
+ * @generated
+ */
+ int DATA_OUTPUT_ASSOCIATION = 76;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT_ASSOCIATION__ID = DATA_ASSOCIATION__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT_ASSOCIATION__EXTENSION_VALUES = DATA_ASSOCIATION__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT_ASSOCIATION__BASE_ELEMENT = DATA_ASSOCIATION__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT_ASSOCIATION__DOCUMENTATION = DATA_ASSOCIATION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT_ASSOCIATION__EXTENSION_DEFINITIONS = DATA_ASSOCIATION__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT_ASSOCIATION__OUTGOING = DATA_ASSOCIATION__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT_ASSOCIATION__INCOMING = DATA_ASSOCIATION__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Object Flow</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT_ASSOCIATION__BASE_OBJECT_FLOW = DATA_ASSOCIATION__BASE_OBJECT_FLOW;
+
+ /**
+ * The feature id for the '<em><b>Source Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT_ASSOCIATION__SOURCE_REF = DATA_ASSOCIATION__SOURCE_REF;
+
+ /**
+ * The feature id for the '<em><b>Target Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT_ASSOCIATION__TARGET_REF = DATA_ASSOCIATION__TARGET_REF;
+
+ /**
+ * The feature id for the '<em><b>Transformation</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT_ASSOCIATION__TRANSFORMATION = DATA_ASSOCIATION__TRANSFORMATION;
+
+ /**
+ * The feature id for the '<em><b>Assignment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT_ASSOCIATION__ASSIGNMENT = DATA_ASSOCIATION__ASSIGNMENT;
+
+ /**
+ * The number of structural features of the '<em>Data Output Association</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT_ASSOCIATION_FEATURE_COUNT = DATA_ASSOCIATION_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Data Associationsource</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT_ASSOCIATION___DATA_ASSOCIATIONSOURCE__DIAGNOSTICCHAIN_MAP = DATA_ASSOCIATION___DATA_ASSOCIATIONSOURCE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Data Associationtransformation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT_ASSOCIATION___DATA_ASSOCIATIONTRANSFORMATION__DIAGNOSTICCHAIN_MAP = DATA_ASSOCIATION___DATA_ASSOCIATIONTRANSFORMATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Data Associationtarget</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT_ASSOCIATION___DATA_ASSOCIATIONTARGET__DIAGNOSTICCHAIN_MAP = DATA_ASSOCIATION___DATA_ASSOCIATIONTARGET__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Data Output Associationsource</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT_ASSOCIATION___DATA_OUTPUT_ASSOCIATIONSOURCE__DIAGNOSTICCHAIN_MAP = DATA_ASSOCIATION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Data Output Associationtarget</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT_ASSOCIATION___DATA_OUTPUT_ASSOCIATIONTARGET__DIAGNOSTICCHAIN_MAP = DATA_ASSOCIATION_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Data Output Association</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OUTPUT_ASSOCIATION_OPERATION_COUNT = DATA_ASSOCIATION_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.AssignmentImpl <em>Assignment</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.AssignmentImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getAssignment()
+ * @generated
+ */
+ int ASSIGNMENT = 78;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Dependency</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT__BASE_DEPENDENCY = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>From</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT__FROM = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT__TO = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Assignment</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Assignment</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ASSIGNMENT_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataInputAssociationImpl <em>Data Input Association</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataInputAssociationImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getDataInputAssociation()
+ * @generated
+ */
+ int DATA_INPUT_ASSOCIATION = 79;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT_ASSOCIATION__ID = DATA_ASSOCIATION__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT_ASSOCIATION__EXTENSION_VALUES = DATA_ASSOCIATION__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT_ASSOCIATION__BASE_ELEMENT = DATA_ASSOCIATION__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT_ASSOCIATION__DOCUMENTATION = DATA_ASSOCIATION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT_ASSOCIATION__EXTENSION_DEFINITIONS = DATA_ASSOCIATION__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT_ASSOCIATION__OUTGOING = DATA_ASSOCIATION__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT_ASSOCIATION__INCOMING = DATA_ASSOCIATION__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Object Flow</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT_ASSOCIATION__BASE_OBJECT_FLOW = DATA_ASSOCIATION__BASE_OBJECT_FLOW;
+
+ /**
+ * The feature id for the '<em><b>Source Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT_ASSOCIATION__SOURCE_REF = DATA_ASSOCIATION__SOURCE_REF;
+
+ /**
+ * The feature id for the '<em><b>Target Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT_ASSOCIATION__TARGET_REF = DATA_ASSOCIATION__TARGET_REF;
+
+ /**
+ * The feature id for the '<em><b>Transformation</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT_ASSOCIATION__TRANSFORMATION = DATA_ASSOCIATION__TRANSFORMATION;
+
+ /**
+ * The feature id for the '<em><b>Assignment</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT_ASSOCIATION__ASSIGNMENT = DATA_ASSOCIATION__ASSIGNMENT;
+
+ /**
+ * The number of structural features of the '<em>Data Input Association</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT_ASSOCIATION_FEATURE_COUNT = DATA_ASSOCIATION_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Data Associationsource</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT_ASSOCIATION___DATA_ASSOCIATIONSOURCE__DIAGNOSTICCHAIN_MAP = DATA_ASSOCIATION___DATA_ASSOCIATIONSOURCE__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Data Associationtransformation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT_ASSOCIATION___DATA_ASSOCIATIONTRANSFORMATION__DIAGNOSTICCHAIN_MAP = DATA_ASSOCIATION___DATA_ASSOCIATIONTRANSFORMATION__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Data Associationtarget</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT_ASSOCIATION___DATA_ASSOCIATIONTARGET__DIAGNOSTICCHAIN_MAP = DATA_ASSOCIATION___DATA_ASSOCIATIONTARGET__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Data Input Associationsource</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT_ASSOCIATION___DATA_INPUT_ASSOCIATIONSOURCE__DIAGNOSTICCHAIN_MAP = DATA_ASSOCIATION_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Data Input Associationtarget</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT_ASSOCIATION___DATA_INPUT_ASSOCIATIONTARGET__DIAGNOSTICCHAIN_MAP = DATA_ASSOCIATION_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Data Input Association</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_INPUT_ASSOCIATION_OPERATION_COUNT = DATA_ASSOCIATION_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.LoopCharacteristicsImpl <em>Loop Characteristics</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.LoopCharacteristicsImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getLoopCharacteristics()
+ * @generated
+ */
+ int LOOP_CHARACTERISTICS = 80;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOOP_CHARACTERISTICS__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOOP_CHARACTERISTICS__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOOP_CHARACTERISTICS__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOOP_CHARACTERISTICS__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOOP_CHARACTERISTICS__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOOP_CHARACTERISTICS__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOOP_CHARACTERISTICS__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Structured Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOOP_CHARACTERISTICS__BASE_STRUCTURED_ACTIVITY_NODE = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Loop Characteristics</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOOP_CHARACTERISTICS_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Loop Characteristics</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOOP_CHARACTERISTICS_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.EscalationEventDefinitionImpl <em>Escalation Event Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.EscalationEventDefinitionImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getEscalationEventDefinition()
+ * @generated
+ */
+ int ESCALATION_EVENT_DEFINITION = 81;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION_EVENT_DEFINITION__ID = EVENT_DEFINITION__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION_EVENT_DEFINITION__EXTENSION_VALUES = EVENT_DEFINITION__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION_EVENT_DEFINITION__BASE_ELEMENT = EVENT_DEFINITION__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION_EVENT_DEFINITION__DOCUMENTATION = EVENT_DEFINITION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION_EVENT_DEFINITION__EXTENSION_DEFINITIONS = EVENT_DEFINITION__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION_EVENT_DEFINITION__OUTGOING = EVENT_DEFINITION__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION_EVENT_DEFINITION__INCOMING = EVENT_DEFINITION__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION_EVENT_DEFINITION__BASE_PACKAGEABLE_ELEMENT = EVENT_DEFINITION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION_EVENT_DEFINITION__DEFINITION = EVENT_DEFINITION__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Base Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION_EVENT_DEFINITION__BASE_EVENT = EVENT_DEFINITION__BASE_EVENT;
+
+ /**
+ * The feature id for the '<em><b>Escalation Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION_EVENT_DEFINITION__ESCALATION_REF = EVENT_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Call Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION_EVENT_DEFINITION__BASE_CALL_EVENT = EVENT_DEFINITION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Escalation Event Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION_EVENT_DEFINITION_FEATURE_COUNT = EVENT_DEFINITION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Escalation Event Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION_EVENT_DEFINITION_OPERATION_COUNT = EVENT_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.EscalationImpl <em>Escalation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.EscalationImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getEscalation()
+ * @generated
+ */
+ int ESCALATION = 82;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION__ID = ITEM_DEFINITION__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION__EXTENSION_VALUES = ITEM_DEFINITION__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION__BASE_ELEMENT = ITEM_DEFINITION__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION__DOCUMENTATION = ITEM_DEFINITION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION__EXTENSION_DEFINITIONS = ITEM_DEFINITION__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION__OUTGOING = ITEM_DEFINITION__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION__INCOMING = ITEM_DEFINITION__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION__BASE_PACKAGEABLE_ELEMENT = ITEM_DEFINITION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION__DEFINITION = ITEM_DEFINITION__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Item Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION__ITEM_KIND = ITEM_DEFINITION__ITEM_KIND;
+
+ /**
+ * The feature id for the '<em><b>Is Collection</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION__IS_COLLECTION = ITEM_DEFINITION__IS_COLLECTION;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION__BASE_CLASS = ITEM_DEFINITION__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Structure Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION__STRUCTURE_REF = ITEM_DEFINITION__STRUCTURE_REF;
+
+ /**
+ * The feature id for the '<em><b>Import</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION__IMPORT = ITEM_DEFINITION__IMPORT;
+
+ /**
+ * The feature id for the '<em><b>Escalation Code</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION__ESCALATION_CODE = ITEM_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Escalation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION_FEATURE_COUNT = ITEM_DEFINITION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Item Definitionstructure Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION___ITEM_DEFINITIONSTRUCTURE_REF__DIAGNOSTICCHAIN_MAP = ITEM_DEFINITION___ITEM_DEFINITIONSTRUCTURE_REF__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Escalationstructure Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION___ESCALATIONSTRUCTURE_REF__DIAGNOSTICCHAIN_MAP = ITEM_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Escalation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ESCALATION_OPERATION_COUNT = ITEM_DEFINITION_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.TimerEventDefinitionImpl <em>Timer Event Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.TimerEventDefinitionImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getTimerEventDefinition()
+ * @generated
+ */
+ int TIMER_EVENT_DEFINITION = 83;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMER_EVENT_DEFINITION__ID = EVENT_DEFINITION__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMER_EVENT_DEFINITION__EXTENSION_VALUES = EVENT_DEFINITION__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMER_EVENT_DEFINITION__BASE_ELEMENT = EVENT_DEFINITION__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMER_EVENT_DEFINITION__DOCUMENTATION = EVENT_DEFINITION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMER_EVENT_DEFINITION__EXTENSION_DEFINITIONS = EVENT_DEFINITION__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMER_EVENT_DEFINITION__OUTGOING = EVENT_DEFINITION__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMER_EVENT_DEFINITION__INCOMING = EVENT_DEFINITION__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMER_EVENT_DEFINITION__BASE_PACKAGEABLE_ELEMENT = EVENT_DEFINITION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMER_EVENT_DEFINITION__DEFINITION = EVENT_DEFINITION__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Base Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMER_EVENT_DEFINITION__BASE_EVENT = EVENT_DEFINITION__BASE_EVENT;
+
+ /**
+ * The feature id for the '<em><b>Time Cycle</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMER_EVENT_DEFINITION__TIME_CYCLE = EVENT_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Time Date</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMER_EVENT_DEFINITION__TIME_DATE = EVENT_DEFINITION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Time Duration</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMER_EVENT_DEFINITION__TIME_DURATION = EVENT_DEFINITION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Base Change Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMER_EVENT_DEFINITION__BASE_CHANGE_EVENT = EVENT_DEFINITION_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Timer Event Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMER_EVENT_DEFINITION_FEATURE_COUNT = EVENT_DEFINITION_FEATURE_COUNT + 4;
+
+ /**
+ * The number of operations of the '<em>Timer Event Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIMER_EVENT_DEFINITION_OPERATION_COUNT = EVENT_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.SignalEventDefinitionImpl <em>Signal Event Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.SignalEventDefinitionImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getSignalEventDefinition()
+ * @generated
+ */
+ int SIGNAL_EVENT_DEFINITION = 84;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_EVENT_DEFINITION__ID = EVENT_DEFINITION__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_EVENT_DEFINITION__EXTENSION_VALUES = EVENT_DEFINITION__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_EVENT_DEFINITION__BASE_ELEMENT = EVENT_DEFINITION__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_EVENT_DEFINITION__DOCUMENTATION = EVENT_DEFINITION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_EVENT_DEFINITION__EXTENSION_DEFINITIONS = EVENT_DEFINITION__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_EVENT_DEFINITION__OUTGOING = EVENT_DEFINITION__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_EVENT_DEFINITION__INCOMING = EVENT_DEFINITION__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_EVENT_DEFINITION__BASE_PACKAGEABLE_ELEMENT = EVENT_DEFINITION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_EVENT_DEFINITION__DEFINITION = EVENT_DEFINITION__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Base Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_EVENT_DEFINITION__BASE_EVENT = EVENT_DEFINITION__BASE_EVENT;
+
+ /**
+ * The feature id for the '<em><b>Signal Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_EVENT_DEFINITION__SIGNAL_REF = EVENT_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Call Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_EVENT_DEFINITION__BASE_CALL_EVENT = EVENT_DEFINITION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Signal Event Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_EVENT_DEFINITION_FEATURE_COUNT = EVENT_DEFINITION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Signal Event Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_EVENT_DEFINITION_OPERATION_COUNT = EVENT_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNSignalImpl <em>BPMN Signal</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNSignalImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getBPMNSignal()
+ * @generated
+ */
+ int BPMN_SIGNAL = 85;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_SIGNAL__ID = ITEM_DEFINITION__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_SIGNAL__EXTENSION_VALUES = ITEM_DEFINITION__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_SIGNAL__BASE_ELEMENT = ITEM_DEFINITION__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_SIGNAL__DOCUMENTATION = ITEM_DEFINITION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_SIGNAL__EXTENSION_DEFINITIONS = ITEM_DEFINITION__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_SIGNAL__OUTGOING = ITEM_DEFINITION__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_SIGNAL__INCOMING = ITEM_DEFINITION__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_SIGNAL__BASE_PACKAGEABLE_ELEMENT = ITEM_DEFINITION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_SIGNAL__DEFINITION = ITEM_DEFINITION__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Item Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_SIGNAL__ITEM_KIND = ITEM_DEFINITION__ITEM_KIND;
+
+ /**
+ * The feature id for the '<em><b>Is Collection</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_SIGNAL__IS_COLLECTION = ITEM_DEFINITION__IS_COLLECTION;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_SIGNAL__BASE_CLASS = ITEM_DEFINITION__BASE_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Structure Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_SIGNAL__STRUCTURE_REF = ITEM_DEFINITION__STRUCTURE_REF;
+
+ /**
+ * The feature id for the '<em><b>Import</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_SIGNAL__IMPORT = ITEM_DEFINITION__IMPORT;
+
+ /**
+ * The number of structural features of the '<em>BPMN Signal</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_SIGNAL_FEATURE_COUNT = ITEM_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Item Definitionstructure Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_SIGNAL___ITEM_DEFINITIONSTRUCTURE_REF__DIAGNOSTICCHAIN_MAP = ITEM_DEFINITION___ITEM_DEFINITIONSTRUCTURE_REF__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Signalstructure Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_SIGNAL___BPMN_SIGNALSTRUCTURE_REF__DIAGNOSTICCHAIN_MAP = ITEM_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>BPMN Signal</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BPMN_SIGNAL_OPERATION_COUNT = ITEM_DEFINITION_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ThrowEventImpl <em>Throw Event</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ThrowEventImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getThrowEvent()
+ * @generated
+ */
+ int THROW_EVENT = 87;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THROW_EVENT__ID = BPMN_EVENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THROW_EVENT__EXTENSION_VALUES = BPMN_EVENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THROW_EVENT__BASE_ELEMENT = BPMN_EVENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THROW_EVENT__DOCUMENTATION = BPMN_EVENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THROW_EVENT__EXTENSION_DEFINITIONS = BPMN_EVENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THROW_EVENT__OUTGOING = BPMN_EVENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THROW_EVENT__INCOMING = BPMN_EVENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THROW_EVENT__AUDITING = BPMN_EVENT__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THROW_EVENT__MONITORING = BPMN_EVENT__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THROW_EVENT__CATEGORY_VALUE_REF = BPMN_EVENT__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THROW_EVENT__CONTAINER = BPMN_EVENT__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THROW_EVENT__BASE_ACTIVITY_NODE = BPMN_EVENT__BASE_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Event Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THROW_EVENT__EVENT_CLASS = BPMN_EVENT__EVENT_CLASS;
+
+ /**
+ * The feature id for the '<em><b>event Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THROW_EVENT__EVENT_DEFINITIONS = BPMN_EVENT__EVENT_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THROW_EVENT__PROPERTIES = BPMN_EVENT__PROPERTIES;
+
+ /**
+ * The feature id for the '<em><b>Event Definition Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THROW_EVENT__EVENT_DEFINITION_REFS = BPMN_EVENT__EVENT_DEFINITION_REFS;
+
+ /**
+ * The feature id for the '<em><b>Base Call Operation Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THROW_EVENT__BASE_CALL_OPERATION_ACTION = BPMN_EVENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Flow Final Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THROW_EVENT__BASE_FLOW_FINAL_NODE = BPMN_EVENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Data Input Association</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THROW_EVENT__DATA_INPUT_ASSOCIATION = BPMN_EVENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Throw Event</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THROW_EVENT_FEATURE_COUNT = BPMN_EVENT_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Throw Eventevent Definition Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THROW_EVENT___THROW_EVENTEVENT_DEFINITION_REFS__DIAGNOSTICCHAIN_MAP = BPMN_EVENT_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Throw Event</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int THROW_EVENT_OPERATION_COUNT = BPMN_EVENT_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.EndEventImpl <em>End Event</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.EndEventImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getEndEvent()
+ * @generated
+ */
+ int END_EVENT = 86;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int END_EVENT__ID = THROW_EVENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int END_EVENT__EXTENSION_VALUES = THROW_EVENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int END_EVENT__BASE_ELEMENT = THROW_EVENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int END_EVENT__DOCUMENTATION = THROW_EVENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int END_EVENT__EXTENSION_DEFINITIONS = THROW_EVENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int END_EVENT__OUTGOING = THROW_EVENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int END_EVENT__INCOMING = THROW_EVENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int END_EVENT__AUDITING = THROW_EVENT__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int END_EVENT__MONITORING = THROW_EVENT__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int END_EVENT__CATEGORY_VALUE_REF = THROW_EVENT__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int END_EVENT__CONTAINER = THROW_EVENT__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int END_EVENT__BASE_ACTIVITY_NODE = THROW_EVENT__BASE_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Event Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int END_EVENT__EVENT_CLASS = THROW_EVENT__EVENT_CLASS;
+
+ /**
+ * The feature id for the '<em><b>event Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int END_EVENT__EVENT_DEFINITIONS = THROW_EVENT__EVENT_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int END_EVENT__PROPERTIES = THROW_EVENT__PROPERTIES;
+
+ /**
+ * The feature id for the '<em><b>Event Definition Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int END_EVENT__EVENT_DEFINITION_REFS = THROW_EVENT__EVENT_DEFINITION_REFS;
+
+ /**
+ * The feature id for the '<em><b>Base Call Operation Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int END_EVENT__BASE_CALL_OPERATION_ACTION = THROW_EVENT__BASE_CALL_OPERATION_ACTION;
+
+ /**
+ * The feature id for the '<em><b>Base Flow Final Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int END_EVENT__BASE_FLOW_FINAL_NODE = THROW_EVENT__BASE_FLOW_FINAL_NODE;
+
+ /**
+ * The feature id for the '<em><b>Data Input Association</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int END_EVENT__DATA_INPUT_ASSOCIATION = THROW_EVENT__DATA_INPUT_ASSOCIATION;
+
+ /**
+ * The feature id for the '<em><b>Base Final Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int END_EVENT__BASE_FINAL_NODE = THROW_EVENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>End Event</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int END_EVENT_FEATURE_COUNT = THROW_EVENT_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Throw Eventevent Definition Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int END_EVENT___THROW_EVENTEVENT_DEFINITION_REFS__DIAGNOSTICCHAIN_MAP = THROW_EVENT___THROW_EVENTEVENT_DEFINITION_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The number of operations of the '<em>End Event</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int END_EVENT_OPERATION_COUNT = THROW_EVENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.MessageEventDefinitionImpl <em>Message Event Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.MessageEventDefinitionImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getMessageEventDefinition()
+ * @generated
+ */
+ int MESSAGE_EVENT_DEFINITION = 88;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_EVENT_DEFINITION__ID = EVENT_DEFINITION__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_EVENT_DEFINITION__EXTENSION_VALUES = EVENT_DEFINITION__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_EVENT_DEFINITION__BASE_ELEMENT = EVENT_DEFINITION__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_EVENT_DEFINITION__DOCUMENTATION = EVENT_DEFINITION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_EVENT_DEFINITION__EXTENSION_DEFINITIONS = EVENT_DEFINITION__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_EVENT_DEFINITION__OUTGOING = EVENT_DEFINITION__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_EVENT_DEFINITION__INCOMING = EVENT_DEFINITION__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_EVENT_DEFINITION__BASE_PACKAGEABLE_ELEMENT = EVENT_DEFINITION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_EVENT_DEFINITION__DEFINITION = EVENT_DEFINITION__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Base Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_EVENT_DEFINITION__BASE_EVENT = EVENT_DEFINITION__BASE_EVENT;
+
+ /**
+ * The feature id for the '<em><b>Message Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_EVENT_DEFINITION__MESSAGE_REF = EVENT_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Operation Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_EVENT_DEFINITION__OPERATION_REF = EVENT_DEFINITION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Call Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_EVENT_DEFINITION__BASE_CALL_EVENT = EVENT_DEFINITION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Message Event Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_EVENT_DEFINITION_FEATURE_COUNT = EVENT_DEFINITION_FEATURE_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Message Event Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_EVENT_DEFINITION_OPERATION_COUNT = EVENT_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.StartEventImpl <em>Start Event</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.StartEventImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getStartEvent()
+ * @generated
+ */
+ int START_EVENT = 89;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int START_EVENT__ID = CATCH_EVENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int START_EVENT__EXTENSION_VALUES = CATCH_EVENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int START_EVENT__BASE_ELEMENT = CATCH_EVENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int START_EVENT__DOCUMENTATION = CATCH_EVENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int START_EVENT__EXTENSION_DEFINITIONS = CATCH_EVENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int START_EVENT__OUTGOING = CATCH_EVENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int START_EVENT__INCOMING = CATCH_EVENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int START_EVENT__AUDITING = CATCH_EVENT__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int START_EVENT__MONITORING = CATCH_EVENT__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int START_EVENT__CATEGORY_VALUE_REF = CATCH_EVENT__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int START_EVENT__CONTAINER = CATCH_EVENT__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int START_EVENT__BASE_ACTIVITY_NODE = CATCH_EVENT__BASE_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Event Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int START_EVENT__EVENT_CLASS = CATCH_EVENT__EVENT_CLASS;
+
+ /**
+ * The feature id for the '<em><b>event Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int START_EVENT__EVENT_DEFINITIONS = CATCH_EVENT__EVENT_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int START_EVENT__PROPERTIES = CATCH_EVENT__PROPERTIES;
+
+ /**
+ * The feature id for the '<em><b>Event Definition Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int START_EVENT__EVENT_DEFINITION_REFS = CATCH_EVENT__EVENT_DEFINITION_REFS;
+
+ /**
+ * The feature id for the '<em><b>Parallel Multiple</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int START_EVENT__PARALLEL_MULTIPLE = CATCH_EVENT__PARALLEL_MULTIPLE;
+
+ /**
+ * The feature id for the '<em><b>Base Accept Event Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int START_EVENT__BASE_ACCEPT_EVENT_ACTION = CATCH_EVENT__BASE_ACCEPT_EVENT_ACTION;
+
+ /**
+ * The feature id for the '<em><b>Base Initial Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int START_EVENT__BASE_INITIAL_NODE = CATCH_EVENT__BASE_INITIAL_NODE;
+
+ /**
+ * The feature id for the '<em><b>Data Output Association</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int START_EVENT__DATA_OUTPUT_ASSOCIATION = CATCH_EVENT__DATA_OUTPUT_ASSOCIATION;
+
+ /**
+ * The feature id for the '<em><b>Is Interrupting</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int START_EVENT__IS_INTERRUPTING = CATCH_EVENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Start Event</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int START_EVENT_FEATURE_COUNT = CATCH_EVENT_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Catch Eventevent Definitions Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int START_EVENT___CATCH_EVENTEVENT_DEFINITIONS_REFS__DIAGNOSTICCHAIN_MAP = CATCH_EVENT___CATCH_EVENTEVENT_DEFINITIONS_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The number of operations of the '<em>Start Event</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int START_EVENT_OPERATION_COUNT = CATCH_EVENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ConditionalEventDefinitionImpl <em>Conditional Event Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ConditionalEventDefinitionImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getConditionalEventDefinition()
+ * @generated
+ */
+ int CONDITIONAL_EVENT_DEFINITION = 90;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_EVENT_DEFINITION__ID = EVENT_DEFINITION__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_EVENT_DEFINITION__EXTENSION_VALUES = EVENT_DEFINITION__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_EVENT_DEFINITION__BASE_ELEMENT = EVENT_DEFINITION__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_EVENT_DEFINITION__DOCUMENTATION = EVENT_DEFINITION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_EVENT_DEFINITION__EXTENSION_DEFINITIONS = EVENT_DEFINITION__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_EVENT_DEFINITION__OUTGOING = EVENT_DEFINITION__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_EVENT_DEFINITION__INCOMING = EVENT_DEFINITION__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_EVENT_DEFINITION__BASE_PACKAGEABLE_ELEMENT = EVENT_DEFINITION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_EVENT_DEFINITION__DEFINITION = EVENT_DEFINITION__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Base Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_EVENT_DEFINITION__BASE_EVENT = EVENT_DEFINITION__BASE_EVENT;
+
+ /**
+ * The feature id for the '<em><b>Base Change Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_EVENT_DEFINITION__BASE_CHANGE_EVENT = EVENT_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Condition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_EVENT_DEFINITION__CONDITION = EVENT_DEFINITION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Conditional Event Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_EVENT_DEFINITION_FEATURE_COUNT = EVENT_DEFINITION_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Conditional Event Definitioncondition</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_EVENT_DEFINITION___CONDITIONAL_EVENT_DEFINITIONCONDITION__DIAGNOSTICCHAIN_MAP = EVENT_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Conditional Event Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONDITIONAL_EVENT_DEFINITION_OPERATION_COUNT = EVENT_DEFINITION_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.LinkEventDefinitionImpl <em>Link Event Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.LinkEventDefinitionImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getLinkEventDefinition()
+ * @generated
+ */
+ int LINK_EVENT_DEFINITION = 91;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK_EVENT_DEFINITION__ID = EVENT_DEFINITION__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK_EVENT_DEFINITION__EXTENSION_VALUES = EVENT_DEFINITION__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK_EVENT_DEFINITION__BASE_ELEMENT = EVENT_DEFINITION__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK_EVENT_DEFINITION__DOCUMENTATION = EVENT_DEFINITION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK_EVENT_DEFINITION__EXTENSION_DEFINITIONS = EVENT_DEFINITION__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK_EVENT_DEFINITION__OUTGOING = EVENT_DEFINITION__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK_EVENT_DEFINITION__INCOMING = EVENT_DEFINITION__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK_EVENT_DEFINITION__BASE_PACKAGEABLE_ELEMENT = EVENT_DEFINITION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK_EVENT_DEFINITION__DEFINITION = EVENT_DEFINITION__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Base Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK_EVENT_DEFINITION__BASE_EVENT = EVENT_DEFINITION__BASE_EVENT;
+
+ /**
+ * The feature id for the '<em><b>target</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK_EVENT_DEFINITION__TARGET = EVENT_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Source</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK_EVENT_DEFINITION__SOURCE = EVENT_DEFINITION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Call Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK_EVENT_DEFINITION__BASE_CALL_EVENT = EVENT_DEFINITION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Link Event Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK_EVENT_DEFINITION_FEATURE_COUNT = EVENT_DEFINITION_FEATURE_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Link Event Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LINK_EVENT_DEFINITION_OPERATION_COUNT = EVENT_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ErrorEventDefinitionImpl <em>Error Event Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ErrorEventDefinitionImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getErrorEventDefinition()
+ * @generated
+ */
+ int ERROR_EVENT_DEFINITION = 92;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_EVENT_DEFINITION__ID = EVENT_DEFINITION__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_EVENT_DEFINITION__EXTENSION_VALUES = EVENT_DEFINITION__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_EVENT_DEFINITION__BASE_ELEMENT = EVENT_DEFINITION__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_EVENT_DEFINITION__DOCUMENTATION = EVENT_DEFINITION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_EVENT_DEFINITION__EXTENSION_DEFINITIONS = EVENT_DEFINITION__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_EVENT_DEFINITION__OUTGOING = EVENT_DEFINITION__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_EVENT_DEFINITION__INCOMING = EVENT_DEFINITION__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_EVENT_DEFINITION__BASE_PACKAGEABLE_ELEMENT = EVENT_DEFINITION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_EVENT_DEFINITION__DEFINITION = EVENT_DEFINITION__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Base Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_EVENT_DEFINITION__BASE_EVENT = EVENT_DEFINITION__BASE_EVENT;
+
+ /**
+ * The feature id for the '<em><b>Error Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_EVENT_DEFINITION__ERROR_REF = EVENT_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Call Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_EVENT_DEFINITION__BASE_CALL_EVENT = EVENT_DEFINITION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Error Event Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_EVENT_DEFINITION_FEATURE_COUNT = EVENT_DEFINITION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Error Event Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_EVENT_DEFINITION_OPERATION_COUNT = EVENT_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.IntermediateCatchEventImpl <em>Intermediate Catch Event</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.IntermediateCatchEventImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getIntermediateCatchEvent()
+ * @generated
+ */
+ int INTERMEDIATE_CATCH_EVENT = 93;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_CATCH_EVENT__ID = CATCH_EVENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_CATCH_EVENT__EXTENSION_VALUES = CATCH_EVENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_CATCH_EVENT__BASE_ELEMENT = CATCH_EVENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_CATCH_EVENT__DOCUMENTATION = CATCH_EVENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_CATCH_EVENT__EXTENSION_DEFINITIONS = CATCH_EVENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_CATCH_EVENT__OUTGOING = CATCH_EVENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_CATCH_EVENT__INCOMING = CATCH_EVENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_CATCH_EVENT__AUDITING = CATCH_EVENT__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_CATCH_EVENT__MONITORING = CATCH_EVENT__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_CATCH_EVENT__CATEGORY_VALUE_REF = CATCH_EVENT__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_CATCH_EVENT__CONTAINER = CATCH_EVENT__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_CATCH_EVENT__BASE_ACTIVITY_NODE = CATCH_EVENT__BASE_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Event Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_CATCH_EVENT__EVENT_CLASS = CATCH_EVENT__EVENT_CLASS;
+
+ /**
+ * The feature id for the '<em><b>event Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_CATCH_EVENT__EVENT_DEFINITIONS = CATCH_EVENT__EVENT_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_CATCH_EVENT__PROPERTIES = CATCH_EVENT__PROPERTIES;
+
+ /**
+ * The feature id for the '<em><b>Event Definition Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_CATCH_EVENT__EVENT_DEFINITION_REFS = CATCH_EVENT__EVENT_DEFINITION_REFS;
+
+ /**
+ * The feature id for the '<em><b>Parallel Multiple</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_CATCH_EVENT__PARALLEL_MULTIPLE = CATCH_EVENT__PARALLEL_MULTIPLE;
+
+ /**
+ * The feature id for the '<em><b>Base Accept Event Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_CATCH_EVENT__BASE_ACCEPT_EVENT_ACTION = CATCH_EVENT__BASE_ACCEPT_EVENT_ACTION;
+
+ /**
+ * The feature id for the '<em><b>Base Initial Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_CATCH_EVENT__BASE_INITIAL_NODE = CATCH_EVENT__BASE_INITIAL_NODE;
+
+ /**
+ * The feature id for the '<em><b>Data Output Association</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_CATCH_EVENT__DATA_OUTPUT_ASSOCIATION = CATCH_EVENT__DATA_OUTPUT_ASSOCIATION;
+
+ /**
+ * The number of structural features of the '<em>Intermediate Catch Event</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_CATCH_EVENT_FEATURE_COUNT = CATCH_EVENT_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Catch Eventevent Definitions Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_CATCH_EVENT___CATCH_EVENTEVENT_DEFINITIONS_REFS__DIAGNOSTICCHAIN_MAP = CATCH_EVENT___CATCH_EVENTEVENT_DEFINITIONS_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The number of operations of the '<em>Intermediate Catch Event</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_CATCH_EVENT_OPERATION_COUNT = CATCH_EVENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.IntermediateThrowEventImpl <em>Intermediate Throw Event</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.IntermediateThrowEventImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getIntermediateThrowEvent()
+ * @generated
+ */
+ int INTERMEDIATE_THROW_EVENT = 94;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_THROW_EVENT__ID = THROW_EVENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_THROW_EVENT__EXTENSION_VALUES = THROW_EVENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_THROW_EVENT__BASE_ELEMENT = THROW_EVENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_THROW_EVENT__DOCUMENTATION = THROW_EVENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_THROW_EVENT__EXTENSION_DEFINITIONS = THROW_EVENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_THROW_EVENT__OUTGOING = THROW_EVENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_THROW_EVENT__INCOMING = THROW_EVENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_THROW_EVENT__AUDITING = THROW_EVENT__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_THROW_EVENT__MONITORING = THROW_EVENT__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_THROW_EVENT__CATEGORY_VALUE_REF = THROW_EVENT__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_THROW_EVENT__CONTAINER = THROW_EVENT__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_THROW_EVENT__BASE_ACTIVITY_NODE = THROW_EVENT__BASE_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Event Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_THROW_EVENT__EVENT_CLASS = THROW_EVENT__EVENT_CLASS;
+
+ /**
+ * The feature id for the '<em><b>event Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_THROW_EVENT__EVENT_DEFINITIONS = THROW_EVENT__EVENT_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_THROW_EVENT__PROPERTIES = THROW_EVENT__PROPERTIES;
+
+ /**
+ * The feature id for the '<em><b>Event Definition Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_THROW_EVENT__EVENT_DEFINITION_REFS = THROW_EVENT__EVENT_DEFINITION_REFS;
+
+ /**
+ * The feature id for the '<em><b>Base Call Operation Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_THROW_EVENT__BASE_CALL_OPERATION_ACTION = THROW_EVENT__BASE_CALL_OPERATION_ACTION;
+
+ /**
+ * The feature id for the '<em><b>Base Flow Final Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_THROW_EVENT__BASE_FLOW_FINAL_NODE = THROW_EVENT__BASE_FLOW_FINAL_NODE;
+
+ /**
+ * The feature id for the '<em><b>Data Input Association</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_THROW_EVENT__DATA_INPUT_ASSOCIATION = THROW_EVENT__DATA_INPUT_ASSOCIATION;
+
+ /**
+ * The feature id for the '<em><b>Base Send Object Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_THROW_EVENT__BASE_SEND_OBJECT_ACTION = THROW_EVENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Intermediate Throw Event</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_THROW_EVENT_FEATURE_COUNT = THROW_EVENT_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Throw Eventevent Definition Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_THROW_EVENT___THROW_EVENTEVENT_DEFINITION_REFS__DIAGNOSTICCHAIN_MAP = THROW_EVENT___THROW_EVENTEVENT_DEFINITION_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The number of operations of the '<em>Intermediate Throw Event</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERMEDIATE_THROW_EVENT_OPERATION_COUNT = THROW_EVENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.TerminateEventDefinitionImpl <em>Terminate Event Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.TerminateEventDefinitionImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getTerminateEventDefinition()
+ * @generated
+ */
+ int TERMINATE_EVENT_DEFINITION = 95;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TERMINATE_EVENT_DEFINITION__ID = EVENT_DEFINITION__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TERMINATE_EVENT_DEFINITION__EXTENSION_VALUES = EVENT_DEFINITION__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TERMINATE_EVENT_DEFINITION__BASE_ELEMENT = EVENT_DEFINITION__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TERMINATE_EVENT_DEFINITION__DOCUMENTATION = EVENT_DEFINITION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TERMINATE_EVENT_DEFINITION__EXTENSION_DEFINITIONS = EVENT_DEFINITION__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TERMINATE_EVENT_DEFINITION__OUTGOING = EVENT_DEFINITION__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TERMINATE_EVENT_DEFINITION__INCOMING = EVENT_DEFINITION__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TERMINATE_EVENT_DEFINITION__BASE_PACKAGEABLE_ELEMENT = EVENT_DEFINITION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TERMINATE_EVENT_DEFINITION__DEFINITION = EVENT_DEFINITION__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Base Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TERMINATE_EVENT_DEFINITION__BASE_EVENT = EVENT_DEFINITION__BASE_EVENT;
+
+ /**
+ * The feature id for the '<em><b>Base Call Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TERMINATE_EVENT_DEFINITION__BASE_CALL_EVENT = EVENT_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Terminate Event Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TERMINATE_EVENT_DEFINITION_FEATURE_COUNT = EVENT_DEFINITION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Terminate Event Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TERMINATE_EVENT_DEFINITION_OPERATION_COUNT = EVENT_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ImplicitThrowEventImpl <em>Implicit Throw Event</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ImplicitThrowEventImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getImplicitThrowEvent()
+ * @generated
+ */
+ int IMPLICIT_THROW_EVENT = 96;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLICIT_THROW_EVENT__ID = THROW_EVENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLICIT_THROW_EVENT__EXTENSION_VALUES = THROW_EVENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLICIT_THROW_EVENT__BASE_ELEMENT = THROW_EVENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLICIT_THROW_EVENT__DOCUMENTATION = THROW_EVENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLICIT_THROW_EVENT__EXTENSION_DEFINITIONS = THROW_EVENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLICIT_THROW_EVENT__OUTGOING = THROW_EVENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLICIT_THROW_EVENT__INCOMING = THROW_EVENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLICIT_THROW_EVENT__AUDITING = THROW_EVENT__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLICIT_THROW_EVENT__MONITORING = THROW_EVENT__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLICIT_THROW_EVENT__CATEGORY_VALUE_REF = THROW_EVENT__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLICIT_THROW_EVENT__CONTAINER = THROW_EVENT__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLICIT_THROW_EVENT__BASE_ACTIVITY_NODE = THROW_EVENT__BASE_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Event Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLICIT_THROW_EVENT__EVENT_CLASS = THROW_EVENT__EVENT_CLASS;
+
+ /**
+ * The feature id for the '<em><b>event Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLICIT_THROW_EVENT__EVENT_DEFINITIONS = THROW_EVENT__EVENT_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLICIT_THROW_EVENT__PROPERTIES = THROW_EVENT__PROPERTIES;
+
+ /**
+ * The feature id for the '<em><b>Event Definition Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLICIT_THROW_EVENT__EVENT_DEFINITION_REFS = THROW_EVENT__EVENT_DEFINITION_REFS;
+
+ /**
+ * The feature id for the '<em><b>Base Call Operation Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLICIT_THROW_EVENT__BASE_CALL_OPERATION_ACTION = THROW_EVENT__BASE_CALL_OPERATION_ACTION;
+
+ /**
+ * The feature id for the '<em><b>Base Flow Final Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLICIT_THROW_EVENT__BASE_FLOW_FINAL_NODE = THROW_EVENT__BASE_FLOW_FINAL_NODE;
+
+ /**
+ * The feature id for the '<em><b>Data Input Association</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLICIT_THROW_EVENT__DATA_INPUT_ASSOCIATION = THROW_EVENT__DATA_INPUT_ASSOCIATION;
+
+ /**
+ * The number of structural features of the '<em>Implicit Throw Event</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLICIT_THROW_EVENT_FEATURE_COUNT = THROW_EVENT_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Throw Eventevent Definition Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLICIT_THROW_EVENT___THROW_EVENTEVENT_DEFINITION_REFS__DIAGNOSTICCHAIN_MAP = THROW_EVENT___THROW_EVENTEVENT_DEFINITION_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The number of operations of the '<em>Implicit Throw Event</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPLICIT_THROW_EVENT_OPERATION_COUNT = THROW_EVENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CancelEventDefinitionImpl <em>Cancel Event Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.CancelEventDefinitionImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getCancelEventDefinition()
+ * @generated
+ */
+ int CANCEL_EVENT_DEFINITION = 97;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CANCEL_EVENT_DEFINITION__ID = EVENT_DEFINITION__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CANCEL_EVENT_DEFINITION__EXTENSION_VALUES = EVENT_DEFINITION__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CANCEL_EVENT_DEFINITION__BASE_ELEMENT = EVENT_DEFINITION__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CANCEL_EVENT_DEFINITION__DOCUMENTATION = EVENT_DEFINITION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CANCEL_EVENT_DEFINITION__EXTENSION_DEFINITIONS = EVENT_DEFINITION__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CANCEL_EVENT_DEFINITION__OUTGOING = EVENT_DEFINITION__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CANCEL_EVENT_DEFINITION__INCOMING = EVENT_DEFINITION__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CANCEL_EVENT_DEFINITION__BASE_PACKAGEABLE_ELEMENT = EVENT_DEFINITION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CANCEL_EVENT_DEFINITION__DEFINITION = EVENT_DEFINITION__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Base Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CANCEL_EVENT_DEFINITION__BASE_EVENT = EVENT_DEFINITION__BASE_EVENT;
+
+ /**
+ * The feature id for the '<em><b>Base Call Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CANCEL_EVENT_DEFINITION__BASE_CALL_EVENT = EVENT_DEFINITION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Cancel Event Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CANCEL_EVENT_DEFINITION_FEATURE_COUNT = EVENT_DEFINITION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Cancel Event Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CANCEL_EVENT_DEFINITION_OPERATION_COUNT = EVENT_DEFINITION_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.TextAnnotationImpl <em>Text Annotation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.TextAnnotationImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getTextAnnotation()
+ * @generated
+ */
+ int TEXT_ANNOTATION = 98;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEXT_ANNOTATION__ID = BPMN_ARTIFACT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEXT_ANNOTATION__EXTENSION_VALUES = BPMN_ARTIFACT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEXT_ANNOTATION__BASE_ELEMENT = BPMN_ARTIFACT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEXT_ANNOTATION__DOCUMENTATION = BPMN_ARTIFACT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEXT_ANNOTATION__EXTENSION_DEFINITIONS = BPMN_ARTIFACT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEXT_ANNOTATION__OUTGOING = BPMN_ARTIFACT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEXT_ANNOTATION__INCOMING = BPMN_ARTIFACT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Comment</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEXT_ANNOTATION__BASE_COMMENT = BPMN_ARTIFACT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Text Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEXT_ANNOTATION__TEXT_FORMAT = BPMN_ARTIFACT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Text</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEXT_ANNOTATION__TEXT = BPMN_ARTIFACT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Text Annotation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEXT_ANNOTATION_FEATURE_COUNT = BPMN_ARTIFACT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Text Annotation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TEXT_ANNOTATION_OPERATION_COUNT = BPMN_ARTIFACT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CategoryImpl <em>Category</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.CategoryImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getCategory()
+ * @generated
+ */
+ int CATEGORY = 99;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY__ID = ROOT_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY__EXTENSION_VALUES = ROOT_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY__BASE_ELEMENT = ROOT_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY__DOCUMENTATION = ROOT_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY__EXTENSION_DEFINITIONS = ROOT_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY__OUTGOING = ROOT_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY__INCOMING = ROOT_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY__BASE_PACKAGEABLE_ELEMENT = ROOT_ELEMENT__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY__DEFINITION = ROOT_ELEMENT__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Base Enumeration</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY__BASE_ENUMERATION = ROOT_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Category Value</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY__CATEGORY_VALUE = ROOT_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Category</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY_FEATURE_COUNT = ROOT_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Category</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY_OPERATION_COUNT = ROOT_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.GroupImpl <em>Group</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.GroupImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getGroup()
+ * @generated
+ */
+ int GROUP = 100;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GROUP__ID = BPMN_ARTIFACT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GROUP__EXTENSION_VALUES = BPMN_ARTIFACT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GROUP__BASE_ELEMENT = BPMN_ARTIFACT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GROUP__DOCUMENTATION = BPMN_ARTIFACT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GROUP__EXTENSION_DEFINITIONS = BPMN_ARTIFACT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GROUP__OUTGOING = BPMN_ARTIFACT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GROUP__INCOMING = BPMN_ARTIFACT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Partition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GROUP__BASE_ACTIVITY_PARTITION = BPMN_ARTIFACT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GROUP__CATEGORY_VALUE_REF = BPMN_ARTIFACT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Group</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GROUP_FEATURE_COUNT = BPMN_ARTIFACT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Group</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GROUP_OPERATION_COUNT = BPMN_ARTIFACT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataObjectReferenceImpl <em>Data Object Reference</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataObjectReferenceImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getDataObjectReference()
+ * @generated
+ */
+ int DATA_OBJECT_REFERENCE = 101;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT_REFERENCE__ID = FLOW_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT_REFERENCE__EXTENSION_VALUES = FLOW_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT_REFERENCE__BASE_ELEMENT = FLOW_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT_REFERENCE__DOCUMENTATION = FLOW_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT_REFERENCE__EXTENSION_DEFINITIONS = FLOW_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT_REFERENCE__OUTGOING = FLOW_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT_REFERENCE__INCOMING = FLOW_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT_REFERENCE__AUDITING = FLOW_ELEMENT__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT_REFERENCE__MONITORING = FLOW_ELEMENT__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT_REFERENCE__CATEGORY_VALUE_REF = FLOW_ELEMENT__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT_REFERENCE__CONTAINER = FLOW_ELEMENT__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Data State</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT_REFERENCE__DATA_STATE = FLOW_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Typed Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT_REFERENCE__BASE_TYPED_ELEMENT = FLOW_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Item Subject Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT_REFERENCE__ITEM_SUBJECT_REF = FLOW_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Data Object Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT_REFERENCE__DATA_OBJECT_REF = FLOW_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Base Data Store Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT_REFERENCE__BASE_DATA_STORE_NODE = FLOW_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Data Object Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT_REFERENCE_FEATURE_COUNT = FLOW_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Item Aware Elementdata State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT_REFERENCE___ITEM_AWARE_ELEMENTDATA_STATE__DIAGNOSTICCHAIN_MAP = FLOW_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Data Object Refsourcetarget</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT_REFERENCE___DATA_OBJECT_REFSOURCETARGET__DIAGNOSTICCHAIN_MAP = FLOW_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Data Object Refdata State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT_REFERENCE___DATA_OBJECT_REFDATA_STATE__DIAGNOSTICCHAIN_MAP = FLOW_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Data Object Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT_REFERENCE_OPERATION_COUNT = FLOW_ELEMENT_OPERATION_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataObjectImpl <em>Data Object</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataObjectImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getDataObject()
+ * @generated
+ */
+ int DATA_OBJECT = 102;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT__ID = FLOW_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT__EXTENSION_VALUES = FLOW_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT__BASE_ELEMENT = FLOW_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT__DOCUMENTATION = FLOW_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT__EXTENSION_DEFINITIONS = FLOW_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT__OUTGOING = FLOW_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT__INCOMING = FLOW_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT__AUDITING = FLOW_ELEMENT__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT__MONITORING = FLOW_ELEMENT__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT__CATEGORY_VALUE_REF = FLOW_ELEMENT__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT__CONTAINER = FLOW_ELEMENT__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Data State</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT__DATA_STATE = FLOW_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Typed Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT__BASE_TYPED_ELEMENT = FLOW_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Item Subject Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT__ITEM_SUBJECT_REF = FLOW_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Is Collection</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT__IS_COLLECTION = FLOW_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Base Data Store Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT__BASE_DATA_STORE_NODE = FLOW_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Data Object</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT_FEATURE_COUNT = FLOW_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Item Aware Elementdata State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT___ITEM_AWARE_ELEMENTDATA_STATE__DIAGNOSTICCHAIN_MAP = FLOW_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Data Objectdata State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT___DATA_OBJECTDATA_STATE__DIAGNOSTICCHAIN_MAP = FLOW_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Data Object</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_OBJECT_OPERATION_COUNT = FLOW_ELEMENT_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataStoreImpl <em>Data Store</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataStoreImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getDataStore()
+ * @generated
+ */
+ int DATA_STORE = 103;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE__ID = ROOT_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE__EXTENSION_VALUES = ROOT_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE__BASE_ELEMENT = ROOT_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE__DOCUMENTATION = ROOT_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE__EXTENSION_DEFINITIONS = ROOT_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE__OUTGOING = ROOT_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE__INCOMING = ROOT_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE__BASE_PACKAGEABLE_ELEMENT = ROOT_ELEMENT__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE__DEFINITION = ROOT_ELEMENT__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Capacity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE__CAPACITY = ROOT_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Is Unlimited</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE__IS_UNLIMITED = ROOT_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE__BASE_CLASS = ROOT_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Item Subject Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE__ITEM_SUBJECT_REF = ROOT_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Data Store</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE_FEATURE_COUNT = ROOT_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of operations of the '<em>Data Store</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE_OPERATION_COUNT = ROOT_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataStoreReferenceImpl <em>Data Store Reference</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataStoreReferenceImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getDataStoreReference()
+ * @generated
+ */
+ int DATA_STORE_REFERENCE = 104;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE_REFERENCE__ID = FLOW_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE_REFERENCE__EXTENSION_VALUES = FLOW_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE_REFERENCE__BASE_ELEMENT = FLOW_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE_REFERENCE__DOCUMENTATION = FLOW_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE_REFERENCE__EXTENSION_DEFINITIONS = FLOW_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE_REFERENCE__OUTGOING = FLOW_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE_REFERENCE__INCOMING = FLOW_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE_REFERENCE__AUDITING = FLOW_ELEMENT__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE_REFERENCE__MONITORING = FLOW_ELEMENT__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE_REFERENCE__CATEGORY_VALUE_REF = FLOW_ELEMENT__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE_REFERENCE__CONTAINER = FLOW_ELEMENT__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Data State</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE_REFERENCE__DATA_STATE = FLOW_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Typed Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE_REFERENCE__BASE_TYPED_ELEMENT = FLOW_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Item Subject Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE_REFERENCE__ITEM_SUBJECT_REF = FLOW_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>data Store</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE_REFERENCE__DATA_STORE = FLOW_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Base Data Store Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE_REFERENCE__BASE_DATA_STORE_NODE = FLOW_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Data Store Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE_REFERENCE_FEATURE_COUNT = FLOW_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Item Aware Elementdata State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE_REFERENCE___ITEM_AWARE_ELEMENTDATA_STATE__DIAGNOSTICCHAIN_MAP = FLOW_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Data Store Reference</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATA_STORE_REFERENCE_OPERATION_COUNT = FLOW_ELEMENT_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.TaskImpl <em>Task</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.TaskImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getTask()
+ * @generated
+ */
+ int TASK = 106;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK__ID = BPMN_ACTIVITY__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK__EXTENSION_VALUES = BPMN_ACTIVITY__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK__BASE_ELEMENT = BPMN_ACTIVITY__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK__DOCUMENTATION = BPMN_ACTIVITY__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK__EXTENSION_DEFINITIONS = BPMN_ACTIVITY__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK__OUTGOING = BPMN_ACTIVITY__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK__INCOMING = BPMN_ACTIVITY__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK__AUDITING = BPMN_ACTIVITY__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK__MONITORING = BPMN_ACTIVITY__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK__CATEGORY_VALUE_REF = BPMN_ACTIVITY__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK__CONTAINER = BPMN_ACTIVITY__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK__BASE_ACTIVITY_NODE = BPMN_ACTIVITY__BASE_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Is For Compensation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK__IS_FOR_COMPENSATION = BPMN_ACTIVITY__IS_FOR_COMPENSATION;
+
+ /**
+ * The feature id for the '<em><b>Start Quantity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK__START_QUANTITY = BPMN_ACTIVITY__START_QUANTITY;
+
+ /**
+ * The feature id for the '<em><b>Completion Quantity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK__COMPLETION_QUANTITY = BPMN_ACTIVITY__COMPLETION_QUANTITY;
+
+ /**
+ * The feature id for the '<em><b>Base Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK__BASE_ACTION = BPMN_ACTIVITY__BASE_ACTION;
+
+ /**
+ * The feature id for the '<em><b>Activity Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK__ACTIVITY_CLASS = BPMN_ACTIVITY__ACTIVITY_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK__PROPERTIES = BPMN_ACTIVITY__PROPERTIES;
+
+ /**
+ * The feature id for the '<em><b>Default</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK__DEFAULT = BPMN_ACTIVITY__DEFAULT;
+
+ /**
+ * The feature id for the '<em><b>Boundary Event Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK__BOUNDARY_EVENT_REFS = BPMN_ACTIVITY__BOUNDARY_EVENT_REFS;
+
+ /**
+ * The feature id for the '<em><b>Data Input Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK__DATA_INPUT_ASSOCIATIONS = BPMN_ACTIVITY__DATA_INPUT_ASSOCIATIONS;
+
+ /**
+ * The feature id for the '<em><b>Data Output Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK__DATA_OUTPUT_ASSOCIATIONS = BPMN_ACTIVITY__DATA_OUTPUT_ASSOCIATIONS;
+
+ /**
+ * The feature id for the '<em><b>Loop Characteristics</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK__LOOP_CHARACTERISTICS = BPMN_ACTIVITY__LOOP_CHARACTERISTICS;
+
+ /**
+ * The feature id for the '<em><b>Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK__RESOURCES = BPMN_ACTIVITY__RESOURCES;
+
+ /**
+ * The feature id for the '<em><b>Io Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK__IO_SPECIFICATION = BPMN_ACTIVITY_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Task</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK_FEATURE_COUNT = BPMN_ACTIVITY_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>BPMN Activityresources</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK___BPMN_ACTIVITYRESOURCES__DIAGNOSTICCHAIN_MAP = BPMN_ACTIVITY___BPMN_ACTIVITYRESOURCES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activitycontainer</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK___BPMN_ACTIVITYCONTAINER__DIAGNOSTICCHAIN_MAP = BPMN_ACTIVITY___BPMN_ACTIVITYCONTAINER__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityproperties</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK___BPMN_ACTIVITYPROPERTIES__DIAGNOSTICCHAIN_MAP = BPMN_ACTIVITY___BPMN_ACTIVITYPROPERTIES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activitydefault</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK___BPMN_ACTIVITYDEFAULT__DIAGNOSTICCHAIN_MAP = BPMN_ACTIVITY___BPMN_ACTIVITYDEFAULT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityboundary Events Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK___BPMN_ACTIVITYBOUNDARY_EVENTS_REFS__DIAGNOSTICCHAIN_MAP = BPMN_ACTIVITY___BPMN_ACTIVITYBOUNDARY_EVENTS_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityloop Characteristics</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK___BPMN_ACTIVITYLOOP_CHARACTERISTICS__DIAGNOSTICCHAIN_MAP = BPMN_ACTIVITY___BPMN_ACTIVITYLOOP_CHARACTERISTICS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The number of operations of the '<em>Task</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TASK_OPERATION_COUNT = BPMN_ACTIVITY_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.UserTaskImpl <em>User Task</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.UserTaskImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getUserTask()
+ * @generated
+ */
+ int USER_TASK = 105;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__ID = TASK__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__EXTENSION_VALUES = TASK__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__BASE_ELEMENT = TASK__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__DOCUMENTATION = TASK__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__EXTENSION_DEFINITIONS = TASK__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__OUTGOING = TASK__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__INCOMING = TASK__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__AUDITING = TASK__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__MONITORING = TASK__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__CATEGORY_VALUE_REF = TASK__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__CONTAINER = TASK__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__BASE_ACTIVITY_NODE = TASK__BASE_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Is For Compensation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__IS_FOR_COMPENSATION = TASK__IS_FOR_COMPENSATION;
+
+ /**
+ * The feature id for the '<em><b>Start Quantity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__START_QUANTITY = TASK__START_QUANTITY;
+
+ /**
+ * The feature id for the '<em><b>Completion Quantity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__COMPLETION_QUANTITY = TASK__COMPLETION_QUANTITY;
+
+ /**
+ * The feature id for the '<em><b>Base Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__BASE_ACTION = TASK__BASE_ACTION;
+
+ /**
+ * The feature id for the '<em><b>Activity Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__ACTIVITY_CLASS = TASK__ACTIVITY_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__PROPERTIES = TASK__PROPERTIES;
+
+ /**
+ * The feature id for the '<em><b>Default</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__DEFAULT = TASK__DEFAULT;
+
+ /**
+ * The feature id for the '<em><b>Boundary Event Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__BOUNDARY_EVENT_REFS = TASK__BOUNDARY_EVENT_REFS;
+
+ /**
+ * The feature id for the '<em><b>Data Input Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__DATA_INPUT_ASSOCIATIONS = TASK__DATA_INPUT_ASSOCIATIONS;
+
+ /**
+ * The feature id for the '<em><b>Data Output Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__DATA_OUTPUT_ASSOCIATIONS = TASK__DATA_OUTPUT_ASSOCIATIONS;
+
+ /**
+ * The feature id for the '<em><b>Loop Characteristics</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__LOOP_CHARACTERISTICS = TASK__LOOP_CHARACTERISTICS;
+
+ /**
+ * The feature id for the '<em><b>Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__RESOURCES = TASK__RESOURCES;
+
+ /**
+ * The feature id for the '<em><b>Io Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__IO_SPECIFICATION = TASK__IO_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Opaque Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__BASE_OPAQUE_ACTION = TASK_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Implementation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__IMPLEMENTATION = TASK_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Renderings</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK__RENDERINGS = TASK_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>User Task</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK_FEATURE_COUNT = TASK_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>BPMN Activityresources</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK___BPMN_ACTIVITYRESOURCES__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYRESOURCES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activitycontainer</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK___BPMN_ACTIVITYCONTAINER__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYCONTAINER__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityproperties</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK___BPMN_ACTIVITYPROPERTIES__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYPROPERTIES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activitydefault</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK___BPMN_ACTIVITYDEFAULT__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYDEFAULT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityboundary Events Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK___BPMN_ACTIVITYBOUNDARY_EVENTS_REFS__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYBOUNDARY_EVENTS_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityloop Characteristics</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK___BPMN_ACTIVITYLOOP_CHARACTERISTICS__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYLOOP_CHARACTERISTICS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>User Taskimplementation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK___USER_TASKIMPLEMENTATION__DIAGNOSTICCHAIN_MAP = TASK_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>User Taskrenderings</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK___USER_TASKRENDERINGS__DIAGNOSTICCHAIN_MAP = TASK_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>User Task</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int USER_TASK_OPERATION_COUNT = TASK_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.RenderingImpl <em>Rendering</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.RenderingImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getRendering()
+ * @generated
+ */
+ int RENDERING = 107;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RENDERING__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RENDERING__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RENDERING__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RENDERING__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RENDERING__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RENDERING__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RENDERING__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Image</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RENDERING__BASE_IMAGE = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Rendering</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RENDERING_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Rendering</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RENDERING_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.PerformerImpl <em>Performer</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.PerformerImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getPerformer()
+ * @generated
+ */
+ int PERFORMER = 109;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERFORMER__ID = RESOURCE_ROLE__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERFORMER__EXTENSION_VALUES = RESOURCE_ROLE__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERFORMER__BASE_ELEMENT = RESOURCE_ROLE__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERFORMER__DOCUMENTATION = RESOURCE_ROLE__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERFORMER__EXTENSION_DEFINITIONS = RESOURCE_ROLE__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERFORMER__OUTGOING = RESOURCE_ROLE__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERFORMER__INCOMING = RESOURCE_ROLE__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERFORMER__BASE_PROPERTY = RESOURCE_ROLE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Resource Assignment Expression</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERFORMER__RESOURCE_ASSIGNMENT_EXPRESSION = RESOURCE_ROLE__RESOURCE_ASSIGNMENT_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Resource Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERFORMER__RESOURCE_REF = RESOURCE_ROLE__RESOURCE_REF;
+
+ /**
+ * The feature id for the '<em><b>Resource Parameter Bindings</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERFORMER__RESOURCE_PARAMETER_BINDINGS = RESOURCE_ROLE__RESOURCE_PARAMETER_BINDINGS;
+
+ /**
+ * The feature id for the '<em><b>Process</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERFORMER__PROCESS = RESOURCE_ROLE__PROCESS;
+
+ /**
+ * The number of structural features of the '<em>Performer</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERFORMER_FEATURE_COUNT = RESOURCE_ROLE_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Resource Roleowner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERFORMER___RESOURCE_ROLEOWNER__DIAGNOSTICCHAIN_MAP = RESOURCE_ROLE___RESOURCE_ROLEOWNER__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Resource Roleresource Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERFORMER___RESOURCE_ROLERESOURCE_REF__DIAGNOSTICCHAIN_MAP = RESOURCE_ROLE___RESOURCE_ROLERESOURCE_REF__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Resource Roleis Required</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERFORMER___RESOURCE_ROLEIS_REQUIRED__DIAGNOSTICCHAIN_MAP = RESOURCE_ROLE___RESOURCE_ROLEIS_REQUIRED__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Resource Roleprocess</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERFORMER___RESOURCE_ROLEPROCESS__DIAGNOSTICCHAIN_MAP = RESOURCE_ROLE___RESOURCE_ROLEPROCESS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Resource Roleresource Parameter Bindings</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERFORMER___RESOURCE_ROLERESOURCE_PARAMETER_BINDINGS__DIAGNOSTICCHAIN_MAP = RESOURCE_ROLE___RESOURCE_ROLERESOURCE_PARAMETER_BINDINGS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The number of operations of the '<em>Performer</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERFORMER_OPERATION_COUNT = RESOURCE_ROLE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.HumanPerformerImpl <em>Human Performer</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.HumanPerformerImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getHumanPerformer()
+ * @generated
+ */
+ int HUMAN_PERFORMER = 108;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HUMAN_PERFORMER__ID = PERFORMER__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HUMAN_PERFORMER__EXTENSION_VALUES = PERFORMER__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HUMAN_PERFORMER__BASE_ELEMENT = PERFORMER__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HUMAN_PERFORMER__DOCUMENTATION = PERFORMER__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HUMAN_PERFORMER__EXTENSION_DEFINITIONS = PERFORMER__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HUMAN_PERFORMER__OUTGOING = PERFORMER__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HUMAN_PERFORMER__INCOMING = PERFORMER__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HUMAN_PERFORMER__BASE_PROPERTY = PERFORMER__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Resource Assignment Expression</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HUMAN_PERFORMER__RESOURCE_ASSIGNMENT_EXPRESSION = PERFORMER__RESOURCE_ASSIGNMENT_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Resource Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HUMAN_PERFORMER__RESOURCE_REF = PERFORMER__RESOURCE_REF;
+
+ /**
+ * The feature id for the '<em><b>Resource Parameter Bindings</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HUMAN_PERFORMER__RESOURCE_PARAMETER_BINDINGS = PERFORMER__RESOURCE_PARAMETER_BINDINGS;
+
+ /**
+ * The feature id for the '<em><b>Process</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HUMAN_PERFORMER__PROCESS = PERFORMER__PROCESS;
+
+ /**
+ * The number of structural features of the '<em>Human Performer</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HUMAN_PERFORMER_FEATURE_COUNT = PERFORMER_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Resource Roleowner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HUMAN_PERFORMER___RESOURCE_ROLEOWNER__DIAGNOSTICCHAIN_MAP = PERFORMER___RESOURCE_ROLEOWNER__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Resource Roleresource Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HUMAN_PERFORMER___RESOURCE_ROLERESOURCE_REF__DIAGNOSTICCHAIN_MAP = PERFORMER___RESOURCE_ROLERESOURCE_REF__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Resource Roleis Required</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HUMAN_PERFORMER___RESOURCE_ROLEIS_REQUIRED__DIAGNOSTICCHAIN_MAP = PERFORMER___RESOURCE_ROLEIS_REQUIRED__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Resource Roleprocess</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HUMAN_PERFORMER___RESOURCE_ROLEPROCESS__DIAGNOSTICCHAIN_MAP = PERFORMER___RESOURCE_ROLEPROCESS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Resource Roleresource Parameter Bindings</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HUMAN_PERFORMER___RESOURCE_ROLERESOURCE_PARAMETER_BINDINGS__DIAGNOSTICCHAIN_MAP = PERFORMER___RESOURCE_ROLERESOURCE_PARAMETER_BINDINGS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The number of operations of the '<em>Human Performer</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HUMAN_PERFORMER_OPERATION_COUNT = PERFORMER_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.GlobalUserTaskImpl <em>Global User Task</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.GlobalUserTaskImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getGlobalUserTask()
+ * @generated
+ */
+ int GLOBAL_USER_TASK = 110;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_USER_TASK__ID = GLOBAL_TASK__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_USER_TASK__EXTENSION_VALUES = GLOBAL_TASK__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_USER_TASK__BASE_ELEMENT = GLOBAL_TASK__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_USER_TASK__DOCUMENTATION = GLOBAL_TASK__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_USER_TASK__EXTENSION_DEFINITIONS = GLOBAL_TASK__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_USER_TASK__OUTGOING = GLOBAL_TASK__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_USER_TASK__INCOMING = GLOBAL_TASK__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_USER_TASK__BASE_PACKAGEABLE_ELEMENT = GLOBAL_TASK__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_USER_TASK__DEFINITION = GLOBAL_TASK__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Base Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_USER_TASK__BASE_BEHAVIOR = GLOBAL_TASK__BASE_BEHAVIOR;
+
+ /**
+ * The feature id for the '<em><b>Io Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_USER_TASK__IO_SPECIFICATION = GLOBAL_TASK__IO_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Supported Interface Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_USER_TASK__SUPPORTED_INTERFACE_REFS = GLOBAL_TASK__SUPPORTED_INTERFACE_REFS;
+
+ /**
+ * The feature id for the '<em><b>Io Binding</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_USER_TASK__IO_BINDING = GLOBAL_TASK__IO_BINDING;
+
+ /**
+ * The feature id for the '<em><b>Base Opaque Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_USER_TASK__BASE_OPAQUE_BEHAVIOR = GLOBAL_TASK__BASE_OPAQUE_BEHAVIOR;
+
+ /**
+ * The feature id for the '<em><b>Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_USER_TASK__RESOURCES = GLOBAL_TASK__RESOURCES;
+
+ /**
+ * The feature id for the '<em><b>Implementation</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_USER_TASK__IMPLEMENTATION = GLOBAL_TASK_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Renderings</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_USER_TASK__RENDERINGS = GLOBAL_TASK_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Global User Task</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_USER_TASK_FEATURE_COUNT = GLOBAL_TASK_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>Callable Eelementsupported Interface Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_USER_TASK___CALLABLE_EELEMENTSUPPORTED_INTERFACE_REFS__DIAGNOSTICCHAIN_MAP = GLOBAL_TASK___CALLABLE_EELEMENTSUPPORTED_INTERFACE_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Callable Elementresources</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_USER_TASK___CALLABLE_ELEMENTRESOURCES__DIAGNOSTICCHAIN_MAP = GLOBAL_TASK___CALLABLE_ELEMENTRESOURCES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Global Tasksupported Interface Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_USER_TASK___GLOBAL_TASKSUPPORTED_INTERFACE_REFS__DIAGNOSTICCHAIN_MAP = GLOBAL_TASK___GLOBAL_TASKSUPPORTED_INTERFACE_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Global User Taskrenderings</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_USER_TASK___GLOBAL_USER_TASKRENDERINGS__DIAGNOSTICCHAIN_MAP = GLOBAL_TASK_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Global User Taskimplementation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_USER_TASK___GLOBAL_USER_TASKIMPLEMENTATION__DIAGNOSTICCHAIN_MAP = GLOBAL_TASK_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Global User Task</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_USER_TASK_OPERATION_COUNT = GLOBAL_TASK_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.GlobalManualTaskImpl <em>Global Manual Task</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.GlobalManualTaskImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getGlobalManualTask()
+ * @generated
+ */
+ int GLOBAL_MANUAL_TASK = 111;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_MANUAL_TASK__ID = GLOBAL_TASK__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_MANUAL_TASK__EXTENSION_VALUES = GLOBAL_TASK__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_MANUAL_TASK__BASE_ELEMENT = GLOBAL_TASK__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_MANUAL_TASK__DOCUMENTATION = GLOBAL_TASK__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_MANUAL_TASK__EXTENSION_DEFINITIONS = GLOBAL_TASK__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_MANUAL_TASK__OUTGOING = GLOBAL_TASK__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_MANUAL_TASK__INCOMING = GLOBAL_TASK__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_MANUAL_TASK__BASE_PACKAGEABLE_ELEMENT = GLOBAL_TASK__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_MANUAL_TASK__DEFINITION = GLOBAL_TASK__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Base Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_MANUAL_TASK__BASE_BEHAVIOR = GLOBAL_TASK__BASE_BEHAVIOR;
+
+ /**
+ * The feature id for the '<em><b>Io Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_MANUAL_TASK__IO_SPECIFICATION = GLOBAL_TASK__IO_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Supported Interface Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_MANUAL_TASK__SUPPORTED_INTERFACE_REFS = GLOBAL_TASK__SUPPORTED_INTERFACE_REFS;
+
+ /**
+ * The feature id for the '<em><b>Io Binding</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_MANUAL_TASK__IO_BINDING = GLOBAL_TASK__IO_BINDING;
+
+ /**
+ * The feature id for the '<em><b>Base Opaque Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_MANUAL_TASK__BASE_OPAQUE_BEHAVIOR = GLOBAL_TASK__BASE_OPAQUE_BEHAVIOR;
+
+ /**
+ * The feature id for the '<em><b>Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_MANUAL_TASK__RESOURCES = GLOBAL_TASK__RESOURCES;
+
+ /**
+ * The number of structural features of the '<em>Global Manual Task</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_MANUAL_TASK_FEATURE_COUNT = GLOBAL_TASK_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Callable Eelementsupported Interface Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_MANUAL_TASK___CALLABLE_EELEMENTSUPPORTED_INTERFACE_REFS__DIAGNOSTICCHAIN_MAP = GLOBAL_TASK___CALLABLE_EELEMENTSUPPORTED_INTERFACE_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Callable Elementresources</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_MANUAL_TASK___CALLABLE_ELEMENTRESOURCES__DIAGNOSTICCHAIN_MAP = GLOBAL_TASK___CALLABLE_ELEMENTRESOURCES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Global Tasksupported Interface Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_MANUAL_TASK___GLOBAL_TASKSUPPORTED_INTERFACE_REFS__DIAGNOSTICCHAIN_MAP = GLOBAL_TASK___GLOBAL_TASKSUPPORTED_INTERFACE_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The number of operations of the '<em>Global Manual Task</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_MANUAL_TASK_OPERATION_COUNT = GLOBAL_TASK_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ManualTaskImpl <em>Manual Task</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ManualTaskImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getManualTask()
+ * @generated
+ */
+ int MANUAL_TASK = 112;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__ID = TASK__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__EXTENSION_VALUES = TASK__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__BASE_ELEMENT = TASK__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__DOCUMENTATION = TASK__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__EXTENSION_DEFINITIONS = TASK__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__OUTGOING = TASK__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__INCOMING = TASK__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__AUDITING = TASK__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__MONITORING = TASK__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__CATEGORY_VALUE_REF = TASK__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__CONTAINER = TASK__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__BASE_ACTIVITY_NODE = TASK__BASE_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Is For Compensation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__IS_FOR_COMPENSATION = TASK__IS_FOR_COMPENSATION;
+
+ /**
+ * The feature id for the '<em><b>Start Quantity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__START_QUANTITY = TASK__START_QUANTITY;
+
+ /**
+ * The feature id for the '<em><b>Completion Quantity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__COMPLETION_QUANTITY = TASK__COMPLETION_QUANTITY;
+
+ /**
+ * The feature id for the '<em><b>Base Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__BASE_ACTION = TASK__BASE_ACTION;
+
+ /**
+ * The feature id for the '<em><b>Activity Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__ACTIVITY_CLASS = TASK__ACTIVITY_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__PROPERTIES = TASK__PROPERTIES;
+
+ /**
+ * The feature id for the '<em><b>Default</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__DEFAULT = TASK__DEFAULT;
+
+ /**
+ * The feature id for the '<em><b>Boundary Event Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__BOUNDARY_EVENT_REFS = TASK__BOUNDARY_EVENT_REFS;
+
+ /**
+ * The feature id for the '<em><b>Data Input Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__DATA_INPUT_ASSOCIATIONS = TASK__DATA_INPUT_ASSOCIATIONS;
+
+ /**
+ * The feature id for the '<em><b>Data Output Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__DATA_OUTPUT_ASSOCIATIONS = TASK__DATA_OUTPUT_ASSOCIATIONS;
+
+ /**
+ * The feature id for the '<em><b>Loop Characteristics</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__LOOP_CHARACTERISTICS = TASK__LOOP_CHARACTERISTICS;
+
+ /**
+ * The feature id for the '<em><b>Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__RESOURCES = TASK__RESOURCES;
+
+ /**
+ * The feature id for the '<em><b>Io Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__IO_SPECIFICATION = TASK__IO_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Opaque Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__BASE_OPAQUE_ACTION = TASK_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Manual Task</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK_FEATURE_COUNT = TASK_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>BPMN Activityresources</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK___BPMN_ACTIVITYRESOURCES__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYRESOURCES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activitycontainer</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK___BPMN_ACTIVITYCONTAINER__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYCONTAINER__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityproperties</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK___BPMN_ACTIVITYPROPERTIES__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYPROPERTIES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activitydefault</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK___BPMN_ACTIVITYDEFAULT__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYDEFAULT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityboundary Events Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK___BPMN_ACTIVITYBOUNDARY_EVENTS_REFS__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYBOUNDARY_EVENTS_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityloop Characteristics</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK___BPMN_ACTIVITYLOOP_CHARACTERISTICS__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYLOOP_CHARACTERISTICS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The number of operations of the '<em>Manual Task</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK_OPERATION_COUNT = TASK_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.PotentialOwnerImpl <em>Potential Owner</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.PotentialOwnerImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getPotentialOwner()
+ * @generated
+ */
+ int POTENTIAL_OWNER = 113;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POTENTIAL_OWNER__ID = HUMAN_PERFORMER__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POTENTIAL_OWNER__EXTENSION_VALUES = HUMAN_PERFORMER__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POTENTIAL_OWNER__BASE_ELEMENT = HUMAN_PERFORMER__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POTENTIAL_OWNER__DOCUMENTATION = HUMAN_PERFORMER__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POTENTIAL_OWNER__EXTENSION_DEFINITIONS = HUMAN_PERFORMER__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POTENTIAL_OWNER__OUTGOING = HUMAN_PERFORMER__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POTENTIAL_OWNER__INCOMING = HUMAN_PERFORMER__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POTENTIAL_OWNER__BASE_PROPERTY = HUMAN_PERFORMER__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Resource Assignment Expression</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POTENTIAL_OWNER__RESOURCE_ASSIGNMENT_EXPRESSION = HUMAN_PERFORMER__RESOURCE_ASSIGNMENT_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Resource Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POTENTIAL_OWNER__RESOURCE_REF = HUMAN_PERFORMER__RESOURCE_REF;
+
+ /**
+ * The feature id for the '<em><b>Resource Parameter Bindings</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POTENTIAL_OWNER__RESOURCE_PARAMETER_BINDINGS = HUMAN_PERFORMER__RESOURCE_PARAMETER_BINDINGS;
+
+ /**
+ * The feature id for the '<em><b>Process</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POTENTIAL_OWNER__PROCESS = HUMAN_PERFORMER__PROCESS;
+
+ /**
+ * The number of structural features of the '<em>Potential Owner</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POTENTIAL_OWNER_FEATURE_COUNT = HUMAN_PERFORMER_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Resource Roleowner</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POTENTIAL_OWNER___RESOURCE_ROLEOWNER__DIAGNOSTICCHAIN_MAP = HUMAN_PERFORMER___RESOURCE_ROLEOWNER__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Resource Roleresource Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POTENTIAL_OWNER___RESOURCE_ROLERESOURCE_REF__DIAGNOSTICCHAIN_MAP = HUMAN_PERFORMER___RESOURCE_ROLERESOURCE_REF__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Resource Roleis Required</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POTENTIAL_OWNER___RESOURCE_ROLEIS_REQUIRED__DIAGNOSTICCHAIN_MAP = HUMAN_PERFORMER___RESOURCE_ROLEIS_REQUIRED__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Resource Roleprocess</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POTENTIAL_OWNER___RESOURCE_ROLEPROCESS__DIAGNOSTICCHAIN_MAP = HUMAN_PERFORMER___RESOURCE_ROLEPROCESS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Resource Roleresource Parameter Bindings</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POTENTIAL_OWNER___RESOURCE_ROLERESOURCE_PARAMETER_BINDINGS__DIAGNOSTICCHAIN_MAP = HUMAN_PERFORMER___RESOURCE_ROLERESOURCE_PARAMETER_BINDINGS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The number of operations of the '<em>Potential Owner</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POTENTIAL_OWNER_OPERATION_COUNT = HUMAN_PERFORMER_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.SubConversationImpl <em>Sub Conversation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.SubConversationImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getSubConversation()
+ * @generated
+ */
+ int SUB_CONVERSATION = 114;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_CONVERSATION__BASE_ELEMENT = CONVERSATION_NODE__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_CONVERSATION__OUTGOING_CONVERSATION_LINKS = CONVERSATION_NODE__OUTGOING_CONVERSATION_LINKS;
+
+ /**
+ * The feature id for the '<em><b>Incoming Conversation Links</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_CONVERSATION__INCOMING_CONVERSATION_LINKS = CONVERSATION_NODE__INCOMING_CONVERSATION_LINKS;
+
+ /**
+ * The feature id for the '<em><b>Base Information Flow</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_CONVERSATION__BASE_INFORMATION_FLOW = CONVERSATION_NODE__BASE_INFORMATION_FLOW;
+
+ /**
+ * The feature id for the '<em><b>Message Flow Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_CONVERSATION__MESSAGE_FLOW_REFS = CONVERSATION_NODE__MESSAGE_FLOW_REFS;
+
+ /**
+ * The feature id for the '<em><b>Correlation Keys</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_CONVERSATION__CORRELATION_KEYS = CONVERSATION_NODE__CORRELATION_KEYS;
+
+ /**
+ * The feature id for the '<em><b>Participant Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_CONVERSATION__PARTICIPANT_REFS = CONVERSATION_NODE__PARTICIPANT_REFS;
+
+ /**
+ * The feature id for the '<em><b>Conversation Nodes</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_CONVERSATION__CONVERSATION_NODES = CONVERSATION_NODE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Sub Conversation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_CONVERSATION_FEATURE_COUNT = CONVERSATION_NODE_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Conversation Nodeparticipant Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_CONVERSATION___CONVERSATION_NODEPARTICIPANT_REFS__DIAGNOSTICCHAIN_MAP = CONVERSATION_NODE___CONVERSATION_NODEPARTICIPANT_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Sub Conversationconnectedelements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_CONVERSATION___SUB_CONVERSATIONCONNECTEDELEMENTS__DIAGNOSTICCHAIN_MAP = CONVERSATION_NODE_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Sub Conversation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_CONVERSATION_OPERATION_COUNT = CONVERSATION_NODE_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.GlobalConversationImpl <em>Global Conversation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.GlobalConversationImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getGlobalConversation()
+ * @generated
+ */
+ int GLOBAL_CONVERSATION = 115;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_CONVERSATION__ID = BPMN_COLLABORATION__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_CONVERSATION__EXTENSION_VALUES = BPMN_COLLABORATION__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_CONVERSATION__BASE_ELEMENT = BPMN_COLLABORATION__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_CONVERSATION__DOCUMENTATION = BPMN_COLLABORATION__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_CONVERSATION__EXTENSION_DEFINITIONS = BPMN_COLLABORATION__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_CONVERSATION__OUTGOING = BPMN_COLLABORATION__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_CONVERSATION__INCOMING = BPMN_COLLABORATION__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_CONVERSATION__BASE_PACKAGEABLE_ELEMENT = BPMN_COLLABORATION__BASE_PACKAGEABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_CONVERSATION__DEFINITION = BPMN_COLLABORATION__DEFINITION;
+
+ /**
+ * The feature id for the '<em><b>Is Closed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_CONVERSATION__IS_CLOSED = BPMN_COLLABORATION__IS_CLOSED;
+
+ /**
+ * The feature id for the '<em><b>Participant Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_CONVERSATION__PARTICIPANT_ASSOCIATIONS = BPMN_COLLABORATION__PARTICIPANT_ASSOCIATIONS;
+
+ /**
+ * The feature id for the '<em><b>Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_CONVERSATION__CONVERSATION_LINKS = BPMN_COLLABORATION__CONVERSATION_LINKS;
+
+ /**
+ * The feature id for the '<em><b>Message Flow Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_CONVERSATION__MESSAGE_FLOW_ASSOCIATIONS = BPMN_COLLABORATION__MESSAGE_FLOW_ASSOCIATIONS;
+
+ /**
+ * The feature id for the '<em><b>Message Flows</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_CONVERSATION__MESSAGE_FLOWS = BPMN_COLLABORATION__MESSAGE_FLOWS;
+
+ /**
+ * The feature id for the '<em><b>Base Collaboration</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_CONVERSATION__BASE_COLLABORATION = BPMN_COLLABORATION__BASE_COLLABORATION;
+
+ /**
+ * The feature id for the '<em><b>Conversations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_CONVERSATION__CONVERSATIONS = BPMN_COLLABORATION__CONVERSATIONS;
+
+ /**
+ * The feature id for the '<em><b>Correlation Keys</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_CONVERSATION__CORRELATION_KEYS = BPMN_COLLABORATION__CORRELATION_KEYS;
+
+ /**
+ * The feature id for the '<em><b>Participants</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_CONVERSATION__PARTICIPANTS = BPMN_COLLABORATION__PARTICIPANTS;
+
+ /**
+ * The number of structural features of the '<em>Global Conversation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_CONVERSATION_FEATURE_COUNT = BPMN_COLLABORATION_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Collaborationparticipants</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_CONVERSATION___COLLABORATIONPARTICIPANTS__DIAGNOSTICCHAIN_MAP = BPMN_COLLABORATION___COLLABORATIONPARTICIPANTS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Global Conversationcontainedelements</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_CONVERSATION___GLOBAL_CONVERSATIONCONTAINEDELEMENTS__DIAGNOSTICCHAIN_MAP = BPMN_COLLABORATION_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Global Conversation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GLOBAL_CONVERSATION_OPERATION_COUNT = BPMN_COLLABORATION_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CallConversationImpl <em>Call Conversation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.CallConversationImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getCallConversation()
+ * @generated
+ */
+ int CALL_CONVERSATION = 116;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_CONVERSATION__BASE_ELEMENT = CONVERSATION_NODE__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_CONVERSATION__OUTGOING_CONVERSATION_LINKS = CONVERSATION_NODE__OUTGOING_CONVERSATION_LINKS;
+
+ /**
+ * The feature id for the '<em><b>Incoming Conversation Links</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_CONVERSATION__INCOMING_CONVERSATION_LINKS = CONVERSATION_NODE__INCOMING_CONVERSATION_LINKS;
+
+ /**
+ * The feature id for the '<em><b>Base Information Flow</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_CONVERSATION__BASE_INFORMATION_FLOW = CONVERSATION_NODE__BASE_INFORMATION_FLOW;
+
+ /**
+ * The feature id for the '<em><b>Message Flow Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_CONVERSATION__MESSAGE_FLOW_REFS = CONVERSATION_NODE__MESSAGE_FLOW_REFS;
+
+ /**
+ * The feature id for the '<em><b>Correlation Keys</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_CONVERSATION__CORRELATION_KEYS = CONVERSATION_NODE__CORRELATION_KEYS;
+
+ /**
+ * The feature id for the '<em><b>Participant Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_CONVERSATION__PARTICIPANT_REFS = CONVERSATION_NODE__PARTICIPANT_REFS;
+
+ /**
+ * The feature id for the '<em><b>collaboration Use</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_CONVERSATION__COLLABORATION_USE = CONVERSATION_NODE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Called Collaboration Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_CONVERSATION__CALLED_COLLABORATION_REF = CONVERSATION_NODE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Participant Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_CONVERSATION__PARTICIPANT_ASSOCIATIONS = CONVERSATION_NODE_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Call Conversation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_CONVERSATION_FEATURE_COUNT = CONVERSATION_NODE_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>Conversation Nodeparticipant Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_CONVERSATION___CONVERSATION_NODEPARTICIPANT_REFS__DIAGNOSTICCHAIN_MAP = CONVERSATION_NODE___CONVERSATION_NODEPARTICIPANT_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Call Conversationcalled Collaboration Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_CONVERSATION___CALL_CONVERSATIONCALLED_COLLABORATION_REF__DIAGNOSTICCHAIN_MAP = CONVERSATION_NODE_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Call Conversationparticipant Associations</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_CONVERSATION___CALL_CONVERSATIONPARTICIPANT_ASSOCIATIONS__DIAGNOSTICCHAIN_MAP = CONVERSATION_NODE_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Call Conversation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_CONVERSATION_OPERATION_COUNT = CONVERSATION_NODE_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ConversationImpl <em>Conversation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ConversationImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getConversation()
+ * @generated
+ */
+ int CONVERSATION = 117;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION__BASE_ELEMENT = CONVERSATION_NODE__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Outgoing Conversation Links</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION__OUTGOING_CONVERSATION_LINKS = CONVERSATION_NODE__OUTGOING_CONVERSATION_LINKS;
+
+ /**
+ * The feature id for the '<em><b>Incoming Conversation Links</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION__INCOMING_CONVERSATION_LINKS = CONVERSATION_NODE__INCOMING_CONVERSATION_LINKS;
+
+ /**
+ * The feature id for the '<em><b>Base Information Flow</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION__BASE_INFORMATION_FLOW = CONVERSATION_NODE__BASE_INFORMATION_FLOW;
+
+ /**
+ * The feature id for the '<em><b>Message Flow Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION__MESSAGE_FLOW_REFS = CONVERSATION_NODE__MESSAGE_FLOW_REFS;
+
+ /**
+ * The feature id for the '<em><b>Correlation Keys</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION__CORRELATION_KEYS = CONVERSATION_NODE__CORRELATION_KEYS;
+
+ /**
+ * The feature id for the '<em><b>Participant Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION__PARTICIPANT_REFS = CONVERSATION_NODE__PARTICIPANT_REFS;
+
+ /**
+ * The number of structural features of the '<em>Conversation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_FEATURE_COUNT = CONVERSATION_NODE_FEATURE_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Conversation Nodeparticipant Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION___CONVERSATION_NODEPARTICIPANT_REFS__DIAGNOSTICCHAIN_MAP = CONVERSATION_NODE___CONVERSATION_NODEPARTICIPANT_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The number of operations of the '<em>Conversation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONVERSATION_OPERATION_COUNT = CONVERSATION_NODE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.SubProcessImpl <em>Sub Process</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.SubProcessImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getSubProcess()
+ * @generated
+ */
+ int SUB_PROCESS = 118;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__ID = BPMN_ACTIVITY__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__EXTENSION_VALUES = BPMN_ACTIVITY__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__BASE_ELEMENT = BPMN_ACTIVITY__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__DOCUMENTATION = BPMN_ACTIVITY__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__EXTENSION_DEFINITIONS = BPMN_ACTIVITY__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__OUTGOING = BPMN_ACTIVITY__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__INCOMING = BPMN_ACTIVITY__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__AUDITING = BPMN_ACTIVITY__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__MONITORING = BPMN_ACTIVITY__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__CATEGORY_VALUE_REF = BPMN_ACTIVITY__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__CONTAINER = BPMN_ACTIVITY__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__BASE_ACTIVITY_NODE = BPMN_ACTIVITY__BASE_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Is For Compensation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__IS_FOR_COMPENSATION = BPMN_ACTIVITY__IS_FOR_COMPENSATION;
+
+ /**
+ * The feature id for the '<em><b>Start Quantity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__START_QUANTITY = BPMN_ACTIVITY__START_QUANTITY;
+
+ /**
+ * The feature id for the '<em><b>Completion Quantity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__COMPLETION_QUANTITY = BPMN_ACTIVITY__COMPLETION_QUANTITY;
+
+ /**
+ * The feature id for the '<em><b>Base Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__BASE_ACTION = BPMN_ACTIVITY__BASE_ACTION;
+
+ /**
+ * The feature id for the '<em><b>Activity Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__ACTIVITY_CLASS = BPMN_ACTIVITY__ACTIVITY_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__PROPERTIES = BPMN_ACTIVITY__PROPERTIES;
+
+ /**
+ * The feature id for the '<em><b>Default</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__DEFAULT = BPMN_ACTIVITY__DEFAULT;
+
+ /**
+ * The feature id for the '<em><b>Boundary Event Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__BOUNDARY_EVENT_REFS = BPMN_ACTIVITY__BOUNDARY_EVENT_REFS;
+
+ /**
+ * The feature id for the '<em><b>Data Input Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__DATA_INPUT_ASSOCIATIONS = BPMN_ACTIVITY__DATA_INPUT_ASSOCIATIONS;
+
+ /**
+ * The feature id for the '<em><b>Data Output Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__DATA_OUTPUT_ASSOCIATIONS = BPMN_ACTIVITY__DATA_OUTPUT_ASSOCIATIONS;
+
+ /**
+ * The feature id for the '<em><b>Loop Characteristics</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__LOOP_CHARACTERISTICS = BPMN_ACTIVITY__LOOP_CHARACTERISTICS;
+
+ /**
+ * The feature id for the '<em><b>Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__RESOURCES = BPMN_ACTIVITY__RESOURCES;
+
+ /**
+ * The feature id for the '<em><b>Lane Sets</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__LANE_SETS = BPMN_ACTIVITY_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Flow Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__FLOW_ELEMENTS = BPMN_ACTIVITY_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Triggered By Event</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__TRIGGERED_BY_EVENT = BPMN_ACTIVITY_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Base Structured Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__BASE_STRUCTURED_ACTIVITY_NODE = BPMN_ACTIVITY_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Has Lane Sets</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS__HAS_LANE_SETS = BPMN_ACTIVITY_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Sub Process</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS_FEATURE_COUNT = BPMN_ACTIVITY_FEATURE_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>BPMN Activityresources</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS___BPMN_ACTIVITYRESOURCES__DIAGNOSTICCHAIN_MAP = BPMN_ACTIVITY___BPMN_ACTIVITYRESOURCES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activitycontainer</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS___BPMN_ACTIVITYCONTAINER__DIAGNOSTICCHAIN_MAP = BPMN_ACTIVITY___BPMN_ACTIVITYCONTAINER__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityproperties</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS___BPMN_ACTIVITYPROPERTIES__DIAGNOSTICCHAIN_MAP = BPMN_ACTIVITY___BPMN_ACTIVITYPROPERTIES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activitydefault</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS___BPMN_ACTIVITYDEFAULT__DIAGNOSTICCHAIN_MAP = BPMN_ACTIVITY___BPMN_ACTIVITYDEFAULT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityboundary Events Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS___BPMN_ACTIVITYBOUNDARY_EVENTS_REFS__DIAGNOSTICCHAIN_MAP = BPMN_ACTIVITY___BPMN_ACTIVITYBOUNDARY_EVENTS_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityloop Characteristics</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS___BPMN_ACTIVITYLOOP_CHARACTERISTICS__DIAGNOSTICCHAIN_MAP = BPMN_ACTIVITY___BPMN_ACTIVITYLOOP_CHARACTERISTICS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Sub Processtriggered By Event</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS___SUB_PROCESSTRIGGERED_BY_EVENT__DIAGNOSTICCHAIN_MAP = BPMN_ACTIVITY_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Sub Process</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUB_PROCESS_OPERATION_COUNT = BPMN_ACTIVITY_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CallActivityImpl <em>Call Activity</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.CallActivityImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getCallActivity()
+ * @generated
+ */
+ int CALL_ACTIVITY = 119;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY__ID = BPMN_ACTIVITY__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY__EXTENSION_VALUES = BPMN_ACTIVITY__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY__BASE_ELEMENT = BPMN_ACTIVITY__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY__DOCUMENTATION = BPMN_ACTIVITY__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY__EXTENSION_DEFINITIONS = BPMN_ACTIVITY__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY__OUTGOING = BPMN_ACTIVITY__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY__INCOMING = BPMN_ACTIVITY__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY__AUDITING = BPMN_ACTIVITY__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY__MONITORING = BPMN_ACTIVITY__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY__CATEGORY_VALUE_REF = BPMN_ACTIVITY__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY__CONTAINER = BPMN_ACTIVITY__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY__BASE_ACTIVITY_NODE = BPMN_ACTIVITY__BASE_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Is For Compensation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY__IS_FOR_COMPENSATION = BPMN_ACTIVITY__IS_FOR_COMPENSATION;
+
+ /**
+ * The feature id for the '<em><b>Start Quantity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY__START_QUANTITY = BPMN_ACTIVITY__START_QUANTITY;
+
+ /**
+ * The feature id for the '<em><b>Completion Quantity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY__COMPLETION_QUANTITY = BPMN_ACTIVITY__COMPLETION_QUANTITY;
+
+ /**
+ * The feature id for the '<em><b>Base Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY__BASE_ACTION = BPMN_ACTIVITY__BASE_ACTION;
+
+ /**
+ * The feature id for the '<em><b>Activity Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY__ACTIVITY_CLASS = BPMN_ACTIVITY__ACTIVITY_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY__PROPERTIES = BPMN_ACTIVITY__PROPERTIES;
+
+ /**
+ * The feature id for the '<em><b>Default</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY__DEFAULT = BPMN_ACTIVITY__DEFAULT;
+
+ /**
+ * The feature id for the '<em><b>Boundary Event Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY__BOUNDARY_EVENT_REFS = BPMN_ACTIVITY__BOUNDARY_EVENT_REFS;
+
+ /**
+ * The feature id for the '<em><b>Data Input Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY__DATA_INPUT_ASSOCIATIONS = BPMN_ACTIVITY__DATA_INPUT_ASSOCIATIONS;
+
+ /**
+ * The feature id for the '<em><b>Data Output Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY__DATA_OUTPUT_ASSOCIATIONS = BPMN_ACTIVITY__DATA_OUTPUT_ASSOCIATIONS;
+
+ /**
+ * The feature id for the '<em><b>Loop Characteristics</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY__LOOP_CHARACTERISTICS = BPMN_ACTIVITY__LOOP_CHARACTERISTICS;
+
+ /**
+ * The feature id for the '<em><b>Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY__RESOURCES = BPMN_ACTIVITY__RESOURCES;
+
+ /**
+ * The feature id for the '<em><b>Base Call Behavior Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY__BASE_CALL_BEHAVIOR_ACTION = BPMN_ACTIVITY_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Called Element Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY__CALLED_ELEMENT_REF = BPMN_ACTIVITY_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Call Activity</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY_FEATURE_COUNT = BPMN_ACTIVITY_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>BPMN Activityresources</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY___BPMN_ACTIVITYRESOURCES__DIAGNOSTICCHAIN_MAP = BPMN_ACTIVITY___BPMN_ACTIVITYRESOURCES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activitycontainer</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY___BPMN_ACTIVITYCONTAINER__DIAGNOSTICCHAIN_MAP = BPMN_ACTIVITY___BPMN_ACTIVITYCONTAINER__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityproperties</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY___BPMN_ACTIVITYPROPERTIES__DIAGNOSTICCHAIN_MAP = BPMN_ACTIVITY___BPMN_ACTIVITYPROPERTIES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activitydefault</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY___BPMN_ACTIVITYDEFAULT__DIAGNOSTICCHAIN_MAP = BPMN_ACTIVITY___BPMN_ACTIVITYDEFAULT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityboundary Events Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY___BPMN_ACTIVITYBOUNDARY_EVENTS_REFS__DIAGNOSTICCHAIN_MAP = BPMN_ACTIVITY___BPMN_ACTIVITYBOUNDARY_EVENTS_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityloop Characteristics</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY___BPMN_ACTIVITYLOOP_CHARACTERISTICS__DIAGNOSTICCHAIN_MAP = BPMN_ACTIVITY___BPMN_ACTIVITYLOOP_CHARACTERISTICS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Call Activitycalled Element Refvalues</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY___CALL_ACTIVITYCALLED_ELEMENT_REFVALUES__DIAGNOSTICCHAIN_MAP = BPMN_ACTIVITY_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Call Activity</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CALL_ACTIVITY_OPERATION_COUNT = BPMN_ACTIVITY_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BusinessRuleTaskImpl <em>Business Rule Task</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BusinessRuleTaskImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getBusinessRuleTask()
+ * @generated
+ */
+ int BUSINESS_RULE_TASK = 120;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__ID = TASK__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__EXTENSION_VALUES = TASK__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__BASE_ELEMENT = TASK__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__DOCUMENTATION = TASK__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__EXTENSION_DEFINITIONS = TASK__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__OUTGOING = TASK__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__INCOMING = TASK__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__AUDITING = TASK__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__MONITORING = TASK__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__CATEGORY_VALUE_REF = TASK__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__CONTAINER = TASK__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__BASE_ACTIVITY_NODE = TASK__BASE_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Is For Compensation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__IS_FOR_COMPENSATION = TASK__IS_FOR_COMPENSATION;
+
+ /**
+ * The feature id for the '<em><b>Start Quantity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__START_QUANTITY = TASK__START_QUANTITY;
+
+ /**
+ * The feature id for the '<em><b>Completion Quantity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__COMPLETION_QUANTITY = TASK__COMPLETION_QUANTITY;
+
+ /**
+ * The feature id for the '<em><b>Base Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__BASE_ACTION = TASK__BASE_ACTION;
+
+ /**
+ * The feature id for the '<em><b>Activity Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__ACTIVITY_CLASS = TASK__ACTIVITY_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__PROPERTIES = TASK__PROPERTIES;
+
+ /**
+ * The feature id for the '<em><b>Default</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__DEFAULT = TASK__DEFAULT;
+
+ /**
+ * The feature id for the '<em><b>Boundary Event Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__BOUNDARY_EVENT_REFS = TASK__BOUNDARY_EVENT_REFS;
+
+ /**
+ * The feature id for the '<em><b>Data Input Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__DATA_INPUT_ASSOCIATIONS = TASK__DATA_INPUT_ASSOCIATIONS;
+
+ /**
+ * The feature id for the '<em><b>Data Output Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__DATA_OUTPUT_ASSOCIATIONS = TASK__DATA_OUTPUT_ASSOCIATIONS;
+
+ /**
+ * The feature id for the '<em><b>Loop Characteristics</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__LOOP_CHARACTERISTICS = TASK__LOOP_CHARACTERISTICS;
+
+ /**
+ * The feature id for the '<em><b>Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__RESOURCES = TASK__RESOURCES;
+
+ /**
+ * The feature id for the '<em><b>Io Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__IO_SPECIFICATION = TASK__IO_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Opaque Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__BASE_OPAQUE_ACTION = TASK_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Implementation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK__IMPLEMENTATION = TASK_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Business Rule Task</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK_FEATURE_COUNT = TASK_FEATURE_COUNT + 2;
+
+ /**
+ * The operation id for the '<em>BPMN Activityresources</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK___BPMN_ACTIVITYRESOURCES__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYRESOURCES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activitycontainer</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK___BPMN_ACTIVITYCONTAINER__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYCONTAINER__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityproperties</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK___BPMN_ACTIVITYPROPERTIES__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYPROPERTIES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activitydefault</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK___BPMN_ACTIVITYDEFAULT__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYDEFAULT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityboundary Events Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK___BPMN_ACTIVITYBOUNDARY_EVENTS_REFS__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYBOUNDARY_EVENTS_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityloop Characteristics</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK___BPMN_ACTIVITYLOOP_CHARACTERISTICS__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYLOOP_CHARACTERISTICS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Business Rule Taskimplementation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK___BUSINESS_RULE_TASKIMPLEMENTATION__DIAGNOSTICCHAIN_MAP = TASK_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Business Rule Task</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BUSINESS_RULE_TASK_OPERATION_COUNT = TASK_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ComplexBehaviorDefinitionImpl <em>Complex Behavior Definition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ComplexBehaviorDefinitionImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getComplexBehaviorDefinition()
+ * @generated
+ */
+ int COMPLEX_BEHAVIOR_DEFINITION = 121;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_BEHAVIOR_DEFINITION__ID = BASE_ELEMENT__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_BEHAVIOR_DEFINITION__EXTENSION_VALUES = BASE_ELEMENT__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_BEHAVIOR_DEFINITION__BASE_ELEMENT = BASE_ELEMENT__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_BEHAVIOR_DEFINITION__DOCUMENTATION = BASE_ELEMENT__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_BEHAVIOR_DEFINITION__EXTENSION_DEFINITIONS = BASE_ELEMENT__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_BEHAVIOR_DEFINITION__OUTGOING = BASE_ELEMENT__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_BEHAVIOR_DEFINITION__INCOMING = BASE_ELEMENT__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Condition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_BEHAVIOR_DEFINITION__CONDITION = BASE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_BEHAVIOR_DEFINITION__EVENT = BASE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Control Flow</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_BEHAVIOR_DEFINITION__BASE_CONTROL_FLOW = BASE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Complex Behavior Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_BEHAVIOR_DEFINITION_FEATURE_COUNT = BASE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of operations of the '<em>Complex Behavior Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPLEX_BEHAVIOR_DEFINITION_OPERATION_COUNT = BASE_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.AdHocSubProcessImpl <em>Ad Hoc Sub Process</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.AdHocSubProcessImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getAdHocSubProcess()
+ * @generated
+ */
+ int AD_HOC_SUB_PROCESS = 122;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__ID = SUB_PROCESS__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__EXTENSION_VALUES = SUB_PROCESS__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__BASE_ELEMENT = SUB_PROCESS__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__DOCUMENTATION = SUB_PROCESS__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__EXTENSION_DEFINITIONS = SUB_PROCESS__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__OUTGOING = SUB_PROCESS__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__INCOMING = SUB_PROCESS__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__AUDITING = SUB_PROCESS__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__MONITORING = SUB_PROCESS__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__CATEGORY_VALUE_REF = SUB_PROCESS__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__CONTAINER = SUB_PROCESS__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__BASE_ACTIVITY_NODE = SUB_PROCESS__BASE_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Is For Compensation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__IS_FOR_COMPENSATION = SUB_PROCESS__IS_FOR_COMPENSATION;
+
+ /**
+ * The feature id for the '<em><b>Start Quantity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__START_QUANTITY = SUB_PROCESS__START_QUANTITY;
+
+ /**
+ * The feature id for the '<em><b>Completion Quantity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__COMPLETION_QUANTITY = SUB_PROCESS__COMPLETION_QUANTITY;
+
+ /**
+ * The feature id for the '<em><b>Base Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__BASE_ACTION = SUB_PROCESS__BASE_ACTION;
+
+ /**
+ * The feature id for the '<em><b>Activity Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__ACTIVITY_CLASS = SUB_PROCESS__ACTIVITY_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__PROPERTIES = SUB_PROCESS__PROPERTIES;
+
+ /**
+ * The feature id for the '<em><b>Default</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__DEFAULT = SUB_PROCESS__DEFAULT;
+
+ /**
+ * The feature id for the '<em><b>Boundary Event Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__BOUNDARY_EVENT_REFS = SUB_PROCESS__BOUNDARY_EVENT_REFS;
+
+ /**
+ * The feature id for the '<em><b>Data Input Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__DATA_INPUT_ASSOCIATIONS = SUB_PROCESS__DATA_INPUT_ASSOCIATIONS;
+
+ /**
+ * The feature id for the '<em><b>Data Output Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__DATA_OUTPUT_ASSOCIATIONS = SUB_PROCESS__DATA_OUTPUT_ASSOCIATIONS;
+
+ /**
+ * The feature id for the '<em><b>Loop Characteristics</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__LOOP_CHARACTERISTICS = SUB_PROCESS__LOOP_CHARACTERISTICS;
+
+ /**
+ * The feature id for the '<em><b>Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__RESOURCES = SUB_PROCESS__RESOURCES;
+
+ /**
+ * The feature id for the '<em><b>Lane Sets</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__LANE_SETS = SUB_PROCESS__LANE_SETS;
+
+ /**
+ * The feature id for the '<em><b>Flow Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__FLOW_ELEMENTS = SUB_PROCESS__FLOW_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Triggered By Event</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__TRIGGERED_BY_EVENT = SUB_PROCESS__TRIGGERED_BY_EVENT;
+
+ /**
+ * The feature id for the '<em><b>Base Structured Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__BASE_STRUCTURED_ACTIVITY_NODE = SUB_PROCESS__BASE_STRUCTURED_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Has Lane Sets</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__HAS_LANE_SETS = SUB_PROCESS__HAS_LANE_SETS;
+
+ /**
+ * The feature id for the '<em><b>Completion Condition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__COMPLETION_CONDITION = SUB_PROCESS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Ordering</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__ORDERING = SUB_PROCESS_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Cancel Remaining Instances</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS__CANCEL_REMAINING_INSTANCES = SUB_PROCESS_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Ad Hoc Sub Process</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS_FEATURE_COUNT = SUB_PROCESS_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>BPMN Activityresources</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS___BPMN_ACTIVITYRESOURCES__DIAGNOSTICCHAIN_MAP = SUB_PROCESS___BPMN_ACTIVITYRESOURCES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activitycontainer</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS___BPMN_ACTIVITYCONTAINER__DIAGNOSTICCHAIN_MAP = SUB_PROCESS___BPMN_ACTIVITYCONTAINER__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityproperties</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS___BPMN_ACTIVITYPROPERTIES__DIAGNOSTICCHAIN_MAP = SUB_PROCESS___BPMN_ACTIVITYPROPERTIES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activitydefault</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS___BPMN_ACTIVITYDEFAULT__DIAGNOSTICCHAIN_MAP = SUB_PROCESS___BPMN_ACTIVITYDEFAULT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityboundary Events Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS___BPMN_ACTIVITYBOUNDARY_EVENTS_REFS__DIAGNOSTICCHAIN_MAP = SUB_PROCESS___BPMN_ACTIVITYBOUNDARY_EVENTS_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityloop Characteristics</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS___BPMN_ACTIVITYLOOP_CHARACTERISTICS__DIAGNOSTICCHAIN_MAP = SUB_PROCESS___BPMN_ACTIVITYLOOP_CHARACTERISTICS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Sub Processtriggered By Event</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS___SUB_PROCESSTRIGGERED_BY_EVENT__DIAGNOSTICCHAIN_MAP = SUB_PROCESS___SUB_PROCESSTRIGGERED_BY_EVENT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Ad Hoc Sub Processcancel Remaining Instances</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS___AD_HOC_SUB_PROCESSCANCEL_REMAINING_INSTANCES__DIAGNOSTICCHAIN_MAP = SUB_PROCESS_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Ad Hoc Sub Process</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AD_HOC_SUB_PROCESS_OPERATION_COUNT = SUB_PROCESS_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ScriptTaskImpl <em>Script Task</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ScriptTaskImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getScriptTask()
+ * @generated
+ */
+ int SCRIPT_TASK = 123;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__ID = TASK__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__EXTENSION_VALUES = TASK__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__BASE_ELEMENT = TASK__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__DOCUMENTATION = TASK__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__EXTENSION_DEFINITIONS = TASK__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__OUTGOING = TASK__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__INCOMING = TASK__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__AUDITING = TASK__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__MONITORING = TASK__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__CATEGORY_VALUE_REF = TASK__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__CONTAINER = TASK__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__BASE_ACTIVITY_NODE = TASK__BASE_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Is For Compensation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__IS_FOR_COMPENSATION = TASK__IS_FOR_COMPENSATION;
+
+ /**
+ * The feature id for the '<em><b>Start Quantity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__START_QUANTITY = TASK__START_QUANTITY;
+
+ /**
+ * The feature id for the '<em><b>Completion Quantity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__COMPLETION_QUANTITY = TASK__COMPLETION_QUANTITY;
+
+ /**
+ * The feature id for the '<em><b>Base Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__BASE_ACTION = TASK__BASE_ACTION;
+
+ /**
+ * The feature id for the '<em><b>Activity Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__ACTIVITY_CLASS = TASK__ACTIVITY_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__PROPERTIES = TASK__PROPERTIES;
+
+ /**
+ * The feature id for the '<em><b>Default</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__DEFAULT = TASK__DEFAULT;
+
+ /**
+ * The feature id for the '<em><b>Boundary Event Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__BOUNDARY_EVENT_REFS = TASK__BOUNDARY_EVENT_REFS;
+
+ /**
+ * The feature id for the '<em><b>Data Input Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__DATA_INPUT_ASSOCIATIONS = TASK__DATA_INPUT_ASSOCIATIONS;
+
+ /**
+ * The feature id for the '<em><b>Data Output Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__DATA_OUTPUT_ASSOCIATIONS = TASK__DATA_OUTPUT_ASSOCIATIONS;
+
+ /**
+ * The feature id for the '<em><b>Loop Characteristics</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__LOOP_CHARACTERISTICS = TASK__LOOP_CHARACTERISTICS;
+
+ /**
+ * The feature id for the '<em><b>Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__RESOURCES = TASK__RESOURCES;
+
+ /**
+ * The feature id for the '<em><b>Io Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__IO_SPECIFICATION = TASK__IO_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Opaque Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__BASE_OPAQUE_ACTION = TASK_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Script Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__SCRIPT_FORMAT = TASK_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Script</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK__SCRIPT = TASK_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Script Task</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK_FEATURE_COUNT = TASK_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>BPMN Activityresources</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK___BPMN_ACTIVITYRESOURCES__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYRESOURCES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activitycontainer</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK___BPMN_ACTIVITYCONTAINER__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYCONTAINER__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityproperties</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK___BPMN_ACTIVITYPROPERTIES__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYPROPERTIES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activitydefault</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK___BPMN_ACTIVITYDEFAULT__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYDEFAULT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityboundary Events Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK___BPMN_ACTIVITYBOUNDARY_EVENTS_REFS__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYBOUNDARY_EVENTS_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityloop Characteristics</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK___BPMN_ACTIVITYLOOP_CHARACTERISTICS__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYLOOP_CHARACTERISTICS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Script Taskscript Format</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK___SCRIPT_TASKSCRIPT_FORMAT__DIAGNOSTICCHAIN_MAP = TASK_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Script Taskscript</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK___SCRIPT_TASKSCRIPT__DIAGNOSTICCHAIN_MAP = TASK_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Script Task</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCRIPT_TASK_OPERATION_COUNT = TASK_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.SendTaskImpl <em>Send Task</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.SendTaskImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getSendTask()
+ * @generated
+ */
+ int SEND_TASK = 124;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__ID = TASK__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__EXTENSION_VALUES = TASK__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__BASE_ELEMENT = TASK__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__DOCUMENTATION = TASK__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__EXTENSION_DEFINITIONS = TASK__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__OUTGOING = TASK__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__INCOMING = TASK__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__AUDITING = TASK__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__MONITORING = TASK__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__CATEGORY_VALUE_REF = TASK__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__CONTAINER = TASK__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__BASE_ACTIVITY_NODE = TASK__BASE_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Is For Compensation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__IS_FOR_COMPENSATION = TASK__IS_FOR_COMPENSATION;
+
+ /**
+ * The feature id for the '<em><b>Start Quantity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__START_QUANTITY = TASK__START_QUANTITY;
+
+ /**
+ * The feature id for the '<em><b>Completion Quantity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__COMPLETION_QUANTITY = TASK__COMPLETION_QUANTITY;
+
+ /**
+ * The feature id for the '<em><b>Base Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__BASE_ACTION = TASK__BASE_ACTION;
+
+ /**
+ * The feature id for the '<em><b>Activity Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__ACTIVITY_CLASS = TASK__ACTIVITY_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__PROPERTIES = TASK__PROPERTIES;
+
+ /**
+ * The feature id for the '<em><b>Default</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__DEFAULT = TASK__DEFAULT;
+
+ /**
+ * The feature id for the '<em><b>Boundary Event Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__BOUNDARY_EVENT_REFS = TASK__BOUNDARY_EVENT_REFS;
+
+ /**
+ * The feature id for the '<em><b>Data Input Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__DATA_INPUT_ASSOCIATIONS = TASK__DATA_INPUT_ASSOCIATIONS;
+
+ /**
+ * The feature id for the '<em><b>Data Output Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__DATA_OUTPUT_ASSOCIATIONS = TASK__DATA_OUTPUT_ASSOCIATIONS;
+
+ /**
+ * The feature id for the '<em><b>Loop Characteristics</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__LOOP_CHARACTERISTICS = TASK__LOOP_CHARACTERISTICS;
+
+ /**
+ * The feature id for the '<em><b>Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__RESOURCES = TASK__RESOURCES;
+
+ /**
+ * The feature id for the '<em><b>Io Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__IO_SPECIFICATION = TASK__IO_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Message Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__MESSAGE_REF = TASK_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Call Operation Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__BASE_CALL_OPERATION_ACTION = TASK_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Implementation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__IMPLEMENTATION = TASK_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Operation Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK__OPERATION_REF = TASK_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Send Task</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK_FEATURE_COUNT = TASK_FEATURE_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>BPMN Activityresources</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK___BPMN_ACTIVITYRESOURCES__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYRESOURCES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activitycontainer</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK___BPMN_ACTIVITYCONTAINER__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYCONTAINER__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityproperties</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK___BPMN_ACTIVITYPROPERTIES__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYPROPERTIES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activitydefault</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK___BPMN_ACTIVITYDEFAULT__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYDEFAULT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityboundary Events Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK___BPMN_ACTIVITYBOUNDARY_EVENTS_REFS__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYBOUNDARY_EVENTS_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityloop Characteristics</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK___BPMN_ACTIVITYLOOP_CHARACTERISTICS__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYLOOP_CHARACTERISTICS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Send Taskoperation Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK___SEND_TASKOPERATION_REF__DIAGNOSTICCHAIN_MAP = TASK_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Send Task</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEND_TASK_OPERATION_COUNT = TASK_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.TransactionImpl <em>Transaction</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.TransactionImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getTransaction()
+ * @generated
+ */
+ int TRANSACTION = 125;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__ID = SUB_PROCESS__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__EXTENSION_VALUES = SUB_PROCESS__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__BASE_ELEMENT = SUB_PROCESS__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__DOCUMENTATION = SUB_PROCESS__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__EXTENSION_DEFINITIONS = SUB_PROCESS__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__OUTGOING = SUB_PROCESS__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__INCOMING = SUB_PROCESS__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__AUDITING = SUB_PROCESS__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__MONITORING = SUB_PROCESS__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__CATEGORY_VALUE_REF = SUB_PROCESS__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__CONTAINER = SUB_PROCESS__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__BASE_ACTIVITY_NODE = SUB_PROCESS__BASE_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Is For Compensation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__IS_FOR_COMPENSATION = SUB_PROCESS__IS_FOR_COMPENSATION;
+
+ /**
+ * The feature id for the '<em><b>Start Quantity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__START_QUANTITY = SUB_PROCESS__START_QUANTITY;
+
+ /**
+ * The feature id for the '<em><b>Completion Quantity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__COMPLETION_QUANTITY = SUB_PROCESS__COMPLETION_QUANTITY;
+
+ /**
+ * The feature id for the '<em><b>Base Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__BASE_ACTION = SUB_PROCESS__BASE_ACTION;
+
+ /**
+ * The feature id for the '<em><b>Activity Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__ACTIVITY_CLASS = SUB_PROCESS__ACTIVITY_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__PROPERTIES = SUB_PROCESS__PROPERTIES;
+
+ /**
+ * The feature id for the '<em><b>Default</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__DEFAULT = SUB_PROCESS__DEFAULT;
+
+ /**
+ * The feature id for the '<em><b>Boundary Event Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__BOUNDARY_EVENT_REFS = SUB_PROCESS__BOUNDARY_EVENT_REFS;
+
+ /**
+ * The feature id for the '<em><b>Data Input Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__DATA_INPUT_ASSOCIATIONS = SUB_PROCESS__DATA_INPUT_ASSOCIATIONS;
+
+ /**
+ * The feature id for the '<em><b>Data Output Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__DATA_OUTPUT_ASSOCIATIONS = SUB_PROCESS__DATA_OUTPUT_ASSOCIATIONS;
+
+ /**
+ * The feature id for the '<em><b>Loop Characteristics</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__LOOP_CHARACTERISTICS = SUB_PROCESS__LOOP_CHARACTERISTICS;
+
+ /**
+ * The feature id for the '<em><b>Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__RESOURCES = SUB_PROCESS__RESOURCES;
+
+ /**
+ * The feature id for the '<em><b>Lane Sets</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__LANE_SETS = SUB_PROCESS__LANE_SETS;
+
+ /**
+ * The feature id for the '<em><b>Flow Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__FLOW_ELEMENTS = SUB_PROCESS__FLOW_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Triggered By Event</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__TRIGGERED_BY_EVENT = SUB_PROCESS__TRIGGERED_BY_EVENT;
+
+ /**
+ * The feature id for the '<em><b>Base Structured Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__BASE_STRUCTURED_ACTIVITY_NODE = SUB_PROCESS__BASE_STRUCTURED_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Has Lane Sets</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__HAS_LANE_SETS = SUB_PROCESS__HAS_LANE_SETS;
+
+ /**
+ * The feature id for the '<em><b>Method</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION__METHOD = SUB_PROCESS_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Transaction</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION_FEATURE_COUNT = SUB_PROCESS_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>BPMN Activityresources</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION___BPMN_ACTIVITYRESOURCES__DIAGNOSTICCHAIN_MAP = SUB_PROCESS___BPMN_ACTIVITYRESOURCES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activitycontainer</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION___BPMN_ACTIVITYCONTAINER__DIAGNOSTICCHAIN_MAP = SUB_PROCESS___BPMN_ACTIVITYCONTAINER__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityproperties</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION___BPMN_ACTIVITYPROPERTIES__DIAGNOSTICCHAIN_MAP = SUB_PROCESS___BPMN_ACTIVITYPROPERTIES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activitydefault</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION___BPMN_ACTIVITYDEFAULT__DIAGNOSTICCHAIN_MAP = SUB_PROCESS___BPMN_ACTIVITYDEFAULT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityboundary Events Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION___BPMN_ACTIVITYBOUNDARY_EVENTS_REFS__DIAGNOSTICCHAIN_MAP = SUB_PROCESS___BPMN_ACTIVITYBOUNDARY_EVENTS_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityloop Characteristics</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION___BPMN_ACTIVITYLOOP_CHARACTERISTICS__DIAGNOSTICCHAIN_MAP = SUB_PROCESS___BPMN_ACTIVITYLOOP_CHARACTERISTICS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Sub Processtriggered By Event</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION___SUB_PROCESSTRIGGERED_BY_EVENT__DIAGNOSTICCHAIN_MAP = SUB_PROCESS___SUB_PROCESSTRIGGERED_BY_EVENT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The number of operations of the '<em>Transaction</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSACTION_OPERATION_COUNT = SUB_PROCESS_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.StandardLoopCharacteristicsImpl <em>Standard Loop Characteristics</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.StandardLoopCharacteristicsImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getStandardLoopCharacteristics()
+ * @generated
+ */
+ int STANDARD_LOOP_CHARACTERISTICS = 126;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STANDARD_LOOP_CHARACTERISTICS__ID = LOOP_CHARACTERISTICS__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STANDARD_LOOP_CHARACTERISTICS__EXTENSION_VALUES = LOOP_CHARACTERISTICS__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STANDARD_LOOP_CHARACTERISTICS__BASE_ELEMENT = LOOP_CHARACTERISTICS__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STANDARD_LOOP_CHARACTERISTICS__DOCUMENTATION = LOOP_CHARACTERISTICS__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STANDARD_LOOP_CHARACTERISTICS__EXTENSION_DEFINITIONS = LOOP_CHARACTERISTICS__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STANDARD_LOOP_CHARACTERISTICS__OUTGOING = LOOP_CHARACTERISTICS__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STANDARD_LOOP_CHARACTERISTICS__INCOMING = LOOP_CHARACTERISTICS__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Structured Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STANDARD_LOOP_CHARACTERISTICS__BASE_STRUCTURED_ACTIVITY_NODE = LOOP_CHARACTERISTICS__BASE_STRUCTURED_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Loop Maximum</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STANDARD_LOOP_CHARACTERISTICS__LOOP_MAXIMUM = LOOP_CHARACTERISTICS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Loop Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STANDARD_LOOP_CHARACTERISTICS__BASE_LOOP_NODE = LOOP_CHARACTERISTICS_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Test Before</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STANDARD_LOOP_CHARACTERISTICS__TEST_BEFORE = LOOP_CHARACTERISTICS_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Loop Condition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STANDARD_LOOP_CHARACTERISTICS__LOOP_CONDITION = LOOP_CHARACTERISTICS_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Standard Loop Characteristics</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STANDARD_LOOP_CHARACTERISTICS_FEATURE_COUNT = LOOP_CHARACTERISTICS_FEATURE_COUNT + 4;
+
+ /**
+ * The operation id for the '<em>Standard Loop Characteristicstest Before</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STANDARD_LOOP_CHARACTERISTICS___STANDARD_LOOP_CHARACTERISTICSTEST_BEFORE__DIAGNOSTICCHAIN_MAP = LOOP_CHARACTERISTICS_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Standard Loop Characteristicsloop Condition</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STANDARD_LOOP_CHARACTERISTICS___STANDARD_LOOP_CHARACTERISTICSLOOP_CONDITION__DIAGNOSTICCHAIN_MAP = LOOP_CHARACTERISTICS_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Standard Loop Characteristics</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STANDARD_LOOP_CHARACTERISTICS_OPERATION_COUNT = LOOP_CHARACTERISTICS_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ReceiveTaskImpl <em>Receive Task</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ReceiveTaskImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getReceiveTask()
+ * @generated
+ */
+ int RECEIVE_TASK = 127;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__ID = TASK__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__EXTENSION_VALUES = TASK__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__BASE_ELEMENT = TASK__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__DOCUMENTATION = TASK__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__EXTENSION_DEFINITIONS = TASK__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__OUTGOING = TASK__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__INCOMING = TASK__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__AUDITING = TASK__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__MONITORING = TASK__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__CATEGORY_VALUE_REF = TASK__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__CONTAINER = TASK__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__BASE_ACTIVITY_NODE = TASK__BASE_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Is For Compensation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__IS_FOR_COMPENSATION = TASK__IS_FOR_COMPENSATION;
+
+ /**
+ * The feature id for the '<em><b>Start Quantity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__START_QUANTITY = TASK__START_QUANTITY;
+
+ /**
+ * The feature id for the '<em><b>Completion Quantity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__COMPLETION_QUANTITY = TASK__COMPLETION_QUANTITY;
+
+ /**
+ * The feature id for the '<em><b>Base Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__BASE_ACTION = TASK__BASE_ACTION;
+
+ /**
+ * The feature id for the '<em><b>Activity Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__ACTIVITY_CLASS = TASK__ACTIVITY_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__PROPERTIES = TASK__PROPERTIES;
+
+ /**
+ * The feature id for the '<em><b>Default</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__DEFAULT = TASK__DEFAULT;
+
+ /**
+ * The feature id for the '<em><b>Boundary Event Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__BOUNDARY_EVENT_REFS = TASK__BOUNDARY_EVENT_REFS;
+
+ /**
+ * The feature id for the '<em><b>Data Input Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__DATA_INPUT_ASSOCIATIONS = TASK__DATA_INPUT_ASSOCIATIONS;
+
+ /**
+ * The feature id for the '<em><b>Data Output Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__DATA_OUTPUT_ASSOCIATIONS = TASK__DATA_OUTPUT_ASSOCIATIONS;
+
+ /**
+ * The feature id for the '<em><b>Loop Characteristics</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__LOOP_CHARACTERISTICS = TASK__LOOP_CHARACTERISTICS;
+
+ /**
+ * The feature id for the '<em><b>Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__RESOURCES = TASK__RESOURCES;
+
+ /**
+ * The feature id for the '<em><b>Io Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__IO_SPECIFICATION = TASK__IO_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Message Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__MESSAGE_REF = TASK_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Accept Event Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__BASE_ACCEPT_EVENT_ACTION = TASK_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Implementation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__IMPLEMENTATION = TASK_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Instantiate</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__INSTANTIATE = TASK_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Operation Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK__OPERATION_REF = TASK_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Receive Task</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK_FEATURE_COUNT = TASK_FEATURE_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>BPMN Activityresources</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK___BPMN_ACTIVITYRESOURCES__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYRESOURCES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activitycontainer</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK___BPMN_ACTIVITYCONTAINER__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYCONTAINER__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityproperties</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK___BPMN_ACTIVITYPROPERTIES__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYPROPERTIES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activitydefault</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK___BPMN_ACTIVITYDEFAULT__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYDEFAULT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityboundary Events Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK___BPMN_ACTIVITYBOUNDARY_EVENTS_REFS__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYBOUNDARY_EVENTS_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityloop Characteristics</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK___BPMN_ACTIVITYLOOP_CHARACTERISTICS__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYLOOP_CHARACTERISTICS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Receive Taskoperation Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK___RECEIVE_TASKOPERATION_REF__DIAGNOSTICCHAIN_MAP = TASK_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Receive Task</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECEIVE_TASK_OPERATION_COUNT = TASK_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ServiceTaskImpl <em>Service Task</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.ServiceTaskImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getServiceTask()
+ * @generated
+ */
+ int SERVICE_TASK = 128;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__ID = TASK__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__EXTENSION_VALUES = TASK__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__BASE_ELEMENT = TASK__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__DOCUMENTATION = TASK__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__EXTENSION_DEFINITIONS = TASK__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__OUTGOING = TASK__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__INCOMING = TASK__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__AUDITING = TASK__AUDITING;
+
+ /**
+ * The feature id for the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__MONITORING = TASK__MONITORING;
+
+ /**
+ * The feature id for the '<em><b>category Value Ref</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__CATEGORY_VALUE_REF = TASK__CATEGORY_VALUE_REF;
+
+ /**
+ * The feature id for the '<em><b>Container</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__CONTAINER = TASK__CONTAINER;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__BASE_ACTIVITY_NODE = TASK__BASE_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Is For Compensation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__IS_FOR_COMPENSATION = TASK__IS_FOR_COMPENSATION;
+
+ /**
+ * The feature id for the '<em><b>Start Quantity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__START_QUANTITY = TASK__START_QUANTITY;
+
+ /**
+ * The feature id for the '<em><b>Completion Quantity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__COMPLETION_QUANTITY = TASK__COMPLETION_QUANTITY;
+
+ /**
+ * The feature id for the '<em><b>Base Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__BASE_ACTION = TASK__BASE_ACTION;
+
+ /**
+ * The feature id for the '<em><b>Activity Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__ACTIVITY_CLASS = TASK__ACTIVITY_CLASS;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__PROPERTIES = TASK__PROPERTIES;
+
+ /**
+ * The feature id for the '<em><b>Default</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__DEFAULT = TASK__DEFAULT;
+
+ /**
+ * The feature id for the '<em><b>Boundary Event Refs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__BOUNDARY_EVENT_REFS = TASK__BOUNDARY_EVENT_REFS;
+
+ /**
+ * The feature id for the '<em><b>Data Input Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__DATA_INPUT_ASSOCIATIONS = TASK__DATA_INPUT_ASSOCIATIONS;
+
+ /**
+ * The feature id for the '<em><b>Data Output Associations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__DATA_OUTPUT_ASSOCIATIONS = TASK__DATA_OUTPUT_ASSOCIATIONS;
+
+ /**
+ * The feature id for the '<em><b>Loop Characteristics</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__LOOP_CHARACTERISTICS = TASK__LOOP_CHARACTERISTICS;
+
+ /**
+ * The feature id for the '<em><b>Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__RESOURCES = TASK__RESOURCES;
+
+ /**
+ * The feature id for the '<em><b>Io Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__IO_SPECIFICATION = TASK__IO_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Call Operation Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__BASE_CALL_OPERATION_ACTION = TASK_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Implementation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__IMPLEMENTATION = TASK_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Operation Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK__OPERATION_REF = TASK_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Service Task</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK_FEATURE_COUNT = TASK_FEATURE_COUNT + 3;
+
+ /**
+ * The operation id for the '<em>BPMN Activityresources</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK___BPMN_ACTIVITYRESOURCES__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYRESOURCES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activitycontainer</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK___BPMN_ACTIVITYCONTAINER__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYCONTAINER__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityproperties</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK___BPMN_ACTIVITYPROPERTIES__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYPROPERTIES__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activitydefault</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK___BPMN_ACTIVITYDEFAULT__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYDEFAULT__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityboundary Events Refs</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK___BPMN_ACTIVITYBOUNDARY_EVENTS_REFS__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYBOUNDARY_EVENTS_REFS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>BPMN Activityloop Characteristics</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK___BPMN_ACTIVITYLOOP_CHARACTERISTICS__DIAGNOSTICCHAIN_MAP = TASK___BPMN_ACTIVITYLOOP_CHARACTERISTICS__DIAGNOSTICCHAIN_MAP;
+
+ /**
+ * The operation id for the '<em>Service Taskinput Set</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK___SERVICE_TASKINPUT_SET__DIAGNOSTICCHAIN_MAP = TASK_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Service Taskoutput Set</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK___SERVICE_TASKOUTPUT_SET__DIAGNOSTICCHAIN_MAP = TASK_OPERATION_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Service Taskoperation Ref</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK___SERVICE_TASKOPERATION_REF__DIAGNOSTICCHAIN_MAP = TASK_OPERATION_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Service Task</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SERVICE_TASK_OPERATION_COUNT = TASK_OPERATION_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.MultiInstanceLoopCharacteristicsImpl <em>Multi Instance Loop Characteristics</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.MultiInstanceLoopCharacteristicsImpl
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getMultiInstanceLoopCharacteristics()
+ * @generated
+ */
+ int MULTI_INSTANCE_LOOP_CHARACTERISTICS = 129;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_INSTANCE_LOOP_CHARACTERISTICS__ID = LOOP_CHARACTERISTICS__ID;
+
+ /**
+ * The feature id for the '<em><b>Extension Values</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_INSTANCE_LOOP_CHARACTERISTICS__EXTENSION_VALUES = LOOP_CHARACTERISTICS__EXTENSION_VALUES;
+
+ /**
+ * The feature id for the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_INSTANCE_LOOP_CHARACTERISTICS__BASE_ELEMENT = LOOP_CHARACTERISTICS__BASE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Documentation</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_INSTANCE_LOOP_CHARACTERISTICS__DOCUMENTATION = LOOP_CHARACTERISTICS__DOCUMENTATION;
+
+ /**
+ * The feature id for the '<em><b>Extension Definitions</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_INSTANCE_LOOP_CHARACTERISTICS__EXTENSION_DEFINITIONS = LOOP_CHARACTERISTICS__EXTENSION_DEFINITIONS;
+
+ /**
+ * The feature id for the '<em><b>Outgoing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_INSTANCE_LOOP_CHARACTERISTICS__OUTGOING = LOOP_CHARACTERISTICS__OUTGOING;
+
+ /**
+ * The feature id for the '<em><b>Incoming</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_INSTANCE_LOOP_CHARACTERISTICS__INCOMING = LOOP_CHARACTERISTICS__INCOMING;
+
+ /**
+ * The feature id for the '<em><b>Base Structured Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_INSTANCE_LOOP_CHARACTERISTICS__BASE_STRUCTURED_ACTIVITY_NODE = LOOP_CHARACTERISTICS__BASE_STRUCTURED_ACTIVITY_NODE;
+
+ /**
+ * The feature id for the '<em><b>Behavior</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_INSTANCE_LOOP_CHARACTERISTICS__BEHAVIOR = LOOP_CHARACTERISTICS_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Loop Cardinality</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_INSTANCE_LOOP_CHARACTERISTICS__LOOP_CARDINALITY = LOOP_CHARACTERISTICS_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Completion Condition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_INSTANCE_LOOP_CHARACTERISTICS__COMPLETION_CONDITION = LOOP_CHARACTERISTICS_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Base Expansion Region</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_INSTANCE_LOOP_CHARACTERISTICS__BASE_EXPANSION_REGION = LOOP_CHARACTERISTICS_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Is Sequential</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_INSTANCE_LOOP_CHARACTERISTICS__IS_SEQUENTIAL = LOOP_CHARACTERISTICS_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Loop Data Input Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_INSTANCE_LOOP_CHARACTERISTICS__LOOP_DATA_INPUT_REF = LOOP_CHARACTERISTICS_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Loop Data Output Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_INSTANCE_LOOP_CHARACTERISTICS__LOOP_DATA_OUTPUT_REF = LOOP_CHARACTERISTICS_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Output Data Item</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_INSTANCE_LOOP_CHARACTERISTICS__OUTPUT_DATA_ITEM = LOOP_CHARACTERISTICS_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Input Data Item</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_INSTANCE_LOOP_CHARACTERISTICS__INPUT_DATA_ITEM = LOOP_CHARACTERISTICS_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>One Behavior Event Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_INSTANCE_LOOP_CHARACTERISTICS__ONE_BEHAVIOR_EVENT_REF = LOOP_CHARACTERISTICS_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>None Behavior Event Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_INSTANCE_LOOP_CHARACTERISTICS__NONE_BEHAVIOR_EVENT_REF = LOOP_CHARACTERISTICS_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Complex Behavior Definition</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_INSTANCE_LOOP_CHARACTERISTICS__COMPLEX_BEHAVIOR_DEFINITION = LOOP_CHARACTERISTICS_FEATURE_COUNT + 11;
+
+ /**
+ * The number of structural features of the '<em>Multi Instance Loop Characteristics</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_INSTANCE_LOOP_CHARACTERISTICS_FEATURE_COUNT = LOOP_CHARACTERISTICS_FEATURE_COUNT + 12;
+
+ /**
+ * The operation id for the '<em>Multiinstance Loop Characteristicstarget</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_INSTANCE_LOOP_CHARACTERISTICS___MULTIINSTANCE_LOOP_CHARACTERISTICSTARGET__DIAGNOSTICCHAIN_MAP = LOOP_CHARACTERISTICS_OPERATION_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Multi Instance Loop Characteristics</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MULTI_INSTANCE_LOOP_CHARACTERISTICS_OPERATION_COUNT = LOOP_CHARACTERISTICS_OPERATION_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.AssociationDirection <em>Association Direction</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.AssociationDirection
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getAssociationDirection()
+ * @generated
+ */
+ int ASSOCIATION_DIRECTION = 130;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGatewayType <em>Event Based Gateway Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGatewayType
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getEventBasedGatewayType()
+ * @generated
+ */
+ int EVENT_BASED_GATEWAY_TYPE = 131;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.GatewayDirection <em>Gateway Direction</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.GatewayDirection
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getGatewayDirection()
+ * @generated
+ */
+ int GATEWAY_DIRECTION = 132;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.RelationshipDirection <em>Relationship Direction</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.RelationshipDirection
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getRelationshipDirection()
+ * @generated
+ */
+ int RELATIONSHIP_DIRECTION = 133;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemKind <em>Item Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ItemKind
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getItemKind()
+ * @generated
+ */
+ int ITEM_KIND = 134;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ProcessType <em>Process Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ProcessType
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getProcessType()
+ * @generated
+ */
+ int PROCESS_TYPE = 135;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.AdHocOrdering <em>Ad Hoc Ordering</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.AdHocOrdering
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getAdHocOrdering()
+ * @generated
+ */
+ int AD_HOC_ORDERING = 136;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceBehavior <em>Multi Instance Behavior</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceBehavior
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProfilePackageImpl#getMultiInstanceBehavior()
+ * @generated
+ */
+ int MULTI_INSTANCE_BEHAVIOR = 137;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InclusiveGateway <em>Inclusive Gateway</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Inclusive Gateway</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InclusiveGateway
+ * @generated
+ */
+ EClass getInclusiveGateway();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InclusiveGateway#getDefault <em>Default</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Default</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InclusiveGateway#getDefault()
+ * @see #getInclusiveGateway()
+ * @generated
+ */
+ EReference getInclusiveGateway_Default();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InclusiveGateway#inclusiveGatewaydefault(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Inclusive Gatewaydefault</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Inclusive Gatewaydefault</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InclusiveGateway#inclusiveGatewaydefault(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getInclusiveGateway__InclusiveGatewaydefault__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.NonExclusiveGateway <em>Non Exclusive Gateway</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Non Exclusive Gateway</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.NonExclusiveGateway
+ * @generated
+ */
+ EClass getNonExclusiveGateway();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.NonExclusiveGateway#getBase_JoinNode <em>Base Join Node</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Join Node</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.NonExclusiveGateway#getBase_JoinNode()
+ * @see #getNonExclusiveGateway()
+ * @generated
+ */
+ EReference getNonExclusiveGateway_Base_JoinNode();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.NonExclusiveGateway#getBase_ForkNode <em>Base Fork Node</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Fork Node</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.NonExclusiveGateway#getBase_ForkNode()
+ * @see #getNonExclusiveGateway()
+ * @generated
+ */
+ EReference getNonExclusiveGateway_Base_ForkNode();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Gateway <em>Gateway</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Gateway</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Gateway
+ * @generated
+ */
+ EClass getGateway();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Gateway#getBase_ControlNode <em>Base Control Node</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Control Node</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Gateway#getBase_ControlNode()
+ * @see #getGateway()
+ * @generated
+ */
+ EReference getGateway_Base_ControlNode();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Gateway#getBase_ActivityGroup <em>Base Activity Group</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Activity Group</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Gateway#getBase_ActivityGroup()
+ * @see #getGateway()
+ * @generated
+ */
+ EReference getGateway_Base_ActivityGroup();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowNode <em>Flow Node</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Flow Node</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.FlowNode
+ * @generated
+ */
+ EClass getFlowNode();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowNode#getBase_ActivityNode <em>Base Activity Node</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Activity Node</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.FlowNode#getBase_ActivityNode()
+ * @see #getFlowNode()
+ * @generated
+ */
+ EReference getFlowNode_Base_ActivityNode();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement <em>Flow Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Flow Element</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement
+ * @generated
+ */
+ EClass getFlowElement();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement#getAuditing <em>Auditing</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Auditing</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement#getAuditing()
+ * @see #getFlowElement()
+ * @generated
+ */
+ EReference getFlowElement_Auditing();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement#getMonitoring <em>Monitoring</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Monitoring</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement#getMonitoring()
+ * @see #getFlowElement()
+ * @generated
+ */
+ EReference getFlowElement_Monitoring();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement#get_categoryValueRef <em>category Value Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>category Value Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement#get_categoryValueRef()
+ * @see #getFlowElement()
+ * @generated
+ */
+ EReference getFlowElement__categoryValueRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement#getContainer <em>Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Container</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement#getContainer()
+ * @see #getFlowElement()
+ * @generated
+ */
+ EReference getFlowElement_Container();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement <em>Base Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Base Element</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement
+ * @generated
+ */
+ EClass getBaseElement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement#getId()
+ * @see #getBaseElement()
+ * @generated
+ */
+ EAttribute getBaseElement_Id();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement#getExtensionValues <em>Extension Values</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Extension Values</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement#getExtensionValues()
+ * @see #getBaseElement()
+ * @generated
+ */
+ EReference getBaseElement_ExtensionValues();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement#getBase_Element <em>Base Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Element</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement#getBase_Element()
+ * @see #getBaseElement()
+ * @generated
+ */
+ EReference getBaseElement_Base_Element();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement#getDocumentation <em>Documentation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Documentation</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement#getDocumentation()
+ * @see #getBaseElement()
+ * @generated
+ */
+ EReference getBaseElement_Documentation();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement#getExtensionDefinitions <em>Extension Definitions</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Extension Definitions</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement#getExtensionDefinitions()
+ * @see #getBaseElement()
+ * @generated
+ */
+ EReference getBaseElement_ExtensionDefinitions();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement#getOutgoing <em>Outgoing</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Outgoing</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement#getOutgoing()
+ * @see #getBaseElement()
+ * @generated
+ */
+ EReference getBaseElement_Outgoing();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement#getIncoming <em>Incoming</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Incoming</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement#getIncoming()
+ * @see #getBaseElement()
+ * @generated
+ */
+ EReference getBaseElement_Incoming();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeValue <em>Extension Attribute Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Extension Attribute Value</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeValue
+ * @generated
+ */
+ EClass getExtensionAttributeValue();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeValue#getBase_Slot <em>Base Slot</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Slot</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeValue#getBase_Slot()
+ * @see #getExtensionAttributeValue()
+ * @generated
+ */
+ EReference getExtensionAttributeValue_Base_Slot();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeValue#getValueRef <em>Value Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Value Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeValue#getValueRef()
+ * @see #getExtensionAttributeValue()
+ * @generated
+ */
+ EReference getExtensionAttributeValue_ValueRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeValue#getExtensionAttributeDefinition <em>Extension Attribute Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Extension Attribute Definition</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeValue#getExtensionAttributeDefinition()
+ * @see #getExtensionAttributeValue()
+ * @generated
+ */
+ EReference getExtensionAttributeValue_ExtensionAttributeDefinition();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeDefinition <em>Extension Attribute Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Extension Attribute Definition</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeDefinition
+ * @generated
+ */
+ EClass getExtensionAttributeDefinition();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeDefinition#getBase_Property <em>Base Property</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Property</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeDefinition#getBase_Property()
+ * @see #getExtensionAttributeDefinition()
+ * @generated
+ */
+ EReference getExtensionAttributeDefinition_Base_Property();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeDefinition#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Type</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeDefinition#getType()
+ * @see #getExtensionAttributeDefinition()
+ * @generated
+ */
+ EAttribute getExtensionAttributeDefinition_Type();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeDefinition#isReference <em>Is Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Reference</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeDefinition#isReference()
+ * @see #getExtensionAttributeDefinition()
+ * @generated
+ */
+ EAttribute getExtensionAttributeDefinition_IsReference();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Documentation <em>Documentation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Documentation</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Documentation
+ * @generated
+ */
+ EClass getDocumentation();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Documentation#getBase_Comment <em>Base Comment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Comment</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Documentation#getBase_Comment()
+ * @see #getDocumentation()
+ * @generated
+ */
+ EReference getDocumentation_Base_Comment();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Documentation#getTextFormat <em>Text Format</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Text Format</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Documentation#getTextFormat()
+ * @see #getDocumentation()
+ * @generated
+ */
+ EAttribute getDocumentation_TextFormat();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Documentation#getText <em>Text</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Text</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Documentation#getText()
+ * @see #getDocumentation()
+ * @generated
+ */
+ EAttribute getDocumentation_Text();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionDefinition <em>Extension Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Extension Definition</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionDefinition
+ * @generated
+ */
+ EClass getExtensionDefinition();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionDefinition#getBase_Stereotype <em>Base Stereotype</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Stereotype</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionDefinition#getBase_Stereotype()
+ * @see #getExtensionDefinition()
+ * @generated
+ */
+ EReference getExtensionDefinition_Base_Stereotype();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionDefinition#getExtensionAttributeDefinitions <em>Extension Attribute Definitions</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Extension Attribute Definitions</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionDefinition#getExtensionAttributeDefinitions()
+ * @see #getExtensionDefinition()
+ * @generated
+ */
+ EReference getExtensionDefinition_ExtensionAttributeDefinitions();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation <em>BPMN Association</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>BPMN Association</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation
+ * @generated
+ */
+ EClass getBPMNAssociation();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation#getBase_Dependency <em>Base Dependency</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Dependency</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation#getBase_Dependency()
+ * @see #getBPMNAssociation()
+ * @generated
+ */
+ EReference getBPMNAssociation_Base_Dependency();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation#getAssociationDirection <em>Association Direction</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Association Direction</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation#getAssociationDirection()
+ * @see #getBPMNAssociation()
+ * @generated
+ */
+ EAttribute getBPMNAssociation_AssociationDirection();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation#getTargetRef <em>Target Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Target Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation#getTargetRef()
+ * @see #getBPMNAssociation()
+ * @generated
+ */
+ EReference getBPMNAssociation_TargetRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation#getSourceRef <em>Source Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Source Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation#getSourceRef()
+ * @see #getBPMNAssociation()
+ * @generated
+ */
+ EReference getBPMNAssociation_SourceRef();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation#AssociationEnd(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Association End</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Association End</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation#AssociationEnd(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBPMNAssociation__AssociationEnd__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNArtifact <em>BPMN Artifact</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>BPMN Artifact</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNArtifact
+ * @generated
+ */
+ EClass getBPMNArtifact();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Auditing <em>Auditing</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Auditing</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Auditing
+ * @generated
+ */
+ EClass getAuditing();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Auditing#getBase_Class <em>Base Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Class</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Auditing#getBase_Class()
+ * @see #getAuditing()
+ * @generated
+ */
+ EReference getAuditing_Base_Class();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Monitoring <em>Monitoring</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Monitoring</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Monitoring
+ * @generated
+ */
+ EClass getMonitoring();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Monitoring#getBase_Class <em>Base Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Class</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Monitoring#getBase_Class()
+ * @see #getMonitoring()
+ * @generated
+ */
+ EReference getMonitoring_Base_Class();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CategoryValue <em>Category Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Category Value</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CategoryValue
+ * @generated
+ */
+ EClass getCategoryValue();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CategoryValue#getBase_EnumerationLiteral <em>Base Enumeration Literal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Enumeration Literal</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CategoryValue#getBase_EnumerationLiteral()
+ * @see #getCategoryValue()
+ * @generated
+ */
+ EReference getCategoryValue_Base_EnumerationLiteral();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CategoryValue#getCategorizedFlowElements <em>Categorized Flow Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Categorized Flow Elements</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CategoryValue#getCategorizedFlowElements()
+ * @see #getCategoryValue()
+ * @generated
+ */
+ EReference getCategoryValue_CategorizedFlowElements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowElementsContainer <em>Flow Elements Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Flow Elements Container</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.FlowElementsContainer
+ * @generated
+ */
+ EClass getFlowElementsContainer();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowElementsContainer#getLaneSets <em>Lane Sets</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Lane Sets</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.FlowElementsContainer#getLaneSets()
+ * @see #getFlowElementsContainer()
+ * @generated
+ */
+ EReference getFlowElementsContainer_LaneSets();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowElementsContainer#getFlowElements <em>Flow Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Flow Elements</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.FlowElementsContainer#getFlowElements()
+ * @see #getFlowElementsContainer()
+ * @generated
+ */
+ EReference getFlowElementsContainer_FlowElements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet <em>Lane Set</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Lane Set</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet
+ * @generated
+ */
+ EClass getLaneSet();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet#getBase_ActivityPartition <em>Base Activity Partition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Activity Partition</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet#getBase_ActivityPartition()
+ * @see #getLaneSet()
+ * @generated
+ */
+ EReference getLaneSet_Base_ActivityPartition();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet#getLanes <em>Lanes</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Lanes</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet#getLanes()
+ * @see #getLaneSet()
+ * @generated
+ */
+ EReference getLaneSet_Lanes();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet#getParentLane <em>Parent Lane</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Parent Lane</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet#getParentLane()
+ * @see #getLaneSet()
+ * @generated
+ */
+ EReference getLaneSet_ParentLane();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet#getFlowElementsContainer <em>Flow Elements Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Flow Elements Container</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet#getFlowElementsContainer()
+ * @see #getLaneSet()
+ * @generated
+ */
+ EReference getLaneSet_FlowElementsContainer();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet#LaneSetlanes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Lane Setlanes</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Lane Setlanes</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet#LaneSetlanes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLaneSet__LaneSetlanes__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet#LaneSetparentLane(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Lane Setparent Lane</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Lane Setparent Lane</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet#LaneSetparentLane(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLaneSet__LaneSetparentLane__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet#LaneSetflowElementsContainer(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Lane Setflow Elements Container</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Lane Setflow Elements Container</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet#LaneSetflowElementsContainer(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLaneSet__LaneSetflowElementsContainer__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet#LaneSet(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Lane Set</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Lane Set</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet#LaneSet(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLaneSet__LaneSet__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Lane <em>Lane</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Lane</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Lane
+ * @generated
+ */
+ EClass getLane();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Lane#getBase_ActivityPartition <em>Base Activity Partition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Activity Partition</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Lane#getBase_ActivityPartition()
+ * @see #getLane()
+ * @generated
+ */
+ EReference getLane_Base_ActivityPartition();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Lane#get_partitionElement <em>partition Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>partition Element</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Lane#get_partitionElement()
+ * @see #getLane()
+ * @generated
+ */
+ EReference getLane__partitionElement();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Lane#getFlowNodeRefs <em>Flow Node Refs</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Flow Node Refs</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Lane#getFlowNodeRefs()
+ * @see #getLane()
+ * @generated
+ */
+ EReference getLane_FlowNodeRefs();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Lane#getPartitionElementRef <em>Partition Element Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Partition Element Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Lane#getPartitionElementRef()
+ * @see #getLane()
+ * @generated
+ */
+ EReference getLane_PartitionElementRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Lane#getChildLaneSet <em>Child Lane Set</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Child Lane Set</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Lane#getChildLaneSet()
+ * @see #getLane()
+ * @generated
+ */
+ EReference getLane_ChildLaneSet();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Lane#getLaneSet <em>Lane Set</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Lane Set</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Lane#getLaneSet()
+ * @see #getLane()
+ * @generated
+ */
+ EReference getLane_LaneSet();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Lane#LanelaneSet(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Lanelane Set</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Lanelane Set</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Lane#LanelaneSet(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLane__LanelaneSet__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Lane#LanechildLaneSet(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Lanechild Lane Set</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Lanechild Lane Set</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Lane#LanechildLaneSet(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLane__LanechildLaneSet__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Lane#LanepartitionElementRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Lanepartition Element Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Lanepartition Element Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Lane#LanepartitionElementRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLane__LanepartitionElementRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Lane#LaneflowNodeRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Laneflow Node Refs</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Laneflow Node Refs</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Lane#LaneflowNodeRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getLane__LaneflowNodeRefs__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow <em>Sequence Flow</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Sequence Flow</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow
+ * @generated
+ */
+ EClass getSequenceFlow();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#getBase_ControlFlow <em>Base Control Flow</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Control Flow</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#getBase_ControlFlow()
+ * @see #getSequenceFlow()
+ * @generated
+ */
+ EReference getSequenceFlow_Base_ControlFlow();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#isImmediate <em>Is Immediate</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Immediate</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#isImmediate()
+ * @see #getSequenceFlow()
+ * @generated
+ */
+ EAttribute getSequenceFlow_IsImmediate();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#getConditionExpression <em>Condition Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Condition Expression</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#getConditionExpression()
+ * @see #getSequenceFlow()
+ * @generated
+ */
+ EReference getSequenceFlow_ConditionExpression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#SequenceFlowconditionExpression(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Flowcondition Expression</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Sequence Flowcondition Expression</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#SequenceFlowconditionExpression(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceFlow__SequenceFlowconditionExpression__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#SequenceFlowsourceRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Flowsource Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Sequence Flowsource Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#SequenceFlowsourceRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceFlow__SequenceFlowsourceRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#SequenceFlowtargetRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sequence Flowtarget Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Sequence Flowtarget Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#SequenceFlowtargetRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSequenceFlow__SequenceFlowtargetRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExpression <em>BPMN Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>BPMN Expression</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExpression
+ * @generated
+ */
+ EClass getBPMNExpression();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExpression#getBase_OpaqueExpression <em>Base Opaque Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Opaque Expression</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExpression#getBase_OpaqueExpression()
+ * @see #getBPMNExpression()
+ * @generated
+ */
+ EReference getBPMNExpression_Base_OpaqueExpression();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway <em>Event Based Gateway</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Event Based Gateway</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway
+ * @generated
+ */
+ EClass getEventBasedGateway();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway#isInstantiate <em>Instantiate</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Instantiate</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway#isInstantiate()
+ * @see #getEventBasedGateway()
+ * @generated
+ */
+ EAttribute getEventBasedGateway_Instantiate();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway#getEventGatewayType <em>Event Gateway Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Event Gateway Type</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway#getEventGatewayType()
+ * @see #getEventBasedGateway()
+ * @generated
+ */
+ EAttribute getEventBasedGateway_EventGatewayType();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway#getBase_ForkNode <em>Base Fork Node</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Fork Node</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway#getBase_ForkNode()
+ * @see #getEventBasedGateway()
+ * @generated
+ */
+ EReference getEventBasedGateway_Base_ForkNode();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway#getBase_StructuredActivityNode <em>Base Structured Activity Node</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Structured Activity Node</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway#getBase_StructuredActivityNode()
+ * @see #getEventBasedGateway()
+ * @generated
+ */
+ EReference getEventBasedGateway_Base_StructuredActivityNode();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway#getBase_InterruptibleActivityRegion <em>Base Interruptible Activity Region</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Interruptible Activity Region</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway#getBase_InterruptibleActivityRegion()
+ * @see #getEventBasedGateway()
+ * @generated
+ */
+ EReference getEventBasedGateway_Base_InterruptibleActivityRegion();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ParallelGateway <em>Parallel Gateway</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Parallel Gateway</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ParallelGateway
+ * @generated
+ */
+ EClass getParallelGateway();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ComplexGateway <em>Complex Gateway</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Complex Gateway</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ComplexGateway
+ * @generated
+ */
+ EClass getComplexGateway();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ComplexGateway#getDefault <em>Default</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Default</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ComplexGateway#getDefault()
+ * @see #getComplexGateway()
+ * @generated
+ */
+ EReference getComplexGateway_Default();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ComplexGateway#getActivationCondition <em>Activation Condition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Activation Condition</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ComplexGateway#getActivationCondition()
+ * @see #getComplexGateway()
+ * @generated
+ */
+ EReference getComplexGateway_ActivationCondition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ComplexGateway#complexGatewaydefault(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Complex Gatewaydefault</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Complex Gatewaydefault</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ComplexGateway#complexGatewaydefault(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getComplexGateway__ComplexGatewaydefault__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ComplexGateway#complexGatewayactivationCondition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Complex Gatewayactivation Condition</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Complex Gatewayactivation Condition</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ComplexGateway#complexGatewayactivationCondition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getComplexGateway__ComplexGatewayactivationCondition__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ComplexGateway#complexGatewayjoinSpec(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Complex Gatewayjoin Spec</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Complex Gatewayjoin Spec</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ComplexGateway#complexGatewayjoinSpec(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getComplexGateway__ComplexGatewayjoinSpec__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExclusiveGateway <em>Exclusive Gateway</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Exclusive Gateway</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ExclusiveGateway
+ * @generated
+ */
+ EClass getExclusiveGateway();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExclusiveGateway#getBase_DecisionNode <em>Base Decision Node</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Decision Node</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ExclusiveGateway#getBase_DecisionNode()
+ * @see #getExclusiveGateway()
+ * @generated
+ */
+ EReference getExclusiveGateway_Base_DecisionNode();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExclusiveGateway#getBase_MergeNode <em>Base Merge Node</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Merge Node</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ExclusiveGateway#getBase_MergeNode()
+ * @see #getExclusiveGateway()
+ * @generated
+ */
+ EReference getExclusiveGateway_Base_MergeNode();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExclusiveGateway#getDefault <em>Default</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Default</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ExclusiveGateway#getDefault()
+ * @see #getExclusiveGateway()
+ * @generated
+ */
+ EReference getExclusiveGateway_Default();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExclusiveGateway#exclusiveGatewaydefault(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Exclusive Gatewaydefault</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Exclusive Gatewaydefault</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ExclusiveGateway#exclusiveGatewaydefault(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getExclusiveGateway__ExclusiveGatewaydefault__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.RootElement <em>Root Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Root Element</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.RootElement
+ * @generated
+ */
+ EClass getRootElement();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.RootElement#getBase_PackageableElement <em>Base Packageable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Packageable Element</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.RootElement#getBase_PackageableElement()
+ * @see #getRootElement()
+ * @generated
+ */
+ EReference getRootElement_Base_PackageableElement();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.RootElement#getDefinition <em>Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Definition</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.RootElement#getDefinition()
+ * @see #getRootElement()
+ * @generated
+ */
+ EReference getRootElement_Definition();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Definitions <em>Definitions</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Definitions</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Definitions
+ * @generated
+ */
+ EClass getDefinitions();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getBase_Package <em>Base Package</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Package</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getBase_Package()
+ * @see #getDefinitions()
+ * @generated
+ */
+ EReference getDefinitions_Base_Package();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getTargetNamespace <em>Target Namespace</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Target Namespace</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getTargetNamespace()
+ * @see #getDefinitions()
+ * @generated
+ */
+ EAttribute getDefinitions_TargetNamespace();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getExpressionLanguage <em>Expression Language</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Expression Language</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getExpressionLanguage()
+ * @see #getDefinitions()
+ * @generated
+ */
+ EAttribute getDefinitions_ExpressionLanguage();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getTypeLanguage <em>Type Language</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Type Language</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getTypeLanguage()
+ * @see #getDefinitions()
+ * @generated
+ */
+ EAttribute getDefinitions_TypeLanguage();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getExporter <em>Exporter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Exporter</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getExporter()
+ * @see #getDefinitions()
+ * @generated
+ */
+ EAttribute getDefinitions_Exporter();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getExporterVersion <em>Exporter Version</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Exporter Version</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getExporterVersion()
+ * @see #getDefinitions()
+ * @generated
+ */
+ EAttribute getDefinitions_ExporterVersion();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getExtensions <em>Extensions</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Extensions</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getExtensions()
+ * @see #getDefinitions()
+ * @generated
+ */
+ EReference getDefinitions_Extensions();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getImports <em>Imports</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Imports</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getImports()
+ * @see #getDefinitions()
+ * @generated
+ */
+ EReference getDefinitions_Imports();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getRelationships <em>Relationships</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Relationships</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getRelationships()
+ * @see #getDefinitions()
+ * @generated
+ */
+ EReference getDefinitions_Relationships();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getRootElements <em>Root Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Root Elements</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getRootElements()
+ * @see #getDefinitions()
+ * @generated
+ */
+ EReference getDefinitions_RootElements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExtension <em>BPMN Extension</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>BPMN Extension</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExtension
+ * @generated
+ */
+ EClass getBPMNExtension();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExtension#getBase_Stereotype <em>Base Stereotype</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Stereotype</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExtension#getBase_Stereotype()
+ * @see #getBPMNExtension()
+ * @generated
+ */
+ EReference getBPMNExtension_Base_Stereotype();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExtension#isMustUnderstand <em>Must Understand</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Must Understand</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExtension#isMustUnderstand()
+ * @see #getBPMNExtension()
+ * @generated
+ */
+ EAttribute getBPMNExtension_MustUnderstand();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExtension#getDefinition <em>Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Definition</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExtension#getDefinition()
+ * @see #getBPMNExtension()
+ * @generated
+ */
+ EReference getBPMNExtension_Definition();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Import <em>Import</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Import</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Import
+ * @generated
+ */
+ EClass getImport();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Import#getBase_PackageImport <em>Base Package Import</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Package Import</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Import#getBase_PackageImport()
+ * @see #getImport()
+ * @generated
+ */
+ EReference getImport_Base_PackageImport();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Import#getImportType <em>Import Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Import Type</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Import#getImportType()
+ * @see #getImport()
+ * @generated
+ */
+ EAttribute getImport_ImportType();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Import#getLocation <em>Location</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Location</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Import#getLocation()
+ * @see #getImport()
+ * @generated
+ */
+ EAttribute getImport_Location();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Import#getNamespace <em>Namespace</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Namespace</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Import#getNamespace()
+ * @see #getImport()
+ * @generated
+ */
+ EAttribute getImport_Namespace();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Import#getDefinitions <em>Definitions</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Definitions</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Import#getDefinitions()
+ * @see #getImport()
+ * @generated
+ */
+ EReference getImport_Definitions();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship <em>BPMN Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>BPMN Relationship</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship
+ * @generated
+ */
+ EClass getBPMNRelationship();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship#getBase_Constraint <em>Base Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Constraint</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship#getBase_Constraint()
+ * @see #getBPMNRelationship()
+ * @generated
+ */
+ EReference getBPMNRelationship_Base_Constraint();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Type</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship#getType()
+ * @see #getBPMNRelationship()
+ * @generated
+ */
+ EAttribute getBPMNRelationship_Type();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship#getDirection <em>Direction</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Direction</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship#getDirection()
+ * @see #getBPMNRelationship()
+ * @generated
+ */
+ EAttribute getBPMNRelationship_Direction();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship#getTargets <em>Targets</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Targets</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship#getTargets()
+ * @see #getBPMNRelationship()
+ * @generated
+ */
+ EReference getBPMNRelationship_Targets();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship#getSources <em>Sources</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Sources</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship#getSources()
+ * @see #getBPMNRelationship()
+ * @generated
+ */
+ EReference getBPMNRelationship_Sources();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship#getDefinition <em>Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Definition</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship#getDefinition()
+ * @see #getBPMNRelationship()
+ * @generated
+ */
+ EReference getBPMNRelationship_Definition();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess <em>BPMN Process</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>BPMN Process</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess
+ * @generated
+ */
+ EClass getBPMNProcess();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getProcessType <em>Process Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Process Type</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getProcessType()
+ * @see #getBPMNProcess()
+ * @generated
+ */
+ EAttribute getBPMNProcess_ProcessType();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#isClosed <em>Is Closed</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Closed</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#isClosed()
+ * @see #getBPMNProcess()
+ * @generated
+ */
+ EAttribute getBPMNProcess_IsClosed();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getAuditing <em>Auditing</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Auditing</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getAuditing()
+ * @see #getBPMNProcess()
+ * @generated
+ */
+ EReference getBPMNProcess_Auditing();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#isExecutable <em>Is Executable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Executable</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#isExecutable()
+ * @see #getBPMNProcess()
+ * @generated
+ */
+ EAttribute getBPMNProcess_IsExecutable();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getDefinitionalCollaborationRef <em>Definitional Collaboration Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Definitional Collaboration Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getDefinitionalCollaborationRef()
+ * @see #getBPMNProcess()
+ * @generated
+ */
+ EReference getBPMNProcess_DefinitionalCollaborationRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getBase_Activity <em>Base Activity</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Activity</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getBase_Activity()
+ * @see #getBPMNProcess()
+ * @generated
+ */
+ EReference getBPMNProcess_Base_Activity();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getCorrelationSubscriptions <em>Correlation Subscriptions</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Correlation Subscriptions</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getCorrelationSubscriptions()
+ * @see #getBPMNProcess()
+ * @generated
+ */
+ EReference getBPMNProcess_CorrelationSubscriptions();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getMonitoring <em>Monitoring</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Monitoring</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getMonitoring()
+ * @see #getBPMNProcess()
+ * @generated
+ */
+ EReference getBPMNProcess_Monitoring();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getSupports <em>Supports</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Supports</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getSupports()
+ * @see #getBPMNProcess()
+ * @generated
+ */
+ EReference getBPMNProcess_Supports();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getProperties <em>Properties</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Properties</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getProperties()
+ * @see #getBPMNProcess()
+ * @generated
+ */
+ EReference getBPMNProcess_Properties();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getResources <em>Resources</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Resources</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getResources()
+ * @see #getBPMNProcess()
+ * @generated
+ */
+ EReference getBPMNProcess_Resources();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#ProcesssupportedInterfaceRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Processsupported Interface Refs</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Processsupported Interface Refs</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#ProcesssupportedInterfaceRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBPMNProcess__ProcesssupportedInterfaceRefs__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#Processsupports(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Processsupports</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Processsupports</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#Processsupports(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBPMNProcess__Processsupports__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#Processproperties(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Processproperties</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Processproperties</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#Processproperties(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBPMNProcess__Processproperties__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#ProcesslaneSets(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Processlane Sets</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Processlane Sets</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#ProcesslaneSets(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBPMNProcess__ProcesslaneSets__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#ProcessflowElements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Processflow Elements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Processflow Elements</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#ProcessflowElements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBPMNProcess__ProcessflowElements__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement <em>Callable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Callable Element</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement
+ * @generated
+ */
+ EClass getCallableElement();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement#getBase_Behavior <em>Base Behavior</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Behavior</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement#getBase_Behavior()
+ * @see #getCallableElement()
+ * @generated
+ */
+ EReference getCallableElement_Base_Behavior();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement#getIoSpecification <em>Io Specification</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Io Specification</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement#getIoSpecification()
+ * @see #getCallableElement()
+ * @generated
+ */
+ EReference getCallableElement_IoSpecification();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement#getSupportedInterfaceRefs <em>Supported Interface Refs</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Supported Interface Refs</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement#getSupportedInterfaceRefs()
+ * @see #getCallableElement()
+ * @generated
+ */
+ EReference getCallableElement_SupportedInterfaceRefs();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement#getIoBinding <em>Io Binding</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Io Binding</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement#getIoBinding()
+ * @see #getCallableElement()
+ * @generated
+ */
+ EReference getCallableElement_IoBinding();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement#CallableEelementsupportedInterfaceRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Callable Eelementsupported Interface Refs</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Callable Eelementsupported Interface Refs</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement#CallableEelementsupportedInterfaceRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getCallableElement__CallableEelementsupportedInterfaceRefs__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement#CallableElementresources(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Callable Elementresources</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Callable Elementresources</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement#CallableElementresources(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getCallableElement__CallableElementresources__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification <em>Input Output Specification</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Input Output Specification</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification
+ * @generated
+ */
+ EClass getInputOutputSpecification();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification#getBase_Behavior <em>Base Behavior</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Behavior</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification#getBase_Behavior()
+ * @see #getInputOutputSpecification()
+ * @generated
+ */
+ EReference getInputOutputSpecification_Base_Behavior();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification#getBase_Action <em>Base Action</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Action</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification#getBase_Action()
+ * @see #getInputOutputSpecification()
+ * @generated
+ */
+ EReference getInputOutputSpecification_Base_Action();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification#getDataInputs <em>Data Inputs</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Data Inputs</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification#getDataInputs()
+ * @see #getInputOutputSpecification()
+ * @generated
+ */
+ EReference getInputOutputSpecification_DataInputs();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification#getDataOutputs <em>Data Outputs</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Data Outputs</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification#getDataOutputs()
+ * @see #getInputOutputSpecification()
+ * @generated
+ */
+ EReference getInputOutputSpecification_DataOutputs();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification#getInputSets <em>Input Sets</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Input Sets</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification#getInputSets()
+ * @see #getInputOutputSpecification()
+ * @generated
+ */
+ EReference getInputOutputSpecification_InputSets();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification#getOutputSets <em>Output Sets</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Output Sets</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification#getOutputSets()
+ * @see #getInputOutputSpecification()
+ * @generated
+ */
+ EReference getInputOutputSpecification_OutputSets();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput <em>Data Input</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Data Input</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataInput
+ * @generated
+ */
+ EClass getDataInput();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#isCollection <em>Is Collection</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Collection</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#isCollection()
+ * @see #getDataInput()
+ * @generated
+ */
+ EAttribute getDataInput_IsCollection();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#getBase_InputPin <em>Base Input Pin</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Input Pin</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#getBase_InputPin()
+ * @see #getDataInput()
+ * @generated
+ */
+ EReference getDataInput_Base_InputPin();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#getBase_Parameter <em>Base Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Parameter</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#getBase_Parameter()
+ * @see #getDataInput()
+ * @generated
+ */
+ EReference getDataInput_Base_Parameter();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#getBase_ActivityParameterNode <em>Base Activity Parameter Node</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Activity Parameter Node</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#getBase_ActivityParameterNode()
+ * @see #getDataInput()
+ * @generated
+ */
+ EReference getDataInput_Base_ActivityParameterNode();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#getInputSetRefs <em>Input Set Refs</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Input Set Refs</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#getInputSetRefs()
+ * @see #getDataInput()
+ * @generated
+ */
+ EReference getDataInput_InputSetRefs();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#getInputSetWithOptional <em>Input Set With Optional</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Input Set With Optional</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#getInputSetWithOptional()
+ * @see #getDataInput()
+ * @generated
+ */
+ EReference getDataInput_InputSetWithOptional();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#getInputSetWithWhileExecuting <em>Input Set With While Executing</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Input Set With While Executing</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#getInputSetWithWhileExecuting()
+ * @see #getDataInput()
+ * @generated
+ */
+ EReference getDataInput_InputSetWithWhileExecuting();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#DataInputAssociation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Data Input Association</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Data Input Association</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#DataInputAssociation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getDataInput__DataInputAssociation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#DataInputnotation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Data Inputnotation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Data Inputnotation</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#DataInputnotation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getDataInput__DataInputnotation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#DataInputitemSubjectRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Data Inputitem Subject Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Data Inputitem Subject Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#DataInputitemSubjectRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getDataInput__DataInputitemSubjectRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemAwareElement <em>Item Aware Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Item Aware Element</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ItemAwareElement
+ * @generated
+ */
+ EClass getItemAwareElement();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemAwareElement#getDataState <em>Data State</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Data State</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ItemAwareElement#getDataState()
+ * @see #getItemAwareElement()
+ * @generated
+ */
+ EReference getItemAwareElement_DataState();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemAwareElement#getBase_TypedElement <em>Base Typed Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Typed Element</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ItemAwareElement#getBase_TypedElement()
+ * @see #getItemAwareElement()
+ * @generated
+ */
+ EReference getItemAwareElement_Base_TypedElement();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemAwareElement#getItemSubjectRef <em>Item Subject Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Item Subject Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ItemAwareElement#getItemSubjectRef()
+ * @see #getItemAwareElement()
+ * @generated
+ */
+ EReference getItemAwareElement_ItemSubjectRef();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemAwareElement#ItemAwareElementdataState(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Item Aware Elementdata State</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Item Aware Elementdata State</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ItemAwareElement#ItemAwareElementdataState(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getItemAwareElement__ItemAwareElementdataState__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataState <em>Data State</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Data State</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataState
+ * @generated
+ */
+ EClass getDataState();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataState#getBase_State <em>Base State</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base State</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataState#getBase_State()
+ * @see #getDataState()
+ * @generated
+ */
+ EReference getDataState_Base_State();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition <em>Item Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Item Definition</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition
+ * @generated
+ */
+ EClass getItemDefinition();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition#getItemKind <em>Item Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Item Kind</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition#getItemKind()
+ * @see #getItemDefinition()
+ * @generated
+ */
+ EAttribute getItemDefinition_ItemKind();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition#isCollection <em>Is Collection</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Collection</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition#isCollection()
+ * @see #getItemDefinition()
+ * @generated
+ */
+ EAttribute getItemDefinition_IsCollection();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition#getBase_Class <em>Base Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Class</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition#getBase_Class()
+ * @see #getItemDefinition()
+ * @generated
+ */
+ EReference getItemDefinition_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition#getStructureRef <em>Structure Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Structure Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition#getStructureRef()
+ * @see #getItemDefinition()
+ * @generated
+ */
+ EReference getItemDefinition_StructureRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition#getImport <em>Import</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Import</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition#getImport()
+ * @see #getItemDefinition()
+ * @generated
+ */
+ EReference getItemDefinition_Import();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition#ItemDefinitionstructureRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Item Definitionstructure Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Item Definitionstructure Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition#ItemDefinitionstructureRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getItemDefinition__ItemDefinitionstructureRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputSet <em>Input Set</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Input Set</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InputSet
+ * @generated
+ */
+ EClass getInputSet();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputSet#getBase_ParameterSet <em>Base Parameter Set</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Parameter Set</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InputSet#getBase_ParameterSet()
+ * @see #getInputSet()
+ * @generated
+ */
+ EReference getInputSet_Base_ParameterSet();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputSet#getOptionalInputRefs <em>Optional Input Refs</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Optional Input Refs</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InputSet#getOptionalInputRefs()
+ * @see #getInputSet()
+ * @generated
+ */
+ EReference getInputSet_OptionalInputRefs();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputSet#getWhileExecutingInputRefs <em>While Executing Input Refs</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>While Executing Input Refs</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InputSet#getWhileExecutingInputRefs()
+ * @see #getInputSet()
+ * @generated
+ */
+ EReference getInputSet_WhileExecutingInputRefs();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputSet#getDataInputRefs <em>Data Input Refs</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Data Input Refs</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InputSet#getDataInputRefs()
+ * @see #getInputSet()
+ * @generated
+ */
+ EReference getInputSet_DataInputRefs();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputSet#InputSetdataInputRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Input Setdata Input Refs</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Input Setdata Input Refs</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InputSet#InputSetdataInputRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getInputSet__InputSetdataInputRefs__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputSet#InputSetoptionalInputRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Input Setoptional Input Refs</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Input Setoptional Input Refs</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InputSet#InputSetoptionalInputRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getInputSet__InputSetoptionalInputRefs__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputSet#InputSetwhileExecutingInputRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Input Setwhile Executing Input Refs</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Input Setwhile Executing Input Refs</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InputSet#InputSetwhileExecutingInputRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getInputSet__InputSetwhileExecutingInputRefs__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput <em>Data Output</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Data Output</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput
+ * @generated
+ */
+ EClass getDataOutput();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#getBase_OutputPin <em>Base Output Pin</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Output Pin</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#getBase_OutputPin()
+ * @see #getDataOutput()
+ * @generated
+ */
+ EReference getDataOutput_Base_OutputPin();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#isCollection <em>Is Collection</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Collection</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#isCollection()
+ * @see #getDataOutput()
+ * @generated
+ */
+ EAttribute getDataOutput_IsCollection();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#getBase_Parameter <em>Base Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Parameter</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#getBase_Parameter()
+ * @see #getDataOutput()
+ * @generated
+ */
+ EReference getDataOutput_Base_Parameter();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#getBase_ActivityParameterNode <em>Base Activity Parameter Node</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Activity Parameter Node</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#getBase_ActivityParameterNode()
+ * @see #getDataOutput()
+ * @generated
+ */
+ EReference getDataOutput_Base_ActivityParameterNode();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#getOutputSetRefs <em>Output Set Refs</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Output Set Refs</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#getOutputSetRefs()
+ * @see #getDataOutput()
+ * @generated
+ */
+ EReference getDataOutput_OutputSetRefs();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#getOutputSetWithOptional <em>Output Set With Optional</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Output Set With Optional</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#getOutputSetWithOptional()
+ * @see #getDataOutput()
+ * @generated
+ */
+ EReference getDataOutput_OutputSetWithOptional();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#getOutputSetWithWhileExecuting <em>Output Set With While Executing</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Output Set With While Executing</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#getOutputSetWithWhileExecuting()
+ * @see #getDataOutput()
+ * @generated
+ */
+ EReference getDataOutput_OutputSetWithWhileExecuting();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#DataOutputnotation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Data Outputnotation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Data Outputnotation</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#DataOutputnotation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getDataOutput__DataOutputnotation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#DataOutputitemSubjectRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Data Outputitem Subject Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Data Outputitem Subject Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#DataOutputitemSubjectRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getDataOutput__DataOutputitemSubjectRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet <em>Output Set</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Output Set</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet
+ * @generated
+ */
+ EClass getOutputSet();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet#getBase_ParameterSet <em>Base Parameter Set</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Parameter Set</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet#getBase_ParameterSet()
+ * @see #getOutputSet()
+ * @generated
+ */
+ EReference getOutputSet_Base_ParameterSet();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet#getOptionalOutputRefs <em>Optional Output Refs</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Optional Output Refs</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet#getOptionalOutputRefs()
+ * @see #getOutputSet()
+ * @generated
+ */
+ EReference getOutputSet_OptionalOutputRefs();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet#getWhileExecutingOutputRefs <em>While Executing Output Refs</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>While Executing Output Refs</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet#getWhileExecutingOutputRefs()
+ * @see #getOutputSet()
+ * @generated
+ */
+ EReference getOutputSet_WhileExecutingOutputRefs();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet#getDataOutputRefs <em>Data Output Refs</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Data Output Refs</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet#getDataOutputRefs()
+ * @see #getOutputSet()
+ * @generated
+ */
+ EReference getOutputSet_DataOutputRefs();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet#OutputSetdataOutputRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Output Setdata Output Refs</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Output Setdata Output Refs</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet#OutputSetdataOutputRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getOutputSet__OutputSetdataOutputRefs__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet#OutputSetoptionalOutputRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Output Setoptional Output Refs</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Output Setoptional Output Refs</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet#OutputSetoptionalOutputRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getOutputSet__OutputSetoptionalOutputRefs__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet#OutputSetwhileExecutingOutputRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Output Setwhile Executing Output Refs</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Output Setwhile Executing Output Refs</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet#OutputSetwhileExecutingOutputRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getOutputSet__OutputSetwhileExecutingOutputRefs__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface <em>BPMN Interface</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>BPMN Interface</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface
+ * @generated
+ */
+ EClass getBPMNInterface();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface#getBase_Interface <em>Base Interface</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Interface</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface#getBase_Interface()
+ * @see #getBPMNInterface()
+ * @generated
+ */
+ EReference getBPMNInterface_Base_Interface();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface#getImplementationRef <em>Implementation Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Implementation Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface#getImplementationRef()
+ * @see #getBPMNInterface()
+ * @generated
+ */
+ EReference getBPMNInterface_ImplementationRef();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface#getOperations <em>Operations</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Operations</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface#getOperations()
+ * @see #getBPMNInterface()
+ * @generated
+ */
+ EReference getBPMNInterface_Operations();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface#getCallableElements <em>Callable Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Callable Elements</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface#getCallableElements()
+ * @see #getBPMNInterface()
+ * @generated
+ */
+ EReference getBPMNInterface_CallableElements();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface#Interfaceoperationmultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Interfaceoperationmultiplicity</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Interfaceoperationmultiplicity</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface#Interfaceoperationmultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBPMNInterface__Interfaceoperationmultiplicity__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface#InterfaceownedOperation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Interfaceowned Operation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Interfaceowned Operation</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface#InterfaceownedOperation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBPMNInterface__InterfaceownedOperation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface#BPMNInterfacecallableElements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>BPMN Interfacecallable Elements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>BPMN Interfacecallable Elements</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface#BPMNInterfacecallableElements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBPMNInterface__BPMNInterfacecallableElements__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface#BPMNInterfaceoperations(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>BPMN Interfaceoperations</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>BPMN Interfaceoperations</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface#BPMNInterfaceoperations(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBPMNInterface__BPMNInterfaceoperations__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation <em>BPMN Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>BPMN Operation</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation
+ * @generated
+ */
+ EClass getBPMNOperation();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation#getBase_Operation <em>Base Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Operation</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation#getBase_Operation()
+ * @see #getBPMNOperation()
+ * @generated
+ */
+ EReference getBPMNOperation_Base_Operation();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation#getImplementationRef <em>Implementation Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Implementation Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation#getImplementationRef()
+ * @see #getBPMNOperation()
+ * @generated
+ */
+ EReference getBPMNOperation_ImplementationRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation#getInMessageRef <em>In Message Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>In Message Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation#getInMessageRef()
+ * @see #getBPMNOperation()
+ * @generated
+ */
+ EReference getBPMNOperation_InMessageRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation#getOutMessageRef <em>Out Message Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Out Message Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation#getOutMessageRef()
+ * @see #getBPMNOperation()
+ * @generated
+ */
+ EReference getBPMNOperation_OutMessageRef();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation#getErrorRef <em>Error Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Error Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation#getErrorRef()
+ * @see #getBPMNOperation()
+ * @generated
+ */
+ EReference getBPMNOperation_ErrorRef();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation#BPMNOperationowner(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>BPMN Operationowner</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>BPMN Operationowner</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation#BPMNOperationowner(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBPMNOperation__BPMNOperationowner__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation#BPMNOperationinMessageRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>BPMN Operationin Message Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>BPMN Operationin Message Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation#BPMNOperationinMessageRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBPMNOperation__BPMNOperationinMessageRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation#BPMNOperationoutMessageRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>BPMN Operationout Message Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>BPMN Operationout Message Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation#BPMNOperationoutMessageRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBPMNOperation__BPMNOperationoutMessageRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation#BPMNOperationerrorRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>BPMN Operationerror Refs</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>BPMN Operationerror Refs</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation#BPMNOperationerrorRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBPMNOperation__BPMNOperationerrorRefs__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNMessage <em>BPMN Message</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>BPMN Message</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNMessage
+ * @generated
+ */
+ EClass getBPMNMessage();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNMessage#getItemRef <em>Item Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Item Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNMessage#getItemRef()
+ * @see #getBPMNMessage()
+ * @generated
+ */
+ EReference getBPMNMessage_ItemRef();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNMessage#MessageitemRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Messageitem Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Messageitem Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNMessage#MessageitemRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBPMNMessage__MessageitemRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Error <em>Error</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Error</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Error
+ * @generated
+ */
+ EClass getError();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Error#getErrorCode <em>Error Code</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Error Code</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Error#getErrorCode()
+ * @see #getError()
+ * @generated
+ */
+ EAttribute getError_ErrorCode();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputBinding <em>Input Output Binding</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Input Output Binding</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputBinding
+ * @generated
+ */
+ EClass getInputOutputBinding();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputBinding#getInputDataRef <em>Input Data Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Input Data Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputBinding#getInputDataRef()
+ * @see #getInputOutputBinding()
+ * @generated
+ */
+ EReference getInputOutputBinding_InputDataRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputBinding#getOutputDataRef <em>Output Data Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Output Data Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputBinding#getOutputDataRef()
+ * @see #getInputOutputBinding()
+ * @generated
+ */
+ EReference getInputOutputBinding_OutputDataRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputBinding#getOperationRef <em>Operation Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Operation Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputBinding#getOperationRef()
+ * @see #getInputOutputBinding()
+ * @generated
+ */
+ EReference getInputOutputBinding_OperationRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputBinding#getBase_Dependency <em>Base Dependency</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Dependency</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputBinding#getBase_Dependency()
+ * @see #getInputOutputBinding()
+ * @generated
+ */
+ EReference getInputOutputBinding_Base_Dependency();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration <em>BPMN Collaboration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>BPMN Collaboration</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration
+ * @generated
+ */
+ EClass getBPMNCollaboration();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#isClosed <em>Is Closed</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Closed</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#isClosed()
+ * @see #getBPMNCollaboration()
+ * @generated
+ */
+ EAttribute getBPMNCollaboration_IsClosed();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#getParticipantAssociations <em>Participant Associations</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Participant Associations</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#getParticipantAssociations()
+ * @see #getBPMNCollaboration()
+ * @generated
+ */
+ EReference getBPMNCollaboration_ParticipantAssociations();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#getConversationLinks <em>Conversation Links</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Conversation Links</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#getConversationLinks()
+ * @see #getBPMNCollaboration()
+ * @generated
+ */
+ EReference getBPMNCollaboration_ConversationLinks();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#getMessageFlowAssociations <em>Message Flow Associations</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Message Flow Associations</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#getMessageFlowAssociations()
+ * @see #getBPMNCollaboration()
+ * @generated
+ */
+ EReference getBPMNCollaboration_MessageFlowAssociations();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#getMessageFlows <em>Message Flows</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Message Flows</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#getMessageFlows()
+ * @see #getBPMNCollaboration()
+ * @generated
+ */
+ EReference getBPMNCollaboration_MessageFlows();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#getBase_Collaboration <em>Base Collaboration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Collaboration</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#getBase_Collaboration()
+ * @see #getBPMNCollaboration()
+ * @generated
+ */
+ EReference getBPMNCollaboration_Base_Collaboration();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#getConversations <em>Conversations</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Conversations</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#getConversations()
+ * @see #getBPMNCollaboration()
+ * @generated
+ */
+ EReference getBPMNCollaboration_Conversations();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#getCorrelationKeys <em>Correlation Keys</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Correlation Keys</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#getCorrelationKeys()
+ * @see #getBPMNCollaboration()
+ * @generated
+ */
+ EReference getBPMNCollaboration_CorrelationKeys();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#getParticipants <em>Participants</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Participants</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#getParticipants()
+ * @see #getBPMNCollaboration()
+ * @generated
+ */
+ EReference getBPMNCollaboration_Participants();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#Collaborationparticipants(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Collaborationparticipants</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Collaborationparticipants</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#Collaborationparticipants(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBPMNCollaboration__Collaborationparticipants__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation <em>Participant Association</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Participant Association</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation
+ * @generated
+ */
+ EClass getParticipantAssociation();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation#getBase_Dependency <em>Base Dependency</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Dependency</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation#getBase_Dependency()
+ * @see #getParticipantAssociation()
+ * @generated
+ */
+ EReference getParticipantAssociation_Base_Dependency();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation#getInnerParticipantRef <em>Inner Participant Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Inner Participant Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation#getInnerParticipantRef()
+ * @see #getParticipantAssociation()
+ * @generated
+ */
+ EReference getParticipantAssociation_InnerParticipantRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation#getOuterParticipantRef <em>Outer Participant Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Outer Participant Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation#getOuterParticipantRef()
+ * @see #getParticipantAssociation()
+ * @generated
+ */
+ EReference getParticipantAssociation_OuterParticipantRef();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation#ParticipantAssociationinnerParticipantRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Participant Associationinner Participant Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Participant Associationinner Participant Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation#ParticipantAssociationinnerParticipantRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getParticipantAssociation__ParticipantAssociationinnerParticipantRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation#ParticipantAssociationouterParticipantRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Participant Associationouter Participant Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Participant Associationouter Participant Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation#ParticipantAssociationouterParticipantRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getParticipantAssociation__ParticipantAssociationouterParticipantRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant <em>Participant</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Participant</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Participant
+ * @generated
+ */
+ EClass getParticipant();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant#getBase_Property <em>Base Property</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Property</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Participant#getBase_Property()
+ * @see #getParticipant()
+ * @generated
+ */
+ EReference getParticipant_Base_Property();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant#getProcessRef <em>Process Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Process Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Participant#getProcessRef()
+ * @see #getParticipant()
+ * @generated
+ */
+ EReference getParticipant_ProcessRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant#getParticipantMultiplicity <em>Participant Multiplicity</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Participant Multiplicity</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Participant#getParticipantMultiplicity()
+ * @see #getParticipant()
+ * @generated
+ */
+ EReference getParticipant_ParticipantMultiplicity();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant#getPartnerEntityRef <em>Partner Entity Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Partner Entity Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Participant#getPartnerEntityRef()
+ * @see #getParticipant()
+ * @generated
+ */
+ EReference getParticipant_PartnerEntityRef();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant#getPartnerRoleRef <em>Partner Role Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Partner Role Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Participant#getPartnerRoleRef()
+ * @see #getParticipant()
+ * @generated
+ */
+ EReference getParticipant_PartnerRoleRef();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant#getInterfaceRefs <em>Interface Refs</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Interface Refs</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Participant#getInterfaceRefs()
+ * @see #getParticipant()
+ * @generated
+ */
+ EReference getParticipant_InterfaceRefs();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant#Participantownership(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Participantownership</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Participantownership</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Participant#Participantownership(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getParticipant__Participantownership__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant#Participanttype(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Participanttype</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Participanttype</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Participant#Participanttype(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getParticipant__Participanttype__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant#ParticipantmultiplicityMinimum(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Participantmultiplicity Minimum</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Participantmultiplicity Minimum</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Participant#ParticipantmultiplicityMinimum(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getParticipant__ParticipantmultiplicityMinimum__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant#Participantrealizationsupplier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Participantrealizationsupplier</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Participantrealizationsupplier</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Participant#Participantrealizationsupplier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getParticipant__Participantrealizationsupplier__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant#ParticipantprocessRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Participantprocess Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Participantprocess Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Participant#ParticipantprocessRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getParticipant__ParticipantprocessRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant#ParticipantmultiplicityMaximum(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Participantmultiplicity Maximum</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Participantmultiplicity Maximum</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Participant#ParticipantmultiplicityMaximum(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getParticipant__ParticipantmultiplicityMaximum__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant#participantpartnerEntityRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Participantpartner Entity Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Participantpartner Entity Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Participant#participantpartnerEntityRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getParticipant__ParticipantpartnerEntityRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant#participantpartnerRoleRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Participantpartner Role Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Participantpartner Role Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Participant#participantpartnerRoleRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getParticipant__ParticipantpartnerRoleRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant#ParticipantinterfaceRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Participantinterface Refs</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Participantinterface Refs</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Participant#ParticipantinterfaceRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getParticipant__ParticipantinterfaceRefs__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode <em>Interaction Node</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Interaction Node</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode
+ * @generated
+ */
+ EClass getInteractionNode();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode#getBase_Element <em>Base Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Element</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode#getBase_Element()
+ * @see #getInteractionNode()
+ * @generated
+ */
+ EReference getInteractionNode_Base_Element();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode#getOutgoingConversationLinks <em>Outgoing Conversation Links</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Outgoing Conversation Links</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode#getOutgoingConversationLinks()
+ * @see #getInteractionNode()
+ * @generated
+ */
+ EReference getInteractionNode_OutgoingConversationLinks();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode#getIncomingConversationLinks <em>Incoming Conversation Links</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Incoming Conversation Links</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode#getIncomingConversationLinks()
+ * @see #getInteractionNode()
+ * @generated
+ */
+ EReference getInteractionNode_IncomingConversationLinks();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink <em>Conversation Link</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Conversation Link</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink
+ * @generated
+ */
+ EClass getConversationLink();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink#getCollaboration <em>Collaboration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Collaboration</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink#getCollaboration()
+ * @see #getConversationLink()
+ * @generated
+ */
+ EReference getConversationLink_Collaboration();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink#getBase_Dependency <em>Base Dependency</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Dependency</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink#getBase_Dependency()
+ * @see #getConversationLink()
+ * @generated
+ */
+ EReference getConversationLink_Base_Dependency();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink#getTargetRef <em>Target Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Target Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink#getTargetRef()
+ * @see #getConversationLink()
+ * @generated
+ */
+ EReference getConversationLink_TargetRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink#getSourceRef <em>Source Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Source Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink#getSourceRef()
+ * @see #getConversationLink()
+ * @generated
+ */
+ EReference getConversationLink_SourceRef();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantMultiplicity <em>Participant Multiplicity</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Participant Multiplicity</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantMultiplicity
+ * @generated
+ */
+ EClass getParticipantMultiplicity();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantMultiplicity#getBase_MultiplicityElement <em>Base Multiplicity Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Multiplicity Element</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantMultiplicity#getBase_MultiplicityElement()
+ * @see #getParticipantMultiplicity()
+ * @generated
+ */
+ EReference getParticipantMultiplicity_Base_MultiplicityElement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantMultiplicity#getMinimum <em>Minimum</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Minimum</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantMultiplicity#getMinimum()
+ * @see #getParticipantMultiplicity()
+ * @generated
+ */
+ EAttribute getParticipantMultiplicity_Minimum();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantMultiplicity#getMaximum <em>Maximum</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Maximum</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantMultiplicity#getMaximum()
+ * @see #getParticipantMultiplicity()
+ * @generated
+ */
+ EAttribute getParticipantMultiplicity_Maximum();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.PartnerEntity <em>Partner Entity</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Partner Entity</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.PartnerEntity
+ * @generated
+ */
+ EClass getPartnerEntity();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.PartnerEntity#getBase_InstanceSpecification <em>Base Instance Specification</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Instance Specification</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.PartnerEntity#getBase_InstanceSpecification()
+ * @see #getPartnerEntity()
+ * @generated
+ */
+ EReference getPartnerEntity_Base_InstanceSpecification();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.PartnerEntity#getParticipantRef <em>Participant Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Participant Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.PartnerEntity#getParticipantRef()
+ * @see #getPartnerEntity()
+ * @generated
+ */
+ EReference getPartnerEntity_ParticipantRef();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.PartnerEntity#PartnerEntityparticipantRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Partner Entityparticipant Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Partner Entityparticipant Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.PartnerEntity#PartnerEntityparticipantRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getPartnerEntity__PartnerEntityparticipantRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.PartnerRole <em>Partner Role</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Partner Role</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.PartnerRole
+ * @generated
+ */
+ EClass getPartnerRole();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.PartnerRole#getBase_Class <em>Base Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Class</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.PartnerRole#getBase_Class()
+ * @see #getPartnerRole()
+ * @generated
+ */
+ EReference getPartnerRole_Base_Class();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.PartnerRole#getParticipantRef <em>Participant Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Participant Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.PartnerRole#getParticipantRef()
+ * @see #getPartnerRole()
+ * @generated
+ */
+ EReference getPartnerRole_ParticipantRef();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.PartnerRole#PartnerRoleparticipantRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Partner Roleparticipant Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Partner Roleparticipant Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.PartnerRole#PartnerRoleparticipantRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getPartnerRole__PartnerRoleparticipantRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlowAssociation <em>Message Flow Association</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Message Flow Association</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlowAssociation
+ * @generated
+ */
+ EClass getMessageFlowAssociation();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlowAssociation#getBase_Dependency <em>Base Dependency</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Dependency</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlowAssociation#getBase_Dependency()
+ * @see #getMessageFlowAssociation()
+ * @generated
+ */
+ EReference getMessageFlowAssociation_Base_Dependency();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlowAssociation#getInnerMessageFlowRef <em>Inner Message Flow Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Inner Message Flow Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlowAssociation#getInnerMessageFlowRef()
+ * @see #getMessageFlowAssociation()
+ * @generated
+ */
+ EReference getMessageFlowAssociation_InnerMessageFlowRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlowAssociation#getOuterMessageFlowRef <em>Outer Message Flow Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Outer Message Flow Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlowAssociation#getOuterMessageFlowRef()
+ * @see #getMessageFlowAssociation()
+ * @generated
+ */
+ EReference getMessageFlowAssociation_OuterMessageFlowRef();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlowAssociation#MessageFlowAssociationinnerMessageFlowRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Message Flow Associationinner Message Flow Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Message Flow Associationinner Message Flow Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlowAssociation#MessageFlowAssociationinnerMessageFlowRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getMessageFlowAssociation__MessageFlowAssociationinnerMessageFlowRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlowAssociation#MessageFlowAssociationouterMessageFlowRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Message Flow Associationouter Message Flow Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Message Flow Associationouter Message Flow Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlowAssociation#MessageFlowAssociationouterMessageFlowRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getMessageFlowAssociation__MessageFlowAssociationouterMessageFlowRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow <em>Message Flow</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Message Flow</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow
+ * @generated
+ */
+ EClass getMessageFlow();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow#getBase_InformationFlow <em>Base Information Flow</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Information Flow</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow#getBase_InformationFlow()
+ * @see #getMessageFlow()
+ * @generated
+ */
+ EReference getMessageFlow_Base_InformationFlow();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow#getSourceRef <em>Source Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Source Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow#getSourceRef()
+ * @see #getMessageFlow()
+ * @generated
+ */
+ EReference getMessageFlow_SourceRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow#getTargetRef <em>Target Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Target Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow#getTargetRef()
+ * @see #getMessageFlow()
+ * @generated
+ */
+ EReference getMessageFlow_TargetRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow#getMessageRef <em>Message Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Message Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow#getMessageRef()
+ * @see #getMessageFlow()
+ * @generated
+ */
+ EReference getMessageFlow_MessageRef();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow#MessageFlowsourceRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Message Flowsource Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Message Flowsource Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow#MessageFlowsourceRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getMessageFlow__MessageFlowsourceRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow#MessageFlowtargetRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Message Flowtarget Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Message Flowtarget Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow#MessageFlowtargetRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getMessageFlow__MessageFlowtargetRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow#MessageFlowmessageRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Message Flowmessage Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Message Flowmessage Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow#MessageFlowmessageRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getMessageFlow__MessageFlowmessageRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationNode <em>Conversation Node</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Conversation Node</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ConversationNode
+ * @generated
+ */
+ EClass getConversationNode();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationNode#getBase_InformationFlow <em>Base Information Flow</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Information Flow</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ConversationNode#getBase_InformationFlow()
+ * @see #getConversationNode()
+ * @generated
+ */
+ EReference getConversationNode_Base_InformationFlow();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationNode#getMessageFlowRefs <em>Message Flow Refs</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Message Flow Refs</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ConversationNode#getMessageFlowRefs()
+ * @see #getConversationNode()
+ * @generated
+ */
+ EReference getConversationNode_MessageFlowRefs();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationNode#getCorrelationKeys <em>Correlation Keys</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Correlation Keys</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ConversationNode#getCorrelationKeys()
+ * @see #getConversationNode()
+ * @generated
+ */
+ EReference getConversationNode_CorrelationKeys();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationNode#getParticipantRefs <em>Participant Refs</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Participant Refs</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ConversationNode#getParticipantRefs()
+ * @see #getConversationNode()
+ * @generated
+ */
+ EReference getConversationNode_ParticipantRefs();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationNode#ConversationNodeparticipantRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Conversation Nodeparticipant Refs</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Conversation Nodeparticipant Refs</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ConversationNode#ConversationNodeparticipantRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getConversationNode__ConversationNodeparticipantRefs__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationKey <em>Correlation Key</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Correlation Key</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationKey
+ * @generated
+ */
+ EClass getCorrelationKey();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationKey#getBase_Class <em>Base Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Class</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationKey#getBase_Class()
+ * @see #getCorrelationKey()
+ * @generated
+ */
+ EReference getCorrelationKey_Base_Class();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationKey#getCorrelationPropertyRef <em>Correlation Property Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Correlation Property Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationKey#getCorrelationPropertyRef()
+ * @see #getCorrelationKey()
+ * @generated
+ */
+ EReference getCorrelationKey_CorrelationPropertyRef();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationProperty <em>Correlation Property</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Correlation Property</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationProperty
+ * @generated
+ */
+ EClass getCorrelationProperty();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationProperty#getBase_Property <em>Base Property</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Property</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationProperty#getBase_Property()
+ * @see #getCorrelationProperty()
+ * @generated
+ */
+ EReference getCorrelationProperty_Base_Property();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationProperty#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Type</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationProperty#getType()
+ * @see #getCorrelationProperty()
+ * @generated
+ */
+ EReference getCorrelationProperty_Type();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationProperty#getCorrelationPropertyRetrievalExpression <em>Correlation Property Retrieval Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Correlation Property Retrieval Expression</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationProperty#getCorrelationPropertyRetrievalExpression()
+ * @see #getCorrelationProperty()
+ * @generated
+ */
+ EReference getCorrelationProperty_CorrelationPropertyRetrievalExpression();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyRetrievalExpression <em>Correlation Property Retrieval Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Correlation Property Retrieval Expression</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyRetrievalExpression
+ * @generated
+ */
+ EClass getCorrelationPropertyRetrievalExpression();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyRetrievalExpression#getBase_Dependency <em>Base Dependency</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Dependency</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyRetrievalExpression#getBase_Dependency()
+ * @see #getCorrelationPropertyRetrievalExpression()
+ * @generated
+ */
+ EReference getCorrelationPropertyRetrievalExpression_Base_Dependency();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyRetrievalExpression#getMessageRef <em>Message Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Message Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyRetrievalExpression#getMessageRef()
+ * @see #getCorrelationPropertyRetrievalExpression()
+ * @generated
+ */
+ EReference getCorrelationPropertyRetrievalExpression_MessageRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyRetrievalExpression#getMessagePath <em>Message Path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Message Path</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyRetrievalExpression#getMessagePath()
+ * @see #getCorrelationPropertyRetrievalExpression()
+ * @generated
+ */
+ EReference getCorrelationPropertyRetrievalExpression_MessagePath();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.FormalExpression <em>Formal Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Formal Expression</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.FormalExpression
+ * @generated
+ */
+ EClass getFormalExpression();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.FormalExpression#getEvaluatesToTypeRef <em>Evaluates To Type Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Evaluates To Type Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.FormalExpression#getEvaluatesToTypeRef()
+ * @see #getFormalExpression()
+ * @generated
+ */
+ EReference getFormalExpression_EvaluatesToTypeRef();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.FormalExpression#FormalExpressionevaluatesToTypeRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Formal Expressionevaluates To Type Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Formal Expressionevaluates To Type Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.FormalExpression#FormalExpressionevaluatesToTypeRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getFormalExpression__FormalExpressionevaluatesToTypeRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationSubscription <em>Correlation Subscription</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Correlation Subscription</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationSubscription
+ * @generated
+ */
+ EClass getCorrelationSubscription();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationSubscription#getBase_Class <em>Base Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Class</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationSubscription#getBase_Class()
+ * @see #getCorrelationSubscription()
+ * @generated
+ */
+ EReference getCorrelationSubscription_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationSubscription#getCorrelationKeyRef <em>Correlation Key Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Correlation Key Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationSubscription#getCorrelationKeyRef()
+ * @see #getCorrelationSubscription()
+ * @generated
+ */
+ EReference getCorrelationSubscription_CorrelationKeyRef();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationSubscription#getCorrelationPropertyBinding <em>Correlation Property Binding</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Correlation Property Binding</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationSubscription#getCorrelationPropertyBinding()
+ * @see #getCorrelationSubscription()
+ * @generated
+ */
+ EReference getCorrelationSubscription_CorrelationPropertyBinding();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyBinding <em>Correlation Property Binding</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Correlation Property Binding</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyBinding
+ * @generated
+ */
+ EClass getCorrelationPropertyBinding();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyBinding#getBase_Property <em>Base Property</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Property</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyBinding#getBase_Property()
+ * @see #getCorrelationPropertyBinding()
+ * @generated
+ */
+ EReference getCorrelationPropertyBinding_Base_Property();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyBinding#getDataPath <em>Data Path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Data Path</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyBinding#getDataPath()
+ * @see #getCorrelationPropertyBinding()
+ * @generated
+ */
+ EReference getCorrelationPropertyBinding_DataPath();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyBinding#getCorrelationPropertyRef <em>Correlation Property Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Correlation Property Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyBinding#getCorrelationPropertyRef()
+ * @see #getCorrelationPropertyBinding()
+ * @generated
+ */
+ EReference getCorrelationPropertyBinding_CorrelationPropertyRef();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty <em>BPMN Property</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>BPMN Property</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty
+ * @generated
+ */
+ EClass getBPMNProperty();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty#getBase_DataStoreNode <em>Base Data Store Node</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Data Store Node</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty#getBase_DataStoreNode()
+ * @see #getBPMNProperty()
+ * @generated
+ */
+ EReference getBPMNProperty_Base_DataStoreNode();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty#getUmlProperty <em>Uml Property</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Uml Property</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty#getUmlProperty()
+ * @see #getBPMNProperty()
+ * @generated
+ */
+ EReference getBPMNProperty_UmlProperty();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty#Propertynotation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Propertynotation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Propertynotation</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty#Propertynotation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBPMNProperty__Propertynotation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty#BPMNPropertyapply(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>BPMN Propertyapply</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>BPMN Propertyapply</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty#BPMNPropertyapply(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBPMNProperty__BPMNPropertyapply__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole <em>Resource Role</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Resource Role</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole
+ * @generated
+ */
+ EClass getResourceRole();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#getBase_Property <em>Base Property</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Property</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#getBase_Property()
+ * @see #getResourceRole()
+ * @generated
+ */
+ EReference getResourceRole_Base_Property();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#getResourceAssignmentExpression <em>Resource Assignment Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Resource Assignment Expression</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#getResourceAssignmentExpression()
+ * @see #getResourceRole()
+ * @generated
+ */
+ EReference getResourceRole_ResourceAssignmentExpression();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#getResourceRef <em>Resource Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Resource Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#getResourceRef()
+ * @see #getResourceRole()
+ * @generated
+ */
+ EReference getResourceRole_ResourceRef();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#getResourceParameterBindings <em>Resource Parameter Bindings</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Resource Parameter Bindings</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#getResourceParameterBindings()
+ * @see #getResourceRole()
+ * @generated
+ */
+ EReference getResourceRole_ResourceParameterBindings();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#getProcess <em>Process</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Process</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#getProcess()
+ * @see #getResourceRole()
+ * @generated
+ */
+ EReference getResourceRole_Process();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#ResourceRoleowner(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Resource Roleowner</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Resource Roleowner</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#ResourceRoleowner(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getResourceRole__ResourceRoleowner__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#ResourceRoleresourceRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Resource Roleresource Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Resource Roleresource Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#ResourceRoleresourceRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getResourceRole__ResourceRoleresourceRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#ResourceRoleisRequired(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Resource Roleis Required</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Resource Roleis Required</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#ResourceRoleisRequired(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getResourceRole__ResourceRoleisRequired__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#ResourceRoleprocess(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Resource Roleprocess</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Resource Roleprocess</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#ResourceRoleprocess(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getResourceRole__ResourceRoleprocess__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#ResourceRoleresourceParameterBindings(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Resource Roleresource Parameter Bindings</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Resource Roleresource Parameter Bindings</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#ResourceRoleresourceParameterBindings(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getResourceRole__ResourceRoleresourceParameterBindings__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceAssignmentExpression <em>Resource Assignment Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Resource Assignment Expression</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceAssignmentExpression
+ * @generated
+ */
+ EClass getResourceAssignmentExpression();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceAssignmentExpression#getExpression <em>Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Expression</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceAssignmentExpression#getExpression()
+ * @see #getResourceAssignmentExpression()
+ * @generated
+ */
+ EReference getResourceAssignmentExpression_Expression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceAssignmentExpression#ResourceAssignmentExpressionexpression(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Resource Assignment Expressionexpression</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Resource Assignment Expressionexpression</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceAssignmentExpression#ResourceAssignmentExpressionexpression(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getResourceAssignmentExpression__ResourceAssignmentExpressionexpression__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Resource <em>Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Resource</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Resource
+ * @generated
+ */
+ EClass getResource();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Resource#getResourceParameters <em>Resource Parameters</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Resource Parameters</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Resource#getResourceParameters()
+ * @see #getResource()
+ * @generated
+ */
+ EReference getResource_ResourceParameters();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Resource#ResourceresourceParameters(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Resourceresource Parameters</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Resourceresource Parameters</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Resource#ResourceresourceParameters(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getResource__ResourceresourceParameters__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter <em>Resource Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Resource Parameter</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter
+ * @generated
+ */
+ EClass getResourceParameter();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter#getBase_Property <em>Base Property</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Property</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter#getBase_Property()
+ * @see #getResourceParameter()
+ * @generated
+ */
+ EReference getResourceParameter_Base_Property();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Type</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter#getType()
+ * @see #getResourceParameter()
+ * @generated
+ */
+ EReference getResourceParameter_Type();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter#isRequired <em>Is Required</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Required</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter#isRequired()
+ * @see #getResourceParameter()
+ * @generated
+ */
+ EAttribute getResourceParameter_IsRequired();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter#ResourceParameterowner(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Resource Parameterowner</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Resource Parameterowner</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter#ResourceParameterowner(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getResourceParameter__ResourceParameterowner__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter#ResourceParametertype(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Resource Parametertype</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Resource Parametertype</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter#ResourceParametertype(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getResourceParameter__ResourceParametertype__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter#ResourceParameterisRequired(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Resource Parameteris Required</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Resource Parameteris Required</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter#ResourceParameterisRequired(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getResourceParameter__ResourceParameterisRequired__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameterBinding <em>Resource Parameter Binding</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Resource Parameter Binding</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameterBinding
+ * @generated
+ */
+ EClass getResourceParameterBinding();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameterBinding#getBase_Slot <em>Base Slot</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Slot</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameterBinding#getBase_Slot()
+ * @see #getResourceParameterBinding()
+ * @generated
+ */
+ EReference getResourceParameterBinding_Base_Slot();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameterBinding#getParameterRef <em>Parameter Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Parameter Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameterBinding#getParameterRef()
+ * @see #getResourceParameterBinding()
+ * @generated
+ */
+ EReference getResourceParameterBinding_ParameterRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameterBinding#getExpression <em>Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Expression</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameterBinding#getExpression()
+ * @see #getResourceParameterBinding()
+ * @generated
+ */
+ EReference getResourceParameterBinding_Expression();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameterBinding#ResourceParameterBindingexpression(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Resource Parameter Bindingexpression</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Resource Parameter Bindingexpression</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameterBinding#ResourceParameterBindingexpression(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getResourceParameterBinding__ResourceParameterBindingexpression__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameterBinding#ResourceParameterBindingparameterRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Resource Parameter Bindingparameter Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Resource Parameter Bindingparameter Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameterBinding#ResourceParameterBindingparameterRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getResourceParameterBinding__ResourceParameterBindingparameterRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalScriptTask <em>Global Script Task</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Global Script Task</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.GlobalScriptTask
+ * @generated
+ */
+ EClass getGlobalScriptTask();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalScriptTask#getScript <em>Script</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Script</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.GlobalScriptTask#getScript()
+ * @see #getGlobalScriptTask()
+ * @generated
+ */
+ EAttribute getGlobalScriptTask_Script();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalScriptTask#getScriptFormat <em>Script Format</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Script Format</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.GlobalScriptTask#getScriptFormat()
+ * @see #getGlobalScriptTask()
+ * @generated
+ */
+ EAttribute getGlobalScriptTask_ScriptFormat();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalScriptTask#GlobalScriptTaskscriptFormat(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Global Script Taskscript Format</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Global Script Taskscript Format</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.GlobalScriptTask#GlobalScriptTaskscriptFormat(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getGlobalScriptTask__GlobalScriptTaskscriptFormat__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalScriptTask#GlobalScriptTaskscript(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Global Script Taskscript</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Global Script Taskscript</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.GlobalScriptTask#GlobalScriptTaskscript(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getGlobalScriptTask__GlobalScriptTaskscript__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalTask <em>Global Task</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Global Task</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.GlobalTask
+ * @generated
+ */
+ EClass getGlobalTask();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalTask#getBase_OpaqueBehavior <em>Base Opaque Behavior</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Opaque Behavior</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.GlobalTask#getBase_OpaqueBehavior()
+ * @see #getGlobalTask()
+ * @generated
+ */
+ EReference getGlobalTask_Base_OpaqueBehavior();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalTask#getResources <em>Resources</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Resources</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.GlobalTask#getResources()
+ * @see #getGlobalTask()
+ * @generated
+ */
+ EReference getGlobalTask_Resources();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalTask#GlobalTasksupportedInterfaceRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Global Tasksupported Interface Refs</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Global Tasksupported Interface Refs</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.GlobalTask#GlobalTasksupportedInterfaceRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getGlobalTask__GlobalTasksupportedInterfaceRefs__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalBusinessRuleTask <em>Global Business Rule Task</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Global Business Rule Task</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.GlobalBusinessRuleTask
+ * @generated
+ */
+ EClass getGlobalBusinessRuleTask();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalBusinessRuleTask#getImplementation <em>Implementation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Implementation</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.GlobalBusinessRuleTask#getImplementation()
+ * @see #getGlobalBusinessRuleTask()
+ * @generated
+ */
+ EAttribute getGlobalBusinessRuleTask_Implementation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalBusinessRuleTask#GlobalBusinessRuleTaskimplementation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Global Business Rule Taskimplementation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Global Business Rule Taskimplementation</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.GlobalBusinessRuleTask#GlobalBusinessRuleTaskimplementation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getGlobalBusinessRuleTask__GlobalBusinessRuleTaskimplementation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CompensateEventDefinition <em>Compensate Event Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Compensate Event Definition</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CompensateEventDefinition
+ * @generated
+ */
+ EClass getCompensateEventDefinition();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CompensateEventDefinition#isWaitForCompletion <em>Wait For Completion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Wait For Completion</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CompensateEventDefinition#isWaitForCompletion()
+ * @see #getCompensateEventDefinition()
+ * @generated
+ */
+ EAttribute getCompensateEventDefinition_WaitForCompletion();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CompensateEventDefinition#getActivityRef <em>Activity Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Activity Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CompensateEventDefinition#getActivityRef()
+ * @see #getCompensateEventDefinition()
+ * @generated
+ */
+ EReference getCompensateEventDefinition_ActivityRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CompensateEventDefinition#getBase_CallEvent <em>Base Call Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Call Event</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CompensateEventDefinition#getBase_CallEvent()
+ * @see #getCompensateEventDefinition()
+ * @generated
+ */
+ EReference getCompensateEventDefinition_Base_CallEvent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.EventDefinition <em>Event Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Event Definition</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.EventDefinition
+ * @generated
+ */
+ EClass getEventDefinition();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.EventDefinition#getBase_Event <em>Base Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Event</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.EventDefinition#getBase_Event()
+ * @see #getEventDefinition()
+ * @generated
+ */
+ EReference getEventDefinition_Base_Event();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity <em>BPMN Activity</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>BPMN Activity</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity
+ * @generated
+ */
+ EClass getBPMNActivity();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#isForCompensation <em>Is For Compensation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is For Compensation</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#isForCompensation()
+ * @see #getBPMNActivity()
+ * @generated
+ */
+ EAttribute getBPMNActivity_IsForCompensation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getStartQuantity <em>Start Quantity</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Start Quantity</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getStartQuantity()
+ * @see #getBPMNActivity()
+ * @generated
+ */
+ EAttribute getBPMNActivity_StartQuantity();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getCompletionQuantity <em>Completion Quantity</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Completion Quantity</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getCompletionQuantity()
+ * @see #getBPMNActivity()
+ * @generated
+ */
+ EAttribute getBPMNActivity_CompletionQuantity();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getBase_Action <em>Base Action</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Action</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getBase_Action()
+ * @see #getBPMNActivity()
+ * @generated
+ */
+ EReference getBPMNActivity_Base_Action();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getActivityClass <em>Activity Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Activity Class</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getActivityClass()
+ * @see #getBPMNActivity()
+ * @generated
+ */
+ EReference getBPMNActivity_ActivityClass();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getProperties <em>Properties</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Properties</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getProperties()
+ * @see #getBPMNActivity()
+ * @generated
+ */
+ EReference getBPMNActivity_Properties();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getDefault <em>Default</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Default</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getDefault()
+ * @see #getBPMNActivity()
+ * @generated
+ */
+ EReference getBPMNActivity_Default();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getBoundaryEventRefs <em>Boundary Event Refs</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Boundary Event Refs</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getBoundaryEventRefs()
+ * @see #getBPMNActivity()
+ * @generated
+ */
+ EReference getBPMNActivity_BoundaryEventRefs();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getDataInputAssociations <em>Data Input Associations</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Data Input Associations</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getDataInputAssociations()
+ * @see #getBPMNActivity()
+ * @generated
+ */
+ EReference getBPMNActivity_DataInputAssociations();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getDataOutputAssociations <em>Data Output Associations</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Data Output Associations</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getDataOutputAssociations()
+ * @see #getBPMNActivity()
+ * @generated
+ */
+ EReference getBPMNActivity_DataOutputAssociations();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getLoopCharacteristics <em>Loop Characteristics</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Loop Characteristics</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getLoopCharacteristics()
+ * @see #getBPMNActivity()
+ * @generated
+ */
+ EReference getBPMNActivity_LoopCharacteristics();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getResources <em>Resources</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Resources</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#getResources()
+ * @see #getBPMNActivity()
+ * @generated
+ */
+ EReference getBPMNActivity_Resources();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#BPMNActivityresources(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>BPMN Activityresources</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>BPMN Activityresources</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#BPMNActivityresources(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBPMNActivity__BPMNActivityresources__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#BPMNActivitycontainer(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>BPMN Activitycontainer</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>BPMN Activitycontainer</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#BPMNActivitycontainer(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBPMNActivity__BPMNActivitycontainer__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#BPMNActivityproperties(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>BPMN Activityproperties</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>BPMN Activityproperties</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#BPMNActivityproperties(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBPMNActivity__BPMNActivityproperties__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#BPMNActivitydefault(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>BPMN Activitydefault</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>BPMN Activitydefault</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#BPMNActivitydefault(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBPMNActivity__BPMNActivitydefault__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#BPMNActivityboundaryEventsRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>BPMN Activityboundary Events Refs</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>BPMN Activityboundary Events Refs</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#BPMNActivityboundaryEventsRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBPMNActivity__BPMNActivityboundaryEventsRefs__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#BPMNActivityloopCharacteristics(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>BPMN Activityloop Characteristics</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>BPMN Activityloop Characteristics</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity#BPMNActivityloopCharacteristics(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBPMNActivity__BPMNActivityloopCharacteristics__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BoundaryEvent <em>Boundary Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Boundary Event</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BoundaryEvent
+ * @generated
+ */
+ EClass getBoundaryEvent();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BoundaryEvent#isCancelActivity <em>Cancel Activity</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Cancel Activity</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BoundaryEvent#isCancelActivity()
+ * @see #getBoundaryEvent()
+ * @generated
+ */
+ EAttribute getBoundaryEvent_CancelActivity();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BoundaryEvent#getAttachedToRef <em>Attached To Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Attached To Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BoundaryEvent#getAttachedToRef()
+ * @see #getBoundaryEvent()
+ * @generated
+ */
+ EReference getBoundaryEvent_AttachedToRef();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BoundaryEvent#boundaryEventattachedToRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Boundary Eventattached To Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Boundary Eventattached To Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BoundaryEvent#boundaryEventattachedToRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBoundaryEvent__BoundaryEventattachedToRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CatchEvent <em>Catch Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Catch Event</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CatchEvent
+ * @generated
+ */
+ EClass getCatchEvent();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CatchEvent#isParallelMultiple <em>Parallel Multiple</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Parallel Multiple</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CatchEvent#isParallelMultiple()
+ * @see #getCatchEvent()
+ * @generated
+ */
+ EAttribute getCatchEvent_ParallelMultiple();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CatchEvent#getBase_AcceptEventAction <em>Base Accept Event Action</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Accept Event Action</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CatchEvent#getBase_AcceptEventAction()
+ * @see #getCatchEvent()
+ * @generated
+ */
+ EReference getCatchEvent_Base_AcceptEventAction();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CatchEvent#getBase_InitialNode <em>Base Initial Node</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Initial Node</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CatchEvent#getBase_InitialNode()
+ * @see #getCatchEvent()
+ * @generated
+ */
+ EReference getCatchEvent_Base_InitialNode();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CatchEvent#getDataOutputAssociation <em>Data Output Association</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Data Output Association</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CatchEvent#getDataOutputAssociation()
+ * @see #getCatchEvent()
+ * @generated
+ */
+ EReference getCatchEvent_DataOutputAssociation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CatchEvent#catchEventeventDefinitionsRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Catch Eventevent Definitions Refs</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Catch Eventevent Definitions Refs</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CatchEvent#catchEventeventDefinitionsRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getCatchEvent__CatchEventeventDefinitionsRefs__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNEvent <em>BPMN Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>BPMN Event</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNEvent
+ * @generated
+ */
+ EClass getBPMNEvent();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNEvent#getEventClass <em>Event Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Event Class</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNEvent#getEventClass()
+ * @see #getBPMNEvent()
+ * @generated
+ */
+ EReference getBPMNEvent_EventClass();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNEvent#get_eventDefinitions <em>event Definitions</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>event Definitions</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNEvent#get_eventDefinitions()
+ * @see #getBPMNEvent()
+ * @generated
+ */
+ EReference getBPMNEvent__eventDefinitions();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNEvent#getProperties <em>Properties</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Properties</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNEvent#getProperties()
+ * @see #getBPMNEvent()
+ * @generated
+ */
+ EReference getBPMNEvent_Properties();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNEvent#getEventDefinitionRefs <em>Event Definition Refs</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Event Definition Refs</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNEvent#getEventDefinitionRefs()
+ * @see #getBPMNEvent()
+ * @generated
+ */
+ EReference getBPMNEvent_EventDefinitionRefs();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutputAssociation <em>Data Output Association</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Data Output Association</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataOutputAssociation
+ * @generated
+ */
+ EClass getDataOutputAssociation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutputAssociation#dataOutputAssociationsource(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Data Output Associationsource</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Data Output Associationsource</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataOutputAssociation#dataOutputAssociationsource(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getDataOutputAssociation__DataOutputAssociationsource__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutputAssociation#dataOutputAssociationtarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Data Output Associationtarget</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Data Output Associationtarget</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataOutputAssociation#dataOutputAssociationtarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getDataOutputAssociation__DataOutputAssociationtarget__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation <em>Data Association</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Data Association</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation
+ * @generated
+ */
+ EClass getDataAssociation();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation#getBase_ObjectFlow <em>Base Object Flow</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Object Flow</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation#getBase_ObjectFlow()
+ * @see #getDataAssociation()
+ * @generated
+ */
+ EReference getDataAssociation_Base_ObjectFlow();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation#getSourceRef <em>Source Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Source Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation#getSourceRef()
+ * @see #getDataAssociation()
+ * @generated
+ */
+ EReference getDataAssociation_SourceRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation#getTargetRef <em>Target Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Target Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation#getTargetRef()
+ * @see #getDataAssociation()
+ * @generated
+ */
+ EReference getDataAssociation_TargetRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation#getTransformation <em>Transformation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Transformation</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation#getTransformation()
+ * @see #getDataAssociation()
+ * @generated
+ */
+ EReference getDataAssociation_Transformation();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation#getAssignment <em>Assignment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Assignment</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation#getAssignment()
+ * @see #getDataAssociation()
+ * @generated
+ */
+ EReference getDataAssociation_Assignment();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation#DataAssociationsource(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Data Associationsource</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Data Associationsource</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation#DataAssociationsource(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getDataAssociation__DataAssociationsource__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation#DataAssociationtransformation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Data Associationtransformation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Data Associationtransformation</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation#DataAssociationtransformation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getDataAssociation__DataAssociationtransformation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation#DataAssociationtarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Data Associationtarget</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Data Associationtarget</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation#DataAssociationtarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getDataAssociation__DataAssociationtarget__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Assignment <em>Assignment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Assignment</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Assignment
+ * @generated
+ */
+ EClass getAssignment();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Assignment#getBase_Dependency <em>Base Dependency</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Dependency</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Assignment#getBase_Dependency()
+ * @see #getAssignment()
+ * @generated
+ */
+ EReference getAssignment_Base_Dependency();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Assignment#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>From</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Assignment#getFrom()
+ * @see #getAssignment()
+ * @generated
+ */
+ EReference getAssignment_From();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Assignment#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>To</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Assignment#getTo()
+ * @see #getAssignment()
+ * @generated
+ */
+ EReference getAssignment_To();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInputAssociation <em>Data Input Association</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Data Input Association</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataInputAssociation
+ * @generated
+ */
+ EClass getDataInputAssociation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInputAssociation#dataInputAssociationsource(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Data Input Associationsource</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Data Input Associationsource</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataInputAssociation#dataInputAssociationsource(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getDataInputAssociation__DataInputAssociationsource__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInputAssociation#dataInputAssociationtarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Data Input Associationtarget</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Data Input Associationtarget</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataInputAssociation#dataInputAssociationtarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getDataInputAssociation__DataInputAssociationtarget__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.LoopCharacteristics <em>Loop Characteristics</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Loop Characteristics</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.LoopCharacteristics
+ * @generated
+ */
+ EClass getLoopCharacteristics();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.LoopCharacteristics#getBase_StructuredActivityNode <em>Base Structured Activity Node</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Structured Activity Node</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.LoopCharacteristics#getBase_StructuredActivityNode()
+ * @see #getLoopCharacteristics()
+ * @generated
+ */
+ EReference getLoopCharacteristics_Base_StructuredActivityNode();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.EscalationEventDefinition <em>Escalation Event Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Escalation Event Definition</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.EscalationEventDefinition
+ * @generated
+ */
+ EClass getEscalationEventDefinition();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.EscalationEventDefinition#getEscalationRef <em>Escalation Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Escalation Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.EscalationEventDefinition#getEscalationRef()
+ * @see #getEscalationEventDefinition()
+ * @generated
+ */
+ EReference getEscalationEventDefinition_EscalationRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.EscalationEventDefinition#getBase_CallEvent <em>Base Call Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Call Event</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.EscalationEventDefinition#getBase_CallEvent()
+ * @see #getEscalationEventDefinition()
+ * @generated
+ */
+ EReference getEscalationEventDefinition_Base_CallEvent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Escalation <em>Escalation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Escalation</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Escalation
+ * @generated
+ */
+ EClass getEscalation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Escalation#getEscalationCode <em>Escalation Code</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Escalation Code</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Escalation#getEscalationCode()
+ * @see #getEscalation()
+ * @generated
+ */
+ EAttribute getEscalation_EscalationCode();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Escalation#EscalationstructureRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Escalationstructure Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Escalationstructure Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Escalation#EscalationstructureRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getEscalation__EscalationstructureRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.TimerEventDefinition <em>Timer Event Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Timer Event Definition</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.TimerEventDefinition
+ * @generated
+ */
+ EClass getTimerEventDefinition();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.TimerEventDefinition#getTimeCycle <em>Time Cycle</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Time Cycle</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.TimerEventDefinition#getTimeCycle()
+ * @see #getTimerEventDefinition()
+ * @generated
+ */
+ EReference getTimerEventDefinition_TimeCycle();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.TimerEventDefinition#getTimeDate <em>Time Date</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Time Date</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.TimerEventDefinition#getTimeDate()
+ * @see #getTimerEventDefinition()
+ * @generated
+ */
+ EReference getTimerEventDefinition_TimeDate();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.TimerEventDefinition#getTimeDuration <em>Time Duration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Time Duration</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.TimerEventDefinition#getTimeDuration()
+ * @see #getTimerEventDefinition()
+ * @generated
+ */
+ EReference getTimerEventDefinition_TimeDuration();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.TimerEventDefinition#getBase_ChangeEvent <em>Base Change Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Change Event</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.TimerEventDefinition#getBase_ChangeEvent()
+ * @see #getTimerEventDefinition()
+ * @generated
+ */
+ EReference getTimerEventDefinition_Base_ChangeEvent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SignalEventDefinition <em>Signal Event Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Signal Event Definition</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SignalEventDefinition
+ * @generated
+ */
+ EClass getSignalEventDefinition();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SignalEventDefinition#getSignalRef <em>Signal Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Signal Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SignalEventDefinition#getSignalRef()
+ * @see #getSignalEventDefinition()
+ * @generated
+ */
+ EReference getSignalEventDefinition_SignalRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SignalEventDefinition#getBase_CallEvent <em>Base Call Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Call Event</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SignalEventDefinition#getBase_CallEvent()
+ * @see #getSignalEventDefinition()
+ * @generated
+ */
+ EReference getSignalEventDefinition_Base_CallEvent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNSignal <em>BPMN Signal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>BPMN Signal</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNSignal
+ * @generated
+ */
+ EClass getBPMNSignal();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNSignal#BPMNSignalstructureRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>BPMN Signalstructure Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>BPMN Signalstructure Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNSignal#BPMNSignalstructureRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBPMNSignal__BPMNSignalstructureRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.EndEvent <em>End Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>End Event</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.EndEvent
+ * @generated
+ */
+ EClass getEndEvent();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.EndEvent#getBase_FinalNode <em>Base Final Node</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Final Node</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.EndEvent#getBase_FinalNode()
+ * @see #getEndEvent()
+ * @generated
+ */
+ EReference getEndEvent_Base_FinalNode();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ThrowEvent <em>Throw Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Throw Event</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ThrowEvent
+ * @generated
+ */
+ EClass getThrowEvent();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ThrowEvent#getBase_CallOperationAction <em>Base Call Operation Action</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Call Operation Action</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ThrowEvent#getBase_CallOperationAction()
+ * @see #getThrowEvent()
+ * @generated
+ */
+ EReference getThrowEvent_Base_CallOperationAction();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ThrowEvent#getBase_FlowFinalNode <em>Base Flow Final Node</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Flow Final Node</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ThrowEvent#getBase_FlowFinalNode()
+ * @see #getThrowEvent()
+ * @generated
+ */
+ EReference getThrowEvent_Base_FlowFinalNode();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ThrowEvent#getDataInputAssociation <em>Data Input Association</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Data Input Association</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ThrowEvent#getDataInputAssociation()
+ * @see #getThrowEvent()
+ * @generated
+ */
+ EReference getThrowEvent_DataInputAssociation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ThrowEvent#ThrowEventeventDefinitionRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Throw Eventevent Definition Refs</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Throw Eventevent Definition Refs</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ThrowEvent#ThrowEventeventDefinitionRefs(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getThrowEvent__ThrowEventeventDefinitionRefs__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageEventDefinition <em>Message Event Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Message Event Definition</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MessageEventDefinition
+ * @generated
+ */
+ EClass getMessageEventDefinition();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageEventDefinition#getMessageRef <em>Message Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Message Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MessageEventDefinition#getMessageRef()
+ * @see #getMessageEventDefinition()
+ * @generated
+ */
+ EReference getMessageEventDefinition_MessageRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageEventDefinition#getOperationRef <em>Operation Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Operation Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MessageEventDefinition#getOperationRef()
+ * @see #getMessageEventDefinition()
+ * @generated
+ */
+ EReference getMessageEventDefinition_OperationRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageEventDefinition#getBase_CallEvent <em>Base Call Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Call Event</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MessageEventDefinition#getBase_CallEvent()
+ * @see #getMessageEventDefinition()
+ * @generated
+ */
+ EReference getMessageEventDefinition_Base_CallEvent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.StartEvent <em>Start Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Start Event</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.StartEvent
+ * @generated
+ */
+ EClass getStartEvent();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.StartEvent#isInterrupting <em>Is Interrupting</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Interrupting</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.StartEvent#isInterrupting()
+ * @see #getStartEvent()
+ * @generated
+ */
+ EAttribute getStartEvent_IsInterrupting();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConditionalEventDefinition <em>Conditional Event Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Conditional Event Definition</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ConditionalEventDefinition
+ * @generated
+ */
+ EClass getConditionalEventDefinition();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConditionalEventDefinition#getBase_ChangeEvent <em>Base Change Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Change Event</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ConditionalEventDefinition#getBase_ChangeEvent()
+ * @see #getConditionalEventDefinition()
+ * @generated
+ */
+ EReference getConditionalEventDefinition_Base_ChangeEvent();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConditionalEventDefinition#getCondition <em>Condition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Condition</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ConditionalEventDefinition#getCondition()
+ * @see #getConditionalEventDefinition()
+ * @generated
+ */
+ EReference getConditionalEventDefinition_Condition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConditionalEventDefinition#conditionalEventDefinitioncondition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Conditional Event Definitioncondition</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Conditional Event Definitioncondition</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ConditionalEventDefinition#conditionalEventDefinitioncondition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getConditionalEventDefinition__ConditionalEventDefinitioncondition__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.LinkEventDefinition <em>Link Event Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Link Event Definition</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.LinkEventDefinition
+ * @generated
+ */
+ EClass getLinkEventDefinition();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.LinkEventDefinition#get_target <em>target</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>target</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.LinkEventDefinition#get_target()
+ * @see #getLinkEventDefinition()
+ * @generated
+ */
+ EReference getLinkEventDefinition__target();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.LinkEventDefinition#getSource <em>Source</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Source</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.LinkEventDefinition#getSource()
+ * @see #getLinkEventDefinition()
+ * @generated
+ */
+ EReference getLinkEventDefinition_Source();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.LinkEventDefinition#getBase_CallEvent <em>Base Call Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Call Event</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.LinkEventDefinition#getBase_CallEvent()
+ * @see #getLinkEventDefinition()
+ * @generated
+ */
+ EReference getLinkEventDefinition_Base_CallEvent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ErrorEventDefinition <em>Error Event Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Error Event Definition</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ErrorEventDefinition
+ * @generated
+ */
+ EClass getErrorEventDefinition();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ErrorEventDefinition#getErrorRef <em>Error Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Error Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ErrorEventDefinition#getErrorRef()
+ * @see #getErrorEventDefinition()
+ * @generated
+ */
+ EReference getErrorEventDefinition_ErrorRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ErrorEventDefinition#getBase_CallEvent <em>Base Call Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Call Event</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ErrorEventDefinition#getBase_CallEvent()
+ * @see #getErrorEventDefinition()
+ * @generated
+ */
+ EReference getErrorEventDefinition_Base_CallEvent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.IntermediateCatchEvent <em>Intermediate Catch Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Intermediate Catch Event</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.IntermediateCatchEvent
+ * @generated
+ */
+ EClass getIntermediateCatchEvent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.IntermediateThrowEvent <em>Intermediate Throw Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Intermediate Throw Event</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.IntermediateThrowEvent
+ * @generated
+ */
+ EClass getIntermediateThrowEvent();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.IntermediateThrowEvent#getBase_SendObjectAction <em>Base Send Object Action</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Send Object Action</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.IntermediateThrowEvent#getBase_SendObjectAction()
+ * @see #getIntermediateThrowEvent()
+ * @generated
+ */
+ EReference getIntermediateThrowEvent_Base_SendObjectAction();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.TerminateEventDefinition <em>Terminate Event Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Terminate Event Definition</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.TerminateEventDefinition
+ * @generated
+ */
+ EClass getTerminateEventDefinition();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.TerminateEventDefinition#getBase_CallEvent <em>Base Call Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Call Event</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.TerminateEventDefinition#getBase_CallEvent()
+ * @see #getTerminateEventDefinition()
+ * @generated
+ */
+ EReference getTerminateEventDefinition_Base_CallEvent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ImplicitThrowEvent <em>Implicit Throw Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Implicit Throw Event</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ImplicitThrowEvent
+ * @generated
+ */
+ EClass getImplicitThrowEvent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CancelEventDefinition <em>Cancel Event Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Cancel Event Definition</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CancelEventDefinition
+ * @generated
+ */
+ EClass getCancelEventDefinition();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CancelEventDefinition#getBase_CallEvent <em>Base Call Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Call Event</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CancelEventDefinition#getBase_CallEvent()
+ * @see #getCancelEventDefinition()
+ * @generated
+ */
+ EReference getCancelEventDefinition_Base_CallEvent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.TextAnnotation <em>Text Annotation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Text Annotation</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.TextAnnotation
+ * @generated
+ */
+ EClass getTextAnnotation();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.TextAnnotation#getBase_Comment <em>Base Comment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Comment</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.TextAnnotation#getBase_Comment()
+ * @see #getTextAnnotation()
+ * @generated
+ */
+ EReference getTextAnnotation_Base_Comment();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.TextAnnotation#getTextFormat <em>Text Format</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Text Format</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.TextAnnotation#getTextFormat()
+ * @see #getTextAnnotation()
+ * @generated
+ */
+ EAttribute getTextAnnotation_TextFormat();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.TextAnnotation#getText <em>Text</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Text</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.TextAnnotation#getText()
+ * @see #getTextAnnotation()
+ * @generated
+ */
+ EAttribute getTextAnnotation_Text();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Category <em>Category</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Category</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Category
+ * @generated
+ */
+ EClass getCategory();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Category#getBase_Enumeration <em>Base Enumeration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Enumeration</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Category#getBase_Enumeration()
+ * @see #getCategory()
+ * @generated
+ */
+ EReference getCategory_Base_Enumeration();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Category#getCategoryValue <em>Category Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Category Value</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Category#getCategoryValue()
+ * @see #getCategory()
+ * @generated
+ */
+ EReference getCategory_CategoryValue();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Group <em>Group</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Group</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Group
+ * @generated
+ */
+ EClass getGroup();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Group#getBase_ActivityPartition <em>Base Activity Partition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Activity Partition</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Group#getBase_ActivityPartition()
+ * @see #getGroup()
+ * @generated
+ */
+ EReference getGroup_Base_ActivityPartition();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Group#get_categoryValueRef <em>category Value Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>category Value Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Group#get_categoryValueRef()
+ * @see #getGroup()
+ * @generated
+ */
+ EReference getGroup__categoryValueRef();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataObjectReference <em>Data Object Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Data Object Reference</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataObjectReference
+ * @generated
+ */
+ EClass getDataObjectReference();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataObjectReference#getDataObjectRef <em>Data Object Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Data Object Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataObjectReference#getDataObjectRef()
+ * @see #getDataObjectReference()
+ * @generated
+ */
+ EReference getDataObjectReference_DataObjectRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataObjectReference#getBase_DataStoreNode <em>Base Data Store Node</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Data Store Node</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataObjectReference#getBase_DataStoreNode()
+ * @see #getDataObjectReference()
+ * @generated
+ */
+ EReference getDataObjectReference_Base_DataStoreNode();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataObjectReference#DataObjectRefsourcetarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Data Object Refsourcetarget</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Data Object Refsourcetarget</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataObjectReference#DataObjectRefsourcetarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getDataObjectReference__DataObjectRefsourcetarget__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataObjectReference#DataObjectRefdataState(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Data Object Refdata State</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Data Object Refdata State</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataObjectReference#DataObjectRefdataState(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getDataObjectReference__DataObjectRefdataState__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataObject <em>Data Object</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Data Object</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataObject
+ * @generated
+ */
+ EClass getDataObject();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataObject#isCollection <em>Is Collection</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Collection</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataObject#isCollection()
+ * @see #getDataObject()
+ * @generated
+ */
+ EAttribute getDataObject_IsCollection();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataObject#getBase_DataStoreNode <em>Base Data Store Node</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Data Store Node</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataObject#getBase_DataStoreNode()
+ * @see #getDataObject()
+ * @generated
+ */
+ EReference getDataObject_Base_DataStoreNode();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataObject#DataObjectdataState(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Data Objectdata State</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Data Objectdata State</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataObject#DataObjectdataState(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getDataObject__DataObjectdataState__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataStore <em>Data Store</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Data Store</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataStore
+ * @generated
+ */
+ EClass getDataStore();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataStore#getCapacity <em>Capacity</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Capacity</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataStore#getCapacity()
+ * @see #getDataStore()
+ * @generated
+ */
+ EAttribute getDataStore_Capacity();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataStore#isUnlimited <em>Is Unlimited</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Unlimited</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataStore#isUnlimited()
+ * @see #getDataStore()
+ * @generated
+ */
+ EAttribute getDataStore_IsUnlimited();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataStore#getBase_Class <em>Base Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Class</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataStore#getBase_Class()
+ * @see #getDataStore()
+ * @generated
+ */
+ EReference getDataStore_Base_Class();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataStore#getItemSubjectRef <em>Item Subject Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Item Subject Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataStore#getItemSubjectRef()
+ * @see #getDataStore()
+ * @generated
+ */
+ EReference getDataStore_ItemSubjectRef();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataStoreReference <em>Data Store Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Data Store Reference</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataStoreReference
+ * @generated
+ */
+ EClass getDataStoreReference();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataStoreReference#get_dataStore <em>data Store</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>data Store</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataStoreReference#get_dataStore()
+ * @see #getDataStoreReference()
+ * @generated
+ */
+ EReference getDataStoreReference__dataStore();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataStoreReference#getBase_DataStoreNode <em>Base Data Store Node</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Data Store Node</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataStoreReference#getBase_DataStoreNode()
+ * @see #getDataStoreReference()
+ * @generated
+ */
+ EReference getDataStoreReference_Base_DataStoreNode();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.UserTask <em>User Task</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>User Task</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.UserTask
+ * @generated
+ */
+ EClass getUserTask();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.UserTask#getBase_OpaqueAction <em>Base Opaque Action</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Opaque Action</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.UserTask#getBase_OpaqueAction()
+ * @see #getUserTask()
+ * @generated
+ */
+ EReference getUserTask_Base_OpaqueAction();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.UserTask#getImplementation <em>Implementation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Implementation</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.UserTask#getImplementation()
+ * @see #getUserTask()
+ * @generated
+ */
+ EAttribute getUserTask_Implementation();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.UserTask#getRenderings <em>Renderings</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Renderings</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.UserTask#getRenderings()
+ * @see #getUserTask()
+ * @generated
+ */
+ EReference getUserTask_Renderings();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.UserTask#UserTaskimplementation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>User Taskimplementation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>User Taskimplementation</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.UserTask#UserTaskimplementation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getUserTask__UserTaskimplementation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.UserTask#UserTaskrenderings(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>User Taskrenderings</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>User Taskrenderings</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.UserTask#UserTaskrenderings(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getUserTask__UserTaskrenderings__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Task <em>Task</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Task</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Task
+ * @generated
+ */
+ EClass getTask();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Task#getIoSpecification <em>Io Specification</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Io Specification</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Task#getIoSpecification()
+ * @see #getTask()
+ * @generated
+ */
+ EReference getTask_IoSpecification();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Rendering <em>Rendering</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Rendering</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Rendering
+ * @generated
+ */
+ EClass getRendering();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Rendering#getBase_Image <em>Base Image</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Image</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Rendering#getBase_Image()
+ * @see #getRendering()
+ * @generated
+ */
+ EReference getRendering_Base_Image();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.HumanPerformer <em>Human Performer</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Human Performer</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.HumanPerformer
+ * @generated
+ */
+ EClass getHumanPerformer();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Performer <em>Performer</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Performer</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Performer
+ * @generated
+ */
+ EClass getPerformer();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalUserTask <em>Global User Task</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Global User Task</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.GlobalUserTask
+ * @generated
+ */
+ EClass getGlobalUserTask();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalUserTask#getImplementation <em>Implementation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Implementation</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.GlobalUserTask#getImplementation()
+ * @see #getGlobalUserTask()
+ * @generated
+ */
+ EAttribute getGlobalUserTask_Implementation();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalUserTask#getRenderings <em>Renderings</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Renderings</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.GlobalUserTask#getRenderings()
+ * @see #getGlobalUserTask()
+ * @generated
+ */
+ EReference getGlobalUserTask_Renderings();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalUserTask#GlobalUserTaskrenderings(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Global User Taskrenderings</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Global User Taskrenderings</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.GlobalUserTask#GlobalUserTaskrenderings(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getGlobalUserTask__GlobalUserTaskrenderings__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalUserTask#GlobalUserTaskimplementation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Global User Taskimplementation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Global User Taskimplementation</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.GlobalUserTask#GlobalUserTaskimplementation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getGlobalUserTask__GlobalUserTaskimplementation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalManualTask <em>Global Manual Task</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Global Manual Task</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.GlobalManualTask
+ * @generated
+ */
+ EClass getGlobalManualTask();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ManualTask <em>Manual Task</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Manual Task</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ManualTask
+ * @generated
+ */
+ EClass getManualTask();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ManualTask#getBase_OpaqueAction <em>Base Opaque Action</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Opaque Action</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ManualTask#getBase_OpaqueAction()
+ * @see #getManualTask()
+ * @generated
+ */
+ EReference getManualTask_Base_OpaqueAction();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.PotentialOwner <em>Potential Owner</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Potential Owner</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.PotentialOwner
+ * @generated
+ */
+ EClass getPotentialOwner();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SubConversation <em>Sub Conversation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Sub Conversation</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SubConversation
+ * @generated
+ */
+ EClass getSubConversation();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SubConversation#getConversationNodes <em>Conversation Nodes</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Conversation Nodes</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SubConversation#getConversationNodes()
+ * @see #getSubConversation()
+ * @generated
+ */
+ EReference getSubConversation_ConversationNodes();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SubConversation#SubConversationconnectedelements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sub Conversationconnectedelements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Sub Conversationconnectedelements</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SubConversation#SubConversationconnectedelements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSubConversation__SubConversationconnectedelements__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalConversation <em>Global Conversation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Global Conversation</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.GlobalConversation
+ * @generated
+ */
+ EClass getGlobalConversation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalConversation#GlobalConversationcontainedelements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Global Conversationcontainedelements</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Global Conversationcontainedelements</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.GlobalConversation#GlobalConversationcontainedelements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getGlobalConversation__GlobalConversationcontainedelements__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallConversation <em>Call Conversation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Call Conversation</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CallConversation
+ * @generated
+ */
+ EClass getCallConversation();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallConversation#get_collaborationUse <em>collaboration Use</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>collaboration Use</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CallConversation#get_collaborationUse()
+ * @see #getCallConversation()
+ * @generated
+ */
+ EReference getCallConversation__collaborationUse();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallConversation#getCalledCollaborationRef <em>Called Collaboration Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Called Collaboration Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CallConversation#getCalledCollaborationRef()
+ * @see #getCallConversation()
+ * @generated
+ */
+ EReference getCallConversation_CalledCollaborationRef();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallConversation#getParticipantAssociations <em>Participant Associations</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Participant Associations</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CallConversation#getParticipantAssociations()
+ * @see #getCallConversation()
+ * @generated
+ */
+ EReference getCallConversation_ParticipantAssociations();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallConversation#CallConversationcalledCollaborationRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Call Conversationcalled Collaboration Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Call Conversationcalled Collaboration Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CallConversation#CallConversationcalledCollaborationRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getCallConversation__CallConversationcalledCollaborationRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallConversation#CallConversationparticipantAssociations(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Call Conversationparticipant Associations</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Call Conversationparticipant Associations</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CallConversation#CallConversationparticipantAssociations(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getCallConversation__CallConversationparticipantAssociations__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Conversation <em>Conversation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Conversation</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Conversation
+ * @generated
+ */
+ EClass getConversation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SubProcess <em>Sub Process</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Sub Process</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SubProcess
+ * @generated
+ */
+ EClass getSubProcess();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SubProcess#isTriggeredByEvent <em>Triggered By Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Triggered By Event</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SubProcess#isTriggeredByEvent()
+ * @see #getSubProcess()
+ * @generated
+ */
+ EAttribute getSubProcess_TriggeredByEvent();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SubProcess#getBase_StructuredActivityNode <em>Base Structured Activity Node</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Structured Activity Node</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SubProcess#getBase_StructuredActivityNode()
+ * @see #getSubProcess()
+ * @generated
+ */
+ EReference getSubProcess_Base_StructuredActivityNode();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SubProcess#getHasLaneSets <em>Has Lane Sets</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Has Lane Sets</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SubProcess#getHasLaneSets()
+ * @see #getSubProcess()
+ * @generated
+ */
+ EReference getSubProcess_HasLaneSets();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SubProcess#SubProcesstriggeredByEvent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Sub Processtriggered By Event</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Sub Processtriggered By Event</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SubProcess#SubProcesstriggeredByEvent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSubProcess__SubProcesstriggeredByEvent__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallActivity <em>Call Activity</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Call Activity</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CallActivity
+ * @generated
+ */
+ EClass getCallActivity();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallActivity#getBase_CallBehaviorAction <em>Base Call Behavior Action</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Call Behavior Action</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CallActivity#getBase_CallBehaviorAction()
+ * @see #getCallActivity()
+ * @generated
+ */
+ EReference getCallActivity_Base_CallBehaviorAction();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallActivity#getCalledElementRef <em>Called Element Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Called Element Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CallActivity#getCalledElementRef()
+ * @see #getCallActivity()
+ * @generated
+ */
+ EReference getCallActivity_CalledElementRef();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallActivity#CallActivitycalledElementRefvalues(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Call Activitycalled Element Refvalues</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Call Activitycalled Element Refvalues</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CallActivity#CallActivitycalledElementRefvalues(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getCallActivity__CallActivitycalledElementRefvalues__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BusinessRuleTask <em>Business Rule Task</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Business Rule Task</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BusinessRuleTask
+ * @generated
+ */
+ EClass getBusinessRuleTask();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BusinessRuleTask#getBase_OpaqueAction <em>Base Opaque Action</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Opaque Action</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BusinessRuleTask#getBase_OpaqueAction()
+ * @see #getBusinessRuleTask()
+ * @generated
+ */
+ EReference getBusinessRuleTask_Base_OpaqueAction();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BusinessRuleTask#getImplementation <em>Implementation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Implementation</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BusinessRuleTask#getImplementation()
+ * @see #getBusinessRuleTask()
+ * @generated
+ */
+ EAttribute getBusinessRuleTask_Implementation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BusinessRuleTask#BusinessRuleTaskimplementation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Business Rule Taskimplementation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Business Rule Taskimplementation</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BusinessRuleTask#BusinessRuleTaskimplementation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getBusinessRuleTask__BusinessRuleTaskimplementation__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ComplexBehaviorDefinition <em>Complex Behavior Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Complex Behavior Definition</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ComplexBehaviorDefinition
+ * @generated
+ */
+ EClass getComplexBehaviorDefinition();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ComplexBehaviorDefinition#getCondition <em>Condition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Condition</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ComplexBehaviorDefinition#getCondition()
+ * @see #getComplexBehaviorDefinition()
+ * @generated
+ */
+ EReference getComplexBehaviorDefinition_Condition();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ComplexBehaviorDefinition#getEvent <em>Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Event</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ComplexBehaviorDefinition#getEvent()
+ * @see #getComplexBehaviorDefinition()
+ * @generated
+ */
+ EReference getComplexBehaviorDefinition_Event();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ComplexBehaviorDefinition#getBase_ControlFlow <em>Base Control Flow</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Control Flow</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ComplexBehaviorDefinition#getBase_ControlFlow()
+ * @see #getComplexBehaviorDefinition()
+ * @generated
+ */
+ EReference getComplexBehaviorDefinition_Base_ControlFlow();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.AdHocSubProcess <em>Ad Hoc Sub Process</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ad Hoc Sub Process</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.AdHocSubProcess
+ * @generated
+ */
+ EClass getAdHocSubProcess();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.AdHocSubProcess#getCompletionCondition <em>Completion Condition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Completion Condition</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.AdHocSubProcess#getCompletionCondition()
+ * @see #getAdHocSubProcess()
+ * @generated
+ */
+ EReference getAdHocSubProcess_CompletionCondition();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.AdHocSubProcess#getOrdering <em>Ordering</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Ordering</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.AdHocSubProcess#getOrdering()
+ * @see #getAdHocSubProcess()
+ * @generated
+ */
+ EAttribute getAdHocSubProcess_Ordering();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.AdHocSubProcess#isCancelRemainingInstances <em>Cancel Remaining Instances</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Cancel Remaining Instances</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.AdHocSubProcess#isCancelRemainingInstances()
+ * @see #getAdHocSubProcess()
+ * @generated
+ */
+ EAttribute getAdHocSubProcess_CancelRemainingInstances();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.AdHocSubProcess#AdHocSubProcesscancelRemainingInstances(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Ad Hoc Sub Processcancel Remaining Instances</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Ad Hoc Sub Processcancel Remaining Instances</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.AdHocSubProcess#AdHocSubProcesscancelRemainingInstances(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getAdHocSubProcess__AdHocSubProcesscancelRemainingInstances__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ScriptTask <em>Script Task</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Script Task</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ScriptTask
+ * @generated
+ */
+ EClass getScriptTask();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ScriptTask#getBase_OpaqueAction <em>Base Opaque Action</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Opaque Action</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ScriptTask#getBase_OpaqueAction()
+ * @see #getScriptTask()
+ * @generated
+ */
+ EReference getScriptTask_Base_OpaqueAction();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ScriptTask#getScriptFormat <em>Script Format</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Script Format</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ScriptTask#getScriptFormat()
+ * @see #getScriptTask()
+ * @generated
+ */
+ EAttribute getScriptTask_ScriptFormat();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ScriptTask#getScript <em>Script</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Script</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ScriptTask#getScript()
+ * @see #getScriptTask()
+ * @generated
+ */
+ EAttribute getScriptTask_Script();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ScriptTask#ScriptTaskscriptFormat(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Script Taskscript Format</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Script Taskscript Format</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ScriptTask#ScriptTaskscriptFormat(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getScriptTask__ScriptTaskscriptFormat__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ScriptTask#ScriptTaskscript(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Script Taskscript</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Script Taskscript</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ScriptTask#ScriptTaskscript(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getScriptTask__ScriptTaskscript__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SendTask <em>Send Task</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Send Task</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SendTask
+ * @generated
+ */
+ EClass getSendTask();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SendTask#getMessageRef <em>Message Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Message Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SendTask#getMessageRef()
+ * @see #getSendTask()
+ * @generated
+ */
+ EReference getSendTask_MessageRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SendTask#getBase_CallOperationAction <em>Base Call Operation Action</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Call Operation Action</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SendTask#getBase_CallOperationAction()
+ * @see #getSendTask()
+ * @generated
+ */
+ EReference getSendTask_Base_CallOperationAction();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SendTask#getImplementation <em>Implementation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Implementation</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SendTask#getImplementation()
+ * @see #getSendTask()
+ * @generated
+ */
+ EAttribute getSendTask_Implementation();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SendTask#getOperationRef <em>Operation Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Operation Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SendTask#getOperationRef()
+ * @see #getSendTask()
+ * @generated
+ */
+ EReference getSendTask_OperationRef();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SendTask#SendTaskoperationRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Send Taskoperation Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Send Taskoperation Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SendTask#SendTaskoperationRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getSendTask__SendTaskoperationRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Transaction <em>Transaction</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Transaction</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Transaction
+ * @generated
+ */
+ EClass getTransaction();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Transaction#getMethod <em>Method</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Method</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Transaction#getMethod()
+ * @see #getTransaction()
+ * @generated
+ */
+ EAttribute getTransaction_Method();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics <em>Standard Loop Characteristics</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Standard Loop Characteristics</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics
+ * @generated
+ */
+ EClass getStandardLoopCharacteristics();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics#getLoopMaximum <em>Loop Maximum</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Loop Maximum</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics#getLoopMaximum()
+ * @see #getStandardLoopCharacteristics()
+ * @generated
+ */
+ EAttribute getStandardLoopCharacteristics_LoopMaximum();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics#getBase_LoopNode <em>Base Loop Node</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Loop Node</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics#getBase_LoopNode()
+ * @see #getStandardLoopCharacteristics()
+ * @generated
+ */
+ EReference getStandardLoopCharacteristics_Base_LoopNode();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics#isTestBefore <em>Test Before</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Test Before</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics#isTestBefore()
+ * @see #getStandardLoopCharacteristics()
+ * @generated
+ */
+ EAttribute getStandardLoopCharacteristics_TestBefore();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics#getLoopCondition <em>Loop Condition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Loop Condition</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics#getLoopCondition()
+ * @see #getStandardLoopCharacteristics()
+ * @generated
+ */
+ EReference getStandardLoopCharacteristics_LoopCondition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics#StandardLoopCharacteristicstestBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Standard Loop Characteristicstest Before</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Standard Loop Characteristicstest Before</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics#StandardLoopCharacteristicstestBefore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getStandardLoopCharacteristics__StandardLoopCharacteristicstestBefore__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics#StandardLoopCharacteristicsloopCondition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Standard Loop Characteristicsloop Condition</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Standard Loop Characteristicsloop Condition</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics#StandardLoopCharacteristicsloopCondition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getStandardLoopCharacteristics__StandardLoopCharacteristicsloopCondition__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask <em>Receive Task</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Receive Task</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask
+ * @generated
+ */
+ EClass getReceiveTask();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask#getMessageRef <em>Message Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Message Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask#getMessageRef()
+ * @see #getReceiveTask()
+ * @generated
+ */
+ EReference getReceiveTask_MessageRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask#getBase_AcceptEventAction <em>Base Accept Event Action</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Accept Event Action</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask#getBase_AcceptEventAction()
+ * @see #getReceiveTask()
+ * @generated
+ */
+ EReference getReceiveTask_Base_AcceptEventAction();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask#getImplementation <em>Implementation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Implementation</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask#getImplementation()
+ * @see #getReceiveTask()
+ * @generated
+ */
+ EAttribute getReceiveTask_Implementation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask#isInstantiate <em>Instantiate</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Instantiate</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask#isInstantiate()
+ * @see #getReceiveTask()
+ * @generated
+ */
+ EAttribute getReceiveTask_Instantiate();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask#getOperationRef <em>Operation Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Operation Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask#getOperationRef()
+ * @see #getReceiveTask()
+ * @generated
+ */
+ EReference getReceiveTask_OperationRef();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask#ReceiveTaskoperationRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Receive Taskoperation Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Receive Taskoperation Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask#ReceiveTaskoperationRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getReceiveTask__ReceiveTaskoperationRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ServiceTask <em>Service Task</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Service Task</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ServiceTask
+ * @generated
+ */
+ EClass getServiceTask();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ServiceTask#getBase_CallOperationAction <em>Base Call Operation Action</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Call Operation Action</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ServiceTask#getBase_CallOperationAction()
+ * @see #getServiceTask()
+ * @generated
+ */
+ EReference getServiceTask_Base_CallOperationAction();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ServiceTask#getImplementation <em>Implementation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Implementation</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ServiceTask#getImplementation()
+ * @see #getServiceTask()
+ * @generated
+ */
+ EAttribute getServiceTask_Implementation();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ServiceTask#getOperationRef <em>Operation Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Operation Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ServiceTask#getOperationRef()
+ * @see #getServiceTask()
+ * @generated
+ */
+ EReference getServiceTask_OperationRef();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ServiceTask#ServiceTaskinputSet(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Service Taskinput Set</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Service Taskinput Set</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ServiceTask#ServiceTaskinputSet(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getServiceTask__ServiceTaskinputSet__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ServiceTask#ServiceTaskoutputSet(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Service Taskoutput Set</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Service Taskoutput Set</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ServiceTask#ServiceTaskoutputSet(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getServiceTask__ServiceTaskoutputSet__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ServiceTask#ServiceTaskoperationRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Service Taskoperation Ref</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Service Taskoperation Ref</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ServiceTask#ServiceTaskoperationRef(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getServiceTask__ServiceTaskoperationRef__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics <em>Multi Instance Loop Characteristics</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Multi Instance Loop Characteristics</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics
+ * @generated
+ */
+ EClass getMultiInstanceLoopCharacteristics();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getBehavior <em>Behavior</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Behavior</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getBehavior()
+ * @see #getMultiInstanceLoopCharacteristics()
+ * @generated
+ */
+ EAttribute getMultiInstanceLoopCharacteristics_Behavior();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getLoopCardinality <em>Loop Cardinality</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Loop Cardinality</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getLoopCardinality()
+ * @see #getMultiInstanceLoopCharacteristics()
+ * @generated
+ */
+ EReference getMultiInstanceLoopCharacteristics_LoopCardinality();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getCompletionCondition <em>Completion Condition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Completion Condition</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getCompletionCondition()
+ * @see #getMultiInstanceLoopCharacteristics()
+ * @generated
+ */
+ EReference getMultiInstanceLoopCharacteristics_CompletionCondition();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getBase_ExpansionRegion <em>Base Expansion Region</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Expansion Region</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getBase_ExpansionRegion()
+ * @see #getMultiInstanceLoopCharacteristics()
+ * @generated
+ */
+ EReference getMultiInstanceLoopCharacteristics_Base_ExpansionRegion();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#isSequential <em>Is Sequential</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Sequential</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#isSequential()
+ * @see #getMultiInstanceLoopCharacteristics()
+ * @generated
+ */
+ EAttribute getMultiInstanceLoopCharacteristics_IsSequential();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getLoopDataInputRef <em>Loop Data Input Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Loop Data Input Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getLoopDataInputRef()
+ * @see #getMultiInstanceLoopCharacteristics()
+ * @generated
+ */
+ EReference getMultiInstanceLoopCharacteristics_LoopDataInputRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getLoopDataOutputRef <em>Loop Data Output Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Loop Data Output Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getLoopDataOutputRef()
+ * @see #getMultiInstanceLoopCharacteristics()
+ * @generated
+ */
+ EReference getMultiInstanceLoopCharacteristics_LoopDataOutputRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getOutputDataItem <em>Output Data Item</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Output Data Item</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getOutputDataItem()
+ * @see #getMultiInstanceLoopCharacteristics()
+ * @generated
+ */
+ EReference getMultiInstanceLoopCharacteristics_OutputDataItem();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getInputDataItem <em>Input Data Item</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Input Data Item</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getInputDataItem()
+ * @see #getMultiInstanceLoopCharacteristics()
+ * @generated
+ */
+ EReference getMultiInstanceLoopCharacteristics_InputDataItem();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getOneBehaviorEventRef <em>One Behavior Event Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>One Behavior Event Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getOneBehaviorEventRef()
+ * @see #getMultiInstanceLoopCharacteristics()
+ * @generated
+ */
+ EReference getMultiInstanceLoopCharacteristics_OneBehaviorEventRef();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getNoneBehaviorEventRef <em>None Behavior Event Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>None Behavior Event Ref</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getNoneBehaviorEventRef()
+ * @see #getMultiInstanceLoopCharacteristics()
+ * @generated
+ */
+ EReference getMultiInstanceLoopCharacteristics_NoneBehaviorEventRef();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getComplexBehaviorDefinition <em>Complex Behavior Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Complex Behavior Definition</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getComplexBehaviorDefinition()
+ * @see #getMultiInstanceLoopCharacteristics()
+ * @generated
+ */
+ EReference getMultiInstanceLoopCharacteristics_ComplexBehaviorDefinition();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#MultiinstanceLoopCharacteristicstarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Multiinstance Loop Characteristicstarget</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Multiinstance Loop Characteristicstarget</em>' operation.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#MultiinstanceLoopCharacteristicstarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated
+ */
+ EOperation getMultiInstanceLoopCharacteristics__MultiinstanceLoopCharacteristicstarget__DiagnosticChain_Map();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.bpmn.BPMNProfile.AssociationDirection <em>Association Direction</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Association Direction</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.AssociationDirection
+ * @generated
+ */
+ EEnum getAssociationDirection();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGatewayType <em>Event Based Gateway Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Event Based Gateway Type</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGatewayType
+ * @generated
+ */
+ EEnum getEventBasedGatewayType();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.bpmn.BPMNProfile.GatewayDirection <em>Gateway Direction</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Gateway Direction</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.GatewayDirection
+ * @generated
+ */
+ EEnum getGatewayDirection();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.bpmn.BPMNProfile.RelationshipDirection <em>Relationship Direction</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Relationship Direction</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.RelationshipDirection
+ * @generated
+ */
+ EEnum getRelationshipDirection();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemKind <em>Item Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Item Kind</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ItemKind
+ * @generated
+ */
+ EEnum getItemKind();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ProcessType <em>Process Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Process Type</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ProcessType
+ * @generated
+ */
+ EEnum getProcessType();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.bpmn.BPMNProfile.AdHocOrdering <em>Ad Hoc Ordering</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Ad Hoc Ordering</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.AdHocOrdering
+ * @generated
+ */
+ EEnum getAdHocOrdering();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceBehavior <em>Multi Instance Behavior</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Multi Instance Behavior</em>'.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceBehavior
+ * @generated
+ */
+ EEnum getMultiInstanceBehavior();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ BPMNProfileFactory getBPMNProfileFactory();
+
+} //BPMNProfilePackage
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNProperty.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNProperty.java
new file mode 100644
index 00000000000..51122af2e55
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNProperty.java
@@ -0,0 +1,113 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>BPMN Property</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty#getBase_DataStoreNode <em>Base Data Store Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty#getUmlProperty <em>Uml Property</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNProperty()
+ * @model
+ * @generated
+ */
+public interface BPMNProperty extends ItemAwareElement {
+ /**
+ * Returns the value of the '<em><b>Base Data Store Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Data Store Node</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Data Store Node</em>' reference.
+ * @see #setBase_DataStoreNode(DataStoreNode)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNProperty_Base_DataStoreNode()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ DataStoreNode getBase_DataStoreNode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty#getBase_DataStoreNode <em>Base Data Store Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Data Store Node</em>' reference.
+ * @see #getBase_DataStoreNode()
+ * @generated
+ */
+ void setBase_DataStoreNode(DataStoreNode value);
+
+ /**
+ * Returns the value of the '<em><b>Uml Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Uml Property</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Uml Property</em>' reference.
+ * @see #setUmlProperty(Property)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNProperty_UmlProperty()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Property getUmlProperty();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty#getUmlProperty <em>Uml Property</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Uml Property</em>' reference.
+ * @see #getUmlProperty()
+ * @generated
+ */
+ void setUmlProperty(Property value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Property elements are NOT
+ * visible in a Process diagram.
+ * Figure
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Property.notation'"
+ * @generated
+ */
+ boolean Propertynotation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * may be applied only for:
+ * pin owned by CallActivity or Task
+ * Parameter owned by BPMNProcess
+ * Variable owned by SubProcess
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='BPMNProperty.apply'"
+ * @generated
+ */
+ boolean BPMNPropertyapply(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // BPMNProperty
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNRelationship.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNRelationship.java
new file mode 100644
index 00000000000..cda0b249185
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNRelationship.java
@@ -0,0 +1,171 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>BPMN Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship#getBase_Constraint <em>Base Constraint</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship#getDirection <em>Direction</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship#getTargets <em>Targets</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship#getSources <em>Sources</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship#getDefinition <em>Definition</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNRelationship()
+ * @model
+ * @generated
+ */
+public interface BPMNRelationship extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Constraint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Constraint</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Constraint</em>' reference.
+ * @see #setBase_Constraint(Constraint)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNRelationship_Base_Constraint()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Constraint getBase_Constraint();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship#getBase_Constraint <em>Base Constraint</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Constraint</em>' reference.
+ * @see #getBase_Constraint()
+ * @generated
+ */
+ void setBase_Constraint(Constraint value);
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type</em>' attribute.
+ * @see #setType(String)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNRelationship_Type()
+ * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship#getType <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' attribute.
+ * @see #getType()
+ * @generated
+ */
+ void setType(String value);
+
+ /**
+ * Returns the value of the '<em><b>Direction</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.bpmn.BPMNProfile.RelationshipDirection}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Direction</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Direction</em>' attribute.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.RelationshipDirection
+ * @see #setDirection(RelationshipDirection)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNRelationship_Direction()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ RelationshipDirection getDirection();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship#getDirection <em>Direction</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Direction</em>' attribute.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.RelationshipDirection
+ * @see #getDirection()
+ * @generated
+ */
+ void setDirection(RelationshipDirection value);
+
+ /**
+ * Returns the value of the '<em><b>Targets</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.Element}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Targets</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Targets</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNRelationship_Targets()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<Element> getTargets();
+
+ /**
+ * Returns the value of the '<em><b>Sources</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.Element}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Sources</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Sources</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNRelationship_Sources()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<Element> getSources();
+
+ /**
+ * Returns the value of the '<em><b>Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Definition</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Definition</em>' reference.
+ * @see #setDefinition(Definitions)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNRelationship_Definition()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Definitions getDefinition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship#getDefinition <em>Definition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Definition</em>' reference.
+ * @see #getDefinition()
+ * @generated
+ */
+ void setDefinition(Definitions value);
+
+} // BPMNRelationship
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNSignal.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNSignal.java
new file mode 100644
index 00000000000..e0d52e61f0c
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BPMNSignal.java
@@ -0,0 +1,33 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>BPMN Signal</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBPMNSignal()
+ * @model
+ * @generated
+ */
+public interface BPMNSignal extends ItemDefinition {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * self.structureRef= self.base_Class
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='BPMNSignal.structureRef'"
+ * @generated
+ */
+ boolean BPMNSignalstructureRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // BPMNSignal
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BaseElement.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BaseElement.java
new file mode 100644
index 00000000000..fc625e843b4
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BaseElement.java
@@ -0,0 +1,170 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Base Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement#getExtensionValues <em>Extension Values</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement#getBase_Element <em>Base Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement#getDocumentation <em>Documentation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement#getExtensionDefinitions <em>Extension Definitions</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement#getOutgoing <em>Outgoing</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement#getIncoming <em>Incoming</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBaseElement()
+ * @model abstract="true"
+ * @generated
+ */
+public interface BaseElement extends EObject {
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBaseElement_Id()
+ * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Extension Values</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeValue}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Extension Values</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Extension Values</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBaseElement_ExtensionValues()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<ExtensionAttributeValue> getExtensionValues();
+
+ /**
+ * Returns the value of the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Element</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Element</em>' reference.
+ * @see #setBase_Element(Element)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBaseElement_Base_Element()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Element getBase_Element();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement#getBase_Element <em>Base Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Element</em>' reference.
+ * @see #getBase_Element()
+ * @generated
+ */
+ void setBase_Element(Element value);
+
+ /**
+ * Returns the value of the '<em><b>Documentation</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.Documentation}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Documentation</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Documentation</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBaseElement_Documentation()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<Documentation> getDocumentation();
+
+ /**
+ * Returns the value of the '<em><b>Extension Definitions</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionDefinition}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Extension Definitions</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Extension Definitions</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBaseElement_ExtensionDefinitions()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<ExtensionDefinition> getExtensionDefinitions();
+
+ /**
+ * Returns the value of the '<em><b>Outgoing</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation#getSourceRef <em>Source Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Outgoing</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Outgoing</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBaseElement_Outgoing()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation#getSourceRef
+ * @model opposite="sourceRef" required="true" ordered="false"
+ * @generated
+ */
+ EList<BPMNAssociation> getOutgoing();
+
+ /**
+ * Returns the value of the '<em><b>Incoming</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation#getTargetRef <em>Target Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Incoming</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Incoming</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBaseElement_Incoming()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation#getTargetRef
+ * @model opposite="targetRef" required="true" ordered="false"
+ * @generated
+ */
+ EList<BPMNAssociation> getIncoming();
+
+} // BaseElement
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BoundaryEvent.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BoundaryEvent.java
new file mode 100644
index 00000000000..1159ff9fd44
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BoundaryEvent.java
@@ -0,0 +1,92 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Boundary Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BoundaryEvent#isCancelActivity <em>Cancel Activity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BoundaryEvent#getAttachedToRef <em>Attached To Ref</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBoundaryEvent()
+ * @model
+ * @generated
+ */
+public interface BoundaryEvent extends CatchEvent {
+ /**
+ * Returns the value of the '<em><b>Cancel Activity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cancel Activity</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Cancel Activity</em>' attribute.
+ * @see #setCancelActivity(boolean)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBoundaryEvent_CancelActivity()
+ * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isCancelActivity();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BoundaryEvent#isCancelActivity <em>Cancel Activity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cancel Activity</em>' attribute.
+ * @see #isCancelActivity()
+ * @generated
+ */
+ void setCancelActivity(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Attached To Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Attached To Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Attached To Ref</em>' reference.
+ * @see #setAttachedToRef(BPMNActivity)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBoundaryEvent_AttachedToRef()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ BPMNActivity getAttachedToRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BoundaryEvent#getAttachedToRef <em>Attached To Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Attached To Ref</em>' reference.
+ * @see #getAttachedToRef()
+ * @generated
+ */
+ void setAttachedToRef(BPMNActivity value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * boundaryEvent::/attachedToRef : BPMNActivity = action in the same interruptible region as the event.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='boundaryEvent.attachedToRef'"
+ * @generated
+ */
+ boolean boundaryEventattachedToRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // BoundaryEvent
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BusinessRuleTask.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BusinessRuleTask.java
new file mode 100644
index 00000000000..0b7e50350d4
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/BusinessRuleTask.java
@@ -0,0 +1,95 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.uml2.uml.OpaqueAction;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Business Rule Task</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BusinessRuleTask#getBase_OpaqueAction <em>Base Opaque Action</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.BusinessRuleTask#getImplementation <em>Implementation</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBusinessRuleTask()
+ * @model
+ * @generated
+ */
+public interface BusinessRuleTask extends Task {
+ /**
+ * Returns the value of the '<em><b>Base Opaque Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Opaque Action</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Opaque Action</em>' reference.
+ * @see #setBase_OpaqueAction(OpaqueAction)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBusinessRuleTask_Base_OpaqueAction()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ OpaqueAction getBase_OpaqueAction();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BusinessRuleTask#getBase_OpaqueAction <em>Base Opaque Action</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Opaque Action</em>' reference.
+ * @see #getBase_OpaqueAction()
+ * @generated
+ */
+ void setBase_OpaqueAction(OpaqueAction value);
+
+ /**
+ * Returns the value of the '<em><b>Implementation</b></em>' attribute.
+ * The default value is <code>"##unspecified"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Implementation</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Implementation</em>' attribute.
+ * @see #setImplementation(String)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getBusinessRuleTask_Implementation()
+ * @model default="##unspecified" unique="false" dataType="org.eclipse.uml2.types.String" required="true"
+ * @generated
+ */
+ String getImplementation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BusinessRuleTask#getImplementation <em>Implementation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Implementation</em>' attribute.
+ * @see #getImplementation()
+ * @generated
+ */
+ void setImplementation(String value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * self.implementation = self.base_OpaqueAction.body.first
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='BusinessRuleTask.implementation'"
+ * @generated
+ */
+ boolean BusinessRuleTaskimplementation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // BusinessRuleTask
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CallActivity.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CallActivity.java
new file mode 100644
index 00000000000..3ed81bfec7c
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CallActivity.java
@@ -0,0 +1,94 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.uml2.uml.CallBehaviorAction;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Call Activity</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallActivity#getBase_CallBehaviorAction <em>Base Call Behavior Action</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallActivity#getCalledElementRef <em>Called Element Ref</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCallActivity()
+ * @model
+ * @generated
+ */
+public interface CallActivity extends BPMNActivity {
+ /**
+ * Returns the value of the '<em><b>Base Call Behavior Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Call Behavior Action</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Call Behavior Action</em>' reference.
+ * @see #setBase_CallBehaviorAction(CallBehaviorAction)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCallActivity_Base_CallBehaviorAction()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ CallBehaviorAction getBase_CallBehaviorAction();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallActivity#getBase_CallBehaviorAction <em>Base Call Behavior Action</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Call Behavior Action</em>' reference.
+ * @see #getBase_CallBehaviorAction()
+ * @generated
+ */
+ void setBase_CallBehaviorAction(CallBehaviorAction value);
+
+ /**
+ * Returns the value of the '<em><b>Called Element Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Called Element Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Called Element Ref</em>' reference.
+ * @see #setCalledElementRef(CallableElement)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCallActivity_CalledElementRef()
+ * @model ordered="false"
+ * @generated
+ */
+ CallableElement getCalledElementRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallActivity#getCalledElementRef <em>Called Element Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Called Element Ref</em>' reference.
+ * @see #getCalledElementRef()
+ * @generated
+ */
+ void setCalledElementRef(CallableElement value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * self.calledElementRef = self.base_CallBehaviorAction.behavior.extension_CallableElement
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='CallActivity.calledElementRef.values'"
+ * @generated
+ */
+ boolean CallActivitycalledElementRefvalues(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // CallActivity
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CallConversation.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CallConversation.java
new file mode 100644
index 00000000000..1a1e504543a
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CallConversation.java
@@ -0,0 +1,126 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.CollaborationUse;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Call Conversation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallConversation#get_collaborationUse <em>collaboration Use</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallConversation#getCalledCollaborationRef <em>Called Collaboration Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallConversation#getParticipantAssociations <em>Participant Associations</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCallConversation()
+ * @model
+ * @generated
+ */
+public interface CallConversation extends ConversationNode {
+ /**
+ * Returns the value of the '<em><b>collaboration Use</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>collaboration Use</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>collaboration Use</em>' reference.
+ * @see #set_collaborationUse(CollaborationUse)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCallConversation__collaborationUse()
+ * @model required="true" ordered="false"
+ * annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName=' collaborationUse'"
+ * @generated
+ */
+ CollaborationUse get_collaborationUse();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallConversation#get_collaborationUse <em>collaboration Use</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>collaboration Use</em>' reference.
+ * @see #get_collaborationUse()
+ * @generated
+ */
+ void set_collaborationUse(CollaborationUse value);
+
+ /**
+ * Returns the value of the '<em><b>Called Collaboration Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Called Collaboration Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Called Collaboration Ref</em>' reference.
+ * @see #setCalledCollaborationRef(BPMNCollaboration)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCallConversation_CalledCollaborationRef()
+ * @model ordered="false"
+ * @generated
+ */
+ BPMNCollaboration getCalledCollaborationRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallConversation#getCalledCollaborationRef <em>Called Collaboration Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Called Collaboration Ref</em>' reference.
+ * @see #getCalledCollaborationRef()
+ * @generated
+ */
+ void setCalledCollaborationRef(BPMNCollaboration value);
+
+ /**
+ * Returns the value of the '<em><b>Participant Associations</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Participant Associations</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Participant Associations</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCallConversation_ParticipantAssociations()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<ParticipantAssociation> getParticipantAssociations();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * CallConversation::/calledCollaborationRef : BPMNCollaboration [0..1] = Collaboration.type
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='CallConversation.calledCollaborationRef'"
+ * @generated
+ */
+ boolean CallConversationcalledCollaborationRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * CallConversation::/participantAssociations : ParticipantAssociation [*] = CollaborationUse.RoleBinding
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='CallConversation.participantAssociations'"
+ * @generated
+ */
+ boolean CallConversationparticipantAssociations(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // CallConversation
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CallableElement.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CallableElement.java
new file mode 100644
index 00000000000..74342510ec1
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CallableElement.java
@@ -0,0 +1,142 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.Behavior;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Callable Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement#getBase_Behavior <em>Base Behavior</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement#getIoSpecification <em>Io Specification</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement#getSupportedInterfaceRefs <em>Supported Interface Refs</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement#getIoBinding <em>Io Binding</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCallableElement()
+ * @model abstract="true"
+ * @generated
+ */
+public interface CallableElement extends RootElement {
+ /**
+ * Returns the value of the '<em><b>Base Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Behavior</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Behavior</em>' reference.
+ * @see #setBase_Behavior(Behavior)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCallableElement_Base_Behavior()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Behavior getBase_Behavior();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement#getBase_Behavior <em>Base Behavior</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Behavior</em>' reference.
+ * @see #getBase_Behavior()
+ * @generated
+ */
+ void setBase_Behavior(Behavior value);
+
+ /**
+ * Returns the value of the '<em><b>Io Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Io Specification</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Io Specification</em>' reference.
+ * @see #setIoSpecification(InputOutputSpecification)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCallableElement_IoSpecification()
+ * @model ordered="false"
+ * @generated
+ */
+ InputOutputSpecification getIoSpecification();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement#getIoSpecification <em>Io Specification</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Io Specification</em>' reference.
+ * @see #getIoSpecification()
+ * @generated
+ */
+ void setIoSpecification(InputOutputSpecification value);
+
+ /**
+ * Returns the value of the '<em><b>Supported Interface Refs</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Supported Interface Refs</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Supported Interface Refs</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCallableElement_SupportedInterfaceRefs()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<BPMNInterface> getSupportedInterfaceRefs();
+
+ /**
+ * Returns the value of the '<em><b>Io Binding</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputBinding}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Io Binding</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Io Binding</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCallableElement_IoBinding()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<InputOutputBinding> getIoBinding();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * CallableEelement::/supportedInterfaceRefs : BPMNInterface [*] = Activity.interfaceRealization.contract (defined on BehavioralClassifier and InterfaceRealization)
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='CallableEelement.supportedInterfaceRefs'"
+ * @generated
+ */
+ boolean CallableEelementsupportedInterfaceRefs(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * CallableElement::/resources : ResourceRole [*] = Behavior.ownedAttribute with the ResourceRole stereotype applied.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='CallableElement.resources'"
+ * @generated
+ */
+ boolean CallableElementresources(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // CallableElement
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CancelEventDefinition.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CancelEventDefinition.java
new file mode 100644
index 00000000000..2776c451ec5
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CancelEventDefinition.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.CallEvent;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Cancel Event Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CancelEventDefinition#getBase_CallEvent <em>Base Call Event</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCancelEventDefinition()
+ * @model
+ * @generated
+ */
+public interface CancelEventDefinition extends EventDefinition {
+ /**
+ * Returns the value of the '<em><b>Base Call Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Call Event</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Call Event</em>' reference.
+ * @see #setBase_CallEvent(CallEvent)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCancelEventDefinition_Base_CallEvent()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ CallEvent getBase_CallEvent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CancelEventDefinition#getBase_CallEvent <em>Base Call Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Call Event</em>' reference.
+ * @see #getBase_CallEvent()
+ * @generated
+ */
+ void setBase_CallEvent(CallEvent value);
+
+} // CancelEventDefinition
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CatchEvent.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CatchEvent.java
new file mode 100644
index 00000000000..b87d8a90a0c
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CatchEvent.java
@@ -0,0 +1,141 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.InitialNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Catch Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CatchEvent#isParallelMultiple <em>Parallel Multiple</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CatchEvent#getBase_AcceptEventAction <em>Base Accept Event Action</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CatchEvent#getBase_InitialNode <em>Base Initial Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CatchEvent#getDataOutputAssociation <em>Data Output Association</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCatchEvent()
+ * @model abstract="true"
+ * @generated
+ */
+public interface CatchEvent extends BPMNEvent {
+ /**
+ * Returns the value of the '<em><b>Parallel Multiple</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Parallel Multiple</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Parallel Multiple</em>' attribute.
+ * @see #setParallelMultiple(boolean)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCatchEvent_ParallelMultiple()
+ * @model default="false" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isParallelMultiple();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CatchEvent#isParallelMultiple <em>Parallel Multiple</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Parallel Multiple</em>' attribute.
+ * @see #isParallelMultiple()
+ * @generated
+ */
+ void setParallelMultiple(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Base Accept Event Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Accept Event Action</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Accept Event Action</em>' reference.
+ * @see #setBase_AcceptEventAction(AcceptEventAction)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCatchEvent_Base_AcceptEventAction()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ AcceptEventAction getBase_AcceptEventAction();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CatchEvent#getBase_AcceptEventAction <em>Base Accept Event Action</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Accept Event Action</em>' reference.
+ * @see #getBase_AcceptEventAction()
+ * @generated
+ */
+ void setBase_AcceptEventAction(AcceptEventAction value);
+
+ /**
+ * Returns the value of the '<em><b>Base Initial Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Initial Node</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Initial Node</em>' reference.
+ * @see #setBase_InitialNode(InitialNode)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCatchEvent_Base_InitialNode()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ InitialNode getBase_InitialNode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CatchEvent#getBase_InitialNode <em>Base Initial Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Initial Node</em>' reference.
+ * @see #getBase_InitialNode()
+ * @generated
+ */
+ void setBase_InitialNode(InitialNode value);
+
+ /**
+ * Returns the value of the '<em><b>Data Output Association</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutputAssociation}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Data Output Association</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Data Output Association</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCatchEvent_DataOutputAssociation()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<DataOutputAssociation> getDataOutputAssociation();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * catchEvent::/eventDefinitionsRefs : EventDefinitions [*] = the events of the triggers of an accept event action to which the stereotype is applied that are not owned by the action.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='catchEvent.eventDefinitionsRefs'"
+ * @generated
+ */
+ boolean catchEventeventDefinitionsRefs(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // CatchEvent
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Category.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Category.java
new file mode 100644
index 00000000000..f216604c77e
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Category.java
@@ -0,0 +1,69 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.Enumeration;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Category</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Category#getBase_Enumeration <em>Base Enumeration</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Category#getCategoryValue <em>Category Value</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCategory()
+ * @model
+ * @generated
+ */
+public interface Category extends RootElement {
+ /**
+ * Returns the value of the '<em><b>Base Enumeration</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Enumeration</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Enumeration</em>' reference.
+ * @see #setBase_Enumeration(Enumeration)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCategory_Base_Enumeration()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Enumeration getBase_Enumeration();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Category#getBase_Enumeration <em>Base Enumeration</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Enumeration</em>' reference.
+ * @see #getBase_Enumeration()
+ * @generated
+ */
+ void setBase_Enumeration(Enumeration value);
+
+ /**
+ * Returns the value of the '<em><b>Category Value</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.CategoryValue}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Category Value</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Category Value</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCategory_CategoryValue()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<CategoryValue> getCategoryValue();
+
+} // Category
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CategoryValue.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CategoryValue.java
new file mode 100644
index 00000000000..d606ef873bd
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CategoryValue.java
@@ -0,0 +1,71 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.EnumerationLiteral;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Category Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CategoryValue#getBase_EnumerationLiteral <em>Base Enumeration Literal</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CategoryValue#getCategorizedFlowElements <em>Categorized Flow Elements</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCategoryValue()
+ * @model
+ * @generated
+ */
+public interface CategoryValue extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Enumeration Literal</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Enumeration Literal</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Enumeration Literal</em>' reference.
+ * @see #setBase_EnumerationLiteral(EnumerationLiteral)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCategoryValue_Base_EnumerationLiteral()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EnumerationLiteral getBase_EnumerationLiteral();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CategoryValue#getBase_EnumerationLiteral <em>Base Enumeration Literal</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Enumeration Literal</em>' reference.
+ * @see #getBase_EnumerationLiteral()
+ * @generated
+ */
+ void setBase_EnumerationLiteral(EnumerationLiteral value);
+
+ /**
+ * Returns the value of the '<em><b>Categorized Flow Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement#get_categoryValueRef <em>category Value Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Categorized Flow Elements</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Categorized Flow Elements</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCategoryValue_CategorizedFlowElements()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement#get_categoryValueRef
+ * @model opposite="_categoryValueRef" required="true" ordered="false"
+ * @generated
+ */
+ EList<FlowElement> getCategorizedFlowElements();
+
+} // CategoryValue
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CompensateEventDefinition.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CompensateEventDefinition.java
new file mode 100644
index 00000000000..ce39fcb38ed
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CompensateEventDefinition.java
@@ -0,0 +1,105 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.CallEvent;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Compensate Event Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CompensateEventDefinition#isWaitForCompletion <em>Wait For Completion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CompensateEventDefinition#getActivityRef <em>Activity Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CompensateEventDefinition#getBase_CallEvent <em>Base Call Event</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCompensateEventDefinition()
+ * @model
+ * @generated
+ */
+public interface CompensateEventDefinition extends EventDefinition {
+ /**
+ * Returns the value of the '<em><b>Wait For Completion</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Wait For Completion</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Wait For Completion</em>' attribute.
+ * @see #setWaitForCompletion(boolean)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCompensateEventDefinition_WaitForCompletion()
+ * @model default="true" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isWaitForCompletion();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CompensateEventDefinition#isWaitForCompletion <em>Wait For Completion</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Wait For Completion</em>' attribute.
+ * @see #isWaitForCompletion()
+ * @generated
+ */
+ void setWaitForCompletion(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Activity Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Activity Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Activity Ref</em>' reference.
+ * @see #setActivityRef(BPMNActivity)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCompensateEventDefinition_ActivityRef()
+ * @model ordered="false"
+ * @generated
+ */
+ BPMNActivity getActivityRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CompensateEventDefinition#getActivityRef <em>Activity Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Activity Ref</em>' reference.
+ * @see #getActivityRef()
+ * @generated
+ */
+ void setActivityRef(BPMNActivity value);
+
+ /**
+ * Returns the value of the '<em><b>Base Call Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Call Event</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Call Event</em>' reference.
+ * @see #setBase_CallEvent(CallEvent)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCompensateEventDefinition_Base_CallEvent()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ CallEvent getBase_CallEvent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CompensateEventDefinition#getBase_CallEvent <em>Base Call Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Call Event</em>' reference.
+ * @see #getBase_CallEvent()
+ * @generated
+ */
+ void setBase_CallEvent(CallEvent value);
+
+} // CompensateEventDefinition
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ComplexBehaviorDefinition.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ComplexBehaviorDefinition.java
new file mode 100644
index 00000000000..b53f90b467b
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ComplexBehaviorDefinition.java
@@ -0,0 +1,104 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.ControlFlow;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Complex Behavior Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ComplexBehaviorDefinition#getCondition <em>Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ComplexBehaviorDefinition#getEvent <em>Event</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ComplexBehaviorDefinition#getBase_ControlFlow <em>Base Control Flow</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getComplexBehaviorDefinition()
+ * @model
+ * @generated
+ */
+public interface ComplexBehaviorDefinition extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Condition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Condition</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Condition</em>' reference.
+ * @see #setCondition(FormalExpression)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getComplexBehaviorDefinition_Condition()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ FormalExpression getCondition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ComplexBehaviorDefinition#getCondition <em>Condition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Condition</em>' reference.
+ * @see #getCondition()
+ * @generated
+ */
+ void setCondition(FormalExpression value);
+
+ /**
+ * Returns the value of the '<em><b>Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Event</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Event</em>' reference.
+ * @see #setEvent(ImplicitThrowEvent)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getComplexBehaviorDefinition_Event()
+ * @model ordered="false"
+ * @generated
+ */
+ ImplicitThrowEvent getEvent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ComplexBehaviorDefinition#getEvent <em>Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Event</em>' reference.
+ * @see #getEvent()
+ * @generated
+ */
+ void setEvent(ImplicitThrowEvent value);
+
+ /**
+ * Returns the value of the '<em><b>Base Control Flow</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Control Flow</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Control Flow</em>' reference.
+ * @see #setBase_ControlFlow(ControlFlow)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getComplexBehaviorDefinition_Base_ControlFlow()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ ControlFlow getBase_ControlFlow();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ComplexBehaviorDefinition#getBase_ControlFlow <em>Base Control Flow</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Control Flow</em>' reference.
+ * @see #getBase_ControlFlow()
+ * @generated
+ */
+ void setBase_ControlFlow(ControlFlow value);
+
+} // ComplexBehaviorDefinition
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ComplexGateway.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ComplexGateway.java
new file mode 100644
index 00000000000..2892fc71175
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ComplexGateway.java
@@ -0,0 +1,118 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Complex Gateway</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ComplexGateway#getDefault <em>Default</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ComplexGateway#getActivationCondition <em>Activation Condition</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getComplexGateway()
+ * @model
+ * @generated
+ */
+public interface ComplexGateway extends NonExclusiveGateway {
+ /**
+ * Returns the value of the '<em><b>Default</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Default</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Default</em>' reference.
+ * @see #setDefault(SequenceFlow)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getComplexGateway_Default()
+ * @model ordered="false"
+ * @generated
+ */
+ SequenceFlow getDefault();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ComplexGateway#getDefault <em>Default</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Default</em>' reference.
+ * @see #getDefault()
+ * @generated
+ */
+ void setDefault(SequenceFlow value);
+
+ /**
+ * Returns the value of the '<em><b>Activation Condition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Activation Condition</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Activation Condition</em>' reference.
+ * @see #setActivationCondition(BPMNExpression)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getComplexGateway_ActivationCondition()
+ * @model ordered="false"
+ * @generated
+ */
+ BPMNExpression getActivationCondition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ComplexGateway#getActivationCondition <em>Activation Condition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Activation Condition</em>' reference.
+ * @see #getActivationCondition()
+ * @generated
+ */
+ void setActivationCondition(BPMNExpression value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * complexGateway::/default : SequenceFlow [0..1] = an outgoing control flow with guard "else"
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='complexGateway.default'"
+ * @generated
+ */
+ boolean complexGatewaydefault(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * complexGateway::/activationCondition : BPMNExpression [0..1] = JoinNode::joinSpec
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='complexGateway.activationCondition'"
+ * @generated
+ */
+ boolean complexGatewayactivationCondition(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * complexGateway::joinSpec = "BPMNInclusive" when applied to join nodes
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='complexGateway.joinSpec'"
+ * @generated
+ */
+ boolean complexGatewayjoinSpec(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ComplexGateway
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ConditionalEventDefinition.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ConditionalEventDefinition.java
new file mode 100644
index 00000000000..a573f679c9c
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ConditionalEventDefinition.java
@@ -0,0 +1,94 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.uml2.uml.ChangeEvent;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Conditional Event Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConditionalEventDefinition#getBase_ChangeEvent <em>Base Change Event</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConditionalEventDefinition#getCondition <em>Condition</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getConditionalEventDefinition()
+ * @model
+ * @generated
+ */
+public interface ConditionalEventDefinition extends EventDefinition {
+ /**
+ * Returns the value of the '<em><b>Base Change Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Change Event</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Change Event</em>' reference.
+ * @see #setBase_ChangeEvent(ChangeEvent)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getConditionalEventDefinition_Base_ChangeEvent()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ ChangeEvent getBase_ChangeEvent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConditionalEventDefinition#getBase_ChangeEvent <em>Base Change Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Change Event</em>' reference.
+ * @see #getBase_ChangeEvent()
+ * @generated
+ */
+ void setBase_ChangeEvent(ChangeEvent value);
+
+ /**
+ * Returns the value of the '<em><b>Condition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Condition</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Condition</em>' reference.
+ * @see #setCondition(BPMNExpression)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getConditionalEventDefinition_Condition()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ BPMNExpression getCondition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConditionalEventDefinition#getCondition <em>Condition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Condition</em>' reference.
+ * @see #getCondition()
+ * @generated
+ */
+ void setCondition(BPMNExpression value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * conditionalEventDefinition::/condition :BPMNExpression = ChangeEvent.changeExpression
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='conditionalEventDefinition.condition'"
+ * @generated
+ */
+ boolean conditionalEventDefinitioncondition(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ConditionalEventDefinition
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Conversation.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Conversation.java
new file mode 100644
index 00000000000..46c9aeef50c
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Conversation.java
@@ -0,0 +1,17 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Conversation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getConversation()
+ * @model
+ * @generated
+ */
+public interface Conversation extends ConversationNode {
+} // Conversation
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ConversationLink.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ConversationLink.java
new file mode 100644
index 00000000000..bbc97f3cbbe
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ConversationLink.java
@@ -0,0 +1,137 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.Dependency;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Conversation Link</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink#getCollaboration <em>Collaboration</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink#getBase_Dependency <em>Base Dependency</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink#getTargetRef <em>Target Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink#getSourceRef <em>Source Ref</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getConversationLink()
+ * @model
+ * @generated
+ */
+public interface ConversationLink extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Collaboration</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#getConversationLinks <em>Conversation Links</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Collaboration</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Collaboration</em>' reference.
+ * @see #setCollaboration(BPMNCollaboration)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getConversationLink_Collaboration()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration#getConversationLinks
+ * @model opposite="conversationLinks" required="true" ordered="false"
+ * @generated
+ */
+ BPMNCollaboration getCollaboration();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink#getCollaboration <em>Collaboration</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Collaboration</em>' reference.
+ * @see #getCollaboration()
+ * @generated
+ */
+ void setCollaboration(BPMNCollaboration value);
+
+ /**
+ * Returns the value of the '<em><b>Base Dependency</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Dependency</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Dependency</em>' reference.
+ * @see #setBase_Dependency(Dependency)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getConversationLink_Base_Dependency()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Dependency getBase_Dependency();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink#getBase_Dependency <em>Base Dependency</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Dependency</em>' reference.
+ * @see #getBase_Dependency()
+ * @generated
+ */
+ void setBase_Dependency(Dependency value);
+
+ /**
+ * Returns the value of the '<em><b>Target Ref</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode#getIncomingConversationLinks <em>Incoming Conversation Links</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Target Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Target Ref</em>' reference.
+ * @see #setTargetRef(InteractionNode)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getConversationLink_TargetRef()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode#getIncomingConversationLinks
+ * @model opposite="incomingConversationLinks" required="true" ordered="false"
+ * @generated
+ */
+ InteractionNode getTargetRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink#getTargetRef <em>Target Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Target Ref</em>' reference.
+ * @see #getTargetRef()
+ * @generated
+ */
+ void setTargetRef(InteractionNode value);
+
+ /**
+ * Returns the value of the '<em><b>Source Ref</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode#getOutgoingConversationLinks <em>Outgoing Conversation Links</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Source Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Source Ref</em>' reference.
+ * @see #setSourceRef(InteractionNode)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getConversationLink_SourceRef()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode#getOutgoingConversationLinks
+ * @model opposite="outgoingConversationLinks" required="true" ordered="false"
+ * @generated
+ */
+ InteractionNode getSourceRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink#getSourceRef <em>Source Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Source Ref</em>' reference.
+ * @see #getSourceRef()
+ * @generated
+ */
+ void setSourceRef(InteractionNode value);
+
+} // ConversationLink
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ConversationNode.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ConversationNode.java
new file mode 100644
index 00000000000..9e723060a85
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ConversationNode.java
@@ -0,0 +1,119 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.InformationFlow;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Conversation Node</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationNode#getBase_InformationFlow <em>Base Information Flow</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationNode#getMessageFlowRefs <em>Message Flow Refs</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationNode#getCorrelationKeys <em>Correlation Keys</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationNode#getParticipantRefs <em>Participant Refs</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getConversationNode()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ConversationNode extends InteractionNode {
+ /**
+ * Returns the value of the '<em><b>Base Information Flow</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Information Flow</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Information Flow</em>' reference.
+ * @see #setBase_InformationFlow(InformationFlow)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getConversationNode_Base_InformationFlow()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ InformationFlow getBase_InformationFlow();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationNode#getBase_InformationFlow <em>Base Information Flow</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Information Flow</em>' reference.
+ * @see #getBase_InformationFlow()
+ * @generated
+ */
+ void setBase_InformationFlow(InformationFlow value);
+
+ /**
+ * Returns the value of the '<em><b>Message Flow Refs</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Message Flow Refs</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Message Flow Refs</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getConversationNode_MessageFlowRefs()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<MessageFlow> getMessageFlowRefs();
+
+ /**
+ * Returns the value of the '<em><b>Correlation Keys</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationKey}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Correlation Keys</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Correlation Keys</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getConversationNode_CorrelationKeys()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<CorrelationKey> getCorrelationKeys();
+
+ /**
+ * Returns the value of the '<em><b>Participant Refs</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Participant Refs</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Participant Refs</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getConversationNode_ParticipantRefs()
+ * @model lower="2" ordered="false"
+ * @generated
+ */
+ EList<Participant> getParticipantRefs();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * ConversationNode::/participantRefs : Participant [2..*] = the informationSource and informationTarget on the InformationFlow
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='ConversationNode.participantRefs'"
+ * @generated
+ */
+ boolean ConversationNodeparticipantRefs(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ConversationNode
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CorrelationKey.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CorrelationKey.java
new file mode 100644
index 00000000000..151e44d2c3a
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CorrelationKey.java
@@ -0,0 +1,67 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Correlation Key</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationKey#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationKey#getCorrelationPropertyRef <em>Correlation Property Ref</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCorrelationKey()
+ * @model
+ * @generated
+ */
+public interface CorrelationKey extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Class</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Class</em>' reference.
+ * @see #setBase_Class(org.eclipse.uml2.uml.Class)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCorrelationKey_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationKey#getBase_Class <em>Base Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Class</em>' reference.
+ * @see #getBase_Class()
+ * @generated
+ */
+ void setBase_Class(org.eclipse.uml2.uml.Class value);
+
+ /**
+ * Returns the value of the '<em><b>Correlation Property Ref</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationProperty}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Correlation Property Ref</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Correlation Property Ref</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCorrelationKey_CorrelationPropertyRef()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<CorrelationProperty> getCorrelationPropertyRef();
+
+} // CorrelationKey
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CorrelationProperty.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CorrelationProperty.java
new file mode 100644
index 00000000000..f0d4f132004
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CorrelationProperty.java
@@ -0,0 +1,96 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Correlation Property</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationProperty#getBase_Property <em>Base Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationProperty#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationProperty#getCorrelationPropertyRetrievalExpression <em>Correlation Property Retrieval Expression</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCorrelationProperty()
+ * @model
+ * @generated
+ */
+public interface CorrelationProperty extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Property</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Property</em>' reference.
+ * @see #setBase_Property(Property)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCorrelationProperty_Base_Property()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Property getBase_Property();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationProperty#getBase_Property <em>Base Property</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Property</em>' reference.
+ * @see #getBase_Property()
+ * @generated
+ */
+ void setBase_Property(Property value);
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type</em>' reference.
+ * @see #setType(ItemDefinition)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCorrelationProperty_Type()
+ * @model ordered="false"
+ * @generated
+ */
+ ItemDefinition getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationProperty#getType <em>Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' reference.
+ * @see #getType()
+ * @generated
+ */
+ void setType(ItemDefinition value);
+
+ /**
+ * Returns the value of the '<em><b>Correlation Property Retrieval Expression</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyRetrievalExpression}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Correlation Property Retrieval Expression</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Correlation Property Retrieval Expression</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCorrelationProperty_CorrelationPropertyRetrievalExpression()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<CorrelationPropertyRetrievalExpression> getCorrelationPropertyRetrievalExpression();
+
+} // CorrelationProperty
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CorrelationPropertyBinding.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CorrelationPropertyBinding.java
new file mode 100644
index 00000000000..19c1a34623a
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CorrelationPropertyBinding.java
@@ -0,0 +1,104 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Correlation Property Binding</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyBinding#getBase_Property <em>Base Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyBinding#getDataPath <em>Data Path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyBinding#getCorrelationPropertyRef <em>Correlation Property Ref</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCorrelationPropertyBinding()
+ * @model
+ * @generated
+ */
+public interface CorrelationPropertyBinding extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Property</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Property</em>' reference.
+ * @see #setBase_Property(Property)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCorrelationPropertyBinding_Base_Property()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Property getBase_Property();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyBinding#getBase_Property <em>Base Property</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Property</em>' reference.
+ * @see #getBase_Property()
+ * @generated
+ */
+ void setBase_Property(Property value);
+
+ /**
+ * Returns the value of the '<em><b>Data Path</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Data Path</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Data Path</em>' reference.
+ * @see #setDataPath(FormalExpression)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCorrelationPropertyBinding_DataPath()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ FormalExpression getDataPath();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyBinding#getDataPath <em>Data Path</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Data Path</em>' reference.
+ * @see #getDataPath()
+ * @generated
+ */
+ void setDataPath(FormalExpression value);
+
+ /**
+ * Returns the value of the '<em><b>Correlation Property Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Correlation Property Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Correlation Property Ref</em>' reference.
+ * @see #setCorrelationPropertyRef(CorrelationProperty)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCorrelationPropertyBinding_CorrelationPropertyRef()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ CorrelationProperty getCorrelationPropertyRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyBinding#getCorrelationPropertyRef <em>Correlation Property Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Correlation Property Ref</em>' reference.
+ * @see #getCorrelationPropertyRef()
+ * @generated
+ */
+ void setCorrelationPropertyRef(CorrelationProperty value);
+
+} // CorrelationPropertyBinding
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CorrelationPropertyRetrievalExpression.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CorrelationPropertyRetrievalExpression.java
new file mode 100644
index 00000000000..ec8c713b247
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CorrelationPropertyRetrievalExpression.java
@@ -0,0 +1,104 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.Dependency;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Correlation Property Retrieval Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyRetrievalExpression#getBase_Dependency <em>Base Dependency</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyRetrievalExpression#getMessageRef <em>Message Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyRetrievalExpression#getMessagePath <em>Message Path</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCorrelationPropertyRetrievalExpression()
+ * @model
+ * @generated
+ */
+public interface CorrelationPropertyRetrievalExpression extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Dependency</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Dependency</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Dependency</em>' reference.
+ * @see #setBase_Dependency(Dependency)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCorrelationPropertyRetrievalExpression_Base_Dependency()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Dependency getBase_Dependency();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyRetrievalExpression#getBase_Dependency <em>Base Dependency</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Dependency</em>' reference.
+ * @see #getBase_Dependency()
+ * @generated
+ */
+ void setBase_Dependency(Dependency value);
+
+ /**
+ * Returns the value of the '<em><b>Message Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Message Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Message Ref</em>' reference.
+ * @see #setMessageRef(BPMNMessage)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCorrelationPropertyRetrievalExpression_MessageRef()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ BPMNMessage getMessageRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyRetrievalExpression#getMessageRef <em>Message Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Message Ref</em>' reference.
+ * @see #getMessageRef()
+ * @generated
+ */
+ void setMessageRef(BPMNMessage value);
+
+ /**
+ * Returns the value of the '<em><b>Message Path</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Message Path</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Message Path</em>' reference.
+ * @see #setMessagePath(FormalExpression)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCorrelationPropertyRetrievalExpression_MessagePath()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ FormalExpression getMessagePath();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyRetrievalExpression#getMessagePath <em>Message Path</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Message Path</em>' reference.
+ * @see #getMessagePath()
+ * @generated
+ */
+ void setMessagePath(FormalExpression value);
+
+} // CorrelationPropertyRetrievalExpression
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CorrelationSubscription.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CorrelationSubscription.java
new file mode 100644
index 00000000000..6115fde92ba
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/CorrelationSubscription.java
@@ -0,0 +1,94 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Correlation Subscription</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationSubscription#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationSubscription#getCorrelationKeyRef <em>Correlation Key Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationSubscription#getCorrelationPropertyBinding <em>Correlation Property Binding</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCorrelationSubscription()
+ * @model
+ * @generated
+ */
+public interface CorrelationSubscription extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Class</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Class</em>' reference.
+ * @see #setBase_Class(org.eclipse.uml2.uml.Class)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCorrelationSubscription_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationSubscription#getBase_Class <em>Base Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Class</em>' reference.
+ * @see #getBase_Class()
+ * @generated
+ */
+ void setBase_Class(org.eclipse.uml2.uml.Class value);
+
+ /**
+ * Returns the value of the '<em><b>Correlation Key Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Correlation Key Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Correlation Key Ref</em>' reference.
+ * @see #setCorrelationKeyRef(CorrelationKey)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCorrelationSubscription_CorrelationKeyRef()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ CorrelationKey getCorrelationKeyRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationSubscription#getCorrelationKeyRef <em>Correlation Key Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Correlation Key Ref</em>' reference.
+ * @see #getCorrelationKeyRef()
+ * @generated
+ */
+ void setCorrelationKeyRef(CorrelationKey value);
+
+ /**
+ * Returns the value of the '<em><b>Correlation Property Binding</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyBinding}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Correlation Property Binding</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Correlation Property Binding</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getCorrelationSubscription_CorrelationPropertyBinding()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<CorrelationPropertyBinding> getCorrelationPropertyBinding();
+
+} // CorrelationSubscription
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataAssociation.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataAssociation.java
new file mode 100644
index 00000000000..5b71f2795f7
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataAssociation.java
@@ -0,0 +1,193 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.ObjectFlow;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Data Association</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation#getBase_ObjectFlow <em>Base Object Flow</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation#getSourceRef <em>Source Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation#getTargetRef <em>Target Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation#getTransformation <em>Transformation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation#getAssignment <em>Assignment</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataAssociation()
+ * @model abstract="true"
+ * @generated
+ */
+public interface DataAssociation extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Object Flow</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Object Flow</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Object Flow</em>' reference.
+ * @see #setBase_ObjectFlow(ObjectFlow)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataAssociation_Base_ObjectFlow()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ ObjectFlow getBase_ObjectFlow();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation#getBase_ObjectFlow <em>Base Object Flow</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Object Flow</em>' reference.
+ * @see #getBase_ObjectFlow()
+ * @generated
+ */
+ void setBase_ObjectFlow(ObjectFlow value);
+
+ /**
+ * Returns the value of the '<em><b>Source Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Source Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Source Ref</em>' reference.
+ * @see #setSourceRef(ItemAwareElement)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataAssociation_SourceRef()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ ItemAwareElement getSourceRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation#getSourceRef <em>Source Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Source Ref</em>' reference.
+ * @see #getSourceRef()
+ * @generated
+ */
+ void setSourceRef(ItemAwareElement value);
+
+ /**
+ * Returns the value of the '<em><b>Target Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Target Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Target Ref</em>' reference.
+ * @see #setTargetRef(ItemAwareElement)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataAssociation_TargetRef()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ ItemAwareElement getTargetRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation#getTargetRef <em>Target Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Target Ref</em>' reference.
+ * @see #getTargetRef()
+ * @generated
+ */
+ void setTargetRef(ItemAwareElement value);
+
+ /**
+ * Returns the value of the '<em><b>Transformation</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Transformation</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Transformation</em>' reference.
+ * @see #setTransformation(FormalExpression)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataAssociation_Transformation()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ FormalExpression getTransformation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation#getTransformation <em>Transformation</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Transformation</em>' reference.
+ * @see #getTransformation()
+ * @generated
+ */
+ void setTransformation(FormalExpression value);
+
+ /**
+ * Returns the value of the '<em><b>Assignment</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.Assignment}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Assignment</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Assignment</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataAssociation_Assignment()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<Assignment> getAssignment();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * DataAssociation source must be ItemAwareElement
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='DataAssociation.source'"
+ * @generated
+ */
+ boolean DataAssociationsource(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * BPMN DataAssociation::/transformation : FormalExpression [0..1] = ObjectFlow::transformation.
+ *
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='DataAssociation.transformation'"
+ * @generated
+ */
+ boolean DataAssociationtransformation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * DataAssociation target must be ItemAwareElement
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='DataAssociation.target'"
+ * @generated
+ */
+ boolean DataAssociationtarget(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // DataAssociation
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataInput.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataInput.java
new file mode 100644
index 00000000000..f6e5cb04136
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataInput.java
@@ -0,0 +1,236 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.Parameter;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Data Input</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#isCollection <em>Is Collection</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#getBase_InputPin <em>Base Input Pin</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#getBase_Parameter <em>Base Parameter</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#getBase_ActivityParameterNode <em>Base Activity Parameter Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#getInputSetRefs <em>Input Set Refs</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#getInputSetWithOptional <em>Input Set With Optional</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#getInputSetWithWhileExecuting <em>Input Set With While Executing</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataInput()
+ * @model
+ * @generated
+ */
+public interface DataInput extends ItemAwareElement {
+ /**
+ * Returns the value of the '<em><b>Is Collection</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Collection</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Collection</em>' attribute.
+ * @see #setIsCollection(boolean)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataInput_IsCollection()
+ * @model default="false" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isCollection();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#isCollection <em>Is Collection</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Collection</em>' attribute.
+ * @see #isCollection()
+ * @generated
+ */
+ void setIsCollection(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Base Input Pin</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Input Pin</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Input Pin</em>' reference.
+ * @see #setBase_InputPin(InputPin)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataInput_Base_InputPin()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ InputPin getBase_InputPin();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#getBase_InputPin <em>Base Input Pin</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Input Pin</em>' reference.
+ * @see #getBase_InputPin()
+ * @generated
+ */
+ void setBase_InputPin(InputPin value);
+
+ /**
+ * Returns the value of the '<em><b>Base Parameter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Parameter</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Parameter</em>' reference.
+ * @see #setBase_Parameter(Parameter)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataInput_Base_Parameter()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Parameter getBase_Parameter();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#getBase_Parameter <em>Base Parameter</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Parameter</em>' reference.
+ * @see #getBase_Parameter()
+ * @generated
+ */
+ void setBase_Parameter(Parameter value);
+
+ /**
+ * Returns the value of the '<em><b>Base Activity Parameter Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Activity Parameter Node</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Activity Parameter Node</em>' reference.
+ * @see #setBase_ActivityParameterNode(ActivityParameterNode)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataInput_Base_ActivityParameterNode()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ ActivityParameterNode getBase_ActivityParameterNode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#getBase_ActivityParameterNode <em>Base Activity Parameter Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Activity Parameter Node</em>' reference.
+ * @see #getBase_ActivityParameterNode()
+ * @generated
+ */
+ void setBase_ActivityParameterNode(ActivityParameterNode value);
+
+ /**
+ * Returns the value of the '<em><b>Input Set Refs</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.InputSet}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputSet#getDataInputRefs <em>Data Input Refs</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Input Set Refs</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Input Set Refs</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataInput_InputSetRefs()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InputSet#getDataInputRefs
+ * @model opposite="dataInputRefs" required="true" ordered="false"
+ * @generated
+ */
+ EList<InputSet> getInputSetRefs();
+
+ /**
+ * Returns the value of the '<em><b>Input Set With Optional</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.InputSet}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputSet#getOptionalInputRefs <em>Optional Input Refs</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Input Set With Optional</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Input Set With Optional</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataInput_InputSetWithOptional()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InputSet#getOptionalInputRefs
+ * @model opposite="optionalInputRefs" required="true" ordered="false"
+ * @generated
+ */
+ EList<InputSet> getInputSetWithOptional();
+
+ /**
+ * Returns the value of the '<em><b>Input Set With While Executing</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.InputSet}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputSet#getWhileExecutingInputRefs <em>While Executing Input Refs</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Input Set With While Executing</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Input Set With While Executing</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataInput_InputSetWithWhileExecuting()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InputSet#getWhileExecutingInputRefs
+ * @model opposite="whileExecutingInputRefs" required="true" ordered="false"
+ * @generated
+ */
+ EList<InputSet> getInputSetWithWhileExecuting();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * DataInput must not have incoming DataAssociations
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='DataInput.Association'"
+ * @generated
+ */
+ boolean DataInputAssociation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * DataInput owned by BPMN Process has a notation.
+ * DataInput owned by BPMN Activity has no notation.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='DataInput.notation'"
+ * @generated
+ */
+ boolean DataInputnotation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * DataInput::/itemSubjectRef :ItemDefinition [0..1] = ObjectNode.type (defined on typed element)
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='DataInput.itemSubjectRef'"
+ * @generated
+ */
+ boolean DataInputitemSubjectRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // DataInput
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataInputAssociation.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataInputAssociation.java
new file mode 100644
index 00000000000..cd3282770a0
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataInputAssociation.java
@@ -0,0 +1,47 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Data Input Association</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataInputAssociation()
+ * @model
+ * @generated
+ */
+public interface DataInputAssociation extends DataAssociation {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The source of DataAssociation can be every item-aware element visible to the current
+ * scope, e.g. a Data Object, a Property or an Expression.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='dataInputAssociation.source'"
+ * @generated
+ */
+ boolean dataInputAssociationsource(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The target for DataInputAssociation shall be DataInput.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='dataInputAssociation.target'"
+ * @generated
+ */
+ boolean dataInputAssociationtarget(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // DataInputAssociation
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataObject.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataObject.java
new file mode 100644
index 00000000000..b8734e57335
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataObject.java
@@ -0,0 +1,95 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.uml2.uml.DataStoreNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Data Object</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataObject#isCollection <em>Is Collection</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataObject#getBase_DataStoreNode <em>Base Data Store Node</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataObject()
+ * @model
+ * @generated
+ */
+public interface DataObject extends FlowElement, ItemAwareElement {
+ /**
+ * Returns the value of the '<em><b>Is Collection</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Collection</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Collection</em>' attribute.
+ * @see #setIsCollection(boolean)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataObject_IsCollection()
+ * @model default="false" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isCollection();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataObject#isCollection <em>Is Collection</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Collection</em>' attribute.
+ * @see #isCollection()
+ * @generated
+ */
+ void setIsCollection(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Base Data Store Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Data Store Node</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Data Store Node</em>' reference.
+ * @see #setBase_DataStoreNode(DataStoreNode)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataObject_Base_DataStoreNode()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ DataStoreNode getBase_DataStoreNode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataObject#getBase_DataStoreNode <em>Base Data Store Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Data Store Node</em>' reference.
+ * @see #getBase_DataStoreNode()
+ * @generated
+ */
+ void setBase_DataStoreNode(DataStoreNode value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * DataObject DataState property shall reuse UML::CentralBuffer property inState
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='DataObject.dataState'"
+ * @generated
+ */
+ boolean DataObjectdataState(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // DataObject
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataObjectReference.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataObjectReference.java
new file mode 100644
index 00000000000..7b9cfd64a91
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataObjectReference.java
@@ -0,0 +1,108 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.uml2.uml.DataStoreNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Data Object Reference</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataObjectReference#getDataObjectRef <em>Data Object Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataObjectReference#getBase_DataStoreNode <em>Base Data Store Node</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataObjectReference()
+ * @model
+ * @generated
+ */
+public interface DataObjectReference extends FlowElement, ItemAwareElement {
+ /**
+ * Returns the value of the '<em><b>Data Object Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Data Object Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Data Object Ref</em>' reference.
+ * @see #setDataObjectRef(DataObject)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataObjectReference_DataObjectRef()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ DataObject getDataObjectRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataObjectReference#getDataObjectRef <em>Data Object Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Data Object Ref</em>' reference.
+ * @see #getDataObjectRef()
+ * @generated
+ */
+ void setDataObjectRef(DataObject value);
+
+ /**
+ * Returns the value of the '<em><b>Base Data Store Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Data Store Node</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Data Store Node</em>' reference.
+ * @see #setBase_DataStoreNode(DataStoreNode)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataObjectReference_Base_DataStoreNode()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ DataStoreNode getBase_DataStoreNode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataObjectReference#getBase_DataStoreNode <em>Base Data Store Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Data Store Node</em>' reference.
+ * @see #getBase_DataStoreNode()
+ * @generated
+ */
+ void setBase_DataStoreNode(DataStoreNode value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Should be used between UML DataStoreNodes with BPMN
+ * DataObject sytereotype applied,
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='DataObjectRef.source.target'"
+ * @generated
+ */
+ boolean DataObjectRefsourcetarget(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * DataObjectRef::/dataState = DataStoreNode.inState (defined on ObjectNode)
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='DataObjectRef.dataState'"
+ * @generated
+ */
+ boolean DataObjectRefdataState(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // DataObjectReference
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataOutput.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataOutput.java
new file mode 100644
index 00000000000..fae8c11581c
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataOutput.java
@@ -0,0 +1,219 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Parameter;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Data Output</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#getBase_OutputPin <em>Base Output Pin</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#isCollection <em>Is Collection</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#getBase_Parameter <em>Base Parameter</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#getBase_ActivityParameterNode <em>Base Activity Parameter Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#getOutputSetRefs <em>Output Set Refs</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#getOutputSetWithOptional <em>Output Set With Optional</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#getOutputSetWithWhileExecuting <em>Output Set With While Executing</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataOutput()
+ * @model
+ * @generated
+ */
+public interface DataOutput extends ItemAwareElement {
+ /**
+ * Returns the value of the '<em><b>Base Output Pin</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Output Pin</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Output Pin</em>' reference.
+ * @see #setBase_OutputPin(OutputPin)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataOutput_Base_OutputPin()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ OutputPin getBase_OutputPin();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#getBase_OutputPin <em>Base Output Pin</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Output Pin</em>' reference.
+ * @see #getBase_OutputPin()
+ * @generated
+ */
+ void setBase_OutputPin(OutputPin value);
+
+ /**
+ * Returns the value of the '<em><b>Is Collection</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Collection</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Collection</em>' attribute.
+ * @see #setIsCollection(boolean)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataOutput_IsCollection()
+ * @model default="false" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isCollection();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#isCollection <em>Is Collection</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Collection</em>' attribute.
+ * @see #isCollection()
+ * @generated
+ */
+ void setIsCollection(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Base Parameter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Parameter</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Parameter</em>' reference.
+ * @see #setBase_Parameter(Parameter)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataOutput_Base_Parameter()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Parameter getBase_Parameter();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#getBase_Parameter <em>Base Parameter</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Parameter</em>' reference.
+ * @see #getBase_Parameter()
+ * @generated
+ */
+ void setBase_Parameter(Parameter value);
+
+ /**
+ * Returns the value of the '<em><b>Base Activity Parameter Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Activity Parameter Node</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Activity Parameter Node</em>' reference.
+ * @see #setBase_ActivityParameterNode(ActivityParameterNode)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataOutput_Base_ActivityParameterNode()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ ActivityParameterNode getBase_ActivityParameterNode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#getBase_ActivityParameterNode <em>Base Activity Parameter Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Activity Parameter Node</em>' reference.
+ * @see #getBase_ActivityParameterNode()
+ * @generated
+ */
+ void setBase_ActivityParameterNode(ActivityParameterNode value);
+
+ /**
+ * Returns the value of the '<em><b>Output Set Refs</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet#getDataOutputRefs <em>Data Output Refs</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Output Set Refs</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Output Set Refs</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataOutput_OutputSetRefs()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet#getDataOutputRefs
+ * @model opposite="dataOutputRefs" required="true" ordered="false"
+ * @generated
+ */
+ EList<OutputSet> getOutputSetRefs();
+
+ /**
+ * Returns the value of the '<em><b>Output Set With Optional</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Output Set With Optional</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Output Set With Optional</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataOutput_OutputSetWithOptional()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<OutputSet> getOutputSetWithOptional();
+
+ /**
+ * Returns the value of the '<em><b>Output Set With While Executing</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Output Set With While Executing</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Output Set With While Executing</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataOutput_OutputSetWithWhileExecuting()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<OutputSet> getOutputSetWithWhileExecuting();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * DataOutput owned by BPMN Process has a notation.
+ * DataOutput owned by BPMN Activity has no notation.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='DataOutput.notation'"
+ * @generated
+ */
+ boolean DataOutputnotation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * DataOutput::/itemSubjectRef :ItemDefinition [0..1] = ObjectNode.type (defined on typed element)
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='DataOutput.itemSubjectRef'"
+ * @generated
+ */
+ boolean DataOutputitemSubjectRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // DataOutput
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataOutputAssociation.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataOutputAssociation.java
new file mode 100644
index 00000000000..8828550c0fe
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataOutputAssociation.java
@@ -0,0 +1,47 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Data Output Association</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataOutputAssociation()
+ * @model
+ * @generated
+ */
+public interface DataOutputAssociation extends DataAssociation {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The source of DataAssociation shall be DataOutput
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='dataOutputAssociation.source'"
+ * @generated
+ */
+ boolean dataOutputAssociationsource(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The target of DataAssociation can be every item-aware element visible to the current scope, e.g. a Data Object, a
+ * Property or an Expression.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='dataOutputAssociation.target'"
+ * @generated
+ */
+ boolean dataOutputAssociationtarget(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // DataOutputAssociation
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataState.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataState.java
new file mode 100644
index 00000000000..741b669a93b
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataState.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.State;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Data State</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataState#getBase_State <em>Base State</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataState()
+ * @model
+ * @generated
+ */
+public interface DataState extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base State</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base State</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base State</em>' reference.
+ * @see #setBase_State(State)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataState_Base_State()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ State getBase_State();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataState#getBase_State <em>Base State</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base State</em>' reference.
+ * @see #getBase_State()
+ * @generated
+ */
+ void setBase_State(State value);
+
+} // DataState
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataStore.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataStore.java
new file mode 100644
index 00000000000..dd791b33f6a
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataStore.java
@@ -0,0 +1,132 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Data Store</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataStore#getCapacity <em>Capacity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataStore#isUnlimited <em>Is Unlimited</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataStore#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataStore#getItemSubjectRef <em>Item Subject Ref</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataStore()
+ * @model
+ * @generated
+ */
+public interface DataStore extends RootElement {
+ /**
+ * Returns the value of the '<em><b>Capacity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Capacity</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Capacity</em>' attribute.
+ * @see #setCapacity(int)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataStore_Capacity()
+ * @model dataType="org.eclipse.uml2.types.Integer" ordered="false"
+ * @generated
+ */
+ int getCapacity();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataStore#getCapacity <em>Capacity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Capacity</em>' attribute.
+ * @see #getCapacity()
+ * @generated
+ */
+ void setCapacity(int value);
+
+ /**
+ * Returns the value of the '<em><b>Is Unlimited</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Unlimited</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Unlimited</em>' attribute.
+ * @see #setIsUnlimited(boolean)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataStore_IsUnlimited()
+ * @model default="true" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isUnlimited();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataStore#isUnlimited <em>Is Unlimited</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Unlimited</em>' attribute.
+ * @see #isUnlimited()
+ * @generated
+ */
+ void setIsUnlimited(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Class</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Class</em>' reference.
+ * @see #setBase_Class(org.eclipse.uml2.uml.Class)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataStore_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataStore#getBase_Class <em>Base Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Class</em>' reference.
+ * @see #getBase_Class()
+ * @generated
+ */
+ void setBase_Class(org.eclipse.uml2.uml.Class value);
+
+ /**
+ * Returns the value of the '<em><b>Item Subject Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Item Subject Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Item Subject Ref</em>' reference.
+ * @see #setItemSubjectRef(ItemDefinition)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataStore_ItemSubjectRef()
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='itemSubjectRef '"
+ * @generated
+ */
+ ItemDefinition getItemSubjectRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataStore#getItemSubjectRef <em>Item Subject Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Item Subject Ref</em>' reference.
+ * @see #getItemSubjectRef()
+ * @generated
+ */
+ void setItemSubjectRef(ItemDefinition value);
+
+} // DataStore
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataStoreReference.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataStoreReference.java
new file mode 100644
index 00000000000..544b6dfe693
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/DataStoreReference.java
@@ -0,0 +1,78 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.DataStoreNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Data Store Reference</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataStoreReference#get_dataStore <em>data Store</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataStoreReference#getBase_DataStoreNode <em>Base Data Store Node</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataStoreReference()
+ * @model
+ * @generated
+ */
+public interface DataStoreReference extends FlowElement, ItemAwareElement {
+ /**
+ * Returns the value of the '<em><b>data Store</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>data Store</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>data Store</em>' reference.
+ * @see #set_dataStore(DataStore)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataStoreReference__dataStore()
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName=' dataStore'"
+ * @generated
+ */
+ DataStore get_dataStore();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataStoreReference#get_dataStore <em>data Store</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>data Store</em>' reference.
+ * @see #get_dataStore()
+ * @generated
+ */
+ void set_dataStore(DataStore value);
+
+ /**
+ * Returns the value of the '<em><b>Base Data Store Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Data Store Node</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Data Store Node</em>' reference.
+ * @see #setBase_DataStoreNode(DataStoreNode)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDataStoreReference_Base_DataStoreNode()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ DataStoreNode getBase_DataStoreNode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataStoreReference#getBase_DataStoreNode <em>Base Data Store Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Data Store Node</em>' reference.
+ * @see #getBase_DataStoreNode()
+ * @generated
+ */
+ void setBase_DataStoreNode(DataStoreNode value);
+
+} // DataStoreReference
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Definitions.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Definitions.java
new file mode 100644
index 00000000000..5f1655631f0
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Definitions.java
@@ -0,0 +1,255 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Definitions</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getTargetNamespace <em>Target Namespace</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getExpressionLanguage <em>Expression Language</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getTypeLanguage <em>Type Language</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getExporter <em>Exporter</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getExporterVersion <em>Exporter Version</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getExtensions <em>Extensions</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getImports <em>Imports</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getRelationships <em>Relationships</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getRootElements <em>Root Elements</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDefinitions()
+ * @model
+ * @generated
+ */
+public interface Definitions extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Package</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Package</em>' reference.
+ * @see #setBase_Package(org.eclipse.uml2.uml.Package)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDefinitions_Base_Package()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getBase_Package <em>Base Package</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Package</em>' reference.
+ * @see #getBase_Package()
+ * @generated
+ */
+ void setBase_Package(org.eclipse.uml2.uml.Package value);
+
+ /**
+ * Returns the value of the '<em><b>Target Namespace</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Target Namespace</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Target Namespace</em>' attribute.
+ * @see #setTargetNamespace(String)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDefinitions_TargetNamespace()
+ * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getTargetNamespace();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getTargetNamespace <em>Target Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Target Namespace</em>' attribute.
+ * @see #getTargetNamespace()
+ * @generated
+ */
+ void setTargetNamespace(String value);
+
+ /**
+ * Returns the value of the '<em><b>Expression Language</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Expression Language</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Expression Language</em>' attribute.
+ * @see #setExpressionLanguage(String)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDefinitions_ExpressionLanguage()
+ * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+ * @generated
+ */
+ String getExpressionLanguage();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getExpressionLanguage <em>Expression Language</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Expression Language</em>' attribute.
+ * @see #getExpressionLanguage()
+ * @generated
+ */
+ void setExpressionLanguage(String value);
+
+ /**
+ * Returns the value of the '<em><b>Type Language</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type Language</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type Language</em>' attribute.
+ * @see #setTypeLanguage(String)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDefinitions_TypeLanguage()
+ * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+ * @generated
+ */
+ String getTypeLanguage();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getTypeLanguage <em>Type Language</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type Language</em>' attribute.
+ * @see #getTypeLanguage()
+ * @generated
+ */
+ void setTypeLanguage(String value);
+
+ /**
+ * Returns the value of the '<em><b>Exporter</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Exporter</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Exporter</em>' attribute.
+ * @see #setExporter(String)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDefinitions_Exporter()
+ * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getExporter();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getExporter <em>Exporter</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Exporter</em>' attribute.
+ * @see #getExporter()
+ * @generated
+ */
+ void setExporter(String value);
+
+ /**
+ * Returns the value of the '<em><b>Exporter Version</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Exporter Version</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Exporter Version</em>' attribute.
+ * @see #setExporterVersion(String)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDefinitions_ExporterVersion()
+ * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getExporterVersion();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getExporterVersion <em>Exporter Version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Exporter Version</em>' attribute.
+ * @see #getExporterVersion()
+ * @generated
+ */
+ void setExporterVersion(String value);
+
+ /**
+ * Returns the value of the '<em><b>Extensions</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExtension}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Extensions</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Extensions</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDefinitions_Extensions()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<BPMNExtension> getExtensions();
+
+ /**
+ * Returns the value of the '<em><b>Imports</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.Import}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Imports</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Imports</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDefinitions_Imports()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<Import> getImports();
+
+ /**
+ * Returns the value of the '<em><b>Relationships</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Relationships</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Relationships</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDefinitions_Relationships()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<BPMNRelationship> getRelationships();
+
+ /**
+ * Returns the value of the '<em><b>Root Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.RootElement}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.RootElement#getDefinition <em>Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Root Elements</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Root Elements</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDefinitions_RootElements()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.RootElement#getDefinition
+ * @model opposite="definition" required="true" ordered="false"
+ * @generated
+ */
+ EList<RootElement> getRootElements();
+
+} // Definitions
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Documentation.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Documentation.java
new file mode 100644
index 00000000000..91165b4575e
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Documentation.java
@@ -0,0 +1,104 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.Comment;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Documentation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Documentation#getBase_Comment <em>Base Comment</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Documentation#getTextFormat <em>Text Format</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Documentation#getText <em>Text</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDocumentation()
+ * @model
+ * @generated
+ */
+public interface Documentation extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Comment</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Comment</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Comment</em>' reference.
+ * @see #setBase_Comment(Comment)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDocumentation_Base_Comment()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Comment getBase_Comment();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Documentation#getBase_Comment <em>Base Comment</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Comment</em>' reference.
+ * @see #getBase_Comment()
+ * @generated
+ */
+ void setBase_Comment(Comment value);
+
+ /**
+ * Returns the value of the '<em><b>Text Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Text Format</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Text Format</em>' attribute.
+ * @see #setTextFormat(String)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDocumentation_TextFormat()
+ * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getTextFormat();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Documentation#getTextFormat <em>Text Format</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Text Format</em>' attribute.
+ * @see #getTextFormat()
+ * @generated
+ */
+ void setTextFormat(String value);
+
+ /**
+ * Returns the value of the '<em><b>Text</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Text</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Text</em>' attribute.
+ * @see #setText(String)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getDocumentation_Text()
+ * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getText();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Documentation#getText <em>Text</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Text</em>' attribute.
+ * @see #getText()
+ * @generated
+ */
+ void setText(String value);
+
+} // Documentation
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/EndEvent.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/EndEvent.java
new file mode 100644
index 00000000000..07537f601e2
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/EndEvent.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.FinalNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>End Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.EndEvent#getBase_FinalNode <em>Base Final Node</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getEndEvent()
+ * @model
+ * @generated
+ */
+public interface EndEvent extends ThrowEvent {
+ /**
+ * Returns the value of the '<em><b>Base Final Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Final Node</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Final Node</em>' reference.
+ * @see #setBase_FinalNode(FinalNode)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getEndEvent_Base_FinalNode()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ FinalNode getBase_FinalNode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.EndEvent#getBase_FinalNode <em>Base Final Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Final Node</em>' reference.
+ * @see #getBase_FinalNode()
+ * @generated
+ */
+ void setBase_FinalNode(FinalNode value);
+
+} // EndEvent
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Error.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Error.java
new file mode 100644
index 00000000000..eb2677f19ad
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Error.java
@@ -0,0 +1,53 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Error</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * self.structureRef = self.base_Class
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Error#getErrorCode <em>Error Code</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getError()
+ * @model
+ * @generated
+ */
+public interface Error extends ItemDefinition {
+ /**
+ * Returns the value of the '<em><b>Error Code</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Error Code</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Error Code</em>' attribute.
+ * @see #setErrorCode(String)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getError_ErrorCode()
+ * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+ * @generated
+ */
+ String getErrorCode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Error#getErrorCode <em>Error Code</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Error Code</em>' attribute.
+ * @see #getErrorCode()
+ * @generated
+ */
+ void setErrorCode(String value);
+
+} // Error
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ErrorEventDefinition.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ErrorEventDefinition.java
new file mode 100644
index 00000000000..ff94183385b
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ErrorEventDefinition.java
@@ -0,0 +1,77 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.CallEvent;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Error Event Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ErrorEventDefinition#getErrorRef <em>Error Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ErrorEventDefinition#getBase_CallEvent <em>Base Call Event</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getErrorEventDefinition()
+ * @model
+ * @generated
+ */
+public interface ErrorEventDefinition extends EventDefinition {
+ /**
+ * Returns the value of the '<em><b>Error Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Error Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Error Ref</em>' reference.
+ * @see #setErrorRef(org.eclipse.papyrus.bpmn.BPMNProfile.Error)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getErrorEventDefinition_ErrorRef()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.papyrus.bpmn.BPMNProfile.Error getErrorRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ErrorEventDefinition#getErrorRef <em>Error Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Error Ref</em>' reference.
+ * @see #getErrorRef()
+ * @generated
+ */
+ void setErrorRef(org.eclipse.papyrus.bpmn.BPMNProfile.Error value);
+
+ /**
+ * Returns the value of the '<em><b>Base Call Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Call Event</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Call Event</em>' reference.
+ * @see #setBase_CallEvent(CallEvent)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getErrorEventDefinition_Base_CallEvent()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ CallEvent getBase_CallEvent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ErrorEventDefinition#getBase_CallEvent <em>Base Call Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Call Event</em>' reference.
+ * @see #getBase_CallEvent()
+ * @generated
+ */
+ void setBase_CallEvent(CallEvent value);
+
+} // ErrorEventDefinition
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Escalation.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Escalation.java
new file mode 100644
index 00000000000..d4dc339ea22
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Escalation.java
@@ -0,0 +1,65 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Escalation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Escalation#getEscalationCode <em>Escalation Code</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getEscalation()
+ * @model
+ * @generated
+ */
+public interface Escalation extends ItemDefinition {
+ /**
+ * Returns the value of the '<em><b>Escalation Code</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Escalation Code</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Escalation Code</em>' attribute.
+ * @see #setEscalationCode(String)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getEscalation_EscalationCode()
+ * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+ * @generated
+ */
+ String getEscalationCode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Escalation#getEscalationCode <em>Escalation Code</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Escalation Code</em>' attribute.
+ * @see #getEscalationCode()
+ * @generated
+ */
+ void setEscalationCode(String value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * self.structureRef = self.base_Class
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Escalation.structureRef'"
+ * @generated
+ */
+ boolean EscalationstructureRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // Escalation
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/EscalationEventDefinition.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/EscalationEventDefinition.java
new file mode 100644
index 00000000000..5654f47a45c
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/EscalationEventDefinition.java
@@ -0,0 +1,77 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.CallEvent;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Escalation Event Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.EscalationEventDefinition#getEscalationRef <em>Escalation Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.EscalationEventDefinition#getBase_CallEvent <em>Base Call Event</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getEscalationEventDefinition()
+ * @model
+ * @generated
+ */
+public interface EscalationEventDefinition extends EventDefinition {
+ /**
+ * Returns the value of the '<em><b>Escalation Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Escalation Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Escalation Ref</em>' reference.
+ * @see #setEscalationRef(Escalation)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getEscalationEventDefinition_EscalationRef()
+ * @model ordered="false"
+ * @generated
+ */
+ Escalation getEscalationRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.EscalationEventDefinition#getEscalationRef <em>Escalation Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Escalation Ref</em>' reference.
+ * @see #getEscalationRef()
+ * @generated
+ */
+ void setEscalationRef(Escalation value);
+
+ /**
+ * Returns the value of the '<em><b>Base Call Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Call Event</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Call Event</em>' reference.
+ * @see #setBase_CallEvent(CallEvent)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getEscalationEventDefinition_Base_CallEvent()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ CallEvent getBase_CallEvent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.EscalationEventDefinition#getBase_CallEvent <em>Base Call Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Call Event</em>' reference.
+ * @see #getBase_CallEvent()
+ * @generated
+ */
+ void setBase_CallEvent(CallEvent value);
+
+} // EscalationEventDefinition
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/EventBasedGateway.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/EventBasedGateway.java
new file mode 100644
index 00000000000..683a9077f7a
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/EventBasedGateway.java
@@ -0,0 +1,165 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Event Based Gateway</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway#isInstantiate <em>Instantiate</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway#getEventGatewayType <em>Event Gateway Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway#getBase_ForkNode <em>Base Fork Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway#getBase_StructuredActivityNode <em>Base Structured Activity Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway#getBase_InterruptibleActivityRegion <em>Base Interruptible Activity Region</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getEventBasedGateway()
+ * @model
+ * @generated
+ */
+public interface EventBasedGateway extends Gateway {
+ /**
+ * Returns the value of the '<em><b>Instantiate</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Instantiate</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Instantiate</em>' attribute.
+ * @see #setInstantiate(boolean)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getEventBasedGateway_Instantiate()
+ * @model default="false" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isInstantiate();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway#isInstantiate <em>Instantiate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Instantiate</em>' attribute.
+ * @see #isInstantiate()
+ * @generated
+ */
+ void setInstantiate(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Event Gateway Type</b></em>' attribute.
+ * The default value is <code>"exclusive"</code>.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGatewayType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Event Gateway Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Event Gateway Type</em>' attribute.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGatewayType
+ * @see #setEventGatewayType(EventBasedGatewayType)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getEventBasedGateway_EventGatewayType()
+ * @model default="exclusive" required="true" ordered="false"
+ * @generated
+ */
+ EventBasedGatewayType getEventGatewayType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway#getEventGatewayType <em>Event Gateway Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Event Gateway Type</em>' attribute.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGatewayType
+ * @see #getEventGatewayType()
+ * @generated
+ */
+ void setEventGatewayType(EventBasedGatewayType value);
+
+ /**
+ * Returns the value of the '<em><b>Base Fork Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Fork Node</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Fork Node</em>' reference.
+ * @see #setBase_ForkNode(ForkNode)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getEventBasedGateway_Base_ForkNode()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ ForkNode getBase_ForkNode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway#getBase_ForkNode <em>Base Fork Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Fork Node</em>' reference.
+ * @see #getBase_ForkNode()
+ * @generated
+ */
+ void setBase_ForkNode(ForkNode value);
+
+ /**
+ * Returns the value of the '<em><b>Base Structured Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Structured Activity Node</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Structured Activity Node</em>' reference.
+ * @see #setBase_StructuredActivityNode(StructuredActivityNode)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getEventBasedGateway_Base_StructuredActivityNode()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ StructuredActivityNode getBase_StructuredActivityNode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway#getBase_StructuredActivityNode <em>Base Structured Activity Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Structured Activity Node</em>' reference.
+ * @see #getBase_StructuredActivityNode()
+ * @generated
+ */
+ void setBase_StructuredActivityNode(StructuredActivityNode value);
+
+ /**
+ * Returns the value of the '<em><b>Base Interruptible Activity Region</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Interruptible Activity Region</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Interruptible Activity Region</em>' reference.
+ * @see #setBase_InterruptibleActivityRegion(InterruptibleActivityRegion)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getEventBasedGateway_Base_InterruptibleActivityRegion()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ InterruptibleActivityRegion getBase_InterruptibleActivityRegion();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway#getBase_InterruptibleActivityRegion <em>Base Interruptible Activity Region</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Interruptible Activity Region</em>' reference.
+ * @see #getBase_InterruptibleActivityRegion()
+ * @generated
+ */
+ void setBase_InterruptibleActivityRegion(InterruptibleActivityRegion value);
+
+} // EventBasedGateway
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/EventBasedGatewayType.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/EventBasedGatewayType.java
new file mode 100644
index 00000000000..d4e96be2804
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/EventBasedGatewayType.java
@@ -0,0 +1,214 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Event Based Gateway Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getEventBasedGatewayType()
+ * @model
+ * @generated
+ */
+public enum EventBasedGatewayType implements Enumerator {
+ /**
+ * The '<em><b>Exclusive</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #EXCLUSIVE_VALUE
+ * @generated
+ * @ordered
+ */
+ EXCLUSIVE(0, "exclusive", "exclusive"),
+
+ /**
+ * The '<em><b>Parallel</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PARALLEL_VALUE
+ * @generated
+ * @ordered
+ */
+ PARALLEL(1, "parallel", "parallel");
+
+ /**
+ * The '<em><b>Exclusive</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Exclusive</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #EXCLUSIVE
+ * @model name="exclusive"
+ * @generated
+ * @ordered
+ */
+ public static final int EXCLUSIVE_VALUE = 0;
+
+ /**
+ * The '<em><b>Parallel</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Parallel</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PARALLEL
+ * @model name="parallel"
+ * @generated
+ * @ordered
+ */
+ public static final int PARALLEL_VALUE = 1;
+
+ /**
+ * An array of all the '<em><b>Event Based Gateway Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final EventBasedGatewayType[] VALUES_ARRAY =
+ new EventBasedGatewayType[] {
+ EXCLUSIVE,
+ PARALLEL,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Event Based Gateway Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<EventBasedGatewayType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Event Based Gateway Type</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static EventBasedGatewayType get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ EventBasedGatewayType result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Event Based Gateway Type</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static EventBasedGatewayType getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ EventBasedGatewayType result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Event Based Gateway Type</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static EventBasedGatewayType get(int value) {
+ switch (value) {
+ case EXCLUSIVE_VALUE: return EXCLUSIVE;
+ case PARALLEL_VALUE: return PARALLEL;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EventBasedGatewayType(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //EventBasedGatewayType
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/EventDefinition.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/EventDefinition.java
new file mode 100644
index 00000000000..0ab6ca8c03d
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/EventDefinition.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.Event;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Event Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.EventDefinition#getBase_Event <em>Base Event</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getEventDefinition()
+ * @model abstract="true"
+ * @generated
+ */
+public interface EventDefinition extends RootElement {
+ /**
+ * Returns the value of the '<em><b>Base Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Event</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Event</em>' reference.
+ * @see #setBase_Event(Event)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getEventDefinition_Base_Event()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Event getBase_Event();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.EventDefinition#getBase_Event <em>Base Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Event</em>' reference.
+ * @see #getBase_Event()
+ * @generated
+ */
+ void setBase_Event(Event value);
+
+} // EventDefinition
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ExclusiveGateway.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ExclusiveGateway.java
new file mode 100644
index 00000000000..f1d1dde91c1
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ExclusiveGateway.java
@@ -0,0 +1,122 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.MergeNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Exclusive Gateway</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExclusiveGateway#getBase_DecisionNode <em>Base Decision Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExclusiveGateway#getBase_MergeNode <em>Base Merge Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExclusiveGateway#getDefault <em>Default</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getExclusiveGateway()
+ * @model
+ * @generated
+ */
+public interface ExclusiveGateway extends Gateway {
+ /**
+ * Returns the value of the '<em><b>Base Decision Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Decision Node</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Decision Node</em>' reference.
+ * @see #setBase_DecisionNode(DecisionNode)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getExclusiveGateway_Base_DecisionNode()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ DecisionNode getBase_DecisionNode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExclusiveGateway#getBase_DecisionNode <em>Base Decision Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Decision Node</em>' reference.
+ * @see #getBase_DecisionNode()
+ * @generated
+ */
+ void setBase_DecisionNode(DecisionNode value);
+
+ /**
+ * Returns the value of the '<em><b>Base Merge Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Merge Node</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Merge Node</em>' reference.
+ * @see #setBase_MergeNode(MergeNode)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getExclusiveGateway_Base_MergeNode()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ MergeNode getBase_MergeNode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExclusiveGateway#getBase_MergeNode <em>Base Merge Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Merge Node</em>' reference.
+ * @see #getBase_MergeNode()
+ * @generated
+ */
+ void setBase_MergeNode(MergeNode value);
+
+ /**
+ * Returns the value of the '<em><b>Default</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Default</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Default</em>' reference.
+ * @see #setDefault(SequenceFlow)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getExclusiveGateway_Default()
+ * @model ordered="false"
+ * @generated
+ */
+ SequenceFlow getDefault();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExclusiveGateway#getDefault <em>Default</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Default</em>' reference.
+ * @see #getDefault()
+ * @generated
+ */
+ void setDefault(SequenceFlow value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * exclusiveGateway::/default : SequenceFlow [0..1] = an outgoing control flow with guard "else"
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='exclusiveGateway.default'"
+ * @generated
+ */
+ boolean exclusiveGatewaydefault(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ExclusiveGateway
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ExtensionAttributeDefinition.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ExtensionAttributeDefinition.java
new file mode 100644
index 00000000000..d49a6838484
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ExtensionAttributeDefinition.java
@@ -0,0 +1,106 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Extension Attribute Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeDefinition#getBase_Property <em>Base Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeDefinition#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeDefinition#isReference <em>Is Reference</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getExtensionAttributeDefinition()
+ * @model
+ * @generated
+ */
+public interface ExtensionAttributeDefinition extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Property</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Property</em>' reference.
+ * @see #setBase_Property(Property)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getExtensionAttributeDefinition_Base_Property()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Property getBase_Property();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeDefinition#getBase_Property <em>Base Property</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Property</em>' reference.
+ * @see #getBase_Property()
+ * @generated
+ */
+ void setBase_Property(Property value);
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type</em>' attribute.
+ * @see #setType(String)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getExtensionAttributeDefinition_Type()
+ * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeDefinition#getType <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' attribute.
+ * @see #getType()
+ * @generated
+ */
+ void setType(String value);
+
+ /**
+ * Returns the value of the '<em><b>Is Reference</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Reference</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Reference</em>' attribute.
+ * @see #setIsReference(boolean)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getExtensionAttributeDefinition_IsReference()
+ * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isReference();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeDefinition#isReference <em>Is Reference</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Reference</em>' attribute.
+ * @see #isReference()
+ * @generated
+ */
+ void setIsReference(boolean value);
+
+} // ExtensionAttributeDefinition
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ExtensionAttributeValue.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ExtensionAttributeValue.java
new file mode 100644
index 00000000000..2ed657cfaff
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ExtensionAttributeValue.java
@@ -0,0 +1,107 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Slot;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Extension Attribute Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeValue#getBase_Slot <em>Base Slot</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeValue#getValueRef <em>Value Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeValue#getExtensionAttributeDefinition <em>Extension Attribute Definition</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getExtensionAttributeValue()
+ * @model
+ * @generated
+ */
+public interface ExtensionAttributeValue extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Slot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Slot</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Slot</em>' reference.
+ * @see #setBase_Slot(Slot)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getExtensionAttributeValue_Base_Slot()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Slot getBase_Slot();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeValue#getBase_Slot <em>Base Slot</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Slot</em>' reference.
+ * @see #getBase_Slot()
+ * @generated
+ */
+ void setBase_Slot(Slot value);
+
+ /**
+ * Returns the value of the '<em><b>Value Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value Ref</em>' reference.
+ * @see #setValueRef(Element)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getExtensionAttributeValue_ValueRef()
+ * @model ordered="false"
+ * @generated
+ */
+ Element getValueRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeValue#getValueRef <em>Value Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value Ref</em>' reference.
+ * @see #getValueRef()
+ * @generated
+ */
+ void setValueRef(Element value);
+
+ /**
+ * Returns the value of the '<em><b>Extension Attribute Definition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Extension Attribute Definition</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Extension Attribute Definition</em>' reference.
+ * @see #setExtensionAttributeDefinition(ExtensionAttributeDefinition)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getExtensionAttributeValue_ExtensionAttributeDefinition()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ ExtensionAttributeDefinition getExtensionAttributeDefinition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeValue#getExtensionAttributeDefinition <em>Extension Attribute Definition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Extension Attribute Definition</em>' reference.
+ * @see #getExtensionAttributeDefinition()
+ * @generated
+ */
+ void setExtensionAttributeDefinition(ExtensionAttributeDefinition value);
+
+} // ExtensionAttributeValue
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ExtensionDefinition.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ExtensionDefinition.java
new file mode 100644
index 00000000000..d9f779302b1
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ExtensionDefinition.java
@@ -0,0 +1,71 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Stereotype;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Extension Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionDefinition#getBase_Stereotype <em>Base Stereotype</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionDefinition#getExtensionAttributeDefinitions <em>Extension Attribute Definitions</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getExtensionDefinition()
+ * @model
+ * @generated
+ */
+public interface ExtensionDefinition extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Stereotype</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Stereotype</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Stereotype</em>' reference.
+ * @see #setBase_Stereotype(Stereotype)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getExtensionDefinition_Base_Stereotype()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Stereotype getBase_Stereotype();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionDefinition#getBase_Stereotype <em>Base Stereotype</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Stereotype</em>' reference.
+ * @see #getBase_Stereotype()
+ * @generated
+ */
+ void setBase_Stereotype(Stereotype value);
+
+ /**
+ * Returns the value of the '<em><b>Extension Attribute Definitions</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeDefinition}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Extension Attribute Definitions</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Extension Attribute Definitions</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getExtensionDefinition_ExtensionAttributeDefinitions()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<ExtensionAttributeDefinition> getExtensionAttributeDefinitions();
+
+} // ExtensionDefinition
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/FlowElement.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/FlowElement.java
new file mode 100644
index 00000000000..156b14b6d1f
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/FlowElement.java
@@ -0,0 +1,126 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Flow Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement#getAuditing <em>Auditing</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement#getMonitoring <em>Monitoring</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement#get_categoryValueRef <em>category Value Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement#getContainer <em>Container</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getFlowElement()
+ * @model abstract="true"
+ * @generated
+ */
+public interface FlowElement extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Auditing</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Auditing</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Auditing</em>' reference.
+ * @see #setAuditing(Auditing)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getFlowElement_Auditing()
+ * @model ordered="false"
+ * @generated
+ */
+ Auditing getAuditing();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement#getAuditing <em>Auditing</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Auditing</em>' reference.
+ * @see #getAuditing()
+ * @generated
+ */
+ void setAuditing(Auditing value);
+
+ /**
+ * Returns the value of the '<em><b>Monitoring</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Monitoring</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Monitoring</em>' reference.
+ * @see #setMonitoring(Monitoring)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getFlowElement_Monitoring()
+ * @model ordered="false"
+ * @generated
+ */
+ Monitoring getMonitoring();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement#getMonitoring <em>Monitoring</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Monitoring</em>' reference.
+ * @see #getMonitoring()
+ * @generated
+ */
+ void setMonitoring(Monitoring value);
+
+ /**
+ * Returns the value of the '<em><b>category Value Ref</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.CategoryValue}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CategoryValue#getCategorizedFlowElements <em>Categorized Flow Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>category Value Ref</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>category Value Ref</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getFlowElement__categoryValueRef()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CategoryValue#getCategorizedFlowElements
+ * @model opposite="categorizedFlowElements" required="true" ordered="false"
+ * annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName=' categoryValueRef'"
+ * @generated
+ */
+ EList<CategoryValue> get_categoryValueRef();
+
+ /**
+ * Returns the value of the '<em><b>Container</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowElementsContainer#getFlowElements <em>Flow Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Container</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Container</em>' reference.
+ * @see #setContainer(FlowElementsContainer)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getFlowElement_Container()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.FlowElementsContainer#getFlowElements
+ * @model opposite="flowElements" required="true" ordered="false"
+ * @generated
+ */
+ FlowElementsContainer getContainer();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement#getContainer <em>Container</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Container</em>' reference.
+ * @see #getContainer()
+ * @generated
+ */
+ void setContainer(FlowElementsContainer value);
+
+} // FlowElement
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/FlowElementsContainer.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/FlowElementsContainer.java
new file mode 100644
index 00000000000..cfc5da74d20
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/FlowElementsContainer.java
@@ -0,0 +1,61 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Flow Elements Container</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowElementsContainer#getLaneSets <em>Lane Sets</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowElementsContainer#getFlowElements <em>Flow Elements</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getFlowElementsContainer()
+ * @model abstract="true"
+ * @generated
+ */
+public interface FlowElementsContainer extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Lane Sets</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet#getFlowElementsContainer <em>Flow Elements Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Lane Sets</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Lane Sets</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getFlowElementsContainer_LaneSets()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet#getFlowElementsContainer
+ * @model opposite="flowElementsContainer" required="true" ordered="false"
+ * @generated
+ */
+ EList<LaneSet> getLaneSets();
+
+ /**
+ * Returns the value of the '<em><b>Flow Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement#getContainer <em>Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Flow Elements</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Flow Elements</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getFlowElementsContainer_FlowElements()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement#getContainer
+ * @model opposite="container" required="true" ordered="false"
+ * @generated
+ */
+ EList<FlowElement> getFlowElements();
+
+} // FlowElementsContainer
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/FlowNode.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/FlowNode.java
new file mode 100644
index 00000000000..17fe2441e93
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/FlowNode.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.ActivityNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Flow Node</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowNode#getBase_ActivityNode <em>Base Activity Node</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getFlowNode()
+ * @model abstract="true"
+ * @generated
+ */
+public interface FlowNode extends FlowElement {
+ /**
+ * Returns the value of the '<em><b>Base Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Activity Node</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Activity Node</em>' reference.
+ * @see #setBase_ActivityNode(ActivityNode)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getFlowNode_Base_ActivityNode()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ ActivityNode getBase_ActivityNode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowNode#getBase_ActivityNode <em>Base Activity Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Activity Node</em>' reference.
+ * @see #getBase_ActivityNode()
+ * @generated
+ */
+ void setBase_ActivityNode(ActivityNode value);
+
+} // FlowNode
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/FormalExpression.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/FormalExpression.java
new file mode 100644
index 00000000000..74afaeff23d
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/FormalExpression.java
@@ -0,0 +1,65 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Formal Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.FormalExpression#getEvaluatesToTypeRef <em>Evaluates To Type Ref</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getFormalExpression()
+ * @model
+ * @generated
+ */
+public interface FormalExpression extends BPMNExpression {
+ /**
+ * Returns the value of the '<em><b>Evaluates To Type Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Evaluates To Type Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Evaluates To Type Ref</em>' reference.
+ * @see #setEvaluatesToTypeRef(ItemDefinition)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getFormalExpression_EvaluatesToTypeRef()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ ItemDefinition getEvaluatesToTypeRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.FormalExpression#getEvaluatesToTypeRef <em>Evaluates To Type Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Evaluates To Type Ref</em>' reference.
+ * @see #getEvaluatesToTypeRef()
+ * @generated
+ */
+ void setEvaluatesToTypeRef(ItemDefinition value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * self.evaluatesToTypeRef = self.base_OpaqueExpression.type. extension_ItemDefinition
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='FormalExpression.evaluatesToTypeRef'"
+ * @generated
+ */
+ boolean FormalExpressionevaluatesToTypeRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // FormalExpression
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Gateway.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Gateway.java
new file mode 100644
index 00000000000..2ff1b6ec2fb
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Gateway.java
@@ -0,0 +1,78 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ControlNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Gateway</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Gateway#getBase_ControlNode <em>Base Control Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Gateway#getBase_ActivityGroup <em>Base Activity Group</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getGateway()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Gateway extends FlowNode {
+ /**
+ * Returns the value of the '<em><b>Base Control Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Control Node</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Control Node</em>' reference.
+ * @see #setBase_ControlNode(ControlNode)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getGateway_Base_ControlNode()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ ControlNode getBase_ControlNode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Gateway#getBase_ControlNode <em>Base Control Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Control Node</em>' reference.
+ * @see #getBase_ControlNode()
+ * @generated
+ */
+ void setBase_ControlNode(ControlNode value);
+
+ /**
+ * Returns the value of the '<em><b>Base Activity Group</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Activity Group</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Activity Group</em>' reference.
+ * @see #setBase_ActivityGroup(ActivityGroup)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getGateway_Base_ActivityGroup()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ ActivityGroup getBase_ActivityGroup();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Gateway#getBase_ActivityGroup <em>Base Activity Group</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Activity Group</em>' reference.
+ * @see #getBase_ActivityGroup()
+ * @generated
+ */
+ void setBase_ActivityGroup(ActivityGroup value);
+
+} // Gateway
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/GatewayDirection.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/GatewayDirection.java
new file mode 100644
index 00000000000..9ab9f321302
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/GatewayDirection.java
@@ -0,0 +1,268 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Gateway Direction</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getGatewayDirection()
+ * @model
+ * @generated
+ */
+public enum GatewayDirection implements Enumerator {
+ /**
+ * The '<em><b>Unspecified</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UNSPECIFIED_VALUE
+ * @generated
+ * @ordered
+ */
+ UNSPECIFIED(0, "unspecified", "unspecified"),
+
+ /**
+ * The '<em><b>Converging</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #CONVERGING_VALUE
+ * @generated
+ * @ordered
+ */
+ CONVERGING(1, "converging", "converging"),
+
+ /**
+ * The '<em><b>Diverging</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #DIVERGING_VALUE
+ * @generated
+ * @ordered
+ */
+ DIVERGING(2, "diverging", "diverging"),
+
+ /**
+ * The '<em><b>Mixed</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #MIXED_VALUE
+ * @generated
+ * @ordered
+ */
+ MIXED(3, "mixed", "mixed");
+
+ /**
+ * The '<em><b>Unspecified</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Unspecified</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #UNSPECIFIED
+ * @model name="unspecified"
+ * @generated
+ * @ordered
+ */
+ public static final int UNSPECIFIED_VALUE = 0;
+
+ /**
+ * The '<em><b>Converging</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Converging</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #CONVERGING
+ * @model name="converging"
+ * @generated
+ * @ordered
+ */
+ public static final int CONVERGING_VALUE = 1;
+
+ /**
+ * The '<em><b>Diverging</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Diverging</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #DIVERGING
+ * @model name="diverging"
+ * @generated
+ * @ordered
+ */
+ public static final int DIVERGING_VALUE = 2;
+
+ /**
+ * The '<em><b>Mixed</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Mixed</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #MIXED
+ * @model name="mixed"
+ * @generated
+ * @ordered
+ */
+ public static final int MIXED_VALUE = 3;
+
+ /**
+ * An array of all the '<em><b>Gateway Direction</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final GatewayDirection[] VALUES_ARRAY =
+ new GatewayDirection[] {
+ UNSPECIFIED,
+ CONVERGING,
+ DIVERGING,
+ MIXED,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Gateway Direction</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<GatewayDirection> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Gateway Direction</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static GatewayDirection get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ GatewayDirection result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Gateway Direction</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static GatewayDirection getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ GatewayDirection result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Gateway Direction</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static GatewayDirection get(int value) {
+ switch (value) {
+ case UNSPECIFIED_VALUE: return UNSPECIFIED;
+ case CONVERGING_VALUE: return CONVERGING;
+ case DIVERGING_VALUE: return DIVERGING;
+ case MIXED_VALUE: return MIXED;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private GatewayDirection(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //GatewayDirection
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/GlobalBusinessRuleTask.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/GlobalBusinessRuleTask.java
new file mode 100644
index 00000000000..9571af49388
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/GlobalBusinessRuleTask.java
@@ -0,0 +1,56 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Global Business Rule Task</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalBusinessRuleTask#getImplementation <em>Implementation</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getGlobalBusinessRuleTask()
+ * @model
+ * @generated
+ */
+public interface GlobalBusinessRuleTask extends GlobalTask {
+ /**
+ * Returns the value of the '<em><b>Implementation</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Implementation</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Implementation</em>' attribute list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getGlobalBusinessRuleTask_Implementation()
+ * @model default="##unspecified" unique="false" dataType="org.eclipse.uml2.types.String" required="true"
+ * @generated
+ */
+ EList<String> getImplementation();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * GlobalBusinessRuleTask::/implementation: String [*] {ordered,non-unique} = OpaqueBehavior.body (defaults to "##unspecified")
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='GlobalBusinessRuleTask.implementation'"
+ * @generated
+ */
+ boolean GlobalBusinessRuleTaskimplementation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // GlobalBusinessRuleTask
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/GlobalConversation.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/GlobalConversation.java
new file mode 100644
index 00000000000..339d638e3b2
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/GlobalConversation.java
@@ -0,0 +1,33 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Global Conversation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getGlobalConversation()
+ * @model
+ * @generated
+ */
+public interface GlobalConversation extends BPMNCollaboration {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * A GlobalConversation MUST NOT contain any ConversationNodes.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='GlobalConversation.contained.elements'"
+ * @generated
+ */
+ boolean GlobalConversationcontainedelements(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // GlobalConversation
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/GlobalManualTask.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/GlobalManualTask.java
new file mode 100644
index 00000000000..afff1ed8a02
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/GlobalManualTask.java
@@ -0,0 +1,17 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Global Manual Task</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getGlobalManualTask()
+ * @model
+ * @generated
+ */
+public interface GlobalManualTask extends GlobalTask {
+} // GlobalManualTask
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/GlobalScriptTask.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/GlobalScriptTask.java
new file mode 100644
index 00000000000..1e96e06ffd0
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/GlobalScriptTask.java
@@ -0,0 +1,86 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Global Script Task</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalScriptTask#getScript <em>Script</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalScriptTask#getScriptFormat <em>Script Format</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getGlobalScriptTask()
+ * @model
+ * @generated
+ */
+public interface GlobalScriptTask extends GlobalTask {
+ /**
+ * Returns the value of the '<em><b>Script</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Script</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Script</em>' attribute list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getGlobalScriptTask_Script()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String" required="true"
+ * @generated
+ */
+ EList<String> getScript();
+
+ /**
+ * Returns the value of the '<em><b>Script Format</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Script Format</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Script Format</em>' attribute list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getGlobalScriptTask_ScriptFormat()
+ * @model dataType="org.eclipse.uml2.types.String" required="true"
+ * @generated
+ */
+ EList<String> getScriptFormat();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * GlobalScriptTask::/scriptFormat : String [*] {ordered}= OpaqueBehavior.language
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='GlobalScriptTask.scriptFormat'"
+ * @generated
+ */
+ boolean GlobalScriptTaskscriptFormat(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * GlobalScriptTask::/script : String [*] {ordered, non-unique}= OpaqueBehavior.body
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='GlobalScriptTask.script'"
+ * @generated
+ */
+ boolean GlobalScriptTaskscript(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // GlobalScriptTask
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/GlobalTask.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/GlobalTask.java
new file mode 100644
index 00000000000..dab7ce15066
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/GlobalTask.java
@@ -0,0 +1,85 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.OpaqueBehavior;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Global Task</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalTask#getBase_OpaqueBehavior <em>Base Opaque Behavior</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalTask#getResources <em>Resources</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getGlobalTask()
+ * @model
+ * @generated
+ */
+public interface GlobalTask extends CallableElement {
+ /**
+ * Returns the value of the '<em><b>Base Opaque Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Opaque Behavior</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Opaque Behavior</em>' reference.
+ * @see #setBase_OpaqueBehavior(OpaqueBehavior)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getGlobalTask_Base_OpaqueBehavior()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ OpaqueBehavior getBase_OpaqueBehavior();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalTask#getBase_OpaqueBehavior <em>Base Opaque Behavior</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Opaque Behavior</em>' reference.
+ * @see #getBase_OpaqueBehavior()
+ * @generated
+ */
+ void setBase_OpaqueBehavior(OpaqueBehavior value);
+
+ /**
+ * Returns the value of the '<em><b>Resources</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Resources</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Resources</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getGlobalTask_Resources()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<ResourceRole> getResources();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * GlobalTask supportedInterfaceRefs are referenced by UML property RealizedInterface.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='GlobalTask.supportedInterfaceRefs'"
+ * @generated
+ */
+ boolean GlobalTasksupportedInterfaceRefs(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // GlobalTask
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/GlobalUserTask.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/GlobalUserTask.java
new file mode 100644
index 00000000000..b9acc2afdaf
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/GlobalUserTask.java
@@ -0,0 +1,86 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Global User Task</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalUserTask#getImplementation <em>Implementation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalUserTask#getRenderings <em>Renderings</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getGlobalUserTask()
+ * @model
+ * @generated
+ */
+public interface GlobalUserTask extends GlobalTask {
+ /**
+ * Returns the value of the '<em><b>Implementation</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Implementation</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Implementation</em>' attribute list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getGlobalUserTask_Implementation()
+ * @model default="##unspecified" unique="false" dataType="org.eclipse.uml2.types.String" required="true"
+ * @generated
+ */
+ EList<String> getImplementation();
+
+ /**
+ * Returns the value of the '<em><b>Renderings</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.Rendering}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Renderings</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Renderings</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getGlobalUserTask_Renderings()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<Rendering> getRenderings();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * GlobalUserTask::/renderings: Image [*] = Stereotype.icon
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='GlobalUserTask.renderings'"
+ * @generated
+ */
+ boolean GlobalUserTaskrenderings(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * GlobalUserTask::/implementation : String [*] {ordered,non-unique}= OpaqueBehavior.body (defaults to "##unspecified")
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='GlobalUserTask.implementation'"
+ * @generated
+ */
+ boolean GlobalUserTaskimplementation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // GlobalUserTask
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Group.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Group.java
new file mode 100644
index 00000000000..4b71595695f
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Group.java
@@ -0,0 +1,78 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.ActivityPartition;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Group</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Group#getBase_ActivityPartition <em>Base Activity Partition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Group#get_categoryValueRef <em>category Value Ref</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getGroup()
+ * @model
+ * @generated
+ */
+public interface Group extends BPMNArtifact {
+ /**
+ * Returns the value of the '<em><b>Base Activity Partition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Activity Partition</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Activity Partition</em>' reference.
+ * @see #setBase_ActivityPartition(ActivityPartition)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getGroup_Base_ActivityPartition()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ ActivityPartition getBase_ActivityPartition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Group#getBase_ActivityPartition <em>Base Activity Partition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Activity Partition</em>' reference.
+ * @see #getBase_ActivityPartition()
+ * @generated
+ */
+ void setBase_ActivityPartition(ActivityPartition value);
+
+ /**
+ * Returns the value of the '<em><b>category Value Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>category Value Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>category Value Ref</em>' reference.
+ * @see #set_categoryValueRef(CategoryValue)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getGroup__categoryValueRef()
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName=' categoryValueRef'"
+ * @generated
+ */
+ CategoryValue get_categoryValueRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Group#get_categoryValueRef <em>category Value Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>category Value Ref</em>' reference.
+ * @see #get_categoryValueRef()
+ * @generated
+ */
+ void set_categoryValueRef(CategoryValue value);
+
+} // Group
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/HumanPerformer.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/HumanPerformer.java
new file mode 100644
index 00000000000..4721a2825d6
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/HumanPerformer.java
@@ -0,0 +1,17 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Human Performer</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getHumanPerformer()
+ * @model
+ * @generated
+ */
+public interface HumanPerformer extends Performer {
+} // HumanPerformer
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ImplicitThrowEvent.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ImplicitThrowEvent.java
new file mode 100644
index 00000000000..d4898e04903
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ImplicitThrowEvent.java
@@ -0,0 +1,17 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Implicit Throw Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getImplicitThrowEvent()
+ * @model
+ * @generated
+ */
+public interface ImplicitThrowEvent extends ThrowEvent {
+} // ImplicitThrowEvent
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Import.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Import.java
new file mode 100644
index 00000000000..0eba2848ee4
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Import.java
@@ -0,0 +1,160 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.PackageImport;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Import</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Import#getBase_PackageImport <em>Base Package Import</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Import#getImportType <em>Import Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Import#getLocation <em>Location</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Import#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Import#getDefinitions <em>Definitions</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getImport()
+ * @model
+ * @generated
+ */
+public interface Import extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Package Import</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Package Import</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Package Import</em>' reference.
+ * @see #setBase_PackageImport(PackageImport)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getImport_Base_PackageImport()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ PackageImport getBase_PackageImport();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Import#getBase_PackageImport <em>Base Package Import</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Package Import</em>' reference.
+ * @see #getBase_PackageImport()
+ * @generated
+ */
+ void setBase_PackageImport(PackageImport value);
+
+ /**
+ * Returns the value of the '<em><b>Import Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Import Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Import Type</em>' attribute.
+ * @see #setImportType(String)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getImport_ImportType()
+ * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getImportType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Import#getImportType <em>Import Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Import Type</em>' attribute.
+ * @see #getImportType()
+ * @generated
+ */
+ void setImportType(String value);
+
+ /**
+ * Returns the value of the '<em><b>Location</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Location</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Location</em>' attribute.
+ * @see #setLocation(String)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getImport_Location()
+ * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getLocation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Import#getLocation <em>Location</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Location</em>' attribute.
+ * @see #getLocation()
+ * @generated
+ */
+ void setLocation(String value);
+
+ /**
+ * Returns the value of the '<em><b>Namespace</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Namespace</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Namespace</em>' attribute.
+ * @see #setNamespace(String)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getImport_Namespace()
+ * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getNamespace();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Import#getNamespace <em>Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Namespace</em>' attribute.
+ * @see #getNamespace()
+ * @generated
+ */
+ void setNamespace(String value);
+
+ /**
+ * Returns the value of the '<em><b>Definitions</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Definitions</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Definitions</em>' reference.
+ * @see #setDefinitions(Definitions)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getImport_Definitions()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Definitions getDefinitions();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Import#getDefinitions <em>Definitions</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Definitions</em>' reference.
+ * @see #getDefinitions()
+ * @generated
+ */
+ void setDefinitions(Definitions value);
+
+} // Import
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/InclusiveGateway.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/InclusiveGateway.java
new file mode 100644
index 00000000000..e8992c182e7
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/InclusiveGateway.java
@@ -0,0 +1,65 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Inclusive Gateway</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.InclusiveGateway#getDefault <em>Default</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getInclusiveGateway()
+ * @model
+ * @generated
+ */
+public interface InclusiveGateway extends NonExclusiveGateway {
+ /**
+ * Returns the value of the '<em><b>Default</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Default</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Default</em>' reference.
+ * @see #setDefault(SequenceFlow)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getInclusiveGateway_Default()
+ * @model ordered="false"
+ * @generated
+ */
+ SequenceFlow getDefault();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InclusiveGateway#getDefault <em>Default</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Default</em>' reference.
+ * @see #getDefault()
+ * @generated
+ */
+ void setDefault(SequenceFlow value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * inclusiveGateway::/default : SequenceFlow [0..1] = an outgoing control flow with guard "else"
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='inclusiveGateway.default'"
+ * @generated
+ */
+ boolean inclusiveGatewaydefault(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // InclusiveGateway
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/InputOutputBinding.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/InputOutputBinding.java
new file mode 100644
index 00000000000..7bd04ab3772
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/InputOutputBinding.java
@@ -0,0 +1,131 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.Dependency;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Input Output Binding</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputBinding#getInputDataRef <em>Input Data Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputBinding#getOutputDataRef <em>Output Data Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputBinding#getOperationRef <em>Operation Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputBinding#getBase_Dependency <em>Base Dependency</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getInputOutputBinding()
+ * @model
+ * @generated
+ */
+public interface InputOutputBinding extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Input Data Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Input Data Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Input Data Ref</em>' reference.
+ * @see #setInputDataRef(InputSet)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getInputOutputBinding_InputDataRef()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ InputSet getInputDataRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputBinding#getInputDataRef <em>Input Data Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Input Data Ref</em>' reference.
+ * @see #getInputDataRef()
+ * @generated
+ */
+ void setInputDataRef(InputSet value);
+
+ /**
+ * Returns the value of the '<em><b>Output Data Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Output Data Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Output Data Ref</em>' reference.
+ * @see #setOutputDataRef(OutputSet)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getInputOutputBinding_OutputDataRef()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ OutputSet getOutputDataRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputBinding#getOutputDataRef <em>Output Data Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Output Data Ref</em>' reference.
+ * @see #getOutputDataRef()
+ * @generated
+ */
+ void setOutputDataRef(OutputSet value);
+
+ /**
+ * Returns the value of the '<em><b>Operation Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Operation Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Operation Ref</em>' reference.
+ * @see #setOperationRef(BPMNOperation)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getInputOutputBinding_OperationRef()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ BPMNOperation getOperationRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputBinding#getOperationRef <em>Operation Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Operation Ref</em>' reference.
+ * @see #getOperationRef()
+ * @generated
+ */
+ void setOperationRef(BPMNOperation value);
+
+ /**
+ * Returns the value of the '<em><b>Base Dependency</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Dependency</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Dependency</em>' reference.
+ * @see #setBase_Dependency(Dependency)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getInputOutputBinding_Base_Dependency()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Dependency getBase_Dependency();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputBinding#getBase_Dependency <em>Base Dependency</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Dependency</em>' reference.
+ * @see #getBase_Dependency()
+ * @generated
+ */
+ void setBase_Dependency(Dependency value);
+
+} // InputOutputBinding
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/InputOutputSpecification.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/InputOutputSpecification.java
new file mode 100644
index 00000000000..418a4777845
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/InputOutputSpecification.java
@@ -0,0 +1,148 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.Action;
+import org.eclipse.uml2.uml.Behavior;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Input Output Specification</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification#getBase_Behavior <em>Base Behavior</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification#getBase_Action <em>Base Action</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification#getDataInputs <em>Data Inputs</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification#getDataOutputs <em>Data Outputs</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification#getInputSets <em>Input Sets</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification#getOutputSets <em>Output Sets</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getInputOutputSpecification()
+ * @model
+ * @generated
+ */
+public interface InputOutputSpecification extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Behavior</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Behavior</em>' reference.
+ * @see #setBase_Behavior(Behavior)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getInputOutputSpecification_Base_Behavior()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Behavior getBase_Behavior();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification#getBase_Behavior <em>Base Behavior</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Behavior</em>' reference.
+ * @see #getBase_Behavior()
+ * @generated
+ */
+ void setBase_Behavior(Behavior value);
+
+ /**
+ * Returns the value of the '<em><b>Base Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Action</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Action</em>' reference.
+ * @see #setBase_Action(Action)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getInputOutputSpecification_Base_Action()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Action getBase_Action();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification#getBase_Action <em>Base Action</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Action</em>' reference.
+ * @see #getBase_Action()
+ * @generated
+ */
+ void setBase_Action(Action value);
+
+ /**
+ * Returns the value of the '<em><b>Data Inputs</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Data Inputs</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Data Inputs</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getInputOutputSpecification_DataInputs()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<DataInput> getDataInputs();
+
+ /**
+ * Returns the value of the '<em><b>Data Outputs</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Data Outputs</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Data Outputs</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getInputOutputSpecification_DataOutputs()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<DataOutput> getDataOutputs();
+
+ /**
+ * Returns the value of the '<em><b>Input Sets</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.InputSet}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Input Sets</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Input Sets</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getInputOutputSpecification_InputSets()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<InputSet> getInputSets();
+
+ /**
+ * Returns the value of the '<em><b>Output Sets</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Output Sets</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Output Sets</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getInputOutputSpecification_OutputSets()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<OutputSet> getOutputSets();
+
+} // InputOutputSpecification
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/InputSet.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/InputSet.java
new file mode 100644
index 00000000000..e83f55d7cc3
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/InputSet.java
@@ -0,0 +1,151 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.ParameterSet;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Input Set</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputSet#getBase_ParameterSet <em>Base Parameter Set</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputSet#getOptionalInputRefs <em>Optional Input Refs</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputSet#getWhileExecutingInputRefs <em>While Executing Input Refs</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputSet#getDataInputRefs <em>Data Input Refs</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getInputSet()
+ * @model
+ * @generated
+ */
+public interface InputSet extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Parameter Set</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Parameter Set</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Parameter Set</em>' reference.
+ * @see #setBase_ParameterSet(ParameterSet)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getInputSet_Base_ParameterSet()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ ParameterSet getBase_ParameterSet();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputSet#getBase_ParameterSet <em>Base Parameter Set</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Parameter Set</em>' reference.
+ * @see #getBase_ParameterSet()
+ * @generated
+ */
+ void setBase_ParameterSet(ParameterSet value);
+
+ /**
+ * Returns the value of the '<em><b>Optional Input Refs</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#getInputSetWithOptional <em>Input Set With Optional</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Optional Input Refs</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Optional Input Refs</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getInputSet_OptionalInputRefs()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#getInputSetWithOptional
+ * @model opposite="inputSetWithOptional" required="true" ordered="false"
+ * @generated
+ */
+ EList<DataInput> getOptionalInputRefs();
+
+ /**
+ * Returns the value of the '<em><b>While Executing Input Refs</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#getInputSetWithWhileExecuting <em>Input Set With While Executing</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>While Executing Input Refs</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>While Executing Input Refs</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getInputSet_WhileExecutingInputRefs()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#getInputSetWithWhileExecuting
+ * @model opposite="inputSetWithWhileExecuting" required="true" ordered="false"
+ * @generated
+ */
+ EList<DataInput> getWhileExecutingInputRefs();
+
+ /**
+ * Returns the value of the '<em><b>Data Input Refs</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#getInputSetRefs <em>Input Set Refs</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Data Input Refs</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Data Input Refs</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getInputSet_DataInputRefs()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataInput#getInputSetRefs
+ * @model opposite="inputSetRefs" required="true" ordered="false"
+ * @generated
+ */
+ EList<DataInput> getDataInputRefs();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * InputSet::/dataInputRefs : DataIntput [*] = ParameterSet.parameter
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='InputSet.dataInputRefs'"
+ * @generated
+ */
+ boolean InputSetdataInputRefs(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * InputSet::/optionalInputRefs : DataInput [*] = ParameterSet.parameters with multiplicity lower = 0
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='InputSet.optionalInputRefs'"
+ * @generated
+ */
+ boolean InputSetoptionalInputRefs(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * InputSet::/whileExecutingInputRefs : DataInput [*] = ParameterSet.parameters with isStreaming = true
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='InputSet.whileExecutingInputRefs'"
+ * @generated
+ */
+ boolean InputSetwhileExecutingInputRefs(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // InputSet
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/InteractionNode.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/InteractionNode.java
new file mode 100644
index 00000000000..38516728c77
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/InteractionNode.java
@@ -0,0 +1,102 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Interaction Node</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode#getBase_Element <em>Base Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode#getOutgoingConversationLinks <em>Outgoing Conversation Links</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode#getIncomingConversationLinks <em>Incoming Conversation Links</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getInteractionNode()
+ * @model abstract="true"
+ * @generated
+ */
+public interface InteractionNode extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Element</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Element</em>' reference.
+ * @see #setBase_Element(Element)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getInteractionNode_Base_Element()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Element getBase_Element();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode#getBase_Element <em>Base Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Element</em>' reference.
+ * @see #getBase_Element()
+ * @generated
+ */
+ void setBase_Element(Element value);
+
+ /**
+ * Returns the value of the '<em><b>Outgoing Conversation Links</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink#getSourceRef <em>Source Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Outgoing Conversation Links</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Outgoing Conversation Links</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getInteractionNode_OutgoingConversationLinks()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink#getSourceRef
+ * @model opposite="sourceRef" required="true" ordered="false"
+ * @generated
+ */
+ EList<ConversationLink> getOutgoingConversationLinks();
+
+ /**
+ * Returns the value of the '<em><b>Incoming Conversation Links</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink#getTargetRef <em>Target Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Incoming Conversation Links</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Incoming Conversation Links</em>' reference.
+ * @see #setIncomingConversationLinks(ConversationLink)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getInteractionNode_IncomingConversationLinks()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink#getTargetRef
+ * @model opposite="targetRef" required="true" ordered="false"
+ * @generated
+ */
+ ConversationLink getIncomingConversationLinks();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode#getIncomingConversationLinks <em>Incoming Conversation Links</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Incoming Conversation Links</em>' reference.
+ * @see #getIncomingConversationLinks()
+ * @generated
+ */
+ void setIncomingConversationLinks(ConversationLink value);
+
+} // InteractionNode
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/IntermediateCatchEvent.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/IntermediateCatchEvent.java
new file mode 100644
index 00000000000..f14e6e631c8
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/IntermediateCatchEvent.java
@@ -0,0 +1,17 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Intermediate Catch Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getIntermediateCatchEvent()
+ * @model
+ * @generated
+ */
+public interface IntermediateCatchEvent extends CatchEvent {
+} // IntermediateCatchEvent
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/IntermediateThrowEvent.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/IntermediateThrowEvent.java
new file mode 100644
index 00000000000..52958c7b73a
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/IntermediateThrowEvent.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.SendObjectAction;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Intermediate Throw Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.IntermediateThrowEvent#getBase_SendObjectAction <em>Base Send Object Action</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getIntermediateThrowEvent()
+ * @model
+ * @generated
+ */
+public interface IntermediateThrowEvent extends ThrowEvent {
+ /**
+ * Returns the value of the '<em><b>Base Send Object Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Send Object Action</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Send Object Action</em>' reference.
+ * @see #setBase_SendObjectAction(SendObjectAction)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getIntermediateThrowEvent_Base_SendObjectAction()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ SendObjectAction getBase_SendObjectAction();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.IntermediateThrowEvent#getBase_SendObjectAction <em>Base Send Object Action</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Send Object Action</em>' reference.
+ * @see #getBase_SendObjectAction()
+ * @generated
+ */
+ void setBase_SendObjectAction(SendObjectAction value);
+
+} // IntermediateThrowEvent
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ItemAwareElement.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ItemAwareElement.java
new file mode 100644
index 00000000000..94c146d2742
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ItemAwareElement.java
@@ -0,0 +1,113 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Item Aware Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemAwareElement#getDataState <em>Data State</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemAwareElement#getBase_TypedElement <em>Base Typed Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemAwareElement#getItemSubjectRef <em>Item Subject Ref</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getItemAwareElement()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ItemAwareElement extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Data State</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.DataState}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Data State</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Data State</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getItemAwareElement_DataState()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<DataState> getDataState();
+
+ /**
+ * Returns the value of the '<em><b>Base Typed Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Typed Element</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Typed Element</em>' reference.
+ * @see #setBase_TypedElement(TypedElement)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getItemAwareElement_Base_TypedElement()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ TypedElement getBase_TypedElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemAwareElement#getBase_TypedElement <em>Base Typed Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Typed Element</em>' reference.
+ * @see #getBase_TypedElement()
+ * @generated
+ */
+ void setBase_TypedElement(TypedElement value);
+
+ /**
+ * Returns the value of the '<em><b>Item Subject Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Item Subject Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Item Subject Ref</em>' reference.
+ * @see #setItemSubjectRef(ItemDefinition)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getItemAwareElement_ItemSubjectRef()
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='itemSubjectRef '"
+ * @generated
+ */
+ ItemDefinition getItemSubjectRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemAwareElement#getItemSubjectRef <em>Item Subject Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Item Subject Ref</em>' reference.
+ * @see #getItemSubjectRef()
+ * @generated
+ */
+ void setItemSubjectRef(ItemDefinition value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * States extended by DataStates that are dataStates of item aware element stereotypes applied to ObjectNodes must be values of the inState property of the ObjectNodes, and vice versa.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='ItemAwareElement.dataState'"
+ * @generated
+ */
+ boolean ItemAwareElementdataState(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ItemAwareElement
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ItemDefinition.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ItemDefinition.java
new file mode 100644
index 00000000000..3ab8938093b
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ItemDefinition.java
@@ -0,0 +1,181 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Item Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition#getItemKind <em>Item Kind</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition#isCollection <em>Is Collection</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition#getStructureRef <em>Structure Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition#getImport <em>Import</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getItemDefinition()
+ * @model
+ * @generated
+ */
+public interface ItemDefinition extends RootElement {
+ /**
+ * Returns the value of the '<em><b>Item Kind</b></em>' attribute.
+ * The default value is <code>"information"</code>.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Item Kind</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Item Kind</em>' attribute.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ItemKind
+ * @see #setItemKind(ItemKind)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getItemDefinition_ItemKind()
+ * @model default="information" required="true" ordered="false"
+ * @generated
+ */
+ ItemKind getItemKind();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition#getItemKind <em>Item Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Item Kind</em>' attribute.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ItemKind
+ * @see #getItemKind()
+ * @generated
+ */
+ void setItemKind(ItemKind value);
+
+ /**
+ * Returns the value of the '<em><b>Is Collection</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Collection</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Collection</em>' attribute.
+ * @see #setIsCollection(boolean)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getItemDefinition_IsCollection()
+ * @model default="false" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isCollection();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition#isCollection <em>Is Collection</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Collection</em>' attribute.
+ * @see #isCollection()
+ * @generated
+ */
+ void setIsCollection(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Class</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Class</em>' reference.
+ * @see #setBase_Class(org.eclipse.uml2.uml.Class)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getItemDefinition_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition#getBase_Class <em>Base Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Class</em>' reference.
+ * @see #getBase_Class()
+ * @generated
+ */
+ void setBase_Class(org.eclipse.uml2.uml.Class value);
+
+ /**
+ * Returns the value of the '<em><b>Structure Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Structure Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Structure Ref</em>' reference.
+ * @see #setStructureRef(Element)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getItemDefinition_StructureRef()
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot derivation='self.base_Class'"
+ * @generated
+ */
+ Element getStructureRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition#getStructureRef <em>Structure Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Structure Ref</em>' reference.
+ * @see #getStructureRef()
+ * @generated
+ */
+ void setStructureRef(Element value);
+
+ /**
+ * Returns the value of the '<em><b>Import</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Import</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Import</em>' reference.
+ * @see #setImport(Import)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getItemDefinition_Import()
+ * @model ordered="false"
+ * @generated
+ */
+ Import getImport();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition#getImport <em>Import</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Import</em>' reference.
+ * @see #getImport()
+ * @generated
+ */
+ void setImport(Import value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * self.structureRef = self.base_Class
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='ItemDefinition.structureRef'"
+ * @generated
+ */
+ boolean ItemDefinitionstructureRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ItemDefinition
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ItemKind.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ItemKind.java
new file mode 100644
index 00000000000..ea0baefd7b6
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ItemKind.java
@@ -0,0 +1,214 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Item Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getItemKind()
+ * @model
+ * @generated
+ */
+public enum ItemKind implements Enumerator {
+ /**
+ * The '<em><b>Physical</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PHYSICAL_VALUE
+ * @generated
+ * @ordered
+ */
+ PHYSICAL(0, "physical", "physical"),
+
+ /**
+ * The '<em><b>Information</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #INFORMATION_VALUE
+ * @generated
+ * @ordered
+ */
+ INFORMATION(1, "information", "information");
+
+ /**
+ * The '<em><b>Physical</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Physical</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PHYSICAL
+ * @model name="physical"
+ * @generated
+ * @ordered
+ */
+ public static final int PHYSICAL_VALUE = 0;
+
+ /**
+ * The '<em><b>Information</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Information</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #INFORMATION
+ * @model name="information"
+ * @generated
+ * @ordered
+ */
+ public static final int INFORMATION_VALUE = 1;
+
+ /**
+ * An array of all the '<em><b>Item Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final ItemKind[] VALUES_ARRAY =
+ new ItemKind[] {
+ PHYSICAL,
+ INFORMATION,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Item Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<ItemKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Item Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static ItemKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ItemKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Item Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static ItemKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ItemKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Item Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static ItemKind get(int value) {
+ switch (value) {
+ case PHYSICAL_VALUE: return PHYSICAL;
+ case INFORMATION_VALUE: return INFORMATION;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private ItemKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //ItemKind
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Lane.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Lane.java
new file mode 100644
index 00000000000..3d69bb022fb
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Lane.java
@@ -0,0 +1,237 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Lane</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Lane#getBase_ActivityPartition <em>Base Activity Partition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Lane#get_partitionElement <em>partition Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Lane#getFlowNodeRefs <em>Flow Node Refs</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Lane#getPartitionElementRef <em>Partition Element Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Lane#getChildLaneSet <em>Child Lane Set</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Lane#getLaneSet <em>Lane Set</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getLane()
+ * @model
+ * @generated
+ */
+public interface Lane extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Activity Partition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Activity Partition</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Activity Partition</em>' reference.
+ * @see #setBase_ActivityPartition(ActivityPartition)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getLane_Base_ActivityPartition()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ ActivityPartition getBase_ActivityPartition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Lane#getBase_ActivityPartition <em>Base Activity Partition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Activity Partition</em>' reference.
+ * @see #getBase_ActivityPartition()
+ * @generated
+ */
+ void setBase_ActivityPartition(ActivityPartition value);
+
+ /**
+ * Returns the value of the '<em><b>partition Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>partition Element</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>partition Element</em>' reference.
+ * @see #set_partitionElement(Element)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getLane__partitionElement()
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName=' partitionElement'"
+ * @generated
+ */
+ Element get_partitionElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Lane#get_partitionElement <em>partition Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>partition Element</em>' reference.
+ * @see #get_partitionElement()
+ * @generated
+ */
+ void set_partitionElement(Element value);
+
+ /**
+ * Returns the value of the '<em><b>Flow Node Refs</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowNode}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Flow Node Refs</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Flow Node Refs</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getLane_FlowNodeRefs()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<FlowNode> getFlowNodeRefs();
+
+ /**
+ * Returns the value of the '<em><b>Partition Element Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Partition Element Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Partition Element Ref</em>' reference.
+ * @see #setPartitionElementRef(BaseElement)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getLane_PartitionElementRef()
+ * @model ordered="false"
+ * @generated
+ */
+ BaseElement getPartitionElementRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Lane#getPartitionElementRef <em>Partition Element Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Partition Element Ref</em>' reference.
+ * @see #getPartitionElementRef()
+ * @generated
+ */
+ void setPartitionElementRef(BaseElement value);
+
+ /**
+ * Returns the value of the '<em><b>Child Lane Set</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Child Lane Set</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Child Lane Set</em>' reference.
+ * @see #setChildLaneSet(LaneSet)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getLane_ChildLaneSet()
+ * @model required="true" ordered="false"
+ * annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='childLaneSet '"
+ * @generated
+ */
+ LaneSet getChildLaneSet();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Lane#getChildLaneSet <em>Child Lane Set</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Child Lane Set</em>' reference.
+ * @see #getChildLaneSet()
+ * @generated
+ */
+ void setChildLaneSet(LaneSet value);
+
+ /**
+ * Returns the value of the '<em><b>Lane Set</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet#getLanes <em>Lanes</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Lane Set</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Lane Set</em>' reference.
+ * @see #setLaneSet(LaneSet)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getLane_LaneSet()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet#getLanes
+ * @model opposite="lanes" required="true" ordered="false"
+ * @generated
+ */
+ LaneSet getLaneSet();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Lane#getLaneSet <em>Lane Set</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Lane Set</em>' reference.
+ * @see #getLaneSet()
+ * @generated
+ */
+ void setLaneSet(LaneSet value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Lane::/laneSet : Lane = ActivityPartition.superPartition
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Lane.laneSet'"
+ * @generated
+ */
+ boolean LanelaneSet(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Lane::/childLaneSet : Lane [0..1] = ActivityPartition.subPartition
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Lane.childLaneSet'"
+ * @generated
+ */
+ boolean LanechildLaneSet(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Lane::/partitionElementRef [0..1] = ActivityPartition.represents
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Lane.partitionElementRef'"
+ * @generated
+ */
+ boolean LanepartitionElementRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Lane::/flowNodeRefs [*] = ActivityPartition.node
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Lane.flowNodeRefs'"
+ * @generated
+ */
+ boolean LaneflowNodeRefs(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // Lane
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/LaneSet.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/LaneSet.java
new file mode 100644
index 00000000000..b70b742a29e
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/LaneSet.java
@@ -0,0 +1,172 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.ActivityPartition;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Lane Set</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet#getBase_ActivityPartition <em>Base Activity Partition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet#getLanes <em>Lanes</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet#getParentLane <em>Parent Lane</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet#getFlowElementsContainer <em>Flow Elements Container</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getLaneSet()
+ * @model
+ * @generated
+ */
+public interface LaneSet extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Activity Partition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Activity Partition</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Activity Partition</em>' reference.
+ * @see #setBase_ActivityPartition(ActivityPartition)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getLaneSet_Base_ActivityPartition()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ ActivityPartition getBase_ActivityPartition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet#getBase_ActivityPartition <em>Base Activity Partition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Activity Partition</em>' reference.
+ * @see #getBase_ActivityPartition()
+ * @generated
+ */
+ void setBase_ActivityPartition(ActivityPartition value);
+
+ /**
+ * Returns the value of the '<em><b>Lanes</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.Lane}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Lane#getLaneSet <em>Lane Set</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Lanes</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Lanes</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getLaneSet_Lanes()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Lane#getLaneSet
+ * @model opposite="laneSet" required="true" ordered="false"
+ * @generated
+ */
+ EList<Lane> getLanes();
+
+ /**
+ * Returns the value of the '<em><b>Parent Lane</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.Lane}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Parent Lane</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Parent Lane</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getLaneSet_ParentLane()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<Lane> getParentLane();
+
+ /**
+ * Returns the value of the '<em><b>Flow Elements Container</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowElementsContainer#getLaneSets <em>Lane Sets</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Flow Elements Container</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Flow Elements Container</em>' reference.
+ * @see #setFlowElementsContainer(FlowElementsContainer)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getLaneSet_FlowElementsContainer()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.FlowElementsContainer#getLaneSets
+ * @model opposite="laneSets" ordered="false"
+ * @generated
+ */
+ FlowElementsContainer getFlowElementsContainer();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet#getFlowElementsContainer <em>Flow Elements Container</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Flow Elements Container</em>' reference.
+ * @see #getFlowElementsContainer()
+ * @generated
+ */
+ void setFlowElementsContainer(FlowElementsContainer value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * LaneSet::/lanes : Lane [*] = ActivityPartition.SubPartition
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='LaneSet.lanes'"
+ * @generated
+ */
+ boolean LaneSetlanes(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * LaneSet::/parentLane : Lane [*] = ActivityPartition.superpartition
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='LaneSet.parentLane'"
+ * @generated
+ */
+ boolean LaneSetparentLane(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * LaneSet::/flowElementsContainer [0..1] inverse of Activity.partition and SubProcess.laneSets
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='LaneSet.flowElementsContainer'"
+ * @generated
+ */
+ boolean LaneSetflowElementsContainer(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * ActivityPartitions with LaneSet stereotype applied must have isDimension = true
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model
+ * @generated
+ */
+ boolean LaneSet(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // LaneSet
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/LinkEventDefinition.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/LinkEventDefinition.java
new file mode 100644
index 00000000000..915530fb14c
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/LinkEventDefinition.java
@@ -0,0 +1,101 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.CallEvent;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Link Event Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.LinkEventDefinition#get_target <em>target</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.LinkEventDefinition#getSource <em>Source</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.LinkEventDefinition#getBase_CallEvent <em>Base Call Event</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getLinkEventDefinition()
+ * @model
+ * @generated
+ */
+public interface LinkEventDefinition extends EventDefinition {
+ /**
+ * Returns the value of the '<em><b>target</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.LinkEventDefinition#getSource <em>Source</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>target</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>target</em>' reference.
+ * @see #set_target(LinkEventDefinition)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getLinkEventDefinition__target()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.LinkEventDefinition#getSource
+ * @model opposite="source" ordered="false"
+ * annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName=' target'"
+ * @generated
+ */
+ LinkEventDefinition get_target();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.LinkEventDefinition#get_target <em>target</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>target</em>' reference.
+ * @see #get_target()
+ * @generated
+ */
+ void set_target(LinkEventDefinition value);
+
+ /**
+ * Returns the value of the '<em><b>Source</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.LinkEventDefinition}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.LinkEventDefinition#get_target <em>target</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Source</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Source</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getLinkEventDefinition_Source()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.LinkEventDefinition#get_target
+ * @model opposite="_target" required="true" ordered="false"
+ * @generated
+ */
+ EList<LinkEventDefinition> getSource();
+
+ /**
+ * Returns the value of the '<em><b>Base Call Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Call Event</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Call Event</em>' reference.
+ * @see #setBase_CallEvent(CallEvent)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getLinkEventDefinition_Base_CallEvent()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ CallEvent getBase_CallEvent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.LinkEventDefinition#getBase_CallEvent <em>Base Call Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Call Event</em>' reference.
+ * @see #getBase_CallEvent()
+ * @generated
+ */
+ void setBase_CallEvent(CallEvent value);
+
+} // LinkEventDefinition
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/LoopCharacteristics.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/LoopCharacteristics.java
new file mode 100644
index 00000000000..4775d707c0c
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/LoopCharacteristics.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.StructuredActivityNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Loop Characteristics</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.LoopCharacteristics#getBase_StructuredActivityNode <em>Base Structured Activity Node</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getLoopCharacteristics()
+ * @model abstract="true"
+ * @generated
+ */
+public interface LoopCharacteristics extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Structured Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Structured Activity Node</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Structured Activity Node</em>' reference.
+ * @see #setBase_StructuredActivityNode(StructuredActivityNode)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getLoopCharacteristics_Base_StructuredActivityNode()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ StructuredActivityNode getBase_StructuredActivityNode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.LoopCharacteristics#getBase_StructuredActivityNode <em>Base Structured Activity Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Structured Activity Node</em>' reference.
+ * @see #getBase_StructuredActivityNode()
+ * @generated
+ */
+ void setBase_StructuredActivityNode(StructuredActivityNode value);
+
+} // LoopCharacteristics
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ManualTask.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ManualTask.java
new file mode 100644
index 00000000000..265dd4f42ee
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ManualTask.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.OpaqueAction;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Manual Task</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ManualTask#getBase_OpaqueAction <em>Base Opaque Action</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getManualTask()
+ * @model
+ * @generated
+ */
+public interface ManualTask extends Task {
+ /**
+ * Returns the value of the '<em><b>Base Opaque Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Opaque Action</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Opaque Action</em>' reference.
+ * @see #setBase_OpaqueAction(OpaqueAction)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getManualTask_Base_OpaqueAction()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ OpaqueAction getBase_OpaqueAction();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ManualTask#getBase_OpaqueAction <em>Base Opaque Action</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Opaque Action</em>' reference.
+ * @see #getBase_OpaqueAction()
+ * @generated
+ */
+ void setBase_OpaqueAction(OpaqueAction value);
+
+} // ManualTask
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/MessageEventDefinition.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/MessageEventDefinition.java
new file mode 100644
index 00000000000..b53268fb8cf
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/MessageEventDefinition.java
@@ -0,0 +1,104 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.CallEvent;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Message Event Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageEventDefinition#getMessageRef <em>Message Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageEventDefinition#getOperationRef <em>Operation Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageEventDefinition#getBase_CallEvent <em>Base Call Event</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getMessageEventDefinition()
+ * @model
+ * @generated
+ */
+public interface MessageEventDefinition extends EventDefinition {
+ /**
+ * Returns the value of the '<em><b>Message Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Message Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Message Ref</em>' reference.
+ * @see #setMessageRef(BPMNMessage)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getMessageEventDefinition_MessageRef()
+ * @model ordered="false"
+ * @generated
+ */
+ BPMNMessage getMessageRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageEventDefinition#getMessageRef <em>Message Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Message Ref</em>' reference.
+ * @see #getMessageRef()
+ * @generated
+ */
+ void setMessageRef(BPMNMessage value);
+
+ /**
+ * Returns the value of the '<em><b>Operation Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Operation Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Operation Ref</em>' reference.
+ * @see #setOperationRef(BPMNOperation)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getMessageEventDefinition_OperationRef()
+ * @model ordered="false"
+ * @generated
+ */
+ BPMNOperation getOperationRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageEventDefinition#getOperationRef <em>Operation Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Operation Ref</em>' reference.
+ * @see #getOperationRef()
+ * @generated
+ */
+ void setOperationRef(BPMNOperation value);
+
+ /**
+ * Returns the value of the '<em><b>Base Call Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Call Event</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Call Event</em>' reference.
+ * @see #setBase_CallEvent(CallEvent)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getMessageEventDefinition_Base_CallEvent()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ CallEvent getBase_CallEvent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageEventDefinition#getBase_CallEvent <em>Base Call Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Call Event</em>' reference.
+ * @see #getBase_CallEvent()
+ * @generated
+ */
+ void setBase_CallEvent(CallEvent value);
+
+} // MessageEventDefinition
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/MessageFlow.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/MessageFlow.java
new file mode 100644
index 00000000000..902e3392835
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/MessageFlow.java
@@ -0,0 +1,174 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.uml2.uml.InformationFlow;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Message Flow</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow#getBase_InformationFlow <em>Base Information Flow</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow#getSourceRef <em>Source Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow#getTargetRef <em>Target Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow#getMessageRef <em>Message Ref</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getMessageFlow()
+ * @model
+ * @generated
+ */
+public interface MessageFlow extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Information Flow</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Information Flow</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Information Flow</em>' reference.
+ * @see #setBase_InformationFlow(InformationFlow)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getMessageFlow_Base_InformationFlow()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ InformationFlow getBase_InformationFlow();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow#getBase_InformationFlow <em>Base Information Flow</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Information Flow</em>' reference.
+ * @see #getBase_InformationFlow()
+ * @generated
+ */
+ void setBase_InformationFlow(InformationFlow value);
+
+ /**
+ * Returns the value of the '<em><b>Source Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Source Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Source Ref</em>' reference.
+ * @see #setSourceRef(InteractionNode)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getMessageFlow_SourceRef()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ InteractionNode getSourceRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow#getSourceRef <em>Source Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Source Ref</em>' reference.
+ * @see #getSourceRef()
+ * @generated
+ */
+ void setSourceRef(InteractionNode value);
+
+ /**
+ * Returns the value of the '<em><b>Target Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Target Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Target Ref</em>' reference.
+ * @see #setTargetRef(InteractionNode)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getMessageFlow_TargetRef()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ InteractionNode getTargetRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow#getTargetRef <em>Target Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Target Ref</em>' reference.
+ * @see #getTargetRef()
+ * @generated
+ */
+ void setTargetRef(InteractionNode value);
+
+ /**
+ * Returns the value of the '<em><b>Message Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Message Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Message Ref</em>' reference.
+ * @see #setMessageRef(BPMNMessage)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getMessageFlow_MessageRef()
+ * @model ordered="false"
+ * @generated
+ */
+ BPMNMessage getMessageRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow#getMessageRef <em>Message Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Message Ref</em>' reference.
+ * @see #getMessageRef()
+ * @generated
+ */
+ void setMessageRef(BPMNMessage value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * MessageFlow::/sourceRef = InformationFlow.informationSource
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='MessageFlow.sourceRef'"
+ * @generated
+ */
+ boolean MessageFlowsourceRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * MessageFlow::/messageRef : Message [0..1] = InformationFlow.conveyed
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='MessageFlow.targetRef'"
+ * @generated
+ */
+ boolean MessageFlowtargetRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * MessageFlow::/targetRef = InformationFlow.informationTarget
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='MessageFlow.messageRef'"
+ * @generated
+ */
+ boolean MessageFlowmessageRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // MessageFlow
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/MessageFlowAssociation.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/MessageFlowAssociation.java
new file mode 100644
index 00000000000..303319b4c2c
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/MessageFlowAssociation.java
@@ -0,0 +1,134 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.uml2.uml.Dependency;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Message Flow Association</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlowAssociation#getBase_Dependency <em>Base Dependency</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlowAssociation#getInnerMessageFlowRef <em>Inner Message Flow Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlowAssociation#getOuterMessageFlowRef <em>Outer Message Flow Ref</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getMessageFlowAssociation()
+ * @model
+ * @generated
+ */
+public interface MessageFlowAssociation extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Dependency</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Dependency</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Dependency</em>' reference.
+ * @see #setBase_Dependency(Dependency)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getMessageFlowAssociation_Base_Dependency()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Dependency getBase_Dependency();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlowAssociation#getBase_Dependency <em>Base Dependency</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Dependency</em>' reference.
+ * @see #getBase_Dependency()
+ * @generated
+ */
+ void setBase_Dependency(Dependency value);
+
+ /**
+ * Returns the value of the '<em><b>Inner Message Flow Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Inner Message Flow Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Inner Message Flow Ref</em>' reference.
+ * @see #setInnerMessageFlowRef(MessageFlow)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getMessageFlowAssociation_InnerMessageFlowRef()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ MessageFlow getInnerMessageFlowRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlowAssociation#getInnerMessageFlowRef <em>Inner Message Flow Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Inner Message Flow Ref</em>' reference.
+ * @see #getInnerMessageFlowRef()
+ * @generated
+ */
+ void setInnerMessageFlowRef(MessageFlow value);
+
+ /**
+ * Returns the value of the '<em><b>Outer Message Flow Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Outer Message Flow Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Outer Message Flow Ref</em>' reference.
+ * @see #setOuterMessageFlowRef(MessageFlow)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getMessageFlowAssociation_OuterMessageFlowRef()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ MessageFlow getOuterMessageFlowRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlowAssociation#getOuterMessageFlowRef <em>Outer Message Flow Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Outer Message Flow Ref</em>' reference.
+ * @see #getOuterMessageFlowRef()
+ * @generated
+ */
+ void setOuterMessageFlowRef(MessageFlow value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * MessageFlowAssociation InnerMessageFlowRef is a UML dependency supplier
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='MessageFlowAssociation.innerMessageFlowRef'"
+ * @generated
+ */
+ boolean MessageFlowAssociationinnerMessageFlowRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * MessageFlowAssociation OuterMessageFlowRef is a UML dependency client
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='MessageFlowAssociation.outerMessageFlowRef'"
+ * @generated
+ */
+ boolean MessageFlowAssociationouterMessageFlowRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // MessageFlowAssociation
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Monitoring.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Monitoring.java
new file mode 100644
index 00000000000..b552ef04856
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Monitoring.java
@@ -0,0 +1,49 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Monitoring</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Monitoring#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getMonitoring()
+ * @model
+ * @generated
+ */
+public interface Monitoring extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Class</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Class</em>' reference.
+ * @see #setBase_Class(org.eclipse.uml2.uml.Class)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getMonitoring_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Monitoring#getBase_Class <em>Base Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Class</em>' reference.
+ * @see #getBase_Class()
+ * @generated
+ */
+ void setBase_Class(org.eclipse.uml2.uml.Class value);
+
+} // Monitoring
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/MultiInstanceBehavior.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/MultiInstanceBehavior.java
new file mode 100644
index 00000000000..05249cf180a
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/MultiInstanceBehavior.java
@@ -0,0 +1,268 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Multi Instance Behavior</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getMultiInstanceBehavior()
+ * @model
+ * @generated
+ */
+public enum MultiInstanceBehavior implements Enumerator {
+ /**
+ * The '<em><b>None</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #NONE_VALUE
+ * @generated
+ * @ordered
+ */
+ NONE(0, "none", "none"),
+
+ /**
+ * The '<em><b>One</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ONE_VALUE
+ * @generated
+ * @ordered
+ */
+ ONE(1, "one", "one"),
+
+ /**
+ * The '<em><b>All</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ALL_VALUE
+ * @generated
+ * @ordered
+ */
+ ALL(2, "all", "all"),
+
+ /**
+ * The '<em><b>Complex</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #COMPLEX_VALUE
+ * @generated
+ * @ordered
+ */
+ COMPLEX(3, "complex", "complex");
+
+ /**
+ * The '<em><b>None</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>None</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #NONE
+ * @model name="none"
+ * @generated
+ * @ordered
+ */
+ public static final int NONE_VALUE = 0;
+
+ /**
+ * The '<em><b>One</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>One</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ONE
+ * @model name="one"
+ * @generated
+ * @ordered
+ */
+ public static final int ONE_VALUE = 1;
+
+ /**
+ * The '<em><b>All</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>All</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ALL
+ * @model name="all"
+ * @generated
+ * @ordered
+ */
+ public static final int ALL_VALUE = 2;
+
+ /**
+ * The '<em><b>Complex</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Complex</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #COMPLEX
+ * @model name="complex"
+ * @generated
+ * @ordered
+ */
+ public static final int COMPLEX_VALUE = 3;
+
+ /**
+ * An array of all the '<em><b>Multi Instance Behavior</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final MultiInstanceBehavior[] VALUES_ARRAY =
+ new MultiInstanceBehavior[] {
+ NONE,
+ ONE,
+ ALL,
+ COMPLEX,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Multi Instance Behavior</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<MultiInstanceBehavior> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Multi Instance Behavior</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static MultiInstanceBehavior get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ MultiInstanceBehavior result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Multi Instance Behavior</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static MultiInstanceBehavior getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ MultiInstanceBehavior result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Multi Instance Behavior</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static MultiInstanceBehavior get(int value) {
+ switch (value) {
+ case NONE_VALUE: return NONE;
+ case ONE_VALUE: return ONE;
+ case ALL_VALUE: return ALL;
+ case COMPLEX_VALUE: return COMPLEX;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private MultiInstanceBehavior(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //MultiInstanceBehavior
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/MultiInstanceLoopCharacteristics.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/MultiInstanceLoopCharacteristics.java
new file mode 100644
index 00000000000..a947ce5727d
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/MultiInstanceLoopCharacteristics.java
@@ -0,0 +1,359 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.ExpansionRegion;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Multi Instance Loop Characteristics</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getBehavior <em>Behavior</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getLoopCardinality <em>Loop Cardinality</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getCompletionCondition <em>Completion Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getBase_ExpansionRegion <em>Base Expansion Region</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#isSequential <em>Is Sequential</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getLoopDataInputRef <em>Loop Data Input Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getLoopDataOutputRef <em>Loop Data Output Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getOutputDataItem <em>Output Data Item</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getInputDataItem <em>Input Data Item</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getOneBehaviorEventRef <em>One Behavior Event Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getNoneBehaviorEventRef <em>None Behavior Event Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getComplexBehaviorDefinition <em>Complex Behavior Definition</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getMultiInstanceLoopCharacteristics()
+ * @model
+ * @generated
+ */
+public interface MultiInstanceLoopCharacteristics extends LoopCharacteristics {
+ /**
+ * Returns the value of the '<em><b>Behavior</b></em>' attribute.
+ * The default value is <code>"all"</code>.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceBehavior}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Behavior</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Behavior</em>' attribute.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceBehavior
+ * @see #setBehavior(MultiInstanceBehavior)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getMultiInstanceLoopCharacteristics_Behavior()
+ * @model default="all" required="true" ordered="false"
+ * @generated
+ */
+ MultiInstanceBehavior getBehavior();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getBehavior <em>Behavior</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Behavior</em>' attribute.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceBehavior
+ * @see #getBehavior()
+ * @generated
+ */
+ void setBehavior(MultiInstanceBehavior value);
+
+ /**
+ * Returns the value of the '<em><b>Loop Cardinality</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Loop Cardinality</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Loop Cardinality</em>' reference.
+ * @see #setLoopCardinality(BPMNExpression)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getMultiInstanceLoopCharacteristics_LoopCardinality()
+ * @model ordered="false"
+ * @generated
+ */
+ BPMNExpression getLoopCardinality();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getLoopCardinality <em>Loop Cardinality</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Loop Cardinality</em>' reference.
+ * @see #getLoopCardinality()
+ * @generated
+ */
+ void setLoopCardinality(BPMNExpression value);
+
+ /**
+ * Returns the value of the '<em><b>Completion Condition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Completion Condition</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Completion Condition</em>' reference.
+ * @see #setCompletionCondition(BPMNExpression)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getMultiInstanceLoopCharacteristics_CompletionCondition()
+ * @model ordered="false"
+ * @generated
+ */
+ BPMNExpression getCompletionCondition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getCompletionCondition <em>Completion Condition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Completion Condition</em>' reference.
+ * @see #getCompletionCondition()
+ * @generated
+ */
+ void setCompletionCondition(BPMNExpression value);
+
+ /**
+ * Returns the value of the '<em><b>Base Expansion Region</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Expansion Region</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Expansion Region</em>' reference.
+ * @see #setBase_ExpansionRegion(ExpansionRegion)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getMultiInstanceLoopCharacteristics_Base_ExpansionRegion()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ ExpansionRegion getBase_ExpansionRegion();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getBase_ExpansionRegion <em>Base Expansion Region</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Expansion Region</em>' reference.
+ * @see #getBase_ExpansionRegion()
+ * @generated
+ */
+ void setBase_ExpansionRegion(ExpansionRegion value);
+
+ /**
+ * Returns the value of the '<em><b>Is Sequential</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Sequential</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Sequential</em>' attribute.
+ * @see #setIsSequential(boolean)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getMultiInstanceLoopCharacteristics_IsSequential()
+ * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isSequential();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#isSequential <em>Is Sequential</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Sequential</em>' attribute.
+ * @see #isSequential()
+ * @generated
+ */
+ void setIsSequential(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Loop Data Input Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Loop Data Input Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Loop Data Input Ref</em>' reference.
+ * @see #setLoopDataInputRef(ItemAwareElement)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getMultiInstanceLoopCharacteristics_LoopDataInputRef()
+ * @model ordered="false"
+ * @generated
+ */
+ ItemAwareElement getLoopDataInputRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getLoopDataInputRef <em>Loop Data Input Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Loop Data Input Ref</em>' reference.
+ * @see #getLoopDataInputRef()
+ * @generated
+ */
+ void setLoopDataInputRef(ItemAwareElement value);
+
+ /**
+ * Returns the value of the '<em><b>Loop Data Output Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Loop Data Output Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Loop Data Output Ref</em>' reference.
+ * @see #setLoopDataOutputRef(ItemAwareElement)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getMultiInstanceLoopCharacteristics_LoopDataOutputRef()
+ * @model ordered="false"
+ * @generated
+ */
+ ItemAwareElement getLoopDataOutputRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getLoopDataOutputRef <em>Loop Data Output Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Loop Data Output Ref</em>' reference.
+ * @see #getLoopDataOutputRef()
+ * @generated
+ */
+ void setLoopDataOutputRef(ItemAwareElement value);
+
+ /**
+ * Returns the value of the '<em><b>Output Data Item</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Output Data Item</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Output Data Item</em>' reference.
+ * @see #setOutputDataItem(DataOutput)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getMultiInstanceLoopCharacteristics_OutputDataItem()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ DataOutput getOutputDataItem();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getOutputDataItem <em>Output Data Item</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Output Data Item</em>' reference.
+ * @see #getOutputDataItem()
+ * @generated
+ */
+ void setOutputDataItem(DataOutput value);
+
+ /**
+ * Returns the value of the '<em><b>Input Data Item</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Input Data Item</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Input Data Item</em>' reference.
+ * @see #setInputDataItem(DataInput)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getMultiInstanceLoopCharacteristics_InputDataItem()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ DataInput getInputDataItem();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getInputDataItem <em>Input Data Item</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Input Data Item</em>' reference.
+ * @see #getInputDataItem()
+ * @generated
+ */
+ void setInputDataItem(DataInput value);
+
+ /**
+ * Returns the value of the '<em><b>One Behavior Event Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>One Behavior Event Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>One Behavior Event Ref</em>' reference.
+ * @see #setOneBehaviorEventRef(EventDefinition)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getMultiInstanceLoopCharacteristics_OneBehaviorEventRef()
+ * @model ordered="false"
+ * @generated
+ */
+ EventDefinition getOneBehaviorEventRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getOneBehaviorEventRef <em>One Behavior Event Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>One Behavior Event Ref</em>' reference.
+ * @see #getOneBehaviorEventRef()
+ * @generated
+ */
+ void setOneBehaviorEventRef(EventDefinition value);
+
+ /**
+ * Returns the value of the '<em><b>None Behavior Event Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>None Behavior Event Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>None Behavior Event Ref</em>' reference.
+ * @see #setNoneBehaviorEventRef(EventDefinition)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getMultiInstanceLoopCharacteristics_NoneBehaviorEventRef()
+ * @model ordered="false"
+ * @generated
+ */
+ EventDefinition getNoneBehaviorEventRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics#getNoneBehaviorEventRef <em>None Behavior Event Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>None Behavior Event Ref</em>' reference.
+ * @see #getNoneBehaviorEventRef()
+ * @generated
+ */
+ void setNoneBehaviorEventRef(EventDefinition value);
+
+ /**
+ * Returns the value of the '<em><b>Complex Behavior Definition</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.ComplexBehaviorDefinition}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Complex Behavior Definition</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Complex Behavior Definition</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getMultiInstanceLoopCharacteristics_ComplexBehaviorDefinition()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<ComplexBehaviorDefinition> getComplexBehaviorDefinition();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Stereotype may be applied only on CallActivity, Task, and SubProcess
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='MultiinstanceLoopCharacteristics.target'"
+ * @generated
+ */
+ boolean MultiinstanceLoopCharacteristicstarget(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // MultiInstanceLoopCharacteristics
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/NonExclusiveGateway.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/NonExclusiveGateway.java
new file mode 100644
index 00000000000..b6847d3dad9
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/NonExclusiveGateway.java
@@ -0,0 +1,78 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.JoinNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Non Exclusive Gateway</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.NonExclusiveGateway#getBase_JoinNode <em>Base Join Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.NonExclusiveGateway#getBase_ForkNode <em>Base Fork Node</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getNonExclusiveGateway()
+ * @model abstract="true"
+ * @generated
+ */
+public interface NonExclusiveGateway extends Gateway {
+ /**
+ * Returns the value of the '<em><b>Base Join Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Join Node</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Join Node</em>' reference.
+ * @see #setBase_JoinNode(JoinNode)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getNonExclusiveGateway_Base_JoinNode()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ JoinNode getBase_JoinNode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.NonExclusiveGateway#getBase_JoinNode <em>Base Join Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Join Node</em>' reference.
+ * @see #getBase_JoinNode()
+ * @generated
+ */
+ void setBase_JoinNode(JoinNode value);
+
+ /**
+ * Returns the value of the '<em><b>Base Fork Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Fork Node</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Fork Node</em>' reference.
+ * @see #setBase_ForkNode(ForkNode)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getNonExclusiveGateway_Base_ForkNode()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ ForkNode getBase_ForkNode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.NonExclusiveGateway#getBase_ForkNode <em>Base Fork Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Fork Node</em>' reference.
+ * @see #getBase_ForkNode()
+ * @generated
+ */
+ void setBase_ForkNode(ForkNode value);
+
+} // NonExclusiveGateway
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/OutputSet.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/OutputSet.java
new file mode 100644
index 00000000000..3e6c7ab7f58
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/OutputSet.java
@@ -0,0 +1,149 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.ParameterSet;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Output Set</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet#getBase_ParameterSet <em>Base Parameter Set</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet#getOptionalOutputRefs <em>Optional Output Refs</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet#getWhileExecutingOutputRefs <em>While Executing Output Refs</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet#getDataOutputRefs <em>Data Output Refs</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getOutputSet()
+ * @model
+ * @generated
+ */
+public interface OutputSet extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Parameter Set</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Parameter Set</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Parameter Set</em>' reference.
+ * @see #setBase_ParameterSet(ParameterSet)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getOutputSet_Base_ParameterSet()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ ParameterSet getBase_ParameterSet();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet#getBase_ParameterSet <em>Base Parameter Set</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Parameter Set</em>' reference.
+ * @see #getBase_ParameterSet()
+ * @generated
+ */
+ void setBase_ParameterSet(ParameterSet value);
+
+ /**
+ * Returns the value of the '<em><b>Optional Output Refs</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Optional Output Refs</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Optional Output Refs</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getOutputSet_OptionalOutputRefs()
+ * @model required="true" ordered="false"
+ * annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='optionalOutputRefs '"
+ * @generated
+ */
+ EList<DataOutput> getOptionalOutputRefs();
+
+ /**
+ * Returns the value of the '<em><b>While Executing Output Refs</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>While Executing Output Refs</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>While Executing Output Refs</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getOutputSet_WhileExecutingOutputRefs()
+ * @model required="true" ordered="false"
+ * annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='whileExecutingOutputRefs '"
+ * @generated
+ */
+ EList<DataOutput> getWhileExecutingOutputRefs();
+
+ /**
+ * Returns the value of the '<em><b>Data Output Refs</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#getOutputSetRefs <em>Output Set Refs</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Data Output Refs</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Data Output Refs</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getOutputSet_DataOutputRefs()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput#getOutputSetRefs
+ * @model opposite="outputSetRefs" required="true" ordered="false"
+ * @generated
+ */
+ EList<DataOutput> getDataOutputRefs();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * OutputSet::/dataOutputRefs : DataOutput [*] = ParameterSet.parameter
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='OutputSet.dataOutputRefs'"
+ * @generated
+ */
+ boolean OutputSetdataOutputRefs(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * OutputSet::\optionalOutputRefs : DataOutput [*] = ParameterSet.parameters with multiplicity lower = 0
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='OutputSet.optionalOutputRefs'"
+ * @generated
+ */
+ boolean OutputSetoptionalOutputRefs(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * OutputSet::\whileExecutingOutputRefs : DataOutput [*] = ParameterSet.parameters with isStreaming = true
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='OutputSet.whileExecutingOutputRefs'"
+ * @generated
+ */
+ boolean OutputSetwhileExecutingOutputRefs(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // OutputSet
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ParallelGateway.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ParallelGateway.java
new file mode 100644
index 00000000000..d7a98bc0f75
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ParallelGateway.java
@@ -0,0 +1,17 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Parallel Gateway</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getParallelGateway()
+ * @model
+ * @generated
+ */
+public interface ParallelGateway extends NonExclusiveGateway {
+} // ParallelGateway
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Participant.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Participant.java
new file mode 100644
index 00000000000..1c7463fff03
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Participant.java
@@ -0,0 +1,283 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Participant</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant#getBase_Property <em>Base Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant#getProcessRef <em>Process Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant#getParticipantMultiplicity <em>Participant Multiplicity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant#getPartnerEntityRef <em>Partner Entity Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant#getPartnerRoleRef <em>Partner Role Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant#getInterfaceRefs <em>Interface Refs</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getParticipant()
+ * @model
+ * @generated
+ */
+public interface Participant extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Property</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Property</em>' reference.
+ * @see #setBase_Property(Property)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getParticipant_Base_Property()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Property getBase_Property();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant#getBase_Property <em>Base Property</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Property</em>' reference.
+ * @see #getBase_Property()
+ * @generated
+ */
+ void setBase_Property(Property value);
+
+ /**
+ * Returns the value of the '<em><b>Process Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Process Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Process Ref</em>' reference.
+ * @see #setProcessRef(BPMNProcess)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getParticipant_ProcessRef()
+ * @model ordered="false"
+ * @generated
+ */
+ BPMNProcess getProcessRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant#getProcessRef <em>Process Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Process Ref</em>' reference.
+ * @see #getProcessRef()
+ * @generated
+ */
+ void setProcessRef(BPMNProcess value);
+
+ /**
+ * Returns the value of the '<em><b>Participant Multiplicity</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Participant Multiplicity</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Participant Multiplicity</em>' reference.
+ * @see #setParticipantMultiplicity(ParticipantMultiplicity)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getParticipant_ParticipantMultiplicity()
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='participantMultiplicity '"
+ * @generated
+ */
+ ParticipantMultiplicity getParticipantMultiplicity();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant#getParticipantMultiplicity <em>Participant Multiplicity</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Participant Multiplicity</em>' reference.
+ * @see #getParticipantMultiplicity()
+ * @generated
+ */
+ void setParticipantMultiplicity(ParticipantMultiplicity value);
+
+ /**
+ * Returns the value of the '<em><b>Partner Entity Ref</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.PartnerEntity}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.PartnerEntity#getParticipantRef <em>Participant Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Partner Entity Ref</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Partner Entity Ref</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getParticipant_PartnerEntityRef()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.PartnerEntity#getParticipantRef
+ * @model opposite="participantRef" required="true" ordered="false"
+ * @generated
+ */
+ EList<PartnerEntity> getPartnerEntityRef();
+
+ /**
+ * Returns the value of the '<em><b>Partner Role Ref</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.PartnerRole}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.PartnerRole#getParticipantRef <em>Participant Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Partner Role Ref</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Partner Role Ref</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getParticipant_PartnerRoleRef()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.PartnerRole#getParticipantRef
+ * @model opposite="participantRef" required="true" ordered="false"
+ * @generated
+ */
+ EList<PartnerRole> getPartnerRoleRef();
+
+ /**
+ * Returns the value of the '<em><b>Interface Refs</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Interface Refs</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Interface Refs</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getParticipant_InterfaceRefs()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<BPMNInterface> getInterfaceRefs();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Participant must be owned by BPMN <<Collaboration>>
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Participant.ownership'"
+ * @generated
+ */
+ boolean Participantownership(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Participant must be typed either by UML class or a stereotyped class.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Participant.type'"
+ * @generated
+ */
+ boolean Participanttype(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Participant.multiplicityMaximum : UnlimitedNatural = Property.upper (defined on Multiplicity element)
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Participant.multiplicityMinimum'"
+ * @generated
+ */
+ boolean ParticipantmultiplicityMinimum(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The supplier is a UML Interface stereotyped
+ * by BPMN Interface
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Participant.realization.supplier'"
+ * @generated
+ */
+ boolean Participantrealizationsupplier(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Participant:://processRef : Process [0..1] = Property.type if type is activity, or Property.type.classifierBehavior if type is a BehavioredClassifier that is not Activity
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Participant.processRef'"
+ * @generated
+ */
+ boolean ParticipantprocessRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Participant.multiplicityMaximum : Integer = Property.upper (defined on Multiplicity element)
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Participant.multiplicityMaximum'"
+ * @generated
+ */
+ boolean ParticipantmultiplicityMaximum(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * participant::/partnerEntityRef : PartnerEntity [*] = inverse of PartnerEntity::/participantRef
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='participant.partnerEntityRef'"
+ * @generated
+ */
+ boolean participantpartnerEntityRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * participant::/partnerRoleRef : PartnerRole [*] = inverse of PartnerRole::/participantRef
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='participant.partnerRoleRef'"
+ * @generated
+ */
+ boolean participantpartnerRoleRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Participant:://interfaceRefs : BPMNInterface [*] = Property.type with BPMNInterface stereotype applied
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Participant.interfaceRefs'"
+ * @generated
+ */
+ boolean ParticipantinterfaceRefs(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // Participant
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ParticipantAssociation.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ParticipantAssociation.java
new file mode 100644
index 00000000000..4b104c00ed8
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ParticipantAssociation.java
@@ -0,0 +1,134 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.uml2.uml.Dependency;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Participant Association</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation#getBase_Dependency <em>Base Dependency</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation#getInnerParticipantRef <em>Inner Participant Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation#getOuterParticipantRef <em>Outer Participant Ref</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getParticipantAssociation()
+ * @model
+ * @generated
+ */
+public interface ParticipantAssociation extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Dependency</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Dependency</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Dependency</em>' reference.
+ * @see #setBase_Dependency(Dependency)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getParticipantAssociation_Base_Dependency()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Dependency getBase_Dependency();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation#getBase_Dependency <em>Base Dependency</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Dependency</em>' reference.
+ * @see #getBase_Dependency()
+ * @generated
+ */
+ void setBase_Dependency(Dependency value);
+
+ /**
+ * Returns the value of the '<em><b>Inner Participant Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Inner Participant Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Inner Participant Ref</em>' reference.
+ * @see #setInnerParticipantRef(Participant)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getParticipantAssociation_InnerParticipantRef()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Participant getInnerParticipantRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation#getInnerParticipantRef <em>Inner Participant Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Inner Participant Ref</em>' reference.
+ * @see #getInnerParticipantRef()
+ * @generated
+ */
+ void setInnerParticipantRef(Participant value);
+
+ /**
+ * Returns the value of the '<em><b>Outer Participant Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Outer Participant Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Outer Participant Ref</em>' reference.
+ * @see #setOuterParticipantRef(Participant)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getParticipantAssociation_OuterParticipantRef()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Participant getOuterParticipantRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation#getOuterParticipantRef <em>Outer Participant Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Outer Participant Ref</em>' reference.
+ * @see #getOuterParticipantRef()
+ * @generated
+ */
+ void setOuterParticipantRef(Participant value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * ParticipantAssociation::/innerParticipantRef : Participant = Dependency.supplier
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='ParticipantAssociation.innerParticipantRef'"
+ * @generated
+ */
+ boolean ParticipantAssociationinnerParticipantRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * ParticipantAssociation::/outerParticipantRef : Participant = Dependency.clients
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='ParticipantAssociation.outerParticipantRef'"
+ * @generated
+ */
+ boolean ParticipantAssociationouterParticipantRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ParticipantAssociation
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ParticipantMultiplicity.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ParticipantMultiplicity.java
new file mode 100644
index 00000000000..cc3f0cfae74
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ParticipantMultiplicity.java
@@ -0,0 +1,104 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.MultiplicityElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Participant Multiplicity</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantMultiplicity#getBase_MultiplicityElement <em>Base Multiplicity Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantMultiplicity#getMinimum <em>Minimum</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantMultiplicity#getMaximum <em>Maximum</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getParticipantMultiplicity()
+ * @model
+ * @generated
+ */
+public interface ParticipantMultiplicity extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Multiplicity Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Multiplicity Element</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Multiplicity Element</em>' reference.
+ * @see #setBase_MultiplicityElement(MultiplicityElement)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getParticipantMultiplicity_Base_MultiplicityElement()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ MultiplicityElement getBase_MultiplicityElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantMultiplicity#getBase_MultiplicityElement <em>Base Multiplicity Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Multiplicity Element</em>' reference.
+ * @see #getBase_MultiplicityElement()
+ * @generated
+ */
+ void setBase_MultiplicityElement(MultiplicityElement value);
+
+ /**
+ * Returns the value of the '<em><b>Minimum</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Minimum</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Minimum</em>' attribute.
+ * @see #setMinimum(int)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getParticipantMultiplicity_Minimum()
+ * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+ * @generated
+ */
+ int getMinimum();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantMultiplicity#getMinimum <em>Minimum</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Minimum</em>' attribute.
+ * @see #getMinimum()
+ * @generated
+ */
+ void setMinimum(int value);
+
+ /**
+ * Returns the value of the '<em><b>Maximum</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Maximum</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Maximum</em>' attribute.
+ * @see #setMaximum(int)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getParticipantMultiplicity_Maximum()
+ * @model dataType="org.eclipse.uml2.types.Integer" required="true" ordered="false"
+ * @generated
+ */
+ int getMaximum();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantMultiplicity#getMaximum <em>Maximum</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Maximum</em>' attribute.
+ * @see #getMaximum()
+ * @generated
+ */
+ void setMaximum(int value);
+
+} // ParticipantMultiplicity
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/PartnerEntity.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/PartnerEntity.java
new file mode 100644
index 00000000000..d287beb83db
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/PartnerEntity.java
@@ -0,0 +1,87 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.InstanceSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Partner Entity</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.PartnerEntity#getBase_InstanceSpecification <em>Base Instance Specification</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.PartnerEntity#getParticipantRef <em>Participant Ref</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getPartnerEntity()
+ * @model
+ * @generated
+ */
+public interface PartnerEntity extends RootElement {
+ /**
+ * Returns the value of the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Instance Specification</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Instance Specification</em>' reference.
+ * @see #setBase_InstanceSpecification(InstanceSpecification)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getPartnerEntity_Base_InstanceSpecification()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ InstanceSpecification getBase_InstanceSpecification();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.PartnerEntity#getBase_InstanceSpecification <em>Base Instance Specification</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Instance Specification</em>' reference.
+ * @see #getBase_InstanceSpecification()
+ * @generated
+ */
+ void setBase_InstanceSpecification(InstanceSpecification value);
+
+ /**
+ * Returns the value of the '<em><b>Participant Ref</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant#getPartnerEntityRef <em>Partner Entity Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Participant Ref</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Participant Ref</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getPartnerEntity_ParticipantRef()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Participant#getPartnerEntityRef
+ * @model opposite="partnerEntityRef" required="true" ordered="false"
+ * @generated
+ */
+ EList<Participant> getParticipantRef();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * PartnerEntity::/participantRef : Participant [*] = properties with Participant stereotype applied that the instance specification is default value of.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='PartnerEntity.participantRef'"
+ * @generated
+ */
+ boolean PartnerEntityparticipantRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // PartnerEntity
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/PartnerRole.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/PartnerRole.java
new file mode 100644
index 00000000000..824a9fd86d9
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/PartnerRole.java
@@ -0,0 +1,85 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Partner Role</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.PartnerRole#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.PartnerRole#getParticipantRef <em>Participant Ref</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getPartnerRole()
+ * @model
+ * @generated
+ */
+public interface PartnerRole extends RootElement {
+ /**
+ * Returns the value of the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Class</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Class</em>' reference.
+ * @see #setBase_Class(org.eclipse.uml2.uml.Class)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getPartnerRole_Base_Class()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.PartnerRole#getBase_Class <em>Base Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Class</em>' reference.
+ * @see #getBase_Class()
+ * @generated
+ */
+ void setBase_Class(org.eclipse.uml2.uml.Class value);
+
+ /**
+ * Returns the value of the '<em><b>Participant Ref</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant#getPartnerRoleRef <em>Partner Role Ref</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Participant Ref</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Participant Ref</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getPartnerRole_ParticipantRef()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Participant#getPartnerRoleRef
+ * @model opposite="partnerRoleRef" required="true" ordered="false"
+ * @generated
+ */
+ EList<Participant> getParticipantRef();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * PartnerRole::/participantRef : Participant [*] = properties with Participant stereotype applied that the class is the type of.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='PartnerRole.participantRef'"
+ * @generated
+ */
+ boolean PartnerRoleparticipantRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // PartnerRole
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Performer.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Performer.java
new file mode 100644
index 00000000000..68e6483db30
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Performer.java
@@ -0,0 +1,17 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Performer</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getPerformer()
+ * @model
+ * @generated
+ */
+public interface Performer extends ResourceRole {
+} // Performer
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/PotentialOwner.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/PotentialOwner.java
new file mode 100644
index 00000000000..5717f325c05
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/PotentialOwner.java
@@ -0,0 +1,17 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Potential Owner</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getPotentialOwner()
+ * @model
+ * @generated
+ */
+public interface PotentialOwner extends HumanPerformer {
+} // PotentialOwner
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ProcessType.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ProcessType.java
new file mode 100644
index 00000000000..9ab6051275f
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ProcessType.java
@@ -0,0 +1,241 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Process Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getProcessType()
+ * @model
+ * @generated
+ */
+public enum ProcessType implements Enumerator {
+ /**
+ * The '<em><b>None</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #NONE_VALUE
+ * @generated
+ * @ordered
+ */
+ NONE(0, "none", "none"),
+
+ /**
+ * The '<em><b>Public</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PUBLIC_VALUE
+ * @generated
+ * @ordered
+ */
+ PUBLIC(1, "public", "public"),
+
+ /**
+ * The '<em><b>Private</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PRIVATE_VALUE
+ * @generated
+ * @ordered
+ */
+ PRIVATE(2, "private", "private");
+
+ /**
+ * The '<em><b>None</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>None</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #NONE
+ * @model name="none"
+ * @generated
+ * @ordered
+ */
+ public static final int NONE_VALUE = 0;
+
+ /**
+ * The '<em><b>Public</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Public</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PUBLIC
+ * @model name="public"
+ * @generated
+ * @ordered
+ */
+ public static final int PUBLIC_VALUE = 1;
+
+ /**
+ * The '<em><b>Private</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Private</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PRIVATE
+ * @model name="private"
+ * @generated
+ * @ordered
+ */
+ public static final int PRIVATE_VALUE = 2;
+
+ /**
+ * An array of all the '<em><b>Process Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final ProcessType[] VALUES_ARRAY =
+ new ProcessType[] {
+ NONE,
+ PUBLIC,
+ PRIVATE,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Process Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<ProcessType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Process Type</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static ProcessType get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ProcessType result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Process Type</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static ProcessType getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ProcessType result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Process Type</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static ProcessType get(int value) {
+ switch (value) {
+ case NONE_VALUE: return NONE;
+ case PUBLIC_VALUE: return PUBLIC;
+ case PRIVATE_VALUE: return PRIVATE;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private ProcessType(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //ProcessType
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ReceiveTask.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ReceiveTask.java
new file mode 100644
index 00000000000..5962936e953
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ReceiveTask.java
@@ -0,0 +1,177 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.uml2.uml.AcceptEventAction;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Receive Task</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask#getMessageRef <em>Message Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask#getBase_AcceptEventAction <em>Base Accept Event Action</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask#getImplementation <em>Implementation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask#isInstantiate <em>Instantiate</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask#getOperationRef <em>Operation Ref</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getReceiveTask()
+ * @model
+ * @generated
+ */
+public interface ReceiveTask extends Task {
+ /**
+ * Returns the value of the '<em><b>Message Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Message Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Message Ref</em>' reference.
+ * @see #setMessageRef(BPMNMessage)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getReceiveTask_MessageRef()
+ * @model ordered="false"
+ * @generated
+ */
+ BPMNMessage getMessageRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask#getMessageRef <em>Message Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Message Ref</em>' reference.
+ * @see #getMessageRef()
+ * @generated
+ */
+ void setMessageRef(BPMNMessage value);
+
+ /**
+ * Returns the value of the '<em><b>Base Accept Event Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Accept Event Action</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Accept Event Action</em>' reference.
+ * @see #setBase_AcceptEventAction(AcceptEventAction)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getReceiveTask_Base_AcceptEventAction()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ AcceptEventAction getBase_AcceptEventAction();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask#getBase_AcceptEventAction <em>Base Accept Event Action</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Accept Event Action</em>' reference.
+ * @see #getBase_AcceptEventAction()
+ * @generated
+ */
+ void setBase_AcceptEventAction(AcceptEventAction value);
+
+ /**
+ * Returns the value of the '<em><b>Implementation</b></em>' attribute.
+ * The default value is <code>"##webService"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Implementation</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Implementation</em>' attribute.
+ * @see #setImplementation(String)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getReceiveTask_Implementation()
+ * @model default="##webService" dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getImplementation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask#getImplementation <em>Implementation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Implementation</em>' attribute.
+ * @see #getImplementation()
+ * @generated
+ */
+ void setImplementation(String value);
+
+ /**
+ * Returns the value of the '<em><b>Instantiate</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Instantiate</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Instantiate</em>' attribute.
+ * @see #setInstantiate(boolean)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getReceiveTask_Instantiate()
+ * @model default="false" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isInstantiate();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask#isInstantiate <em>Instantiate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Instantiate</em>' attribute.
+ * @see #isInstantiate()
+ * @generated
+ */
+ void setInstantiate(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Operation Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Operation Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Operation Ref</em>' reference.
+ * @see #setOperationRef(BPMNOperation)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getReceiveTask_OperationRef()
+ * @model ordered="false"
+ * @generated
+ */
+ BPMNOperation getOperationRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask#getOperationRef <em>Operation Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Operation Ref</em>' reference.
+ * @see #getOperationRef()
+ * @generated
+ */
+ void setOperationRef(BPMNOperation value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * ReceiveTask::/operationRef : BPMNOperation [0..1] = AcceptEventAction.trigger.operation
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='ReceiveTask.operationRef'"
+ * @generated
+ */
+ boolean ReceiveTaskoperationRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ReceiveTask
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/RelationshipDirection.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/RelationshipDirection.java
new file mode 100644
index 00000000000..8539ebf11de
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/RelationshipDirection.java
@@ -0,0 +1,268 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Relationship Direction</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getRelationshipDirection()
+ * @model
+ * @generated
+ */
+public enum RelationshipDirection implements Enumerator {
+ /**
+ * The '<em><b>None</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #NONE_VALUE
+ * @generated
+ * @ordered
+ */
+ NONE(0, "none", "none"),
+
+ /**
+ * The '<em><b>Forward</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #FORWARD_VALUE
+ * @generated
+ * @ordered
+ */
+ FORWARD(1, "forward", "forward"),
+
+ /**
+ * The '<em><b>Backward</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #BACKWARD_VALUE
+ * @generated
+ * @ordered
+ */
+ BACKWARD(2, "backward", "backward"),
+
+ /**
+ * The '<em><b>Both</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #BOTH_VALUE
+ * @generated
+ * @ordered
+ */
+ BOTH(3, "both", "both");
+
+ /**
+ * The '<em><b>None</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>None</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #NONE
+ * @model name="none"
+ * @generated
+ * @ordered
+ */
+ public static final int NONE_VALUE = 0;
+
+ /**
+ * The '<em><b>Forward</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Forward</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #FORWARD
+ * @model name="forward"
+ * @generated
+ * @ordered
+ */
+ public static final int FORWARD_VALUE = 1;
+
+ /**
+ * The '<em><b>Backward</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Backward</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #BACKWARD
+ * @model name="backward"
+ * @generated
+ * @ordered
+ */
+ public static final int BACKWARD_VALUE = 2;
+
+ /**
+ * The '<em><b>Both</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Both</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #BOTH
+ * @model name="both"
+ * @generated
+ * @ordered
+ */
+ public static final int BOTH_VALUE = 3;
+
+ /**
+ * An array of all the '<em><b>Relationship Direction</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final RelationshipDirection[] VALUES_ARRAY =
+ new RelationshipDirection[] {
+ NONE,
+ FORWARD,
+ BACKWARD,
+ BOTH,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Relationship Direction</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<RelationshipDirection> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Relationship Direction</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param literal the literal.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static RelationshipDirection get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ RelationshipDirection result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Relationship Direction</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param name the name.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static RelationshipDirection getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ RelationshipDirection result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Relationship Direction</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the integer value.
+ * @return the matching enumerator or <code>null</code>.
+ * @generated
+ */
+ public static RelationshipDirection get(int value) {
+ switch (value) {
+ case NONE_VALUE: return NONE;
+ case FORWARD_VALUE: return FORWARD;
+ case BACKWARD_VALUE: return BACKWARD;
+ case BOTH_VALUE: return BOTH;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private RelationshipDirection(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //RelationshipDirection
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Rendering.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Rendering.java
new file mode 100644
index 00000000000..8339c7a4667
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Rendering.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.Image;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Rendering</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Rendering#getBase_Image <em>Base Image</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getRendering()
+ * @model
+ * @generated
+ */
+public interface Rendering extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Image</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Image</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Image</em>' reference.
+ * @see #setBase_Image(Image)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getRendering_Base_Image()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Image getBase_Image();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Rendering#getBase_Image <em>Base Image</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Image</em>' reference.
+ * @see #getBase_Image()
+ * @generated
+ */
+ void setBase_Image(Image value);
+
+} // Rendering
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Resource.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Resource.java
new file mode 100644
index 00000000000..11b5d1e7873
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Resource.java
@@ -0,0 +1,56 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Resource</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Resource#getResourceParameters <em>Resource Parameters</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getResource()
+ * @model
+ * @generated
+ */
+public interface Resource extends ItemDefinition {
+ /**
+ * Returns the value of the '<em><b>Resource Parameters</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Resource Parameters</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Resource Parameters</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getResource_ResourceParameters()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<ResourceParameter> getResourceParameters();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Resource::/resourceParameters : ResourceParameter [*] = class.ownedAcctribute with the stereotype <<ResourceParameter>> applied.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Resource.resourceParameters'"
+ * @generated
+ */
+ boolean ResourceresourceParameters(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // Resource
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ResourceAssignmentExpression.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ResourceAssignmentExpression.java
new file mode 100644
index 00000000000..5ea7adf5e99
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ResourceAssignmentExpression.java
@@ -0,0 +1,65 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Resource Assignment Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceAssignmentExpression#getExpression <em>Expression</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getResourceAssignmentExpression()
+ * @model
+ * @generated
+ */
+public interface ResourceAssignmentExpression extends BPMNExpression {
+ /**
+ * Returns the value of the '<em><b>Expression</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Expression</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Expression</em>' reference.
+ * @see #setExpression(BPMNExpression)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getResourceAssignmentExpression_Expression()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ BPMNExpression getExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceAssignmentExpression#getExpression <em>Expression</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Expression</em>' reference.
+ * @see #getExpression()
+ * @generated
+ */
+ void setExpression(BPMNExpression value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * ResourceAssignmentExpression::/expression = self
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='ResourceAssignmentExpression.expression'"
+ * @generated
+ */
+ boolean ResourceAssignmentExpressionexpression(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ResourceAssignmentExpression
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ResourceParameter.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ResourceParameter.java
new file mode 100644
index 00000000000..b1495169c93
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ResourceParameter.java
@@ -0,0 +1,149 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Resource Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter#getBase_Property <em>Base Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter#isRequired <em>Is Required</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getResourceParameter()
+ * @model
+ * @generated
+ */
+public interface ResourceParameter extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Property</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Property</em>' reference.
+ * @see #setBase_Property(Property)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getResourceParameter_Base_Property()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Property getBase_Property();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter#getBase_Property <em>Base Property</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Property</em>' reference.
+ * @see #getBase_Property()
+ * @generated
+ */
+ void setBase_Property(Property value);
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type</em>' reference.
+ * @see #setType(ItemDefinition)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getResourceParameter_Type()
+ * @model ordered="false"
+ * annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='type '"
+ * @generated
+ */
+ ItemDefinition getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter#getType <em>Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' reference.
+ * @see #getType()
+ * @generated
+ */
+ void setType(ItemDefinition value);
+
+ /**
+ * Returns the value of the '<em><b>Is Required</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Required</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Required</em>' attribute.
+ * @see #setIsRequired(boolean)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getResourceParameter_IsRequired()
+ * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isRequired();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter#isRequired <em>Is Required</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Required</em>' attribute.
+ * @see #isRequired()
+ * @generated
+ */
+ void setIsRequired(boolean value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Resource Parameter must be owned by Resource.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='ResourceParameter.owner'"
+ * @generated
+ */
+ boolean ResourceParameterowner(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * ResourceParameter::/type : Item Definition [0..1] = Property.type (defined on typed element).
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='ResourceParameter.type'"
+ * @generated
+ */
+ boolean ResourceParametertype(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * ResourceParameter.isRequired : Boolean = Property.lower > 0
+ * (defined on Multiplicity Element)
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='ResourceParameter.isRequired'"
+ * @generated
+ */
+ boolean ResourceParameterisRequired(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ResourceParameter
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ResourceParameterBinding.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ResourceParameterBinding.java
new file mode 100644
index 00000000000..b902ddee7e5
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ResourceParameterBinding.java
@@ -0,0 +1,134 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.uml2.uml.Slot;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Resource Parameter Binding</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameterBinding#getBase_Slot <em>Base Slot</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameterBinding#getParameterRef <em>Parameter Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameterBinding#getExpression <em>Expression</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getResourceParameterBinding()
+ * @model
+ * @generated
+ */
+public interface ResourceParameterBinding extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Slot</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Slot</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Slot</em>' reference.
+ * @see #setBase_Slot(Slot)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getResourceParameterBinding_Base_Slot()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Slot getBase_Slot();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameterBinding#getBase_Slot <em>Base Slot</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Slot</em>' reference.
+ * @see #getBase_Slot()
+ * @generated
+ */
+ void setBase_Slot(Slot value);
+
+ /**
+ * Returns the value of the '<em><b>Parameter Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Parameter Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Parameter Ref</em>' reference.
+ * @see #setParameterRef(ResourceParameter)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getResourceParameterBinding_ParameterRef()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ ResourceParameter getParameterRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameterBinding#getParameterRef <em>Parameter Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Parameter Ref</em>' reference.
+ * @see #getParameterRef()
+ * @generated
+ */
+ void setParameterRef(ResourceParameter value);
+
+ /**
+ * Returns the value of the '<em><b>Expression</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Expression</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Expression</em>' reference.
+ * @see #setExpression(BPMNExpression)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getResourceParameterBinding_Expression()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ BPMNExpression getExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameterBinding#getExpression <em>Expression</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Expression</em>' reference.
+ * @see #getExpression()
+ * @generated
+ */
+ void setExpression(BPMNExpression value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * ResourceParameterBinding::/expression :BPMNExpression = Slot.value
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='ResourceParameterBinding.expression'"
+ * @generated
+ */
+ boolean ResourceParameterBindingexpression(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * ResourceParameterBinding::/parameterRef : ResourceParameter = Slot.definingFeature
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='ResourceParameterBinding.parameterRef'"
+ * @generated
+ */
+ boolean ResourceParameterBindingparameterRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ResourceParameterBinding
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ResourceRole.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ResourceRole.java
new file mode 100644
index 00000000000..a0423f1ae1c
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ResourceRole.java
@@ -0,0 +1,221 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Resource Role</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#getBase_Property <em>Base Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#getResourceAssignmentExpression <em>Resource Assignment Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#getResourceRef <em>Resource Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#getResourceParameterBindings <em>Resource Parameter Bindings</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#getProcess <em>Process</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getResourceRole()
+ * @model
+ * @generated
+ */
+public interface ResourceRole extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Property</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Property</em>' reference.
+ * @see #setBase_Property(Property)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getResourceRole_Base_Property()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Property getBase_Property();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#getBase_Property <em>Base Property</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Property</em>' reference.
+ * @see #getBase_Property()
+ * @generated
+ */
+ void setBase_Property(Property value);
+
+ /**
+ * Returns the value of the '<em><b>Resource Assignment Expression</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Resource Assignment Expression</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Resource Assignment Expression</em>' reference.
+ * @see #setResourceAssignmentExpression(ResourceAssignmentExpression)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getResourceRole_ResourceAssignmentExpression()
+ * @model ordered="false"
+ * @generated
+ */
+ ResourceAssignmentExpression getResourceAssignmentExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#getResourceAssignmentExpression <em>Resource Assignment Expression</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Resource Assignment Expression</em>' reference.
+ * @see #getResourceAssignmentExpression()
+ * @generated
+ */
+ void setResourceAssignmentExpression(ResourceAssignmentExpression value);
+
+ /**
+ * Returns the value of the '<em><b>Resource Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Resource Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Resource Ref</em>' reference.
+ * @see #setResourceRef(Resource)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getResourceRole_ResourceRef()
+ * @model ordered="false"
+ * @generated
+ */
+ Resource getResourceRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#getResourceRef <em>Resource Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Resource Ref</em>' reference.
+ * @see #getResourceRef()
+ * @generated
+ */
+ void setResourceRef(Resource value);
+
+ /**
+ * Returns the value of the '<em><b>Resource Parameter Bindings</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameterBinding}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Resource Parameter Bindings</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Resource Parameter Bindings</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getResourceRole_ResourceParameterBindings()
+ * @model required="true" ordered="false"
+ * annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='resourceParameterBindings '"
+ * @generated
+ */
+ EList<ResourceParameterBinding> getResourceParameterBindings();
+
+ /**
+ * Returns the value of the '<em><b>Process</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getResources <em>Resources</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Process</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Process</em>' reference.
+ * @see #setProcess(BPMNProcess)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getResourceRole_Process()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess#getResources
+ * @model opposite="resources" ordered="false"
+ * @generated
+ */
+ BPMNProcess getProcess();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole#getProcess <em>Process</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Process</em>' reference.
+ * @see #getProcess()
+ * @generated
+ */
+ void setProcess(BPMNProcess value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Owner of the ResourceRole must be BPMN Process or BPMN Activity.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='ResourceRole.owner'"
+ * @generated
+ */
+ boolean ResourceRoleowner(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * ResourceRole.resourceRef : Resource [0..1] = Property.type. ResourceRole type must be UML Class with stereotype BPMN Resource applied.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='ResourceRole.resourceRef'"
+ * @generated
+ */
+ boolean ResourceRoleresourceRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * ResourceRole IsRequired translates to UML::Property::lower wot values 0 or 1
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='ResourceRole.isRequired'"
+ * @generated
+ */
+ boolean ResourceRoleisRequired(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * ResourceRole::/process : Process [0..1] = Property.class
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='ResourceRole.process'"
+ * @generated
+ */
+ boolean ResourceRoleprocess(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * ResourceRole.resourceParameterBindings : ResourceParameterBinding [*] = property.defaultValue.slot
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='ResourceRole.resourceParameterBindings'"
+ * @generated
+ */
+ boolean ResourceRoleresourceParameterBindings(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ResourceRole
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/RootElement.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/RootElement.java
new file mode 100644
index 00000000000..9ffbf3e3db9
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/RootElement.java
@@ -0,0 +1,79 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.PackageableElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Root Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.RootElement#getBase_PackageableElement <em>Base Packageable Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.RootElement#getDefinition <em>Definition</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getRootElement()
+ * @model abstract="true"
+ * @generated
+ */
+public interface RootElement extends BaseElement {
+ /**
+ * Returns the value of the '<em><b>Base Packageable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Packageable Element</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Packageable Element</em>' reference.
+ * @see #setBase_PackageableElement(PackageableElement)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getRootElement_Base_PackageableElement()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ PackageableElement getBase_PackageableElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.RootElement#getBase_PackageableElement <em>Base Packageable Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Packageable Element</em>' reference.
+ * @see #getBase_PackageableElement()
+ * @generated
+ */
+ void setBase_PackageableElement(PackageableElement value);
+
+ /**
+ * Returns the value of the '<em><b>Definition</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getRootElements <em>Root Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Definition</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Definition</em>' reference.
+ * @see #setDefinition(Definitions)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getRootElement_Definition()
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Definitions#getRootElements
+ * @model opposite="rootElements" ordered="false"
+ * @generated
+ */
+ Definitions getDefinition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.RootElement#getDefinition <em>Definition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Definition</em>' reference.
+ * @see #getDefinition()
+ * @generated
+ */
+ void setDefinition(Definitions value);
+
+} // RootElement
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ScriptTask.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ScriptTask.java
new file mode 100644
index 00000000000..c3649feffbd
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ScriptTask.java
@@ -0,0 +1,134 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.uml2.uml.OpaqueAction;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Script Task</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ScriptTask#getBase_OpaqueAction <em>Base Opaque Action</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ScriptTask#getScriptFormat <em>Script Format</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ScriptTask#getScript <em>Script</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getScriptTask()
+ * @model
+ * @generated
+ */
+public interface ScriptTask extends Task {
+ /**
+ * Returns the value of the '<em><b>Base Opaque Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Opaque Action</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Opaque Action</em>' reference.
+ * @see #setBase_OpaqueAction(OpaqueAction)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getScriptTask_Base_OpaqueAction()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ OpaqueAction getBase_OpaqueAction();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ScriptTask#getBase_OpaqueAction <em>Base Opaque Action</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Opaque Action</em>' reference.
+ * @see #getBase_OpaqueAction()
+ * @generated
+ */
+ void setBase_OpaqueAction(OpaqueAction value);
+
+ /**
+ * Returns the value of the '<em><b>Script Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Script Format</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Script Format</em>' attribute.
+ * @see #setScriptFormat(String)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getScriptTask_ScriptFormat()
+ * @model dataType="org.eclipse.uml2.types.String"
+ * @generated
+ */
+ String getScriptFormat();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ScriptTask#getScriptFormat <em>Script Format</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Script Format</em>' attribute.
+ * @see #getScriptFormat()
+ * @generated
+ */
+ void setScriptFormat(String value);
+
+ /**
+ * Returns the value of the '<em><b>Script</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Script</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Script</em>' attribute.
+ * @see #setScript(String)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getScriptTask_Script()
+ * @model unique="false" dataType="org.eclipse.uml2.types.String"
+ * @generated
+ */
+ String getScript();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ScriptTask#getScript <em>Script</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Script</em>' attribute.
+ * @see #getScript()
+ * @generated
+ */
+ void setScript(String value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * ScriptTask::/script : String [*] {ordered} = OpaqueAction.body
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='ScriptTask.scriptFormat'"
+ * @generated
+ */
+ boolean ScriptTaskscriptFormat(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * ScriptTask::/scriptFormat : String [*] {ordered, non-unique} = OpaqueAction.language
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='ScriptTask.script'"
+ * @generated
+ */
+ boolean ScriptTaskscript(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ScriptTask
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/SendTask.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/SendTask.java
new file mode 100644
index 00000000000..bf309a7d9a7
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/SendTask.java
@@ -0,0 +1,149 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.uml2.uml.CallOperationAction;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Send Task</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.SendTask#getMessageRef <em>Message Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.SendTask#getBase_CallOperationAction <em>Base Call Operation Action</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.SendTask#getImplementation <em>Implementation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.SendTask#getOperationRef <em>Operation Ref</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getSendTask()
+ * @model
+ * @generated
+ */
+public interface SendTask extends Task {
+ /**
+ * Returns the value of the '<em><b>Message Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Message Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Message Ref</em>' reference.
+ * @see #setMessageRef(BPMNMessage)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getSendTask_MessageRef()
+ * @model ordered="false"
+ * @generated
+ */
+ BPMNMessage getMessageRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SendTask#getMessageRef <em>Message Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Message Ref</em>' reference.
+ * @see #getMessageRef()
+ * @generated
+ */
+ void setMessageRef(BPMNMessage value);
+
+ /**
+ * Returns the value of the '<em><b>Base Call Operation Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Call Operation Action</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Call Operation Action</em>' reference.
+ * @see #setBase_CallOperationAction(CallOperationAction)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getSendTask_Base_CallOperationAction()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ CallOperationAction getBase_CallOperationAction();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SendTask#getBase_CallOperationAction <em>Base Call Operation Action</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Call Operation Action</em>' reference.
+ * @see #getBase_CallOperationAction()
+ * @generated
+ */
+ void setBase_CallOperationAction(CallOperationAction value);
+
+ /**
+ * Returns the value of the '<em><b>Implementation</b></em>' attribute.
+ * The default value is <code>"##webService"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Implementation</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Implementation</em>' attribute.
+ * @see #setImplementation(String)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getSendTask_Implementation()
+ * @model default="##webService" dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getImplementation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SendTask#getImplementation <em>Implementation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Implementation</em>' attribute.
+ * @see #getImplementation()
+ * @generated
+ */
+ void setImplementation(String value);
+
+ /**
+ * Returns the value of the '<em><b>Operation Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Operation Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Operation Ref</em>' reference.
+ * @see #setOperationRef(BPMNOperation)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getSendTask_OperationRef()
+ * @model ordered="false"
+ * @generated
+ */
+ BPMNOperation getOperationRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SendTask#getOperationRef <em>Operation Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Operation Ref</em>' reference.
+ * @see #getOperationRef()
+ * @generated
+ */
+ void setOperationRef(BPMNOperation value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * SendTask::/operationRef : BPMNOperation [0..1] = CallOperationAction.operation
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='SendTask.operationRef'"
+ * @generated
+ */
+ boolean SendTaskoperationRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // SendTask
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/SequenceFlow.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/SequenceFlow.java
new file mode 100644
index 00000000000..8dfb13ef68d
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/SequenceFlow.java
@@ -0,0 +1,147 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.uml2.uml.ControlFlow;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sequence Flow</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#getBase_ControlFlow <em>Base Control Flow</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#isImmediate <em>Is Immediate</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#getConditionExpression <em>Condition Expression</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getSequenceFlow()
+ * @model
+ * @generated
+ */
+public interface SequenceFlow extends FlowElement {
+ /**
+ * Returns the value of the '<em><b>Base Control Flow</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Control Flow</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Control Flow</em>' reference.
+ * @see #setBase_ControlFlow(ControlFlow)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getSequenceFlow_Base_ControlFlow()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ ControlFlow getBase_ControlFlow();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#getBase_ControlFlow <em>Base Control Flow</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Control Flow</em>' reference.
+ * @see #getBase_ControlFlow()
+ * @generated
+ */
+ void setBase_ControlFlow(ControlFlow value);
+
+ /**
+ * Returns the value of the '<em><b>Is Immediate</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Immediate</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Immediate</em>' attribute.
+ * @see #setIsImmediate(boolean)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getSequenceFlow_IsImmediate()
+ * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isImmediate();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#isImmediate <em>Is Immediate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Immediate</em>' attribute.
+ * @see #isImmediate()
+ * @generated
+ */
+ void setIsImmediate(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Condition Expression</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Condition Expression</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Condition Expression</em>' reference.
+ * @see #setConditionExpression(BPMNExpression)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getSequenceFlow_ConditionExpression()
+ * @model ordered="false"
+ * @generated
+ */
+ BPMNExpression getConditionExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow#getConditionExpression <em>Condition Expression</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Condition Expression</em>' reference.
+ * @see #getConditionExpression()
+ * @generated
+ */
+ void setConditionExpression(BPMNExpression value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * SequenceFlow::/conditionExpression : BPMNExpression = ControlFloe.guard (defined on Activity edge)
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='SequenceFlow.conditionExpression'"
+ * @generated
+ */
+ boolean SequenceFlowconditionExpression(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * SequenceFlow::/sourceRef : ActivityNode = ControlFlow.source (defined on Activity edge). Constrained to elements stereotyped by BPMN Flow Node stereotypes
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='SequenceFlow.sourceRef'"
+ * @generated
+ */
+ boolean SequenceFlowsourceRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * SequenceFlow::/targetRef : ActivityNode = ControlFlow.target (defined on Activity edge). Constrained to elements stereotyped by BPMN Flow Node stereotypes
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='SequenceFlow.targetRef'"
+ * @generated
+ */
+ boolean SequenceFlowtargetRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // SequenceFlow
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ServiceTask.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ServiceTask.java
new file mode 100644
index 00000000000..8e2c87a27ce
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ServiceTask.java
@@ -0,0 +1,148 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.uml2.uml.CallOperationAction;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Service Task</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ServiceTask#getBase_CallOperationAction <em>Base Call Operation Action</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ServiceTask#getImplementation <em>Implementation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ServiceTask#getOperationRef <em>Operation Ref</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getServiceTask()
+ * @model
+ * @generated
+ */
+public interface ServiceTask extends Task {
+ /**
+ * Returns the value of the '<em><b>Base Call Operation Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Call Operation Action</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Call Operation Action</em>' reference.
+ * @see #setBase_CallOperationAction(CallOperationAction)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getServiceTask_Base_CallOperationAction()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ CallOperationAction getBase_CallOperationAction();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ServiceTask#getBase_CallOperationAction <em>Base Call Operation Action</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Call Operation Action</em>' reference.
+ * @see #getBase_CallOperationAction()
+ * @generated
+ */
+ void setBase_CallOperationAction(CallOperationAction value);
+
+ /**
+ * Returns the value of the '<em><b>Implementation</b></em>' attribute.
+ * The default value is <code>"##webService"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Implementation</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Implementation</em>' attribute.
+ * @see #setImplementation(String)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getServiceTask_Implementation()
+ * @model default="##webService" dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getImplementation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ServiceTask#getImplementation <em>Implementation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Implementation</em>' attribute.
+ * @see #getImplementation()
+ * @generated
+ */
+ void setImplementation(String value);
+
+ /**
+ * Returns the value of the '<em><b>Operation Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Operation Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Operation Ref</em>' reference.
+ * @see #setOperationRef(BPMNOperation)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getServiceTask_OperationRef()
+ * @model ordered="false"
+ * @generated
+ */
+ BPMNOperation getOperationRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ServiceTask#getOperationRef <em>Operation Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Operation Ref</em>' reference.
+ * @see #getOperationRef()
+ * @generated
+ */
+ void setOperationRef(BPMNOperation value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The Service Task has exactly one InputSet
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='ServiceTask.inputSet'"
+ * @generated
+ */
+ boolean ServiceTaskinputSet(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The Service Task has at most one OutputSet
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='ServiceTask.outputSet'"
+ * @generated
+ */
+ boolean ServiceTaskoutputSet(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * ServiceTask::/operationRef : BPMNOperation [0..1] = CallOperationAction.operation
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='ServiceTask.operationRef'"
+ * @generated
+ */
+ boolean ServiceTaskoperationRef(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ServiceTask
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/SignalEventDefinition.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/SignalEventDefinition.java
new file mode 100644
index 00000000000..bbf07844cd0
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/SignalEventDefinition.java
@@ -0,0 +1,77 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.CallEvent;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Signal Event Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.SignalEventDefinition#getSignalRef <em>Signal Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.SignalEventDefinition#getBase_CallEvent <em>Base Call Event</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getSignalEventDefinition()
+ * @model
+ * @generated
+ */
+public interface SignalEventDefinition extends EventDefinition {
+ /**
+ * Returns the value of the '<em><b>Signal Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Signal Ref</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Signal Ref</em>' reference.
+ * @see #setSignalRef(BPMNSignal)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getSignalEventDefinition_SignalRef()
+ * @model ordered="false"
+ * @generated
+ */
+ BPMNSignal getSignalRef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SignalEventDefinition#getSignalRef <em>Signal Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Signal Ref</em>' reference.
+ * @see #getSignalRef()
+ * @generated
+ */
+ void setSignalRef(BPMNSignal value);
+
+ /**
+ * Returns the value of the '<em><b>Base Call Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Call Event</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Call Event</em>' reference.
+ * @see #setBase_CallEvent(CallEvent)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getSignalEventDefinition_Base_CallEvent()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ CallEvent getBase_CallEvent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SignalEventDefinition#getBase_CallEvent <em>Base Call Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Call Event</em>' reference.
+ * @see #getBase_CallEvent()
+ * @generated
+ */
+ void setBase_CallEvent(CallEvent value);
+
+} // SignalEventDefinition
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/StandardLoopCharacteristics.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/StandardLoopCharacteristics.java
new file mode 100644
index 00000000000..678ce0b9558
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/StandardLoopCharacteristics.java
@@ -0,0 +1,161 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+
+import org.eclipse.uml2.uml.LoopNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Standard Loop Characteristics</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics#getLoopMaximum <em>Loop Maximum</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics#getBase_LoopNode <em>Base Loop Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics#isTestBefore <em>Test Before</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics#getLoopCondition <em>Loop Condition</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getStandardLoopCharacteristics()
+ * @model
+ * @generated
+ */
+public interface StandardLoopCharacteristics extends LoopCharacteristics {
+ /**
+ * Returns the value of the '<em><b>Loop Maximum</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Loop Maximum</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Loop Maximum</em>' attribute.
+ * @see #setLoopMaximum(int)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getStandardLoopCharacteristics_LoopMaximum()
+ * @model dataType="org.eclipse.uml2.types.Integer" ordered="false"
+ * @generated
+ */
+ int getLoopMaximum();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics#getLoopMaximum <em>Loop Maximum</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Loop Maximum</em>' attribute.
+ * @see #getLoopMaximum()
+ * @generated
+ */
+ void setLoopMaximum(int value);
+
+ /**
+ * Returns the value of the '<em><b>Base Loop Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Loop Node</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Loop Node</em>' reference.
+ * @see #setBase_LoopNode(LoopNode)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getStandardLoopCharacteristics_Base_LoopNode()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ LoopNode getBase_LoopNode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics#getBase_LoopNode <em>Base Loop Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Loop Node</em>' reference.
+ * @see #getBase_LoopNode()
+ * @generated
+ */
+ void setBase_LoopNode(LoopNode value);
+
+ /**
+ * Returns the value of the '<em><b>Test Before</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Test Before</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Test Before</em>' attribute.
+ * @see #setTestBefore(boolean)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getStandardLoopCharacteristics_TestBefore()
+ * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isTestBefore();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics#isTestBefore <em>Test Before</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Test Before</em>' attribute.
+ * @see #isTestBefore()
+ * @generated
+ */
+ void setTestBefore(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Loop Condition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Loop Condition</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Loop Condition</em>' reference.
+ * @see #setLoopCondition(BPMNExpression)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getStandardLoopCharacteristics_LoopCondition()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ BPMNExpression getLoopCondition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics#getLoopCondition <em>Loop Condition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Loop Condition</em>' reference.
+ * @see #getLoopCondition()
+ * @generated
+ */
+ void setLoopCondition(BPMNExpression value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * StandardLoopCharacteristics::/testBefore :Boolean = isTestedFirst
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='StandardLoopCharacteristics.testBefore'"
+ * @generated
+ */
+ boolean StandardLoopCharacteristicstestBefore(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * StandardLoopCharacteristics:::/loopCondition :BPMNExpression = loopNode.test.value
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='StandardLoopCharacteristics.loopCondition'"
+ * @generated
+ */
+ boolean StandardLoopCharacteristicsloopCondition(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // StandardLoopCharacteristics
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/StartEvent.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/StartEvent.java
new file mode 100644
index 00000000000..d6a3a8c4113
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/StartEvent.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Start Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.StartEvent#isInterrupting <em>Is Interrupting</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getStartEvent()
+ * @model
+ * @generated
+ */
+public interface StartEvent extends CatchEvent {
+ /**
+ * Returns the value of the '<em><b>Is Interrupting</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Interrupting</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Interrupting</em>' attribute.
+ * @see #setIsInterrupting(boolean)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getStartEvent_IsInterrupting()
+ * @model default="true" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isInterrupting();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.StartEvent#isInterrupting <em>Is Interrupting</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Interrupting</em>' attribute.
+ * @see #isInterrupting()
+ * @generated
+ */
+ void setIsInterrupting(boolean value);
+
+} // StartEvent
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/SubConversation.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/SubConversation.java
new file mode 100644
index 00000000000..0ba50233004
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/SubConversation.java
@@ -0,0 +1,56 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sub Conversation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.SubConversation#getConversationNodes <em>Conversation Nodes</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getSubConversation()
+ * @model
+ * @generated
+ */
+public interface SubConversation extends ConversationNode {
+ /**
+ * Returns the value of the '<em><b>Conversation Nodes</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationNode}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Conversation Nodes</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Conversation Nodes</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getSubConversation_ConversationNodes()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<ConversationNode> getConversationNodes();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * SubConversation can link only collaboration properties (BPMN participants) and actions (BPMN events and BPMN activities)
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='SubConversation.connected.elements'"
+ * @generated
+ */
+ boolean SubConversationconnectedelements(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // SubConversation
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/SubProcess.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/SubProcess.java
new file mode 100644
index 00000000000..c6717890db9
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/SubProcess.java
@@ -0,0 +1,113 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.StructuredActivityNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sub Process</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.SubProcess#isTriggeredByEvent <em>Triggered By Event</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.SubProcess#getBase_StructuredActivityNode <em>Base Structured Activity Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.SubProcess#getHasLaneSets <em>Has Lane Sets</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getSubProcess()
+ * @model
+ * @generated
+ */
+public interface SubProcess extends BPMNActivity, FlowElementsContainer {
+ /**
+ * Returns the value of the '<em><b>Triggered By Event</b></em>' attribute.
+ * The default value is <code>"false"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Triggered By Event</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Triggered By Event</em>' attribute.
+ * @see #setTriggeredByEvent(boolean)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getSubProcess_TriggeredByEvent()
+ * @model default="false" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
+ * @generated
+ */
+ boolean isTriggeredByEvent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SubProcess#isTriggeredByEvent <em>Triggered By Event</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Triggered By Event</em>' attribute.
+ * @see #isTriggeredByEvent()
+ * @generated
+ */
+ void setTriggeredByEvent(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Base Structured Activity Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Structured Activity Node</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Structured Activity Node</em>' reference.
+ * @see #setBase_StructuredActivityNode(StructuredActivityNode)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getSubProcess_Base_StructuredActivityNode()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ StructuredActivityNode getBase_StructuredActivityNode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SubProcess#getBase_StructuredActivityNode <em>Base Structured Activity Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Structured Activity Node</em>' reference.
+ * @see #getBase_StructuredActivityNode()
+ * @generated
+ */
+ void setBase_StructuredActivityNode(StructuredActivityNode value);
+
+ /**
+ * Returns the value of the '<em><b>Has Lane Sets</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Has Lane Sets</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Has Lane Sets</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getSubProcess_HasLaneSets()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<LaneSet> getHasLaneSets();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * StructuredActivityNodes with SubProcess Stereotype applied that have triggeredByEvent=true, and containing initial nodes with Start Event applied that have isInterrupting = false, have isLocallyReentrant = true.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='SubProcess.triggeredByEvent'"
+ * @generated
+ */
+ boolean SubProcesstriggeredByEvent(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // SubProcess
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Task.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Task.java
new file mode 100644
index 00000000000..d2c02e1af2d
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Task.java
@@ -0,0 +1,49 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Task</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Task#getIoSpecification <em>Io Specification</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getTask()
+ * @model
+ * @generated
+ */
+public interface Task extends BPMNActivity {
+ /**
+ * Returns the value of the '<em><b>Io Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Io Specification</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Io Specification</em>' reference.
+ * @see #setIoSpecification(InputOutputSpecification)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getTask_IoSpecification()
+ * @model ordered="false"
+ * @generated
+ */
+ InputOutputSpecification getIoSpecification();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Task#getIoSpecification <em>Io Specification</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Io Specification</em>' reference.
+ * @see #getIoSpecification()
+ * @generated
+ */
+ void setIoSpecification(InputOutputSpecification value);
+
+} // Task
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/TerminateEventDefinition.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/TerminateEventDefinition.java
new file mode 100644
index 00000000000..9c8cae43c8c
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/TerminateEventDefinition.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.CallEvent;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Terminate Event Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.TerminateEventDefinition#getBase_CallEvent <em>Base Call Event</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getTerminateEventDefinition()
+ * @model
+ * @generated
+ */
+public interface TerminateEventDefinition extends EventDefinition {
+ /**
+ * Returns the value of the '<em><b>Base Call Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Call Event</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Call Event</em>' reference.
+ * @see #setBase_CallEvent(CallEvent)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getTerminateEventDefinition_Base_CallEvent()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ CallEvent getBase_CallEvent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.TerminateEventDefinition#getBase_CallEvent <em>Base Call Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Call Event</em>' reference.
+ * @see #getBase_CallEvent()
+ * @generated
+ */
+ void setBase_CallEvent(CallEvent value);
+
+} // TerminateEventDefinition
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/TextAnnotation.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/TextAnnotation.java
new file mode 100644
index 00000000000..adb004a9bc4
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/TextAnnotation.java
@@ -0,0 +1,104 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.Comment;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Text Annotation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.TextAnnotation#getBase_Comment <em>Base Comment</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.TextAnnotation#getTextFormat <em>Text Format</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.TextAnnotation#getText <em>Text</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getTextAnnotation()
+ * @model
+ * @generated
+ */
+public interface TextAnnotation extends BPMNArtifact {
+ /**
+ * Returns the value of the '<em><b>Base Comment</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Comment</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Comment</em>' reference.
+ * @see #setBase_Comment(Comment)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getTextAnnotation_Base_Comment()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Comment getBase_Comment();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.TextAnnotation#getBase_Comment <em>Base Comment</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Comment</em>' reference.
+ * @see #getBase_Comment()
+ * @generated
+ */
+ void setBase_Comment(Comment value);
+
+ /**
+ * Returns the value of the '<em><b>Text Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Text Format</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Text Format</em>' attribute.
+ * @see #setTextFormat(String)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getTextAnnotation_TextFormat()
+ * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getTextFormat();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.TextAnnotation#getTextFormat <em>Text Format</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Text Format</em>' attribute.
+ * @see #getTextFormat()
+ * @generated
+ */
+ void setTextFormat(String value);
+
+ /**
+ * Returns the value of the '<em><b>Text</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Text</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Text</em>' attribute.
+ * @see #setText(String)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getTextAnnotation_Text()
+ * @model dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getText();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.TextAnnotation#getText <em>Text</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Text</em>' attribute.
+ * @see #getText()
+ * @generated
+ */
+ void setText(String value);
+
+} // TextAnnotation
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ThrowEvent.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ThrowEvent.java
new file mode 100644
index 00000000000..83d4407a337
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/ThrowEvent.java
@@ -0,0 +1,113 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.FlowFinalNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Throw Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ThrowEvent#getBase_CallOperationAction <em>Base Call Operation Action</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ThrowEvent#getBase_FlowFinalNode <em>Base Flow Final Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.ThrowEvent#getDataInputAssociation <em>Data Input Association</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getThrowEvent()
+ * @model abstract="true"
+ * @generated
+ */
+public interface ThrowEvent extends BPMNEvent {
+ /**
+ * Returns the value of the '<em><b>Base Call Operation Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Call Operation Action</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Call Operation Action</em>' reference.
+ * @see #setBase_CallOperationAction(CallOperationAction)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getThrowEvent_Base_CallOperationAction()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ CallOperationAction getBase_CallOperationAction();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ThrowEvent#getBase_CallOperationAction <em>Base Call Operation Action</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Call Operation Action</em>' reference.
+ * @see #getBase_CallOperationAction()
+ * @generated
+ */
+ void setBase_CallOperationAction(CallOperationAction value);
+
+ /**
+ * Returns the value of the '<em><b>Base Flow Final Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Flow Final Node</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Flow Final Node</em>' reference.
+ * @see #setBase_FlowFinalNode(FlowFinalNode)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getThrowEvent_Base_FlowFinalNode()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ FlowFinalNode getBase_FlowFinalNode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ThrowEvent#getBase_FlowFinalNode <em>Base Flow Final Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Flow Final Node</em>' reference.
+ * @see #getBase_FlowFinalNode()
+ * @generated
+ */
+ void setBase_FlowFinalNode(FlowFinalNode value);
+
+ /**
+ * Returns the value of the '<em><b>Data Input Association</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInputAssociation}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Data Input Association</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Data Input Association</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getThrowEvent_DataInputAssociation()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<DataInputAssociation> getDataInputAssociation();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * ThrowEvent::/eventDefinitionRefs : EventDefintion [*] = the events of the triggers of a call operation action to which the stereotype is applied that are not owned by action.
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='ThrowEvent.eventDefinitionRefs'"
+ * @generated
+ */
+ boolean ThrowEventeventDefinitionRefs(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // ThrowEvent
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/TimerEventDefinition.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/TimerEventDefinition.java
new file mode 100644
index 00000000000..d16b8e93abf
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/TimerEventDefinition.java
@@ -0,0 +1,131 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import org.eclipse.uml2.uml.ChangeEvent;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Timer Event Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.TimerEventDefinition#getTimeCycle <em>Time Cycle</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.TimerEventDefinition#getTimeDate <em>Time Date</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.TimerEventDefinition#getTimeDuration <em>Time Duration</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.TimerEventDefinition#getBase_ChangeEvent <em>Base Change Event</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getTimerEventDefinition()
+ * @model
+ * @generated
+ */
+public interface TimerEventDefinition extends EventDefinition {
+ /**
+ * Returns the value of the '<em><b>Time Cycle</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Time Cycle</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Time Cycle</em>' reference.
+ * @see #setTimeCycle(BPMNExpression)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getTimerEventDefinition_TimeCycle()
+ * @model ordered="false"
+ * @generated
+ */
+ BPMNExpression getTimeCycle();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.TimerEventDefinition#getTimeCycle <em>Time Cycle</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Time Cycle</em>' reference.
+ * @see #getTimeCycle()
+ * @generated
+ */
+ void setTimeCycle(BPMNExpression value);
+
+ /**
+ * Returns the value of the '<em><b>Time Date</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Time Date</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Time Date</em>' reference.
+ * @see #setTimeDate(BPMNExpression)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getTimerEventDefinition_TimeDate()
+ * @model ordered="false"
+ * @generated
+ */
+ BPMNExpression getTimeDate();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.TimerEventDefinition#getTimeDate <em>Time Date</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Time Date</em>' reference.
+ * @see #getTimeDate()
+ * @generated
+ */
+ void setTimeDate(BPMNExpression value);
+
+ /**
+ * Returns the value of the '<em><b>Time Duration</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Time Duration</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Time Duration</em>' reference.
+ * @see #setTimeDuration(BPMNExpression)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getTimerEventDefinition_TimeDuration()
+ * @model ordered="false"
+ * @generated
+ */
+ BPMNExpression getTimeDuration();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.TimerEventDefinition#getTimeDuration <em>Time Duration</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Time Duration</em>' reference.
+ * @see #getTimeDuration()
+ * @generated
+ */
+ void setTimeDuration(BPMNExpression value);
+
+ /**
+ * Returns the value of the '<em><b>Base Change Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Change Event</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Change Event</em>' reference.
+ * @see #setBase_ChangeEvent(ChangeEvent)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getTimerEventDefinition_Base_ChangeEvent()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ ChangeEvent getBase_ChangeEvent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.TimerEventDefinition#getBase_ChangeEvent <em>Base Change Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Change Event</em>' reference.
+ * @see #getBase_ChangeEvent()
+ * @generated
+ */
+ void setBase_ChangeEvent(ChangeEvent value);
+
+} // TimerEventDefinition
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Transaction.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Transaction.java
new file mode 100644
index 00000000000..192cf250b0d
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/Transaction.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Transaction</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.Transaction#getMethod <em>Method</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getTransaction()
+ * @model
+ * @generated
+ */
+public interface Transaction extends SubProcess {
+ /**
+ * Returns the value of the '<em><b>Method</b></em>' attribute.
+ * The default value is <code>"\"##compensate\""</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Method</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Method</em>' attribute.
+ * @see #setMethod(String)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getTransaction_Method()
+ * @model default="\"##compensate\"" dataType="org.eclipse.uml2.types.String" required="true" ordered="false"
+ * @generated
+ */
+ String getMethod();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Transaction#getMethod <em>Method</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Method</em>' attribute.
+ * @see #getMethod()
+ * @generated
+ */
+ void setMethod(String value);
+
+} // Transaction
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/UserTask.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/UserTask.java
new file mode 100644
index 00000000000..748910ecc87
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/UserTask.java
@@ -0,0 +1,126 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.OpaqueAction;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>User Task</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.UserTask#getBase_OpaqueAction <em>Base Opaque Action</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.UserTask#getImplementation <em>Implementation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.UserTask#getRenderings <em>Renderings</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getUserTask()
+ * @model
+ * @generated
+ */
+public interface UserTask extends Task {
+ /**
+ * Returns the value of the '<em><b>Base Opaque Action</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Opaque Action</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Opaque Action</em>' reference.
+ * @see #setBase_OpaqueAction(OpaqueAction)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getUserTask_Base_OpaqueAction()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ OpaqueAction getBase_OpaqueAction();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.UserTask#getBase_OpaqueAction <em>Base Opaque Action</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Opaque Action</em>' reference.
+ * @see #getBase_OpaqueAction()
+ * @generated
+ */
+ void setBase_OpaqueAction(OpaqueAction value);
+
+ /**
+ * Returns the value of the '<em><b>Implementation</b></em>' attribute.
+ * The default value is <code>"##unspecified"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Implementation</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Implementation</em>' attribute.
+ * @see #setImplementation(String)
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getUserTask_Implementation()
+ * @model default="##unspecified" unique="false" dataType="org.eclipse.uml2.types.String" required="true"
+ * @generated
+ */
+ String getImplementation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.bpmn.BPMNProfile.UserTask#getImplementation <em>Implementation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Implementation</em>' attribute.
+ * @see #getImplementation()
+ * @generated
+ */
+ void setImplementation(String value);
+
+ /**
+ * Returns the value of the '<em><b>Renderings</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.bpmn.BPMNProfile.Rendering}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Renderings</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Renderings</em>' reference list.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#getUserTask_Renderings()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ EList<Rendering> getRenderings();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * self.implementation = self.base_OpaqueAction.body.first
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='UserTask.implementation'"
+ * @generated
+ */
+ boolean UserTaskimplementation(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * UserTask::/renderings : Image [*] = OpaqueAction.appliedStereotype.icon
+ * @param diagnostics The chain of diagnostics to which problems are to be appended.
+ * @param context The cache of context-specific information.
+ * <!-- end-model-doc -->
+ * @model annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='UserTask.renderings'"
+ * @generated
+ */
+ boolean UserTaskrenderings(DiagnosticChain diagnostics, Map<Object, Object> context);
+
+} // UserTask
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/AdHocSubProcessImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/AdHocSubProcessImpl.java
new file mode 100644
index 00000000000..cb7200f8f5c
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/AdHocSubProcessImpl.java
@@ -0,0 +1,334 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.AdHocOrdering;
+import org.eclipse.papyrus.bpmn.BPMNProfile.AdHocSubProcess;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Ad Hoc Sub Process</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.AdHocSubProcessImpl#getCompletionCondition <em>Completion Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.AdHocSubProcessImpl#getOrdering <em>Ordering</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.AdHocSubProcessImpl#isCancelRemainingInstances <em>Cancel Remaining Instances</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AdHocSubProcessImpl extends SubProcessImpl implements AdHocSubProcess {
+ /**
+ * The cached value of the '{@link #getCompletionCondition() <em>Completion Condition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCompletionCondition()
+ * @generated
+ * @ordered
+ */
+ protected BPMNExpression completionCondition;
+
+ /**
+ * The default value of the '{@link #getOrdering() <em>Ordering</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOrdering()
+ * @generated
+ * @ordered
+ */
+ protected static final AdHocOrdering ORDERING_EDEFAULT = AdHocOrdering.PARALLEL;
+
+ /**
+ * The cached value of the '{@link #getOrdering() <em>Ordering</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOrdering()
+ * @generated
+ * @ordered
+ */
+ protected AdHocOrdering ordering = ORDERING_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isCancelRemainingInstances() <em>Cancel Remaining Instances</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCancelRemainingInstances()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean CANCEL_REMAINING_INSTANCES_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isCancelRemainingInstances() <em>Cancel Remaining Instances</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCancelRemainingInstances()
+ * @generated
+ * @ordered
+ */
+ protected boolean cancelRemainingInstances = CANCEL_REMAINING_INSTANCES_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AdHocSubProcessImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getAdHocSubProcess();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExpression getCompletionCondition() {
+ if (completionCondition != null && completionCondition.eIsProxy()) {
+ InternalEObject oldCompletionCondition = (InternalEObject)completionCondition;
+ completionCondition = (BPMNExpression)eResolveProxy(oldCompletionCondition);
+ if (completionCondition != oldCompletionCondition) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.AD_HOC_SUB_PROCESS__COMPLETION_CONDITION, oldCompletionCondition, completionCondition));
+ }
+ }
+ return completionCondition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExpression basicGetCompletionCondition() {
+ return completionCondition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCompletionCondition(BPMNExpression newCompletionCondition) {
+ BPMNExpression oldCompletionCondition = completionCondition;
+ completionCondition = newCompletionCondition;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.AD_HOC_SUB_PROCESS__COMPLETION_CONDITION, oldCompletionCondition, completionCondition));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AdHocOrdering getOrdering() {
+ return ordering;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOrdering(AdHocOrdering newOrdering) {
+ AdHocOrdering oldOrdering = ordering;
+ ordering = newOrdering == null ? ORDERING_EDEFAULT : newOrdering;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.AD_HOC_SUB_PROCESS__ORDERING, oldOrdering, ordering));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isCancelRemainingInstances() {
+ return cancelRemainingInstances;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCancelRemainingInstances(boolean newCancelRemainingInstances) {
+ boolean oldCancelRemainingInstances = cancelRemainingInstances;
+ cancelRemainingInstances = newCancelRemainingInstances;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.AD_HOC_SUB_PROCESS__CANCEL_REMAINING_INSTANCES, oldCancelRemainingInstances, cancelRemainingInstances));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean AdHocSubProcesscancelRemainingInstances(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.AD_HOC_SUB_PROCESS__AD_HOC_SUB_PROCESSCANCEL_REMAINING_INSTANCES,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "AdHocSubProcesscancelRemainingInstances", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.AD_HOC_SUB_PROCESS__COMPLETION_CONDITION:
+ if (resolve) return getCompletionCondition();
+ return basicGetCompletionCondition();
+ case BPMNProfilePackage.AD_HOC_SUB_PROCESS__ORDERING:
+ return getOrdering();
+ case BPMNProfilePackage.AD_HOC_SUB_PROCESS__CANCEL_REMAINING_INSTANCES:
+ return isCancelRemainingInstances();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.AD_HOC_SUB_PROCESS__COMPLETION_CONDITION:
+ setCompletionCondition((BPMNExpression)newValue);
+ return;
+ case BPMNProfilePackage.AD_HOC_SUB_PROCESS__ORDERING:
+ setOrdering((AdHocOrdering)newValue);
+ return;
+ case BPMNProfilePackage.AD_HOC_SUB_PROCESS__CANCEL_REMAINING_INSTANCES:
+ setCancelRemainingInstances((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.AD_HOC_SUB_PROCESS__COMPLETION_CONDITION:
+ setCompletionCondition((BPMNExpression)null);
+ return;
+ case BPMNProfilePackage.AD_HOC_SUB_PROCESS__ORDERING:
+ setOrdering(ORDERING_EDEFAULT);
+ return;
+ case BPMNProfilePackage.AD_HOC_SUB_PROCESS__CANCEL_REMAINING_INSTANCES:
+ setCancelRemainingInstances(CANCEL_REMAINING_INSTANCES_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.AD_HOC_SUB_PROCESS__COMPLETION_CONDITION:
+ return completionCondition != null;
+ case BPMNProfilePackage.AD_HOC_SUB_PROCESS__ORDERING:
+ return ordering != ORDERING_EDEFAULT;
+ case BPMNProfilePackage.AD_HOC_SUB_PROCESS__CANCEL_REMAINING_INSTANCES:
+ return cancelRemainingInstances != CANCEL_REMAINING_INSTANCES_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.AD_HOC_SUB_PROCESS___AD_HOC_SUB_PROCESSCANCEL_REMAINING_INSTANCES__DIAGNOSTICCHAIN_MAP:
+ return AdHocSubProcesscancelRemainingInstances((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (ordering: ");
+ result.append(ordering);
+ result.append(", cancelRemainingInstances: ");
+ result.append(cancelRemainingInstances);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AdHocSubProcessImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/AssignmentImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/AssignmentImpl.java
new file mode 100644
index 00000000000..385273eb27e
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/AssignmentImpl.java
@@ -0,0 +1,277 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.Assignment;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+
+import org.eclipse.uml2.uml.Dependency;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Assignment</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.AssignmentImpl#getBase_Dependency <em>Base Dependency</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.AssignmentImpl#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.AssignmentImpl#getTo <em>To</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AssignmentImpl extends BaseElementImpl implements Assignment {
+ /**
+ * The cached value of the '{@link #getBase_Dependency() <em>Base Dependency</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Dependency()
+ * @generated
+ * @ordered
+ */
+ protected Dependency base_Dependency;
+
+ /**
+ * The cached value of the '{@link #getFrom() <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFrom()
+ * @generated
+ * @ordered
+ */
+ protected BPMNExpression from;
+ /**
+ * The cached value of the '{@link #getTo() <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTo()
+ * @generated
+ * @ordered
+ */
+ protected BPMNExpression to;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AssignmentImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getAssignment();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency getBase_Dependency() {
+ if (base_Dependency != null && base_Dependency.eIsProxy()) {
+ InternalEObject oldBase_Dependency = (InternalEObject)base_Dependency;
+ base_Dependency = (Dependency)eResolveProxy(oldBase_Dependency);
+ if (base_Dependency != oldBase_Dependency) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.ASSIGNMENT__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+ }
+ }
+ return base_Dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency basicGetBase_Dependency() {
+ return base_Dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Dependency(Dependency newBase_Dependency) {
+ Dependency oldBase_Dependency = base_Dependency;
+ base_Dependency = newBase_Dependency;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.ASSIGNMENT__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExpression getFrom() {
+ if (from != null && from.eIsProxy()) {
+ InternalEObject oldFrom = (InternalEObject)from;
+ from = (BPMNExpression)eResolveProxy(oldFrom);
+ if (from != oldFrom) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.ASSIGNMENT__FROM, oldFrom, from));
+ }
+ }
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExpression basicGetFrom() {
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFrom(BPMNExpression newFrom) {
+ BPMNExpression oldFrom = from;
+ from = newFrom;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.ASSIGNMENT__FROM, oldFrom, from));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExpression getTo() {
+ if (to != null && to.eIsProxy()) {
+ InternalEObject oldTo = (InternalEObject)to;
+ to = (BPMNExpression)eResolveProxy(oldTo);
+ if (to != oldTo) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.ASSIGNMENT__TO, oldTo, to));
+ }
+ }
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExpression basicGetTo() {
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTo(BPMNExpression newTo) {
+ BPMNExpression oldTo = to;
+ to = newTo;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.ASSIGNMENT__TO, oldTo, to));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.ASSIGNMENT__BASE_DEPENDENCY:
+ if (resolve) return getBase_Dependency();
+ return basicGetBase_Dependency();
+ case BPMNProfilePackage.ASSIGNMENT__FROM:
+ if (resolve) return getFrom();
+ return basicGetFrom();
+ case BPMNProfilePackage.ASSIGNMENT__TO:
+ if (resolve) return getTo();
+ return basicGetTo();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.ASSIGNMENT__BASE_DEPENDENCY:
+ setBase_Dependency((Dependency)newValue);
+ return;
+ case BPMNProfilePackage.ASSIGNMENT__FROM:
+ setFrom((BPMNExpression)newValue);
+ return;
+ case BPMNProfilePackage.ASSIGNMENT__TO:
+ setTo((BPMNExpression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.ASSIGNMENT__BASE_DEPENDENCY:
+ setBase_Dependency((Dependency)null);
+ return;
+ case BPMNProfilePackage.ASSIGNMENT__FROM:
+ setFrom((BPMNExpression)null);
+ return;
+ case BPMNProfilePackage.ASSIGNMENT__TO:
+ setTo((BPMNExpression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.ASSIGNMENT__BASE_DEPENDENCY:
+ return base_Dependency != null;
+ case BPMNProfilePackage.ASSIGNMENT__FROM:
+ return from != null;
+ case BPMNProfilePackage.ASSIGNMENT__TO:
+ return to != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //AssignmentImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/AuditingImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/AuditingImpl.java
new file mode 100644
index 00000000000..b3f5bb0e950
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/AuditingImpl.java
@@ -0,0 +1,155 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.Auditing;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Auditing</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.AuditingImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AuditingImpl extends BaseElementImpl implements Auditing {
+ /**
+ * The cached value of the '{@link #getBase_Class() <em>Base Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Class()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.uml2.uml.Class base_Class;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AuditingImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getAuditing();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class getBase_Class() {
+ if (base_Class != null && base_Class.eIsProxy()) {
+ InternalEObject oldBase_Class = (InternalEObject)base_Class;
+ base_Class = (org.eclipse.uml2.uml.Class)eResolveProxy(oldBase_Class);
+ if (base_Class != oldBase_Class) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.AUDITING__BASE_CLASS, oldBase_Class, base_Class));
+ }
+ }
+ return base_Class;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+ return base_Class;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+ org.eclipse.uml2.uml.Class oldBase_Class = base_Class;
+ base_Class = newBase_Class;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.AUDITING__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.AUDITING__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.AUDITING__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.AUDITING__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.AUDITING__BASE_CLASS:
+ return base_Class != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //AuditingImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNActivityImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNActivityImpl.java
new file mode 100644
index 00000000000..4a48419adfd
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNActivityImpl.java
@@ -0,0 +1,883 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BoundaryEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataInputAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataOutputAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.LoopCharacteristics;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.Action;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>BPMN Activity</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNActivityImpl#isForCompensation <em>Is For Compensation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNActivityImpl#getStartQuantity <em>Start Quantity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNActivityImpl#getCompletionQuantity <em>Completion Quantity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNActivityImpl#getBase_Action <em>Base Action</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNActivityImpl#getActivityClass <em>Activity Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNActivityImpl#getProperties <em>Properties</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNActivityImpl#getDefault <em>Default</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNActivityImpl#getBoundaryEventRefs <em>Boundary Event Refs</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNActivityImpl#getDataInputAssociations <em>Data Input Associations</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNActivityImpl#getDataOutputAssociations <em>Data Output Associations</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNActivityImpl#getLoopCharacteristics <em>Loop Characteristics</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNActivityImpl#getResources <em>Resources</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class BPMNActivityImpl extends FlowNodeImpl implements BPMNActivity {
+ /**
+ * The default value of the '{@link #isForCompensation() <em>Is For Compensation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isForCompensation()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_FOR_COMPENSATION_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isForCompensation() <em>Is For Compensation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isForCompensation()
+ * @generated
+ * @ordered
+ */
+ protected boolean isForCompensation = IS_FOR_COMPENSATION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getStartQuantity() <em>Start Quantity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStartQuantity()
+ * @generated
+ * @ordered
+ */
+ protected static final int START_QUANTITY_EDEFAULT = 1;
+
+ /**
+ * The cached value of the '{@link #getStartQuantity() <em>Start Quantity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStartQuantity()
+ * @generated
+ * @ordered
+ */
+ protected int startQuantity = START_QUANTITY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getCompletionQuantity() <em>Completion Quantity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCompletionQuantity()
+ * @generated
+ * @ordered
+ */
+ protected static final int COMPLETION_QUANTITY_EDEFAULT = 1;
+
+ /**
+ * The cached value of the '{@link #getCompletionQuantity() <em>Completion Quantity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCompletionQuantity()
+ * @generated
+ * @ordered
+ */
+ protected int completionQuantity = COMPLETION_QUANTITY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBase_Action() <em>Base Action</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Action()
+ * @generated
+ * @ordered
+ */
+ protected Action base_Action;
+
+ /**
+ * The cached value of the '{@link #getActivityClass() <em>Activity Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getActivityClass()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.uml2.uml.Class activityClass;
+
+ /**
+ * The cached value of the '{@link #getProperties() <em>Properties</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProperties()
+ * @generated
+ * @ordered
+ */
+ protected EList<BPMNProperty> properties;
+
+ /**
+ * The cached value of the '{@link #getDefault() <em>Default</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefault()
+ * @generated
+ * @ordered
+ */
+ protected SequenceFlow default_;
+
+ /**
+ * The cached value of the '{@link #getBoundaryEventRefs() <em>Boundary Event Refs</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBoundaryEventRefs()
+ * @generated
+ * @ordered
+ */
+ protected EList<BoundaryEvent> boundaryEventRefs;
+
+ /**
+ * The cached value of the '{@link #getDataInputAssociations() <em>Data Input Associations</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDataInputAssociations()
+ * @generated
+ * @ordered
+ */
+ protected EList<DataInputAssociation> dataInputAssociations;
+
+ /**
+ * The cached value of the '{@link #getDataOutputAssociations() <em>Data Output Associations</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDataOutputAssociations()
+ * @generated
+ * @ordered
+ */
+ protected EList<DataOutputAssociation> dataOutputAssociations;
+
+ /**
+ * The cached value of the '{@link #getLoopCharacteristics() <em>Loop Characteristics</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLoopCharacteristics()
+ * @generated
+ * @ordered
+ */
+ protected LoopCharacteristics loopCharacteristics;
+
+ /**
+ * The cached value of the '{@link #getResources() <em>Resources</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getResources()
+ * @generated
+ * @ordered
+ */
+ protected EList<ResourceRole> resources;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BPMNActivityImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getBPMNActivity();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isForCompensation() {
+ return isForCompensation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsForCompensation(boolean newIsForCompensation) {
+ boolean oldIsForCompensation = isForCompensation;
+ isForCompensation = newIsForCompensation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_ACTIVITY__IS_FOR_COMPENSATION, oldIsForCompensation, isForCompensation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getStartQuantity() {
+ return startQuantity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStartQuantity(int newStartQuantity) {
+ int oldStartQuantity = startQuantity;
+ startQuantity = newStartQuantity;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_ACTIVITY__START_QUANTITY, oldStartQuantity, startQuantity));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getCompletionQuantity() {
+ return completionQuantity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCompletionQuantity(int newCompletionQuantity) {
+ int oldCompletionQuantity = completionQuantity;
+ completionQuantity = newCompletionQuantity;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_ACTIVITY__COMPLETION_QUANTITY, oldCompletionQuantity, completionQuantity));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Action getBase_Action() {
+ if (base_Action != null && base_Action.eIsProxy()) {
+ InternalEObject oldBase_Action = (InternalEObject)base_Action;
+ base_Action = (Action)eResolveProxy(oldBase_Action);
+ if (base_Action != oldBase_Action) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_ACTIVITY__BASE_ACTION, oldBase_Action, base_Action));
+ }
+ }
+ return base_Action;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Action basicGetBase_Action() {
+ return base_Action;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Action(Action newBase_Action) {
+ Action oldBase_Action = base_Action;
+ base_Action = newBase_Action;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_ACTIVITY__BASE_ACTION, oldBase_Action, base_Action));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class getActivityClass() {
+ if (activityClass != null && activityClass.eIsProxy()) {
+ InternalEObject oldActivityClass = (InternalEObject)activityClass;
+ activityClass = (org.eclipse.uml2.uml.Class)eResolveProxy(oldActivityClass);
+ if (activityClass != oldActivityClass) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_ACTIVITY__ACTIVITY_CLASS, oldActivityClass, activityClass));
+ }
+ }
+ return activityClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class basicGetActivityClass() {
+ return activityClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setActivityClass(org.eclipse.uml2.uml.Class newActivityClass) {
+ org.eclipse.uml2.uml.Class oldActivityClass = activityClass;
+ activityClass = newActivityClass;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_ACTIVITY__ACTIVITY_CLASS, oldActivityClass, activityClass));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BPMNProperty> getProperties() {
+ if (properties == null) {
+ properties = new EObjectResolvingEList<BPMNProperty>(BPMNProperty.class, this, BPMNProfilePackage.BPMN_ACTIVITY__PROPERTIES);
+ }
+ return properties;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SequenceFlow getDefault() {
+ if (default_ != null && default_.eIsProxy()) {
+ InternalEObject oldDefault = (InternalEObject)default_;
+ default_ = (SequenceFlow)eResolveProxy(oldDefault);
+ if (default_ != oldDefault) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_ACTIVITY__DEFAULT, oldDefault, default_));
+ }
+ }
+ return default_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SequenceFlow basicGetDefault() {
+ return default_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDefault(SequenceFlow newDefault) {
+ SequenceFlow oldDefault = default_;
+ default_ = newDefault;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_ACTIVITY__DEFAULT, oldDefault, default_));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BoundaryEvent> getBoundaryEventRefs() {
+ if (boundaryEventRefs == null) {
+ boundaryEventRefs = new EObjectResolvingEList<BoundaryEvent>(BoundaryEvent.class, this, BPMNProfilePackage.BPMN_ACTIVITY__BOUNDARY_EVENT_REFS);
+ }
+ return boundaryEventRefs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DataInputAssociation> getDataInputAssociations() {
+ if (dataInputAssociations == null) {
+ dataInputAssociations = new EObjectResolvingEList<DataInputAssociation>(DataInputAssociation.class, this, BPMNProfilePackage.BPMN_ACTIVITY__DATA_INPUT_ASSOCIATIONS);
+ }
+ return dataInputAssociations;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DataOutputAssociation> getDataOutputAssociations() {
+ if (dataOutputAssociations == null) {
+ dataOutputAssociations = new EObjectResolvingEList<DataOutputAssociation>(DataOutputAssociation.class, this, BPMNProfilePackage.BPMN_ACTIVITY__DATA_OUTPUT_ASSOCIATIONS);
+ }
+ return dataOutputAssociations;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LoopCharacteristics getLoopCharacteristics() {
+ if (loopCharacteristics != null && loopCharacteristics.eIsProxy()) {
+ InternalEObject oldLoopCharacteristics = (InternalEObject)loopCharacteristics;
+ loopCharacteristics = (LoopCharacteristics)eResolveProxy(oldLoopCharacteristics);
+ if (loopCharacteristics != oldLoopCharacteristics) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_ACTIVITY__LOOP_CHARACTERISTICS, oldLoopCharacteristics, loopCharacteristics));
+ }
+ }
+ return loopCharacteristics;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LoopCharacteristics basicGetLoopCharacteristics() {
+ return loopCharacteristics;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLoopCharacteristics(LoopCharacteristics newLoopCharacteristics) {
+ LoopCharacteristics oldLoopCharacteristics = loopCharacteristics;
+ loopCharacteristics = newLoopCharacteristics;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_ACTIVITY__LOOP_CHARACTERISTICS, oldLoopCharacteristics, loopCharacteristics));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ResourceRole> getResources() {
+ if (resources == null) {
+ resources = new EObjectResolvingEList<ResourceRole>(ResourceRole.class, this, BPMNProfilePackage.BPMN_ACTIVITY__RESOURCES);
+ }
+ return resources;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean BPMNActivityresources(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.BPMN_ACTIVITY__BPMN_ACTIVITYRESOURCES,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "BPMNActivityresources", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean BPMNActivitycontainer(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.BPMN_ACTIVITY__BPMN_ACTIVITYCONTAINER,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "BPMNActivitycontainer", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean BPMNActivityproperties(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.BPMN_ACTIVITY__BPMN_ACTIVITYPROPERTIES,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "BPMNActivityproperties", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean BPMNActivitydefault(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.BPMN_ACTIVITY__BPMN_ACTIVITYDEFAULT,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "BPMNActivitydefault", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean BPMNActivityboundaryEventsRefs(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.BPMN_ACTIVITY__BPMN_ACTIVITYBOUNDARY_EVENTS_REFS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "BPMNActivityboundaryEventsRefs", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean BPMNActivityloopCharacteristics(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.BPMN_ACTIVITY__BPMN_ACTIVITYLOOP_CHARACTERISTICS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "BPMNActivityloopCharacteristics", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_ACTIVITY__IS_FOR_COMPENSATION:
+ return isForCompensation();
+ case BPMNProfilePackage.BPMN_ACTIVITY__START_QUANTITY:
+ return getStartQuantity();
+ case BPMNProfilePackage.BPMN_ACTIVITY__COMPLETION_QUANTITY:
+ return getCompletionQuantity();
+ case BPMNProfilePackage.BPMN_ACTIVITY__BASE_ACTION:
+ if (resolve) return getBase_Action();
+ return basicGetBase_Action();
+ case BPMNProfilePackage.BPMN_ACTIVITY__ACTIVITY_CLASS:
+ if (resolve) return getActivityClass();
+ return basicGetActivityClass();
+ case BPMNProfilePackage.BPMN_ACTIVITY__PROPERTIES:
+ return getProperties();
+ case BPMNProfilePackage.BPMN_ACTIVITY__DEFAULT:
+ if (resolve) return getDefault();
+ return basicGetDefault();
+ case BPMNProfilePackage.BPMN_ACTIVITY__BOUNDARY_EVENT_REFS:
+ return getBoundaryEventRefs();
+ case BPMNProfilePackage.BPMN_ACTIVITY__DATA_INPUT_ASSOCIATIONS:
+ return getDataInputAssociations();
+ case BPMNProfilePackage.BPMN_ACTIVITY__DATA_OUTPUT_ASSOCIATIONS:
+ return getDataOutputAssociations();
+ case BPMNProfilePackage.BPMN_ACTIVITY__LOOP_CHARACTERISTICS:
+ if (resolve) return getLoopCharacteristics();
+ return basicGetLoopCharacteristics();
+ case BPMNProfilePackage.BPMN_ACTIVITY__RESOURCES:
+ return getResources();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_ACTIVITY__IS_FOR_COMPENSATION:
+ setIsForCompensation((Boolean)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_ACTIVITY__START_QUANTITY:
+ setStartQuantity((Integer)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_ACTIVITY__COMPLETION_QUANTITY:
+ setCompletionQuantity((Integer)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_ACTIVITY__BASE_ACTION:
+ setBase_Action((Action)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_ACTIVITY__ACTIVITY_CLASS:
+ setActivityClass((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_ACTIVITY__PROPERTIES:
+ getProperties().clear();
+ getProperties().addAll((Collection<? extends BPMNProperty>)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_ACTIVITY__DEFAULT:
+ setDefault((SequenceFlow)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_ACTIVITY__BOUNDARY_EVENT_REFS:
+ getBoundaryEventRefs().clear();
+ getBoundaryEventRefs().addAll((Collection<? extends BoundaryEvent>)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_ACTIVITY__DATA_INPUT_ASSOCIATIONS:
+ getDataInputAssociations().clear();
+ getDataInputAssociations().addAll((Collection<? extends DataInputAssociation>)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_ACTIVITY__DATA_OUTPUT_ASSOCIATIONS:
+ getDataOutputAssociations().clear();
+ getDataOutputAssociations().addAll((Collection<? extends DataOutputAssociation>)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_ACTIVITY__LOOP_CHARACTERISTICS:
+ setLoopCharacteristics((LoopCharacteristics)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_ACTIVITY__RESOURCES:
+ getResources().clear();
+ getResources().addAll((Collection<? extends ResourceRole>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_ACTIVITY__IS_FOR_COMPENSATION:
+ setIsForCompensation(IS_FOR_COMPENSATION_EDEFAULT);
+ return;
+ case BPMNProfilePackage.BPMN_ACTIVITY__START_QUANTITY:
+ setStartQuantity(START_QUANTITY_EDEFAULT);
+ return;
+ case BPMNProfilePackage.BPMN_ACTIVITY__COMPLETION_QUANTITY:
+ setCompletionQuantity(COMPLETION_QUANTITY_EDEFAULT);
+ return;
+ case BPMNProfilePackage.BPMN_ACTIVITY__BASE_ACTION:
+ setBase_Action((Action)null);
+ return;
+ case BPMNProfilePackage.BPMN_ACTIVITY__ACTIVITY_CLASS:
+ setActivityClass((org.eclipse.uml2.uml.Class)null);
+ return;
+ case BPMNProfilePackage.BPMN_ACTIVITY__PROPERTIES:
+ getProperties().clear();
+ return;
+ case BPMNProfilePackage.BPMN_ACTIVITY__DEFAULT:
+ setDefault((SequenceFlow)null);
+ return;
+ case BPMNProfilePackage.BPMN_ACTIVITY__BOUNDARY_EVENT_REFS:
+ getBoundaryEventRefs().clear();
+ return;
+ case BPMNProfilePackage.BPMN_ACTIVITY__DATA_INPUT_ASSOCIATIONS:
+ getDataInputAssociations().clear();
+ return;
+ case BPMNProfilePackage.BPMN_ACTIVITY__DATA_OUTPUT_ASSOCIATIONS:
+ getDataOutputAssociations().clear();
+ return;
+ case BPMNProfilePackage.BPMN_ACTIVITY__LOOP_CHARACTERISTICS:
+ setLoopCharacteristics((LoopCharacteristics)null);
+ return;
+ case BPMNProfilePackage.BPMN_ACTIVITY__RESOURCES:
+ getResources().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_ACTIVITY__IS_FOR_COMPENSATION:
+ return isForCompensation != IS_FOR_COMPENSATION_EDEFAULT;
+ case BPMNProfilePackage.BPMN_ACTIVITY__START_QUANTITY:
+ return startQuantity != START_QUANTITY_EDEFAULT;
+ case BPMNProfilePackage.BPMN_ACTIVITY__COMPLETION_QUANTITY:
+ return completionQuantity != COMPLETION_QUANTITY_EDEFAULT;
+ case BPMNProfilePackage.BPMN_ACTIVITY__BASE_ACTION:
+ return base_Action != null;
+ case BPMNProfilePackage.BPMN_ACTIVITY__ACTIVITY_CLASS:
+ return activityClass != null;
+ case BPMNProfilePackage.BPMN_ACTIVITY__PROPERTIES:
+ return properties != null && !properties.isEmpty();
+ case BPMNProfilePackage.BPMN_ACTIVITY__DEFAULT:
+ return default_ != null;
+ case BPMNProfilePackage.BPMN_ACTIVITY__BOUNDARY_EVENT_REFS:
+ return boundaryEventRefs != null && !boundaryEventRefs.isEmpty();
+ case BPMNProfilePackage.BPMN_ACTIVITY__DATA_INPUT_ASSOCIATIONS:
+ return dataInputAssociations != null && !dataInputAssociations.isEmpty();
+ case BPMNProfilePackage.BPMN_ACTIVITY__DATA_OUTPUT_ASSOCIATIONS:
+ return dataOutputAssociations != null && !dataOutputAssociations.isEmpty();
+ case BPMNProfilePackage.BPMN_ACTIVITY__LOOP_CHARACTERISTICS:
+ return loopCharacteristics != null;
+ case BPMNProfilePackage.BPMN_ACTIVITY__RESOURCES:
+ return resources != null && !resources.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.BPMN_ACTIVITY___BPMN_ACTIVITYRESOURCES__DIAGNOSTICCHAIN_MAP:
+ return BPMNActivityresources((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.BPMN_ACTIVITY___BPMN_ACTIVITYCONTAINER__DIAGNOSTICCHAIN_MAP:
+ return BPMNActivitycontainer((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.BPMN_ACTIVITY___BPMN_ACTIVITYPROPERTIES__DIAGNOSTICCHAIN_MAP:
+ return BPMNActivityproperties((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.BPMN_ACTIVITY___BPMN_ACTIVITYDEFAULT__DIAGNOSTICCHAIN_MAP:
+ return BPMNActivitydefault((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.BPMN_ACTIVITY___BPMN_ACTIVITYBOUNDARY_EVENTS_REFS__DIAGNOSTICCHAIN_MAP:
+ return BPMNActivityboundaryEventsRefs((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.BPMN_ACTIVITY___BPMN_ACTIVITYLOOP_CHARACTERISTICS__DIAGNOSTICCHAIN_MAP:
+ return BPMNActivityloopCharacteristics((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (isForCompensation: ");
+ result.append(isForCompensation);
+ result.append(", startQuantity: ");
+ result.append(startQuantity);
+ result.append(", completionQuantity: ");
+ result.append(completionQuantity);
+ result.append(')');
+ return result.toString();
+ }
+
+} //BPMNActivityImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNArtifactImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNArtifactImpl.java
new file mode 100644
index 00000000000..5cdfc116f51
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNArtifactImpl.java
@@ -0,0 +1,37 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNArtifact;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>BPMN Artifact</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public abstract class BPMNArtifactImpl extends BaseElementImpl implements BPMNArtifact {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BPMNArtifactImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getBPMNArtifact();
+ }
+
+} //BPMNArtifactImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNAssociationImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNAssociationImpl.java
new file mode 100644
index 00000000000..a09ec81d1fe
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNAssociationImpl.java
@@ -0,0 +1,483 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.AssociationDirection;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.Dependency;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>BPMN Association</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNAssociationImpl#getBase_Dependency <em>Base Dependency</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNAssociationImpl#getAssociationDirection <em>Association Direction</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNAssociationImpl#getTargetRef <em>Target Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNAssociationImpl#getSourceRef <em>Source Ref</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BPMNAssociationImpl extends BPMNArtifactImpl implements BPMNAssociation {
+ /**
+ * The cached value of the '{@link #getBase_Dependency() <em>Base Dependency</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Dependency()
+ * @generated
+ * @ordered
+ */
+ protected Dependency base_Dependency;
+
+ /**
+ * The default value of the '{@link #getAssociationDirection() <em>Association Direction</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAssociationDirection()
+ * @generated
+ * @ordered
+ */
+ protected static final AssociationDirection ASSOCIATION_DIRECTION_EDEFAULT = AssociationDirection.NONE;
+
+ /**
+ * The cached value of the '{@link #getAssociationDirection() <em>Association Direction</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAssociationDirection()
+ * @generated
+ * @ordered
+ */
+ protected AssociationDirection associationDirection = ASSOCIATION_DIRECTION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getTargetRef() <em>Target Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargetRef()
+ * @generated
+ * @ordered
+ */
+ protected BaseElement targetRef;
+
+ /**
+ * The cached value of the '{@link #getSourceRef() <em>Source Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSourceRef()
+ * @generated
+ * @ordered
+ */
+ protected BaseElement sourceRef;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BPMNAssociationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getBPMNAssociation();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency getBase_Dependency() {
+ if (base_Dependency != null && base_Dependency.eIsProxy()) {
+ InternalEObject oldBase_Dependency = (InternalEObject)base_Dependency;
+ base_Dependency = (Dependency)eResolveProxy(oldBase_Dependency);
+ if (base_Dependency != oldBase_Dependency) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_ASSOCIATION__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+ }
+ }
+ return base_Dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency basicGetBase_Dependency() {
+ return base_Dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Dependency(Dependency newBase_Dependency) {
+ Dependency oldBase_Dependency = base_Dependency;
+ base_Dependency = newBase_Dependency;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_ASSOCIATION__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AssociationDirection getAssociationDirection() {
+ return associationDirection;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAssociationDirection(AssociationDirection newAssociationDirection) {
+ AssociationDirection oldAssociationDirection = associationDirection;
+ associationDirection = newAssociationDirection == null ? ASSOCIATION_DIRECTION_EDEFAULT : newAssociationDirection;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_ASSOCIATION__ASSOCIATION_DIRECTION, oldAssociationDirection, associationDirection));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BaseElement getTargetRef() {
+ if (targetRef != null && targetRef.eIsProxy()) {
+ InternalEObject oldTargetRef = (InternalEObject)targetRef;
+ targetRef = (BaseElement)eResolveProxy(oldTargetRef);
+ if (targetRef != oldTargetRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_ASSOCIATION__TARGET_REF, oldTargetRef, targetRef));
+ }
+ }
+ return targetRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BaseElement basicGetTargetRef() {
+ return targetRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTargetRef(BaseElement newTargetRef, NotificationChain msgs) {
+ BaseElement oldTargetRef = targetRef;
+ targetRef = newTargetRef;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_ASSOCIATION__TARGET_REF, oldTargetRef, newTargetRef);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTargetRef(BaseElement newTargetRef) {
+ if (newTargetRef != targetRef) {
+ NotificationChain msgs = null;
+ if (targetRef != null)
+ msgs = ((InternalEObject)targetRef).eInverseRemove(this, BPMNProfilePackage.BASE_ELEMENT__INCOMING, BaseElement.class, msgs);
+ if (newTargetRef != null)
+ msgs = ((InternalEObject)newTargetRef).eInverseAdd(this, BPMNProfilePackage.BASE_ELEMENT__INCOMING, BaseElement.class, msgs);
+ msgs = basicSetTargetRef(newTargetRef, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_ASSOCIATION__TARGET_REF, newTargetRef, newTargetRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BaseElement getSourceRef() {
+ if (sourceRef != null && sourceRef.eIsProxy()) {
+ InternalEObject oldSourceRef = (InternalEObject)sourceRef;
+ sourceRef = (BaseElement)eResolveProxy(oldSourceRef);
+ if (sourceRef != oldSourceRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_ASSOCIATION__SOURCE_REF, oldSourceRef, sourceRef));
+ }
+ }
+ return sourceRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BaseElement basicGetSourceRef() {
+ return sourceRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSourceRef(BaseElement newSourceRef, NotificationChain msgs) {
+ BaseElement oldSourceRef = sourceRef;
+ sourceRef = newSourceRef;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_ASSOCIATION__SOURCE_REF, oldSourceRef, newSourceRef);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSourceRef(BaseElement newSourceRef) {
+ if (newSourceRef != sourceRef) {
+ NotificationChain msgs = null;
+ if (sourceRef != null)
+ msgs = ((InternalEObject)sourceRef).eInverseRemove(this, BPMNProfilePackage.BASE_ELEMENT__OUTGOING, BaseElement.class, msgs);
+ if (newSourceRef != null)
+ msgs = ((InternalEObject)newSourceRef).eInverseAdd(this, BPMNProfilePackage.BASE_ELEMENT__OUTGOING, BaseElement.class, msgs);
+ msgs = basicSetSourceRef(newSourceRef, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_ASSOCIATION__SOURCE_REF, newSourceRef, newSourceRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean AssociationEnd(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.BPMN_ASSOCIATION__ASSOCIATION_END,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "AssociationEnd", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_ASSOCIATION__TARGET_REF:
+ if (targetRef != null)
+ msgs = ((InternalEObject)targetRef).eInverseRemove(this, BPMNProfilePackage.BASE_ELEMENT__INCOMING, BaseElement.class, msgs);
+ return basicSetTargetRef((BaseElement)otherEnd, msgs);
+ case BPMNProfilePackage.BPMN_ASSOCIATION__SOURCE_REF:
+ if (sourceRef != null)
+ msgs = ((InternalEObject)sourceRef).eInverseRemove(this, BPMNProfilePackage.BASE_ELEMENT__OUTGOING, BaseElement.class, msgs);
+ return basicSetSourceRef((BaseElement)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_ASSOCIATION__TARGET_REF:
+ return basicSetTargetRef(null, msgs);
+ case BPMNProfilePackage.BPMN_ASSOCIATION__SOURCE_REF:
+ return basicSetSourceRef(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_ASSOCIATION__BASE_DEPENDENCY:
+ if (resolve) return getBase_Dependency();
+ return basicGetBase_Dependency();
+ case BPMNProfilePackage.BPMN_ASSOCIATION__ASSOCIATION_DIRECTION:
+ return getAssociationDirection();
+ case BPMNProfilePackage.BPMN_ASSOCIATION__TARGET_REF:
+ if (resolve) return getTargetRef();
+ return basicGetTargetRef();
+ case BPMNProfilePackage.BPMN_ASSOCIATION__SOURCE_REF:
+ if (resolve) return getSourceRef();
+ return basicGetSourceRef();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_ASSOCIATION__BASE_DEPENDENCY:
+ setBase_Dependency((Dependency)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_ASSOCIATION__ASSOCIATION_DIRECTION:
+ setAssociationDirection((AssociationDirection)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_ASSOCIATION__TARGET_REF:
+ setTargetRef((BaseElement)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_ASSOCIATION__SOURCE_REF:
+ setSourceRef((BaseElement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_ASSOCIATION__BASE_DEPENDENCY:
+ setBase_Dependency((Dependency)null);
+ return;
+ case BPMNProfilePackage.BPMN_ASSOCIATION__ASSOCIATION_DIRECTION:
+ setAssociationDirection(ASSOCIATION_DIRECTION_EDEFAULT);
+ return;
+ case BPMNProfilePackage.BPMN_ASSOCIATION__TARGET_REF:
+ setTargetRef((BaseElement)null);
+ return;
+ case BPMNProfilePackage.BPMN_ASSOCIATION__SOURCE_REF:
+ setSourceRef((BaseElement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_ASSOCIATION__BASE_DEPENDENCY:
+ return base_Dependency != null;
+ case BPMNProfilePackage.BPMN_ASSOCIATION__ASSOCIATION_DIRECTION:
+ return associationDirection != ASSOCIATION_DIRECTION_EDEFAULT;
+ case BPMNProfilePackage.BPMN_ASSOCIATION__TARGET_REF:
+ return targetRef != null;
+ case BPMNProfilePackage.BPMN_ASSOCIATION__SOURCE_REF:
+ return sourceRef != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.BPMN_ASSOCIATION___ASSOCIATION_END__DIAGNOSTICCHAIN_MAP:
+ return AssociationEnd((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (associationDirection: ");
+ result.append(associationDirection);
+ result.append(')');
+ return result.toString();
+ }
+
+} //BPMNAssociationImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNCollaborationImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNCollaborationImpl.java
new file mode 100644
index 00000000000..9d1e7755bd8
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNCollaborationImpl.java
@@ -0,0 +1,560 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ConversationNode;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationKey;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlowAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Participant;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.Collaboration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>BPMN Collaboration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNCollaborationImpl#isClosed <em>Is Closed</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNCollaborationImpl#getParticipantAssociations <em>Participant Associations</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNCollaborationImpl#getConversationLinks <em>Conversation Links</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNCollaborationImpl#getMessageFlowAssociations <em>Message Flow Associations</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNCollaborationImpl#getMessageFlows <em>Message Flows</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNCollaborationImpl#getBase_Collaboration <em>Base Collaboration</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNCollaborationImpl#getConversations <em>Conversations</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNCollaborationImpl#getCorrelationKeys <em>Correlation Keys</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNCollaborationImpl#getParticipants <em>Participants</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BPMNCollaborationImpl extends RootElementImpl implements BPMNCollaboration {
+ /**
+ * The default value of the '{@link #isClosed() <em>Is Closed</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isClosed()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_CLOSED_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isClosed() <em>Is Closed</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isClosed()
+ * @generated
+ * @ordered
+ */
+ protected boolean isClosed = IS_CLOSED_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getParticipantAssociations() <em>Participant Associations</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParticipantAssociations()
+ * @generated
+ * @ordered
+ */
+ protected EList<ParticipantAssociation> participantAssociations;
+
+ /**
+ * The cached value of the '{@link #getConversationLinks() <em>Conversation Links</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConversationLinks()
+ * @generated
+ * @ordered
+ */
+ protected EList<ConversationLink> conversationLinks;
+
+ /**
+ * The cached value of the '{@link #getMessageFlowAssociations() <em>Message Flow Associations</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMessageFlowAssociations()
+ * @generated
+ * @ordered
+ */
+ protected EList<MessageFlowAssociation> messageFlowAssociations;
+
+ /**
+ * The cached value of the '{@link #getMessageFlows() <em>Message Flows</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMessageFlows()
+ * @generated
+ * @ordered
+ */
+ protected EList<MessageFlow> messageFlows;
+
+ /**
+ * The cached value of the '{@link #getBase_Collaboration() <em>Base Collaboration</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Collaboration()
+ * @generated
+ * @ordered
+ */
+ protected Collaboration base_Collaboration;
+
+ /**
+ * The cached value of the '{@link #getConversations() <em>Conversations</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConversations()
+ * @generated
+ * @ordered
+ */
+ protected EList<ConversationNode> conversations;
+
+ /**
+ * The cached value of the '{@link #getCorrelationKeys() <em>Correlation Keys</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCorrelationKeys()
+ * @generated
+ * @ordered
+ */
+ protected EList<CorrelationKey> correlationKeys;
+
+ /**
+ * The cached value of the '{@link #getParticipants() <em>Participants</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParticipants()
+ * @generated
+ * @ordered
+ */
+ protected EList<Participant> participants;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BPMNCollaborationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getBPMNCollaboration();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isClosed() {
+ return isClosed;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsClosed(boolean newIsClosed) {
+ boolean oldIsClosed = isClosed;
+ isClosed = newIsClosed;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_COLLABORATION__IS_CLOSED, oldIsClosed, isClosed));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ParticipantAssociation> getParticipantAssociations() {
+ if (participantAssociations == null) {
+ participantAssociations = new EObjectResolvingEList<ParticipantAssociation>(ParticipantAssociation.class, this, BPMNProfilePackage.BPMN_COLLABORATION__PARTICIPANT_ASSOCIATIONS);
+ }
+ return participantAssociations;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ConversationLink> getConversationLinks() {
+ if (conversationLinks == null) {
+ conversationLinks = new EObjectWithInverseResolvingEList<ConversationLink>(ConversationLink.class, this, BPMNProfilePackage.BPMN_COLLABORATION__CONVERSATION_LINKS, BPMNProfilePackage.CONVERSATION_LINK__COLLABORATION);
+ }
+ return conversationLinks;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<MessageFlowAssociation> getMessageFlowAssociations() {
+ if (messageFlowAssociations == null) {
+ messageFlowAssociations = new EObjectResolvingEList<MessageFlowAssociation>(MessageFlowAssociation.class, this, BPMNProfilePackage.BPMN_COLLABORATION__MESSAGE_FLOW_ASSOCIATIONS);
+ }
+ return messageFlowAssociations;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<MessageFlow> getMessageFlows() {
+ if (messageFlows == null) {
+ messageFlows = new EObjectResolvingEList<MessageFlow>(MessageFlow.class, this, BPMNProfilePackage.BPMN_COLLABORATION__MESSAGE_FLOWS);
+ }
+ return messageFlows;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collaboration getBase_Collaboration() {
+ if (base_Collaboration != null && base_Collaboration.eIsProxy()) {
+ InternalEObject oldBase_Collaboration = (InternalEObject)base_Collaboration;
+ base_Collaboration = (Collaboration)eResolveProxy(oldBase_Collaboration);
+ if (base_Collaboration != oldBase_Collaboration) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_COLLABORATION__BASE_COLLABORATION, oldBase_Collaboration, base_Collaboration));
+ }
+ }
+ return base_Collaboration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collaboration basicGetBase_Collaboration() {
+ return base_Collaboration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Collaboration(Collaboration newBase_Collaboration) {
+ Collaboration oldBase_Collaboration = base_Collaboration;
+ base_Collaboration = newBase_Collaboration;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_COLLABORATION__BASE_COLLABORATION, oldBase_Collaboration, base_Collaboration));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ConversationNode> getConversations() {
+ if (conversations == null) {
+ conversations = new EObjectResolvingEList<ConversationNode>(ConversationNode.class, this, BPMNProfilePackage.BPMN_COLLABORATION__CONVERSATIONS);
+ }
+ return conversations;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<CorrelationKey> getCorrelationKeys() {
+ if (correlationKeys == null) {
+ correlationKeys = new EObjectResolvingEList<CorrelationKey>(CorrelationKey.class, this, BPMNProfilePackage.BPMN_COLLABORATION__CORRELATION_KEYS);
+ }
+ return correlationKeys;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Participant> getParticipants() {
+ if (participants == null) {
+ participants = new EObjectResolvingEList<Participant>(Participant.class, this, BPMNProfilePackage.BPMN_COLLABORATION__PARTICIPANTS);
+ }
+ return participants;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean Collaborationparticipants(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.BPMN_COLLABORATION__COLLABORATIONPARTICIPANTS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "Collaborationparticipants", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_COLLABORATION__CONVERSATION_LINKS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getConversationLinks()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_COLLABORATION__CONVERSATION_LINKS:
+ return ((InternalEList<?>)getConversationLinks()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_COLLABORATION__IS_CLOSED:
+ return isClosed();
+ case BPMNProfilePackage.BPMN_COLLABORATION__PARTICIPANT_ASSOCIATIONS:
+ return getParticipantAssociations();
+ case BPMNProfilePackage.BPMN_COLLABORATION__CONVERSATION_LINKS:
+ return getConversationLinks();
+ case BPMNProfilePackage.BPMN_COLLABORATION__MESSAGE_FLOW_ASSOCIATIONS:
+ return getMessageFlowAssociations();
+ case BPMNProfilePackage.BPMN_COLLABORATION__MESSAGE_FLOWS:
+ return getMessageFlows();
+ case BPMNProfilePackage.BPMN_COLLABORATION__BASE_COLLABORATION:
+ if (resolve) return getBase_Collaboration();
+ return basicGetBase_Collaboration();
+ case BPMNProfilePackage.BPMN_COLLABORATION__CONVERSATIONS:
+ return getConversations();
+ case BPMNProfilePackage.BPMN_COLLABORATION__CORRELATION_KEYS:
+ return getCorrelationKeys();
+ case BPMNProfilePackage.BPMN_COLLABORATION__PARTICIPANTS:
+ return getParticipants();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_COLLABORATION__IS_CLOSED:
+ setIsClosed((Boolean)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_COLLABORATION__PARTICIPANT_ASSOCIATIONS:
+ getParticipantAssociations().clear();
+ getParticipantAssociations().addAll((Collection<? extends ParticipantAssociation>)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_COLLABORATION__CONVERSATION_LINKS:
+ getConversationLinks().clear();
+ getConversationLinks().addAll((Collection<? extends ConversationLink>)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_COLLABORATION__MESSAGE_FLOW_ASSOCIATIONS:
+ getMessageFlowAssociations().clear();
+ getMessageFlowAssociations().addAll((Collection<? extends MessageFlowAssociation>)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_COLLABORATION__MESSAGE_FLOWS:
+ getMessageFlows().clear();
+ getMessageFlows().addAll((Collection<? extends MessageFlow>)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_COLLABORATION__BASE_COLLABORATION:
+ setBase_Collaboration((Collaboration)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_COLLABORATION__CONVERSATIONS:
+ getConversations().clear();
+ getConversations().addAll((Collection<? extends ConversationNode>)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_COLLABORATION__CORRELATION_KEYS:
+ getCorrelationKeys().clear();
+ getCorrelationKeys().addAll((Collection<? extends CorrelationKey>)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_COLLABORATION__PARTICIPANTS:
+ getParticipants().clear();
+ getParticipants().addAll((Collection<? extends Participant>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_COLLABORATION__IS_CLOSED:
+ setIsClosed(IS_CLOSED_EDEFAULT);
+ return;
+ case BPMNProfilePackage.BPMN_COLLABORATION__PARTICIPANT_ASSOCIATIONS:
+ getParticipantAssociations().clear();
+ return;
+ case BPMNProfilePackage.BPMN_COLLABORATION__CONVERSATION_LINKS:
+ getConversationLinks().clear();
+ return;
+ case BPMNProfilePackage.BPMN_COLLABORATION__MESSAGE_FLOW_ASSOCIATIONS:
+ getMessageFlowAssociations().clear();
+ return;
+ case BPMNProfilePackage.BPMN_COLLABORATION__MESSAGE_FLOWS:
+ getMessageFlows().clear();
+ return;
+ case BPMNProfilePackage.BPMN_COLLABORATION__BASE_COLLABORATION:
+ setBase_Collaboration((Collaboration)null);
+ return;
+ case BPMNProfilePackage.BPMN_COLLABORATION__CONVERSATIONS:
+ getConversations().clear();
+ return;
+ case BPMNProfilePackage.BPMN_COLLABORATION__CORRELATION_KEYS:
+ getCorrelationKeys().clear();
+ return;
+ case BPMNProfilePackage.BPMN_COLLABORATION__PARTICIPANTS:
+ getParticipants().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_COLLABORATION__IS_CLOSED:
+ return isClosed != IS_CLOSED_EDEFAULT;
+ case BPMNProfilePackage.BPMN_COLLABORATION__PARTICIPANT_ASSOCIATIONS:
+ return participantAssociations != null && !participantAssociations.isEmpty();
+ case BPMNProfilePackage.BPMN_COLLABORATION__CONVERSATION_LINKS:
+ return conversationLinks != null && !conversationLinks.isEmpty();
+ case BPMNProfilePackage.BPMN_COLLABORATION__MESSAGE_FLOW_ASSOCIATIONS:
+ return messageFlowAssociations != null && !messageFlowAssociations.isEmpty();
+ case BPMNProfilePackage.BPMN_COLLABORATION__MESSAGE_FLOWS:
+ return messageFlows != null && !messageFlows.isEmpty();
+ case BPMNProfilePackage.BPMN_COLLABORATION__BASE_COLLABORATION:
+ return base_Collaboration != null;
+ case BPMNProfilePackage.BPMN_COLLABORATION__CONVERSATIONS:
+ return conversations != null && !conversations.isEmpty();
+ case BPMNProfilePackage.BPMN_COLLABORATION__CORRELATION_KEYS:
+ return correlationKeys != null && !correlationKeys.isEmpty();
+ case BPMNProfilePackage.BPMN_COLLABORATION__PARTICIPANTS:
+ return participants != null && !participants.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.BPMN_COLLABORATION___COLLABORATIONPARTICIPANTS__DIAGNOSTICCHAIN_MAP:
+ return Collaborationparticipants((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (isClosed: ");
+ result.append(isClosed);
+ result.append(')');
+ return result.toString();
+ }
+
+} //BPMNCollaborationImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNEventImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNEventImpl.java
new file mode 100644
index 00000000000..3ed95aa2216
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNEventImpl.java
@@ -0,0 +1,266 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty;
+import org.eclipse.papyrus.bpmn.BPMNProfile.EventDefinition;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>BPMN Event</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNEventImpl#getEventClass <em>Event Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNEventImpl#get_eventDefinitions <em>event Definitions</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNEventImpl#getProperties <em>Properties</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNEventImpl#getEventDefinitionRefs <em>Event Definition Refs</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class BPMNEventImpl extends FlowNodeImpl implements BPMNEvent {
+ /**
+ * The cached value of the '{@link #getEventClass() <em>Event Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEventClass()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.uml2.uml.Class eventClass;
+
+ /**
+ * The cached value of the '{@link #get_eventDefinitions() <em>event Definitions</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #get_eventDefinitions()
+ * @generated
+ * @ordered
+ */
+ protected EList<EventDefinition> _eventDefinitions;
+
+ /**
+ * The cached value of the '{@link #getProperties() <em>Properties</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProperties()
+ * @generated
+ * @ordered
+ */
+ protected EList<BPMNProperty> properties;
+
+ /**
+ * The cached value of the '{@link #getEventDefinitionRefs() <em>Event Definition Refs</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEventDefinitionRefs()
+ * @generated
+ * @ordered
+ */
+ protected EList<EventDefinition> eventDefinitionRefs;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BPMNEventImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getBPMNEvent();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class getEventClass() {
+ if (eventClass != null && eventClass.eIsProxy()) {
+ InternalEObject oldEventClass = (InternalEObject)eventClass;
+ eventClass = (org.eclipse.uml2.uml.Class)eResolveProxy(oldEventClass);
+ if (eventClass != oldEventClass) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_EVENT__EVENT_CLASS, oldEventClass, eventClass));
+ }
+ }
+ return eventClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class basicGetEventClass() {
+ return eventClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEventClass(org.eclipse.uml2.uml.Class newEventClass) {
+ org.eclipse.uml2.uml.Class oldEventClass = eventClass;
+ eventClass = newEventClass;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_EVENT__EVENT_CLASS, oldEventClass, eventClass));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EventDefinition> get_eventDefinitions() {
+ if (_eventDefinitions == null) {
+ _eventDefinitions = new EObjectResolvingEList<EventDefinition>(EventDefinition.class, this, BPMNProfilePackage.BPMN_EVENT__EVENT_DEFINITIONS);
+ }
+ return _eventDefinitions;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BPMNProperty> getProperties() {
+ if (properties == null) {
+ properties = new EObjectResolvingEList<BPMNProperty>(BPMNProperty.class, this, BPMNProfilePackage.BPMN_EVENT__PROPERTIES);
+ }
+ return properties;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EventDefinition> getEventDefinitionRefs() {
+ if (eventDefinitionRefs == null) {
+ eventDefinitionRefs = new EObjectResolvingEList<EventDefinition>(EventDefinition.class, this, BPMNProfilePackage.BPMN_EVENT__EVENT_DEFINITION_REFS);
+ }
+ return eventDefinitionRefs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_EVENT__EVENT_CLASS:
+ if (resolve) return getEventClass();
+ return basicGetEventClass();
+ case BPMNProfilePackage.BPMN_EVENT__EVENT_DEFINITIONS:
+ return get_eventDefinitions();
+ case BPMNProfilePackage.BPMN_EVENT__PROPERTIES:
+ return getProperties();
+ case BPMNProfilePackage.BPMN_EVENT__EVENT_DEFINITION_REFS:
+ return getEventDefinitionRefs();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_EVENT__EVENT_CLASS:
+ setEventClass((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_EVENT__EVENT_DEFINITIONS:
+ get_eventDefinitions().clear();
+ get_eventDefinitions().addAll((Collection<? extends EventDefinition>)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_EVENT__PROPERTIES:
+ getProperties().clear();
+ getProperties().addAll((Collection<? extends BPMNProperty>)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_EVENT__EVENT_DEFINITION_REFS:
+ getEventDefinitionRefs().clear();
+ getEventDefinitionRefs().addAll((Collection<? extends EventDefinition>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_EVENT__EVENT_CLASS:
+ setEventClass((org.eclipse.uml2.uml.Class)null);
+ return;
+ case BPMNProfilePackage.BPMN_EVENT__EVENT_DEFINITIONS:
+ get_eventDefinitions().clear();
+ return;
+ case BPMNProfilePackage.BPMN_EVENT__PROPERTIES:
+ getProperties().clear();
+ return;
+ case BPMNProfilePackage.BPMN_EVENT__EVENT_DEFINITION_REFS:
+ getEventDefinitionRefs().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_EVENT__EVENT_CLASS:
+ return eventClass != null;
+ case BPMNProfilePackage.BPMN_EVENT__EVENT_DEFINITIONS:
+ return _eventDefinitions != null && !_eventDefinitions.isEmpty();
+ case BPMNProfilePackage.BPMN_EVENT__PROPERTIES:
+ return properties != null && !properties.isEmpty();
+ case BPMNProfilePackage.BPMN_EVENT__EVENT_DEFINITION_REFS:
+ return eventDefinitionRefs != null && !eventDefinitionRefs.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //BPMNEventImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNExpressionImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNExpressionImpl.java
new file mode 100644
index 00000000000..58840e48dd6
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNExpressionImpl.java
@@ -0,0 +1,157 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+
+import org.eclipse.uml2.uml.OpaqueExpression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>BPMN Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNExpressionImpl#getBase_OpaqueExpression <em>Base Opaque Expression</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BPMNExpressionImpl extends BaseElementImpl implements BPMNExpression {
+ /**
+ * The cached value of the '{@link #getBase_OpaqueExpression() <em>Base Opaque Expression</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_OpaqueExpression()
+ * @generated
+ * @ordered
+ */
+ protected OpaqueExpression base_OpaqueExpression;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BPMNExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getBPMNExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpaqueExpression getBase_OpaqueExpression() {
+ if (base_OpaqueExpression != null && base_OpaqueExpression.eIsProxy()) {
+ InternalEObject oldBase_OpaqueExpression = (InternalEObject)base_OpaqueExpression;
+ base_OpaqueExpression = (OpaqueExpression)eResolveProxy(oldBase_OpaqueExpression);
+ if (base_OpaqueExpression != oldBase_OpaqueExpression) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_EXPRESSION__BASE_OPAQUE_EXPRESSION, oldBase_OpaqueExpression, base_OpaqueExpression));
+ }
+ }
+ return base_OpaqueExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpaqueExpression basicGetBase_OpaqueExpression() {
+ return base_OpaqueExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_OpaqueExpression(OpaqueExpression newBase_OpaqueExpression) {
+ OpaqueExpression oldBase_OpaqueExpression = base_OpaqueExpression;
+ base_OpaqueExpression = newBase_OpaqueExpression;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_EXPRESSION__BASE_OPAQUE_EXPRESSION, oldBase_OpaqueExpression, base_OpaqueExpression));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_EXPRESSION__BASE_OPAQUE_EXPRESSION:
+ if (resolve) return getBase_OpaqueExpression();
+ return basicGetBase_OpaqueExpression();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_EXPRESSION__BASE_OPAQUE_EXPRESSION:
+ setBase_OpaqueExpression((OpaqueExpression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_EXPRESSION__BASE_OPAQUE_EXPRESSION:
+ setBase_OpaqueExpression((OpaqueExpression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_EXPRESSION__BASE_OPAQUE_EXPRESSION:
+ return base_OpaqueExpression != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //BPMNExpressionImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNExtensionImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNExtensionImpl.java
new file mode 100644
index 00000000000..99f0a38352b
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNExtensionImpl.java
@@ -0,0 +1,287 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExtension;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionDefinition;
+
+import org.eclipse.uml2.uml.Stereotype;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>BPMN Extension</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNExtensionImpl#getBase_Stereotype <em>Base Stereotype</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNExtensionImpl#isMustUnderstand <em>Must Understand</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNExtensionImpl#getDefinition <em>Definition</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BPMNExtensionImpl extends MinimalEObjectImpl.Container implements BPMNExtension {
+ /**
+ * The cached value of the '{@link #getBase_Stereotype() <em>Base Stereotype</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Stereotype()
+ * @generated
+ * @ordered
+ */
+ protected Stereotype base_Stereotype;
+
+ /**
+ * The default value of the '{@link #isMustUnderstand() <em>Must Understand</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isMustUnderstand()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean MUST_UNDERSTAND_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isMustUnderstand() <em>Must Understand</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isMustUnderstand()
+ * @generated
+ * @ordered
+ */
+ protected boolean mustUnderstand = MUST_UNDERSTAND_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getDefinition() <em>Definition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefinition()
+ * @generated
+ * @ordered
+ */
+ protected ExtensionDefinition definition;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BPMNExtensionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getBPMNExtension();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Stereotype getBase_Stereotype() {
+ if (base_Stereotype != null && base_Stereotype.eIsProxy()) {
+ InternalEObject oldBase_Stereotype = (InternalEObject)base_Stereotype;
+ base_Stereotype = (Stereotype)eResolveProxy(oldBase_Stereotype);
+ if (base_Stereotype != oldBase_Stereotype) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_EXTENSION__BASE_STEREOTYPE, oldBase_Stereotype, base_Stereotype));
+ }
+ }
+ return base_Stereotype;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Stereotype basicGetBase_Stereotype() {
+ return base_Stereotype;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Stereotype(Stereotype newBase_Stereotype) {
+ Stereotype oldBase_Stereotype = base_Stereotype;
+ base_Stereotype = newBase_Stereotype;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_EXTENSION__BASE_STEREOTYPE, oldBase_Stereotype, base_Stereotype));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isMustUnderstand() {
+ return mustUnderstand;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMustUnderstand(boolean newMustUnderstand) {
+ boolean oldMustUnderstand = mustUnderstand;
+ mustUnderstand = newMustUnderstand;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_EXTENSION__MUST_UNDERSTAND, oldMustUnderstand, mustUnderstand));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtensionDefinition getDefinition() {
+ if (definition != null && definition.eIsProxy()) {
+ InternalEObject oldDefinition = (InternalEObject)definition;
+ definition = (ExtensionDefinition)eResolveProxy(oldDefinition);
+ if (definition != oldDefinition) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_EXTENSION__DEFINITION, oldDefinition, definition));
+ }
+ }
+ return definition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtensionDefinition basicGetDefinition() {
+ return definition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDefinition(ExtensionDefinition newDefinition) {
+ ExtensionDefinition oldDefinition = definition;
+ definition = newDefinition;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_EXTENSION__DEFINITION, oldDefinition, definition));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_EXTENSION__BASE_STEREOTYPE:
+ if (resolve) return getBase_Stereotype();
+ return basicGetBase_Stereotype();
+ case BPMNProfilePackage.BPMN_EXTENSION__MUST_UNDERSTAND:
+ return isMustUnderstand();
+ case BPMNProfilePackage.BPMN_EXTENSION__DEFINITION:
+ if (resolve) return getDefinition();
+ return basicGetDefinition();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_EXTENSION__BASE_STEREOTYPE:
+ setBase_Stereotype((Stereotype)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_EXTENSION__MUST_UNDERSTAND:
+ setMustUnderstand((Boolean)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_EXTENSION__DEFINITION:
+ setDefinition((ExtensionDefinition)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_EXTENSION__BASE_STEREOTYPE:
+ setBase_Stereotype((Stereotype)null);
+ return;
+ case BPMNProfilePackage.BPMN_EXTENSION__MUST_UNDERSTAND:
+ setMustUnderstand(MUST_UNDERSTAND_EDEFAULT);
+ return;
+ case BPMNProfilePackage.BPMN_EXTENSION__DEFINITION:
+ setDefinition((ExtensionDefinition)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_EXTENSION__BASE_STEREOTYPE:
+ return base_Stereotype != null;
+ case BPMNProfilePackage.BPMN_EXTENSION__MUST_UNDERSTAND:
+ return mustUnderstand != MUST_UNDERSTAND_EDEFAULT;
+ case BPMNProfilePackage.BPMN_EXTENSION__DEFINITION:
+ return definition != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (mustUnderstand: ");
+ result.append(mustUnderstand);
+ result.append(')');
+ return result.toString();
+ }
+
+} //BPMNExtensionImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNInterfaceImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNInterfaceImpl.java
new file mode 100644
index 00000000000..57db7f373c7
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNInterfaceImpl.java
@@ -0,0 +1,427 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Interface;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>BPMN Interface</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNInterfaceImpl#getBase_Interface <em>Base Interface</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNInterfaceImpl#getImplementationRef <em>Implementation Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNInterfaceImpl#getOperations <em>Operations</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNInterfaceImpl#getCallableElements <em>Callable Elements</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BPMNInterfaceImpl extends RootElementImpl implements BPMNInterface {
+ /**
+ * The cached value of the '{@link #getBase_Interface() <em>Base Interface</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Interface()
+ * @generated
+ * @ordered
+ */
+ protected Interface base_Interface;
+
+ /**
+ * The cached value of the '{@link #getImplementationRef() <em>Implementation Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImplementationRef()
+ * @generated
+ * @ordered
+ */
+ protected Element implementationRef;
+
+ /**
+ * The cached value of the '{@link #getOperations() <em>Operations</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOperations()
+ * @generated
+ * @ordered
+ */
+ protected EList<BPMNOperation> operations;
+
+ /**
+ * The cached value of the '{@link #getCallableElements() <em>Callable Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCallableElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<CallableElement> callableElements;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BPMNInterfaceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getBPMNInterface();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interface getBase_Interface() {
+ if (base_Interface != null && base_Interface.eIsProxy()) {
+ InternalEObject oldBase_Interface = (InternalEObject)base_Interface;
+ base_Interface = (Interface)eResolveProxy(oldBase_Interface);
+ if (base_Interface != oldBase_Interface) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_INTERFACE__BASE_INTERFACE, oldBase_Interface, base_Interface));
+ }
+ }
+ return base_Interface;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Interface basicGetBase_Interface() {
+ return base_Interface;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Interface(Interface newBase_Interface) {
+ Interface oldBase_Interface = base_Interface;
+ base_Interface = newBase_Interface;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_INTERFACE__BASE_INTERFACE, oldBase_Interface, base_Interface));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element getImplementationRef() {
+ if (implementationRef != null && implementationRef.eIsProxy()) {
+ InternalEObject oldImplementationRef = (InternalEObject)implementationRef;
+ implementationRef = (Element)eResolveProxy(oldImplementationRef);
+ if (implementationRef != oldImplementationRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_INTERFACE__IMPLEMENTATION_REF, oldImplementationRef, implementationRef));
+ }
+ }
+ return implementationRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element basicGetImplementationRef() {
+ return implementationRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setImplementationRef(Element newImplementationRef) {
+ Element oldImplementationRef = implementationRef;
+ implementationRef = newImplementationRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_INTERFACE__IMPLEMENTATION_REF, oldImplementationRef, implementationRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BPMNOperation> getOperations() {
+ if (operations == null) {
+ operations = new EObjectResolvingEList<BPMNOperation>(BPMNOperation.class, this, BPMNProfilePackage.BPMN_INTERFACE__OPERATIONS);
+ }
+ return operations;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<CallableElement> getCallableElements() {
+ if (callableElements == null) {
+ callableElements = new EObjectResolvingEList<CallableElement>(CallableElement.class, this, BPMNProfilePackage.BPMN_INTERFACE__CALLABLE_ELEMENTS);
+ }
+ return callableElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean Interfaceoperationmultiplicity(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.BPMN_INTERFACE__INTERFACEOPERATIONMULTIPLICITY,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "Interfaceoperationmultiplicity", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean InterfaceownedOperation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.BPMN_INTERFACE__INTERFACEOWNED_OPERATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "InterfaceownedOperation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean BPMNInterfacecallableElements(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.BPMN_INTERFACE__BPMN_INTERFACECALLABLE_ELEMENTS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "BPMNInterfacecallableElements", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean BPMNInterfaceoperations(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.BPMN_INTERFACE__BPMN_INTERFACEOPERATIONS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "BPMNInterfaceoperations", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_INTERFACE__BASE_INTERFACE:
+ if (resolve) return getBase_Interface();
+ return basicGetBase_Interface();
+ case BPMNProfilePackage.BPMN_INTERFACE__IMPLEMENTATION_REF:
+ if (resolve) return getImplementationRef();
+ return basicGetImplementationRef();
+ case BPMNProfilePackage.BPMN_INTERFACE__OPERATIONS:
+ return getOperations();
+ case BPMNProfilePackage.BPMN_INTERFACE__CALLABLE_ELEMENTS:
+ return getCallableElements();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_INTERFACE__BASE_INTERFACE:
+ setBase_Interface((Interface)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_INTERFACE__IMPLEMENTATION_REF:
+ setImplementationRef((Element)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_INTERFACE__OPERATIONS:
+ getOperations().clear();
+ getOperations().addAll((Collection<? extends BPMNOperation>)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_INTERFACE__CALLABLE_ELEMENTS:
+ getCallableElements().clear();
+ getCallableElements().addAll((Collection<? extends CallableElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_INTERFACE__BASE_INTERFACE:
+ setBase_Interface((Interface)null);
+ return;
+ case BPMNProfilePackage.BPMN_INTERFACE__IMPLEMENTATION_REF:
+ setImplementationRef((Element)null);
+ return;
+ case BPMNProfilePackage.BPMN_INTERFACE__OPERATIONS:
+ getOperations().clear();
+ return;
+ case BPMNProfilePackage.BPMN_INTERFACE__CALLABLE_ELEMENTS:
+ getCallableElements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_INTERFACE__BASE_INTERFACE:
+ return base_Interface != null;
+ case BPMNProfilePackage.BPMN_INTERFACE__IMPLEMENTATION_REF:
+ return implementationRef != null;
+ case BPMNProfilePackage.BPMN_INTERFACE__OPERATIONS:
+ return operations != null && !operations.isEmpty();
+ case BPMNProfilePackage.BPMN_INTERFACE__CALLABLE_ELEMENTS:
+ return callableElements != null && !callableElements.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.BPMN_INTERFACE___INTERFACEOPERATIONMULTIPLICITY__DIAGNOSTICCHAIN_MAP:
+ return Interfaceoperationmultiplicity((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.BPMN_INTERFACE___INTERFACEOWNED_OPERATION__DIAGNOSTICCHAIN_MAP:
+ return InterfaceownedOperation((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.BPMN_INTERFACE___BPMN_INTERFACECALLABLE_ELEMENTS__DIAGNOSTICCHAIN_MAP:
+ return BPMNInterfacecallableElements((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.BPMN_INTERFACE___BPMN_INTERFACEOPERATIONS__DIAGNOSTICCHAIN_MAP:
+ return BPMNInterfaceoperations((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //BPMNInterfaceImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNMessageImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNMessageImpl.java
new file mode 100644
index 00000000000..0eea7fede4e
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNMessageImpl.java
@@ -0,0 +1,209 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNMessage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>BPMN Message</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNMessageImpl#getItemRef <em>Item Ref</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BPMNMessageImpl extends ItemDefinitionImpl implements BPMNMessage {
+ /**
+ * The cached value of the '{@link #getItemRef() <em>Item Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getItemRef()
+ * @generated
+ * @ordered
+ */
+ protected ItemDefinition itemRef;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BPMNMessageImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getBPMNMessage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemDefinition getItemRef() {
+ if (itemRef != null && itemRef.eIsProxy()) {
+ InternalEObject oldItemRef = (InternalEObject)itemRef;
+ itemRef = (ItemDefinition)eResolveProxy(oldItemRef);
+ if (itemRef != oldItemRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_MESSAGE__ITEM_REF, oldItemRef, itemRef));
+ }
+ }
+ return itemRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemDefinition basicGetItemRef() {
+ return itemRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setItemRef(ItemDefinition newItemRef) {
+ ItemDefinition oldItemRef = itemRef;
+ itemRef = newItemRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_MESSAGE__ITEM_REF, oldItemRef, itemRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean MessageitemRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.BPMN_MESSAGE__MESSAGEITEM_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "MessageitemRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_MESSAGE__ITEM_REF:
+ if (resolve) return getItemRef();
+ return basicGetItemRef();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_MESSAGE__ITEM_REF:
+ setItemRef((ItemDefinition)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_MESSAGE__ITEM_REF:
+ setItemRef((ItemDefinition)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_MESSAGE__ITEM_REF:
+ return itemRef != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.BPMN_MESSAGE___MESSAGEITEM_REF__DIAGNOSTICCHAIN_MAP:
+ return MessageitemRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //BPMNMessageImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNOperationImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNOperationImpl.java
new file mode 100644
index 00000000000..4c4448ef2e8
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNOperationImpl.java
@@ -0,0 +1,512 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNMessage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Operation;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>BPMN Operation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNOperationImpl#getBase_Operation <em>Base Operation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNOperationImpl#getImplementationRef <em>Implementation Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNOperationImpl#getInMessageRef <em>In Message Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNOperationImpl#getOutMessageRef <em>Out Message Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNOperationImpl#getErrorRef <em>Error Ref</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BPMNOperationImpl extends BaseElementImpl implements BPMNOperation {
+ /**
+ * The cached value of the '{@link #getBase_Operation() <em>Base Operation</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Operation()
+ * @generated
+ * @ordered
+ */
+ protected Operation base_Operation;
+
+ /**
+ * The cached value of the '{@link #getImplementationRef() <em>Implementation Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImplementationRef()
+ * @generated
+ * @ordered
+ */
+ protected Element implementationRef;
+
+ /**
+ * The cached value of the '{@link #getInMessageRef() <em>In Message Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInMessageRef()
+ * @generated
+ * @ordered
+ */
+ protected BPMNMessage inMessageRef;
+
+ /**
+ * The cached value of the '{@link #getOutMessageRef() <em>Out Message Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutMessageRef()
+ * @generated
+ * @ordered
+ */
+ protected BPMNMessage outMessageRef;
+
+ /**
+ * The cached value of the '{@link #getErrorRef() <em>Error Ref</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getErrorRef()
+ * @generated
+ * @ordered
+ */
+ protected EList<org.eclipse.papyrus.bpmn.BPMNProfile.Error> errorRef;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BPMNOperationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getBPMNOperation();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation getBase_Operation() {
+ if (base_Operation != null && base_Operation.eIsProxy()) {
+ InternalEObject oldBase_Operation = (InternalEObject)base_Operation;
+ base_Operation = (Operation)eResolveProxy(oldBase_Operation);
+ if (base_Operation != oldBase_Operation) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_OPERATION__BASE_OPERATION, oldBase_Operation, base_Operation));
+ }
+ }
+ return base_Operation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation basicGetBase_Operation() {
+ return base_Operation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Operation(Operation newBase_Operation) {
+ Operation oldBase_Operation = base_Operation;
+ base_Operation = newBase_Operation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_OPERATION__BASE_OPERATION, oldBase_Operation, base_Operation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element getImplementationRef() {
+ if (implementationRef != null && implementationRef.eIsProxy()) {
+ InternalEObject oldImplementationRef = (InternalEObject)implementationRef;
+ implementationRef = (Element)eResolveProxy(oldImplementationRef);
+ if (implementationRef != oldImplementationRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_OPERATION__IMPLEMENTATION_REF, oldImplementationRef, implementationRef));
+ }
+ }
+ return implementationRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element basicGetImplementationRef() {
+ return implementationRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setImplementationRef(Element newImplementationRef) {
+ Element oldImplementationRef = implementationRef;
+ implementationRef = newImplementationRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_OPERATION__IMPLEMENTATION_REF, oldImplementationRef, implementationRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNMessage getInMessageRef() {
+ if (inMessageRef != null && inMessageRef.eIsProxy()) {
+ InternalEObject oldInMessageRef = (InternalEObject)inMessageRef;
+ inMessageRef = (BPMNMessage)eResolveProxy(oldInMessageRef);
+ if (inMessageRef != oldInMessageRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_OPERATION__IN_MESSAGE_REF, oldInMessageRef, inMessageRef));
+ }
+ }
+ return inMessageRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNMessage basicGetInMessageRef() {
+ return inMessageRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInMessageRef(BPMNMessage newInMessageRef) {
+ BPMNMessage oldInMessageRef = inMessageRef;
+ inMessageRef = newInMessageRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_OPERATION__IN_MESSAGE_REF, oldInMessageRef, inMessageRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNMessage getOutMessageRef() {
+ if (outMessageRef != null && outMessageRef.eIsProxy()) {
+ InternalEObject oldOutMessageRef = (InternalEObject)outMessageRef;
+ outMessageRef = (BPMNMessage)eResolveProxy(oldOutMessageRef);
+ if (outMessageRef != oldOutMessageRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_OPERATION__OUT_MESSAGE_REF, oldOutMessageRef, outMessageRef));
+ }
+ }
+ return outMessageRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNMessage basicGetOutMessageRef() {
+ return outMessageRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOutMessageRef(BPMNMessage newOutMessageRef) {
+ BPMNMessage oldOutMessageRef = outMessageRef;
+ outMessageRef = newOutMessageRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_OPERATION__OUT_MESSAGE_REF, oldOutMessageRef, outMessageRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<org.eclipse.papyrus.bpmn.BPMNProfile.Error> getErrorRef() {
+ if (errorRef == null) {
+ errorRef = new EObjectResolvingEList<org.eclipse.papyrus.bpmn.BPMNProfile.Error>(org.eclipse.papyrus.bpmn.BPMNProfile.Error.class, this, BPMNProfilePackage.BPMN_OPERATION__ERROR_REF);
+ }
+ return errorRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean BPMNOperationowner(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.BPMN_OPERATION__BPMN_OPERATIONOWNER,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "BPMNOperationowner", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean BPMNOperationinMessageRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.BPMN_OPERATION__BPMN_OPERATIONIN_MESSAGE_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "BPMNOperationinMessageRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean BPMNOperationoutMessageRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.BPMN_OPERATION__BPMN_OPERATIONOUT_MESSAGE_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "BPMNOperationoutMessageRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean BPMNOperationerrorRefs(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.BPMN_OPERATION__BPMN_OPERATIONERROR_REFS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "BPMNOperationerrorRefs", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_OPERATION__BASE_OPERATION:
+ if (resolve) return getBase_Operation();
+ return basicGetBase_Operation();
+ case BPMNProfilePackage.BPMN_OPERATION__IMPLEMENTATION_REF:
+ if (resolve) return getImplementationRef();
+ return basicGetImplementationRef();
+ case BPMNProfilePackage.BPMN_OPERATION__IN_MESSAGE_REF:
+ if (resolve) return getInMessageRef();
+ return basicGetInMessageRef();
+ case BPMNProfilePackage.BPMN_OPERATION__OUT_MESSAGE_REF:
+ if (resolve) return getOutMessageRef();
+ return basicGetOutMessageRef();
+ case BPMNProfilePackage.BPMN_OPERATION__ERROR_REF:
+ return getErrorRef();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_OPERATION__BASE_OPERATION:
+ setBase_Operation((Operation)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_OPERATION__IMPLEMENTATION_REF:
+ setImplementationRef((Element)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_OPERATION__IN_MESSAGE_REF:
+ setInMessageRef((BPMNMessage)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_OPERATION__OUT_MESSAGE_REF:
+ setOutMessageRef((BPMNMessage)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_OPERATION__ERROR_REF:
+ getErrorRef().clear();
+ getErrorRef().addAll((Collection<? extends org.eclipse.papyrus.bpmn.BPMNProfile.Error>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_OPERATION__BASE_OPERATION:
+ setBase_Operation((Operation)null);
+ return;
+ case BPMNProfilePackage.BPMN_OPERATION__IMPLEMENTATION_REF:
+ setImplementationRef((Element)null);
+ return;
+ case BPMNProfilePackage.BPMN_OPERATION__IN_MESSAGE_REF:
+ setInMessageRef((BPMNMessage)null);
+ return;
+ case BPMNProfilePackage.BPMN_OPERATION__OUT_MESSAGE_REF:
+ setOutMessageRef((BPMNMessage)null);
+ return;
+ case BPMNProfilePackage.BPMN_OPERATION__ERROR_REF:
+ getErrorRef().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_OPERATION__BASE_OPERATION:
+ return base_Operation != null;
+ case BPMNProfilePackage.BPMN_OPERATION__IMPLEMENTATION_REF:
+ return implementationRef != null;
+ case BPMNProfilePackage.BPMN_OPERATION__IN_MESSAGE_REF:
+ return inMessageRef != null;
+ case BPMNProfilePackage.BPMN_OPERATION__OUT_MESSAGE_REF:
+ return outMessageRef != null;
+ case BPMNProfilePackage.BPMN_OPERATION__ERROR_REF:
+ return errorRef != null && !errorRef.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.BPMN_OPERATION___BPMN_OPERATIONOWNER__DIAGNOSTICCHAIN_MAP:
+ return BPMNOperationowner((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.BPMN_OPERATION___BPMN_OPERATIONIN_MESSAGE_REF__DIAGNOSTICCHAIN_MAP:
+ return BPMNOperationinMessageRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.BPMN_OPERATION___BPMN_OPERATIONOUT_MESSAGE_REF__DIAGNOSTICCHAIN_MAP:
+ return BPMNOperationoutMessageRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.BPMN_OPERATION___BPMN_OPERATIONERROR_REFS__DIAGNOSTICCHAIN_MAP:
+ return BPMNOperationerrorRefs((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //BPMNOperationImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNProcessImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNProcessImpl.java
new file mode 100644
index 00000000000..8b60404172b
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNProcessImpl.java
@@ -0,0 +1,993 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Auditing;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationSubscription;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FlowElementsContainer;
+import org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Monitoring;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ProcessType;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.Activity;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>BPMN Process</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProcessImpl#getLaneSets <em>Lane Sets</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProcessImpl#getFlowElements <em>Flow Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProcessImpl#getProcessType <em>Process Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProcessImpl#isClosed <em>Is Closed</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProcessImpl#getAuditing <em>Auditing</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProcessImpl#isExecutable <em>Is Executable</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProcessImpl#getDefinitionalCollaborationRef <em>Definitional Collaboration Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProcessImpl#getBase_Activity <em>Base Activity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProcessImpl#getCorrelationSubscriptions <em>Correlation Subscriptions</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProcessImpl#getMonitoring <em>Monitoring</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProcessImpl#getSupports <em>Supports</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProcessImpl#getProperties <em>Properties</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNProcessImpl#getResources <em>Resources</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BPMNProcessImpl extends CallableElementImpl implements BPMNProcess {
+ /**
+ * The cached value of the '{@link #getLaneSets() <em>Lane Sets</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLaneSets()
+ * @generated
+ * @ordered
+ */
+ protected EList<LaneSet> laneSets;
+
+ /**
+ * The cached value of the '{@link #getFlowElements() <em>Flow Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFlowElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<FlowElement> flowElements;
+
+ /**
+ * The default value of the '{@link #getProcessType() <em>Process Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProcessType()
+ * @generated
+ * @ordered
+ */
+ protected static final ProcessType PROCESS_TYPE_EDEFAULT = ProcessType.NONE;
+
+ /**
+ * The cached value of the '{@link #getProcessType() <em>Process Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProcessType()
+ * @generated
+ * @ordered
+ */
+ protected ProcessType processType = PROCESS_TYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isClosed() <em>Is Closed</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isClosed()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_CLOSED_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isClosed() <em>Is Closed</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isClosed()
+ * @generated
+ * @ordered
+ */
+ protected boolean isClosed = IS_CLOSED_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getAuditing() <em>Auditing</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAuditing()
+ * @generated
+ * @ordered
+ */
+ protected Auditing auditing;
+
+ /**
+ * The default value of the '{@link #isExecutable() <em>Is Executable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isExecutable()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_EXECUTABLE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isExecutable() <em>Is Executable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isExecutable()
+ * @generated
+ * @ordered
+ */
+ protected boolean isExecutable = IS_EXECUTABLE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getDefinitionalCollaborationRef() <em>Definitional Collaboration Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefinitionalCollaborationRef()
+ * @generated
+ * @ordered
+ */
+ protected BPMNCollaboration definitionalCollaborationRef;
+
+ /**
+ * The cached value of the '{@link #getBase_Activity() <em>Base Activity</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Activity()
+ * @generated
+ * @ordered
+ */
+ protected Activity base_Activity;
+
+ /**
+ * The cached value of the '{@link #getCorrelationSubscriptions() <em>Correlation Subscriptions</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCorrelationSubscriptions()
+ * @generated
+ * @ordered
+ */
+ protected EList<CorrelationSubscription> correlationSubscriptions;
+
+ /**
+ * The cached value of the '{@link #getMonitoring() <em>Monitoring</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMonitoring()
+ * @generated
+ * @ordered
+ */
+ protected Monitoring monitoring;
+
+ /**
+ * The cached value of the '{@link #getSupports() <em>Supports</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSupports()
+ * @generated
+ * @ordered
+ */
+ protected BPMNProcess supports;
+
+ /**
+ * The cached value of the '{@link #getProperties() <em>Properties</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProperties()
+ * @generated
+ * @ordered
+ */
+ protected EList<BPMNProperty> properties;
+
+ /**
+ * The cached value of the '{@link #getResources() <em>Resources</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getResources()
+ * @generated
+ * @ordered
+ */
+ protected EList<ResourceRole> resources;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BPMNProcessImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getBPMNProcess();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<LaneSet> getLaneSets() {
+ if (laneSets == null) {
+ laneSets = new EObjectWithInverseResolvingEList<LaneSet>(LaneSet.class, this, BPMNProfilePackage.BPMN_PROCESS__LANE_SETS, BPMNProfilePackage.LANE_SET__FLOW_ELEMENTS_CONTAINER);
+ }
+ return laneSets;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FlowElement> getFlowElements() {
+ if (flowElements == null) {
+ flowElements = new EObjectWithInverseResolvingEList<FlowElement>(FlowElement.class, this, BPMNProfilePackage.BPMN_PROCESS__FLOW_ELEMENTS, BPMNProfilePackage.FLOW_ELEMENT__CONTAINER);
+ }
+ return flowElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProcessType getProcessType() {
+ return processType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setProcessType(ProcessType newProcessType) {
+ ProcessType oldProcessType = processType;
+ processType = newProcessType == null ? PROCESS_TYPE_EDEFAULT : newProcessType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_PROCESS__PROCESS_TYPE, oldProcessType, processType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isClosed() {
+ return isClosed;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsClosed(boolean newIsClosed) {
+ boolean oldIsClosed = isClosed;
+ isClosed = newIsClosed;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_PROCESS__IS_CLOSED, oldIsClosed, isClosed));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Auditing getAuditing() {
+ if (auditing != null && auditing.eIsProxy()) {
+ InternalEObject oldAuditing = (InternalEObject)auditing;
+ auditing = (Auditing)eResolveProxy(oldAuditing);
+ if (auditing != oldAuditing) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_PROCESS__AUDITING, oldAuditing, auditing));
+ }
+ }
+ return auditing;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Auditing basicGetAuditing() {
+ return auditing;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAuditing(Auditing newAuditing) {
+ Auditing oldAuditing = auditing;
+ auditing = newAuditing;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_PROCESS__AUDITING, oldAuditing, auditing));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isExecutable() {
+ return isExecutable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsExecutable(boolean newIsExecutable) {
+ boolean oldIsExecutable = isExecutable;
+ isExecutable = newIsExecutable;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_PROCESS__IS_EXECUTABLE, oldIsExecutable, isExecutable));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNCollaboration getDefinitionalCollaborationRef() {
+ if (definitionalCollaborationRef != null && definitionalCollaborationRef.eIsProxy()) {
+ InternalEObject oldDefinitionalCollaborationRef = (InternalEObject)definitionalCollaborationRef;
+ definitionalCollaborationRef = (BPMNCollaboration)eResolveProxy(oldDefinitionalCollaborationRef);
+ if (definitionalCollaborationRef != oldDefinitionalCollaborationRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_PROCESS__DEFINITIONAL_COLLABORATION_REF, oldDefinitionalCollaborationRef, definitionalCollaborationRef));
+ }
+ }
+ return definitionalCollaborationRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNCollaboration basicGetDefinitionalCollaborationRef() {
+ return definitionalCollaborationRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDefinitionalCollaborationRef(BPMNCollaboration newDefinitionalCollaborationRef) {
+ BPMNCollaboration oldDefinitionalCollaborationRef = definitionalCollaborationRef;
+ definitionalCollaborationRef = newDefinitionalCollaborationRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_PROCESS__DEFINITIONAL_COLLABORATION_REF, oldDefinitionalCollaborationRef, definitionalCollaborationRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Activity getBase_Activity() {
+ if (base_Activity != null && base_Activity.eIsProxy()) {
+ InternalEObject oldBase_Activity = (InternalEObject)base_Activity;
+ base_Activity = (Activity)eResolveProxy(oldBase_Activity);
+ if (base_Activity != oldBase_Activity) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_PROCESS__BASE_ACTIVITY, oldBase_Activity, base_Activity));
+ }
+ }
+ return base_Activity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Activity basicGetBase_Activity() {
+ return base_Activity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Activity(Activity newBase_Activity) {
+ Activity oldBase_Activity = base_Activity;
+ base_Activity = newBase_Activity;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_PROCESS__BASE_ACTIVITY, oldBase_Activity, base_Activity));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<CorrelationSubscription> getCorrelationSubscriptions() {
+ if (correlationSubscriptions == null) {
+ correlationSubscriptions = new EObjectResolvingEList<CorrelationSubscription>(CorrelationSubscription.class, this, BPMNProfilePackage.BPMN_PROCESS__CORRELATION_SUBSCRIPTIONS);
+ }
+ return correlationSubscriptions;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Monitoring getMonitoring() {
+ if (monitoring != null && monitoring.eIsProxy()) {
+ InternalEObject oldMonitoring = (InternalEObject)monitoring;
+ monitoring = (Monitoring)eResolveProxy(oldMonitoring);
+ if (monitoring != oldMonitoring) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_PROCESS__MONITORING, oldMonitoring, monitoring));
+ }
+ }
+ return monitoring;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Monitoring basicGetMonitoring() {
+ return monitoring;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMonitoring(Monitoring newMonitoring) {
+ Monitoring oldMonitoring = monitoring;
+ monitoring = newMonitoring;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_PROCESS__MONITORING, oldMonitoring, monitoring));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNProcess getSupports() {
+ if (supports != null && supports.eIsProxy()) {
+ InternalEObject oldSupports = (InternalEObject)supports;
+ supports = (BPMNProcess)eResolveProxy(oldSupports);
+ if (supports != oldSupports) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_PROCESS__SUPPORTS, oldSupports, supports));
+ }
+ }
+ return supports;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNProcess basicGetSupports() {
+ return supports;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSupports(BPMNProcess newSupports) {
+ BPMNProcess oldSupports = supports;
+ supports = newSupports;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_PROCESS__SUPPORTS, oldSupports, supports));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BPMNProperty> getProperties() {
+ if (properties == null) {
+ properties = new EObjectResolvingEList<BPMNProperty>(BPMNProperty.class, this, BPMNProfilePackage.BPMN_PROCESS__PROPERTIES);
+ }
+ return properties;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ResourceRole> getResources() {
+ if (resources == null) {
+ resources = new EObjectWithInverseResolvingEList<ResourceRole>(ResourceRole.class, this, BPMNProfilePackage.BPMN_PROCESS__RESOURCES, BPMNProfilePackage.RESOURCE_ROLE__PROCESS);
+ }
+ return resources;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ProcesssupportedInterfaceRefs(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.BPMN_PROCESS__PROCESSSUPPORTED_INTERFACE_REFS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ProcesssupportedInterfaceRefs", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean Processsupports(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.BPMN_PROCESS__PROCESSSUPPORTS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "Processsupports", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean Processproperties(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.BPMN_PROCESS__PROCESSPROPERTIES,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "Processproperties", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ProcesslaneSets(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.BPMN_PROCESS__PROCESSLANE_SETS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ProcesslaneSets", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ProcessflowElements(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.BPMN_PROCESS__PROCESSFLOW_ELEMENTS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ProcessflowElements", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_PROCESS__LANE_SETS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getLaneSets()).basicAdd(otherEnd, msgs);
+ case BPMNProfilePackage.BPMN_PROCESS__FLOW_ELEMENTS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getFlowElements()).basicAdd(otherEnd, msgs);
+ case BPMNProfilePackage.BPMN_PROCESS__RESOURCES:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getResources()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_PROCESS__LANE_SETS:
+ return ((InternalEList<?>)getLaneSets()).basicRemove(otherEnd, msgs);
+ case BPMNProfilePackage.BPMN_PROCESS__FLOW_ELEMENTS:
+ return ((InternalEList<?>)getFlowElements()).basicRemove(otherEnd, msgs);
+ case BPMNProfilePackage.BPMN_PROCESS__RESOURCES:
+ return ((InternalEList<?>)getResources()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_PROCESS__LANE_SETS:
+ return getLaneSets();
+ case BPMNProfilePackage.BPMN_PROCESS__FLOW_ELEMENTS:
+ return getFlowElements();
+ case BPMNProfilePackage.BPMN_PROCESS__PROCESS_TYPE:
+ return getProcessType();
+ case BPMNProfilePackage.BPMN_PROCESS__IS_CLOSED:
+ return isClosed();
+ case BPMNProfilePackage.BPMN_PROCESS__AUDITING:
+ if (resolve) return getAuditing();
+ return basicGetAuditing();
+ case BPMNProfilePackage.BPMN_PROCESS__IS_EXECUTABLE:
+ return isExecutable();
+ case BPMNProfilePackage.BPMN_PROCESS__DEFINITIONAL_COLLABORATION_REF:
+ if (resolve) return getDefinitionalCollaborationRef();
+ return basicGetDefinitionalCollaborationRef();
+ case BPMNProfilePackage.BPMN_PROCESS__BASE_ACTIVITY:
+ if (resolve) return getBase_Activity();
+ return basicGetBase_Activity();
+ case BPMNProfilePackage.BPMN_PROCESS__CORRELATION_SUBSCRIPTIONS:
+ return getCorrelationSubscriptions();
+ case BPMNProfilePackage.BPMN_PROCESS__MONITORING:
+ if (resolve) return getMonitoring();
+ return basicGetMonitoring();
+ case BPMNProfilePackage.BPMN_PROCESS__SUPPORTS:
+ if (resolve) return getSupports();
+ return basicGetSupports();
+ case BPMNProfilePackage.BPMN_PROCESS__PROPERTIES:
+ return getProperties();
+ case BPMNProfilePackage.BPMN_PROCESS__RESOURCES:
+ return getResources();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_PROCESS__LANE_SETS:
+ getLaneSets().clear();
+ getLaneSets().addAll((Collection<? extends LaneSet>)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_PROCESS__FLOW_ELEMENTS:
+ getFlowElements().clear();
+ getFlowElements().addAll((Collection<? extends FlowElement>)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_PROCESS__PROCESS_TYPE:
+ setProcessType((ProcessType)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_PROCESS__IS_CLOSED:
+ setIsClosed((Boolean)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_PROCESS__AUDITING:
+ setAuditing((Auditing)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_PROCESS__IS_EXECUTABLE:
+ setIsExecutable((Boolean)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_PROCESS__DEFINITIONAL_COLLABORATION_REF:
+ setDefinitionalCollaborationRef((BPMNCollaboration)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_PROCESS__BASE_ACTIVITY:
+ setBase_Activity((Activity)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_PROCESS__CORRELATION_SUBSCRIPTIONS:
+ getCorrelationSubscriptions().clear();
+ getCorrelationSubscriptions().addAll((Collection<? extends CorrelationSubscription>)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_PROCESS__MONITORING:
+ setMonitoring((Monitoring)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_PROCESS__SUPPORTS:
+ setSupports((BPMNProcess)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_PROCESS__PROPERTIES:
+ getProperties().clear();
+ getProperties().addAll((Collection<? extends BPMNProperty>)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_PROCESS__RESOURCES:
+ getResources().clear();
+ getResources().addAll((Collection<? extends ResourceRole>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_PROCESS__LANE_SETS:
+ getLaneSets().clear();
+ return;
+ case BPMNProfilePackage.BPMN_PROCESS__FLOW_ELEMENTS:
+ getFlowElements().clear();
+ return;
+ case BPMNProfilePackage.BPMN_PROCESS__PROCESS_TYPE:
+ setProcessType(PROCESS_TYPE_EDEFAULT);
+ return;
+ case BPMNProfilePackage.BPMN_PROCESS__IS_CLOSED:
+ setIsClosed(IS_CLOSED_EDEFAULT);
+ return;
+ case BPMNProfilePackage.BPMN_PROCESS__AUDITING:
+ setAuditing((Auditing)null);
+ return;
+ case BPMNProfilePackage.BPMN_PROCESS__IS_EXECUTABLE:
+ setIsExecutable(IS_EXECUTABLE_EDEFAULT);
+ return;
+ case BPMNProfilePackage.BPMN_PROCESS__DEFINITIONAL_COLLABORATION_REF:
+ setDefinitionalCollaborationRef((BPMNCollaboration)null);
+ return;
+ case BPMNProfilePackage.BPMN_PROCESS__BASE_ACTIVITY:
+ setBase_Activity((Activity)null);
+ return;
+ case BPMNProfilePackage.BPMN_PROCESS__CORRELATION_SUBSCRIPTIONS:
+ getCorrelationSubscriptions().clear();
+ return;
+ case BPMNProfilePackage.BPMN_PROCESS__MONITORING:
+ setMonitoring((Monitoring)null);
+ return;
+ case BPMNProfilePackage.BPMN_PROCESS__SUPPORTS:
+ setSupports((BPMNProcess)null);
+ return;
+ case BPMNProfilePackage.BPMN_PROCESS__PROPERTIES:
+ getProperties().clear();
+ return;
+ case BPMNProfilePackage.BPMN_PROCESS__RESOURCES:
+ getResources().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_PROCESS__LANE_SETS:
+ return laneSets != null && !laneSets.isEmpty();
+ case BPMNProfilePackage.BPMN_PROCESS__FLOW_ELEMENTS:
+ return flowElements != null && !flowElements.isEmpty();
+ case BPMNProfilePackage.BPMN_PROCESS__PROCESS_TYPE:
+ return processType != PROCESS_TYPE_EDEFAULT;
+ case BPMNProfilePackage.BPMN_PROCESS__IS_CLOSED:
+ return isClosed != IS_CLOSED_EDEFAULT;
+ case BPMNProfilePackage.BPMN_PROCESS__AUDITING:
+ return auditing != null;
+ case BPMNProfilePackage.BPMN_PROCESS__IS_EXECUTABLE:
+ return isExecutable != IS_EXECUTABLE_EDEFAULT;
+ case BPMNProfilePackage.BPMN_PROCESS__DEFINITIONAL_COLLABORATION_REF:
+ return definitionalCollaborationRef != null;
+ case BPMNProfilePackage.BPMN_PROCESS__BASE_ACTIVITY:
+ return base_Activity != null;
+ case BPMNProfilePackage.BPMN_PROCESS__CORRELATION_SUBSCRIPTIONS:
+ return correlationSubscriptions != null && !correlationSubscriptions.isEmpty();
+ case BPMNProfilePackage.BPMN_PROCESS__MONITORING:
+ return monitoring != null;
+ case BPMNProfilePackage.BPMN_PROCESS__SUPPORTS:
+ return supports != null;
+ case BPMNProfilePackage.BPMN_PROCESS__PROPERTIES:
+ return properties != null && !properties.isEmpty();
+ case BPMNProfilePackage.BPMN_PROCESS__RESOURCES:
+ return resources != null && !resources.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == FlowElementsContainer.class) {
+ switch (derivedFeatureID) {
+ case BPMNProfilePackage.BPMN_PROCESS__LANE_SETS: return BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER__LANE_SETS;
+ case BPMNProfilePackage.BPMN_PROCESS__FLOW_ELEMENTS: return BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER__FLOW_ELEMENTS;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == FlowElementsContainer.class) {
+ switch (baseFeatureID) {
+ case BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER__LANE_SETS: return BPMNProfilePackage.BPMN_PROCESS__LANE_SETS;
+ case BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER__FLOW_ELEMENTS: return BPMNProfilePackage.BPMN_PROCESS__FLOW_ELEMENTS;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.BPMN_PROCESS___PROCESSSUPPORTED_INTERFACE_REFS__DIAGNOSTICCHAIN_MAP:
+ return ProcesssupportedInterfaceRefs((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.BPMN_PROCESS___PROCESSSUPPORTS__DIAGNOSTICCHAIN_MAP:
+ return Processsupports((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.BPMN_PROCESS___PROCESSPROPERTIES__DIAGNOSTICCHAIN_MAP:
+ return Processproperties((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.BPMN_PROCESS___PROCESSLANE_SETS__DIAGNOSTICCHAIN_MAP:
+ return ProcesslaneSets((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.BPMN_PROCESS___PROCESSFLOW_ELEMENTS__DIAGNOSTICCHAIN_MAP:
+ return ProcessflowElements((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (processType: ");
+ result.append(processType);
+ result.append(", isClosed: ");
+ result.append(isClosed);
+ result.append(", isExecutable: ");
+ result.append(isExecutable);
+ result.append(')');
+ return result.toString();
+ }
+
+} //BPMNProcessImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNProfile.ecore b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNProfile.ecore
new file mode 100644
index 00000000000..32273c8de65
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNProfile.ecore
@@ -0,0 +1,2667 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="BPMNProfile" nsURI="http://www.omg.org/spec/BPMNProfile/20121112/"
+ nsPrefix="BPMNProfile">
+ <eClassifiers xsi:type="ecore:EClass" name="InclusiveGateway" eSuperTypes="#//NonExclusiveGateway">
+ <eOperations name="inclusiveGatewaydefault" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="inclusiveGateway.default"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="default" ordered="false"
+ eType="#//SequenceFlow"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NonExclusiveGateway" abstract="true"
+ eSuperTypes="#//Gateway">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_JoinNode" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//JoinNode"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_ForkNode" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//ForkNode"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Gateway" abstract="true" eSuperTypes="#//FlowNode">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_ControlNode" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//ControlNode"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_ActivityGroup" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//ActivityGroup"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FlowNode" abstract="true" eSuperTypes="#//FlowElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_ActivityNode" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//ActivityNode"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FlowElement" abstract="true" eSuperTypes="#//BaseElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="auditing" ordered="false"
+ eType="#//Auditing"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="monitoring" ordered="false"
+ eType="#//Monitoring"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="_categoryValueRef" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//CategoryValue" eOpposite="#//CategoryValue/categorizedFlowElements">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value=" categoryValueRef"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="container" ordered="false"
+ lowerBound="1" eType="#//FlowElementsContainer" eOpposite="#//FlowElementsContainer/flowElements"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BaseElement" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="extensionValues" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//ExtensionAttributeValue"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Element" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="documentation" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//Documentation"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="extensionDefinitions" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//ExtensionDefinition"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="outgoing" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//BPMNAssociation" eOpposite="#//BPMNAssociation/sourceRef"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="incoming" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//BPMNAssociation" eOpposite="#//BPMNAssociation/targetRef"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ExtensionAttributeValue">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Slot" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Slot"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="valueRef" ordered="false"
+ eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="extensionAttributeDefinition"
+ ordered="false" lowerBound="1" eType="#//ExtensionAttributeDefinition"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ExtensionAttributeDefinition">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" ordered="false" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isReference" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Documentation" eSuperTypes="#//BaseElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Comment" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Comment"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="textFormat" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="text" ordered="false" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ExtensionDefinition">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Stereotype" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Stereotype"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="extensionAttributeDefinitions"
+ ordered="false" lowerBound="1" upperBound="-1" eType="#//ExtensionAttributeDefinition"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BPMNAssociation" eSuperTypes="#//BPMNArtifact">
+ <eOperations name="AssociationEnd" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Dependency" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Dependency"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="associationDirection" ordered="false"
+ lowerBound="1" eType="#//AssociationDirection" defaultValueLiteral="none"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="targetRef" ordered="false"
+ lowerBound="1" eType="#//BaseElement" eOpposite="#//BaseElement/incoming"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sourceRef" ordered="false"
+ lowerBound="1" eType="#//BaseElement" eOpposite="#//BaseElement/outgoing"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BPMNArtifact" abstract="true" eSuperTypes="#//BaseElement"/>
+ <eClassifiers xsi:type="ecore:EEnum" name="AssociationDirection">
+ <eLiterals name="none"/>
+ <eLiterals name="one" value="1"/>
+ <eLiterals name="both" value="2"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Auditing" eSuperTypes="#//BaseElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Monitoring" eSuperTypes="#//BaseElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CategoryValue" eSuperTypes="#//BaseElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_EnumerationLiteral"
+ ordered="false" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="categorizedFlowElements"
+ ordered="false" lowerBound="1" upperBound="-1" eType="#//FlowElement" eOpposite="#//FlowElement/_categoryValueRef"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FlowElementsContainer" abstract="true"
+ eSuperTypes="#//BaseElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="laneSets" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//LaneSet" eOpposite="#//LaneSet/flowElementsContainer"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="flowElements" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//FlowElement" eOpposite="#//FlowElement/container"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="LaneSet" eSuperTypes="#//BaseElement">
+ <eOperations name="LaneSetlanes" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="LaneSet.lanes"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="LaneSetparentLane" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="LaneSet.parentLane"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="LaneSetflowElementsContainer" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="LaneSet.flowElementsContainer"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="LaneSet" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_ActivityPartition"
+ ordered="false" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//ActivityPartition"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="lanes" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//Lane" eOpposite="#//Lane/laneSet"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="parentLane" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//Lane"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="flowElementsContainer"
+ ordered="false" eType="#//FlowElementsContainer" eOpposite="#//FlowElementsContainer/laneSets"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Lane" eSuperTypes="#//BaseElement">
+ <eOperations name="LanelaneSet" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="Lane.laneSet"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="LanechildLaneSet" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="Lane.childLaneSet"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="LanepartitionElementRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="Lane.partitionElementRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="LaneflowNodeRefs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="Lane.flowNodeRefs"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_ActivityPartition"
+ ordered="false" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//ActivityPartition"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="_partitionElement" ordered="false"
+ eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Element">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value=" partitionElement"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="flowNodeRefs" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//FlowNode"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="partitionElementRef" ordered="false"
+ eType="#//BaseElement"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="childLaneSet" ordered="false"
+ lowerBound="1" eType="#//LaneSet">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="childLaneSet "/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="laneSet" ordered="false"
+ lowerBound="1" eType="#//LaneSet" eOpposite="#//LaneSet/lanes"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SequenceFlow" eSuperTypes="#//FlowElement">
+ <eOperations name="SequenceFlowconditionExpression" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="SequenceFlow.conditionExpression"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="SequenceFlowsourceRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="SequenceFlow.sourceRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="SequenceFlowtargetRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="SequenceFlow.targetRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_ControlFlow" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//ControlFlow"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isImmediate" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="conditionExpression" ordered="false"
+ eType="#//BPMNExpression"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BPMNExpression" eSuperTypes="#//BaseElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_OpaqueExpression"
+ ordered="false" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EventBasedGateway" eSuperTypes="#//Gateway">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="instantiate" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"
+ defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="eventGatewayType" ordered="false"
+ lowerBound="1" eType="#//EventBasedGatewayType" defaultValueLiteral="exclusive"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_ForkNode" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//ForkNode"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_StructuredActivityNode"
+ ordered="false" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//StructuredActivityNode"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_InterruptibleActivityRegion"
+ ordered="false" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//InterruptibleActivityRegion"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="EventBasedGatewayType">
+ <eLiterals name="exclusive"/>
+ <eLiterals name="parallel" value="1"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="GatewayDirection">
+ <eLiterals name="unspecified"/>
+ <eLiterals name="converging" value="1"/>
+ <eLiterals name="diverging" value="2"/>
+ <eLiterals name="mixed" value="3"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ParallelGateway" eSuperTypes="#//NonExclusiveGateway"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ComplexGateway" eSuperTypes="#//NonExclusiveGateway">
+ <eOperations name="complexGatewaydefault" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="complexGateway.default"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="complexGatewayactivationCondition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="complexGateway.activationCondition"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="complexGatewayjoinSpec" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="complexGateway.joinSpec"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="default" ordered="false"
+ eType="#//SequenceFlow"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="activationCondition" ordered="false"
+ eType="#//BPMNExpression"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ExclusiveGateway" eSuperTypes="#//Gateway">
+ <eOperations name="exclusiveGatewaydefault" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="exclusiveGateway.default"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_DecisionNode" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//DecisionNode"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_MergeNode" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//MergeNode"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="default" ordered="false"
+ eType="#//SequenceFlow"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RootElement" abstract="true" eSuperTypes="#//BaseElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_PackageableElement"
+ ordered="false" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//PackageableElement"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="definition" ordered="false"
+ eType="#//Definitions" eOpposite="#//Definitions/rootElements"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Definitions" eSuperTypes="#//BaseElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="targetNamespace" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="expressionLanguage" ordered="false"
+ eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeLanguage" ordered="false"
+ eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="exporter" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="exporterVersion" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="extensions" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//BPMNExtension"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="imports" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//Import"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="relationships" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//BPMNRelationship"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="rootElements" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//RootElement" eOpposite="#//RootElement/definition"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BPMNExtension">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Stereotype" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Stereotype"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="mustUnderstand" ordered="false"
+ eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"
+ defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="definition" ordered="false"
+ lowerBound="1" eType="#//ExtensionDefinition"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Import">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_PackageImport" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//PackageImport"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="importType" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="location" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="namespace" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="definitions" ordered="false"
+ lowerBound="1" eType="#//Definitions"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BPMNRelationship" eSuperTypes="#//BaseElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Constraint" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" ordered="false" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" ordered="false"
+ lowerBound="1" eType="#//RelationshipDirection"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="targets" ordered="false"
+ lowerBound="1" upperBound="-1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sources" ordered="false"
+ lowerBound="1" upperBound="-1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="definition" ordered="false"
+ lowerBound="1" eType="#//Definitions"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="RelationshipDirection">
+ <eLiterals name="none"/>
+ <eLiterals name="forward" value="1"/>
+ <eLiterals name="backward" value="2"/>
+ <eLiterals name="both" value="3"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BPMNProcess" eSuperTypes="#//CallableElement #//FlowElementsContainer">
+ <eOperations name="ProcesssupportedInterfaceRefs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="Process.supportedInterfaceRefs"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="Processsupports" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="Process.supports"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="Processproperties" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="Process.properties"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="ProcesslaneSets" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="Process.laneSets"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="ProcessflowElements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="Process.flowElements"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="processType" ordered="false"
+ lowerBound="1" eType="#//ProcessType" defaultValueLiteral="none"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isClosed" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"
+ defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="auditing" ordered="false"
+ eType="#//Auditing"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isExecutable" ordered="false"
+ eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="definitionalCollaborationRef"
+ ordered="false" eType="#//BPMNCollaboration"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Activity" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Activity"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="correlationSubscriptions"
+ ordered="false" lowerBound="1" upperBound="-1" eType="#//CorrelationSubscription"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="monitoring" ordered="false"
+ eType="#//Monitoring"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="supports" ordered="false"
+ lowerBound="1" eType="#//BPMNProcess"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="properties" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//BPMNProperty"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="resources" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//ResourceRole" eOpposite="#//ResourceRole/process"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CallableElement" abstract="true" eSuperTypes="#//RootElement">
+ <eOperations name="CallableEelementsupportedInterfaceRefs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="CallableEelement.supportedInterfaceRefs"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="CallableElementresources" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="CallableElement.resources"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Behavior" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ioSpecification" ordered="false"
+ eType="#//InputOutputSpecification"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="supportedInterfaceRefs"
+ ordered="false" lowerBound="1" upperBound="-1" eType="#//BPMNInterface"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ioBinding" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//InputOutputBinding"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InputOutputSpecification" eSuperTypes="#//BaseElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Behavior" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Action" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Action"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="dataInputs" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//DataInput"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="dataOutputs" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//DataOutput"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="inputSets" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//InputSet"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="outputSets" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//OutputSet"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DataInput" eSuperTypes="#//ItemAwareElement">
+ <eOperations name="DataInputAssociation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="DataInput.Association"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="DataInputnotation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="DataInput.notation"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="DataInputitemSubjectRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="DataInput.itemSubjectRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isCollection" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"
+ defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_InputPin" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//InputPin"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Parameter" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_ActivityParameterNode"
+ ordered="false" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//ActivityParameterNode"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="inputSetRefs" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//InputSet" eOpposite="#//InputSet/dataInputRefs"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="inputSetWithOptional" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//InputSet" eOpposite="#//InputSet/optionalInputRefs"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="inputSetWithWhileExecuting"
+ ordered="false" lowerBound="1" upperBound="-1" eType="#//InputSet" eOpposite="#//InputSet/whileExecutingInputRefs"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ItemAwareElement" abstract="true" eSuperTypes="#//BaseElement">
+ <eOperations name="ItemAwareElementdataState" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="ItemAwareElement.dataState"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="dataState" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//DataState"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_TypedElement" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="itemSubjectRef" ordered="false"
+ eType="#//ItemDefinition">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="itemSubjectRef "/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DataState" eSuperTypes="#//BaseElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_State" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ItemDefinition" eSuperTypes="#//RootElement">
+ <eOperations name="ItemDefinitionstructureRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="ItemDefinition.structureRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="itemKind" ordered="false"
+ lowerBound="1" eType="#//ItemKind" defaultValueLiteral="information"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isCollection" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"
+ defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="structureRef" ordered="false"
+ eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Element">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+ <details key="derivation" value="self.base_Class"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="import" ordered="false"
+ eType="#//Import"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="ItemKind">
+ <eLiterals name="physical"/>
+ <eLiterals name="information" value="1"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InputSet" eSuperTypes="#//BaseElement">
+ <eOperations name="InputSetdataInputRefs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="InputSet.dataInputRefs"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="InputSetoptionalInputRefs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="InputSet.optionalInputRefs"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="InputSetwhileExecutingInputRefs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="InputSet.whileExecutingInputRefs"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_ParameterSet" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//ParameterSet"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="optionalInputRefs" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//DataInput" eOpposite="#//DataInput/inputSetWithOptional"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="whileExecutingInputRefs"
+ ordered="false" lowerBound="1" upperBound="-1" eType="#//DataInput" eOpposite="#//DataInput/inputSetWithWhileExecuting"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="dataInputRefs" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//DataInput" eOpposite="#//DataInput/inputSetRefs"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DataOutput" eSuperTypes="#//ItemAwareElement">
+ <eOperations name="DataOutputnotation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="DataOutput.notation"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="DataOutputitemSubjectRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="DataOutput.itemSubjectRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_OutputPin" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//OutputPin"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isCollection" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"
+ defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Parameter" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_ActivityParameterNode"
+ ordered="false" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//ActivityParameterNode"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="outputSetRefs" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//OutputSet" eOpposite="#//OutputSet/dataOutputRefs"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="outputSetWithOptional"
+ ordered="false" lowerBound="1" upperBound="-1" eType="#//OutputSet"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="outputSetWithWhileExecuting"
+ ordered="false" lowerBound="1" upperBound="-1" eType="#//OutputSet"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="OutputSet" eSuperTypes="#//BaseElement">
+ <eOperations name="OutputSetdataOutputRefs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="OutputSet.dataOutputRefs"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="OutputSetoptionalOutputRefs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="OutputSet.optionalOutputRefs"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="OutputSetwhileExecutingOutputRefs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="OutputSet.whileExecutingOutputRefs"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_ParameterSet" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//ParameterSet"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="optionalOutputRefs" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//DataOutput">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="optionalOutputRefs "/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="whileExecutingOutputRefs"
+ ordered="false" lowerBound="1" upperBound="-1" eType="#//DataOutput">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="whileExecutingOutputRefs "/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="dataOutputRefs" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//DataOutput" eOpposite="#//DataOutput/outputSetRefs"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BPMNInterface" eSuperTypes="#//RootElement">
+ <eOperations name="Interfaceoperationmultiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="Interface.operation.multiplicity"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="InterfaceownedOperation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="Interface.ownedOperation"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="BPMNInterfacecallableElements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="BPMNInterface.callableElements"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="BPMNInterfaceoperations" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="BPMNInterface.operations"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Interface" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Interface"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="implementationRef" ordered="false"
+ eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="operations" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//BPMNOperation"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="callableElements" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//CallableElement"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BPMNOperation" eSuperTypes="#//BaseElement">
+ <eOperations name="BPMNOperationowner" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="BPMNOperation.owner"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="BPMNOperationinMessageRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="BPMNOperation.inMessageRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="BPMNOperationoutMessageRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="BPMNOperation.outMessageRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="BPMNOperationerrorRefs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="BPMNOperation.errorRefs"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Operation" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="implementationRef" ordered="false"
+ eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="inMessageRef" ordered="false"
+ lowerBound="1" eType="#//BPMNMessage"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="outMessageRef" ordered="false"
+ eType="#//BPMNMessage"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="errorRef" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//Error"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BPMNMessage" eSuperTypes="#//ItemDefinition">
+ <eOperations name="MessageitemRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="Message.itemRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="itemRef" ordered="false"
+ eType="#//ItemDefinition"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Error" eSuperTypes="#//ItemDefinition">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="errorCode" ordered="false"
+ eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InputOutputBinding" eSuperTypes="#//BaseElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="inputDataRef" ordered="false"
+ lowerBound="1" eType="#//InputSet"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="outputDataRef" ordered="false"
+ lowerBound="1" eType="#//OutputSet"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="operationRef" ordered="false"
+ lowerBound="1" eType="#//BPMNOperation"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Dependency" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Dependency"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="ProcessType">
+ <eLiterals name="none"/>
+ <eLiterals name="public" value="1"/>
+ <eLiterals name="private" value="2"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BPMNCollaboration" eSuperTypes="#//RootElement">
+ <eOperations name="Collaborationparticipants" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="Collaboration.participants"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isClosed" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"
+ defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="participantAssociations"
+ ordered="false" lowerBound="1" upperBound="-1" eType="#//ParticipantAssociation"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="conversationLinks" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//ConversationLink" eOpposite="#//ConversationLink/collaboration"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="messageFlowAssociations"
+ ordered="false" lowerBound="1" upperBound="-1" eType="#//MessageFlowAssociation"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="messageFlows" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//MessageFlow"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Collaboration" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Collaboration"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="conversations" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//ConversationNode"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="correlationKeys" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//CorrelationKey"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="participants" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//Participant"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ParticipantAssociation" eSuperTypes="#//BaseElement">
+ <eOperations name="ParticipantAssociationinnerParticipantRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="ParticipantAssociation.innerParticipantRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="ParticipantAssociationouterParticipantRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="ParticipantAssociation.outerParticipantRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Dependency" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Dependency"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="innerParticipantRef" ordered="false"
+ lowerBound="1" eType="#//Participant"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="outerParticipantRef" ordered="false"
+ lowerBound="1" eType="#//Participant"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Participant" eSuperTypes="#//BaseElement">
+ <eOperations name="Participantownership" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="Participant.ownership"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="Participanttype" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="Participant.type"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="ParticipantmultiplicityMinimum" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="Participant.multiplicityMinimum"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="Participantrealizationsupplier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="Participant.realization.supplier"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="ParticipantprocessRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="Participant.processRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="ParticipantmultiplicityMaximum" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="Participant.multiplicityMaximum"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="participantpartnerEntityRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="participant.partnerEntityRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="participantpartnerRoleRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="participant.partnerRoleRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="ParticipantinterfaceRefs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="Participant.interfaceRefs"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="processRef" ordered="false"
+ eType="#//BPMNProcess"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="participantMultiplicity"
+ ordered="false" eType="#//ParticipantMultiplicity">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="participantMultiplicity "/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="partnerEntityRef" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//PartnerEntity" eOpposite="#//PartnerEntity/participantRef"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="partnerRoleRef" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//PartnerRole" eOpposite="#//PartnerRole/participantRef"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="interfaceRefs" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//BPMNInterface"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InteractionNode" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Element" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="outgoingConversationLinks"
+ ordered="false" lowerBound="1" upperBound="-1" eType="#//ConversationLink"
+ eOpposite="#//ConversationLink/sourceRef"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="incomingConversationLinks"
+ ordered="false" lowerBound="1" eType="#//ConversationLink" eOpposite="#//ConversationLink/targetRef"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ConversationLink" eSuperTypes="#//BaseElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="collaboration" ordered="false"
+ lowerBound="1" eType="#//BPMNCollaboration" eOpposite="#//BPMNCollaboration/conversationLinks"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Dependency" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Dependency"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="targetRef" ordered="false"
+ lowerBound="1" eType="#//InteractionNode" eOpposite="#//InteractionNode/incomingConversationLinks"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sourceRef" ordered="false"
+ lowerBound="1" eType="#//InteractionNode" eOpposite="#//InteractionNode/outgoingConversationLinks"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ParticipantMultiplicity" eSuperTypes="#//BaseElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_MultiplicityElement"
+ ordered="false" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//MultiplicityElement"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="minimum" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Integer"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="maximum" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Integer"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PartnerEntity" eSuperTypes="#//RootElement">
+ <eOperations name="PartnerEntityparticipantRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="PartnerEntity.participantRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_InstanceSpecification"
+ ordered="false" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//InstanceSpecification"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="participantRef" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//Participant" eOpposite="#//Participant/partnerEntityRef"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PartnerRole" eSuperTypes="#//RootElement">
+ <eOperations name="PartnerRoleparticipantRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="PartnerRole.participantRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="participantRef" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//Participant" eOpposite="#//Participant/partnerRoleRef"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MessageFlowAssociation" eSuperTypes="#//BaseElement">
+ <eOperations name="MessageFlowAssociationinnerMessageFlowRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="MessageFlowAssociation.innerMessageFlowRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="MessageFlowAssociationouterMessageFlowRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="MessageFlowAssociation.outerMessageFlowRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Dependency" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Dependency"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="innerMessageFlowRef" ordered="false"
+ lowerBound="1" eType="#//MessageFlow"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="outerMessageFlowRef" ordered="false"
+ lowerBound="1" eType="#//MessageFlow"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MessageFlow" eSuperTypes="#//BaseElement">
+ <eOperations name="MessageFlowsourceRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="MessageFlow.sourceRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="MessageFlowtargetRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="MessageFlow.targetRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="MessageFlowmessageRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="MessageFlow.messageRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_InformationFlow" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//InformationFlow"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sourceRef" ordered="false"
+ lowerBound="1" eType="#//InteractionNode"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="targetRef" ordered="false"
+ lowerBound="1" eType="#//InteractionNode"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="messageRef" ordered="false"
+ eType="#//BPMNMessage"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ConversationNode" abstract="true" eSuperTypes="#//InteractionNode">
+ <eOperations name="ConversationNodeparticipantRefs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="ConversationNode.participantRefs"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_InformationFlow" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//InformationFlow"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="messageFlowRefs" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//MessageFlow"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="correlationKeys" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//CorrelationKey"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="participantRefs" ordered="false"
+ lowerBound="2" upperBound="-1" eType="#//Participant"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CorrelationKey" eSuperTypes="#//BaseElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="correlationPropertyRef"
+ ordered="false" lowerBound="1" upperBound="-1" eType="#//CorrelationProperty"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CorrelationProperty" eSuperTypes="#//BaseElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false" eType="#//ItemDefinition"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="correlationPropertyRetrievalExpression"
+ ordered="false" lowerBound="1" upperBound="-1" eType="#//CorrelationPropertyRetrievalExpression"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CorrelationPropertyRetrievalExpression"
+ eSuperTypes="#//BaseElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Dependency" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Dependency"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="messageRef" ordered="false"
+ lowerBound="1" eType="#//BPMNMessage"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="messagePath" ordered="false"
+ lowerBound="1" eType="#//FormalExpression"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FormalExpression" eSuperTypes="#//BPMNExpression">
+ <eOperations name="FormalExpressionevaluatesToTypeRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="FormalExpression.evaluatesToTypeRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="evaluatesToTypeRef" ordered="false"
+ lowerBound="1" eType="#//ItemDefinition"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CorrelationSubscription" eSuperTypes="#//BaseElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="correlationKeyRef" ordered="false"
+ lowerBound="1" eType="#//CorrelationKey"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="correlationPropertyBinding"
+ ordered="false" lowerBound="1" upperBound="-1" eType="#//CorrelationPropertyBinding"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CorrelationPropertyBinding" eSuperTypes="#//BaseElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="dataPath" ordered="false"
+ lowerBound="1" eType="#//FormalExpression"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="correlationPropertyRef"
+ ordered="false" lowerBound="1" eType="#//CorrelationProperty"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BPMNProperty" eSuperTypes="#//ItemAwareElement">
+ <eOperations name="Propertynotation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="Property.notation"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="BPMNPropertyapply" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="BPMNProperty.apply"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_DataStoreNode" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//DataStoreNode"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="umlProperty" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ResourceRole" eSuperTypes="#//BaseElement">
+ <eOperations name="ResourceRoleowner" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="ResourceRole.owner"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="ResourceRoleresourceRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="ResourceRole.resourceRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="ResourceRoleisRequired" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="ResourceRole.isRequired"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="ResourceRoleprocess" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="ResourceRole.process"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="ResourceRoleresourceParameterBindings" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="ResourceRole.resourceParameterBindings"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="resourceAssignmentExpression"
+ ordered="false" eType="#//ResourceAssignmentExpression"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="resourceRef" ordered="false"
+ eType="#//Resource"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="resourceParameterBindings"
+ ordered="false" lowerBound="1" upperBound="-1" eType="#//ResourceParameterBinding">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="resourceParameterBindings "/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="process" ordered="false"
+ eType="#//BPMNProcess" eOpposite="#//BPMNProcess/resources"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ResourceAssignmentExpression" eSuperTypes="#//BPMNExpression">
+ <eOperations name="ResourceAssignmentExpressionexpression" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="ResourceAssignmentExpression.expression"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" ordered="false"
+ lowerBound="1" eType="#//BPMNExpression"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Resource" eSuperTypes="#//ItemDefinition">
+ <eOperations name="ResourceresourceParameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="Resource.resourceParameters"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="resourceParameters" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//ResourceParameter"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ResourceParameter" eSuperTypes="#//BaseElement">
+ <eOperations name="ResourceParameterowner" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="ResourceParameter.owner"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="ResourceParametertype" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="ResourceParameter.type"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="ResourceParameterisRequired" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="ResourceParameter.isRequired"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false" eType="#//ItemDefinition">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="type "/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isRequired" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ResourceParameterBinding" eSuperTypes="#//BaseElement">
+ <eOperations name="ResourceParameterBindingexpression" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="ResourceParameterBinding.expression"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="ResourceParameterBindingparameterRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="ResourceParameterBinding.parameterRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Slot" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Slot"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="parameterRef" ordered="false"
+ lowerBound="1" eType="#//ResourceParameter"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" ordered="false"
+ lowerBound="1" eType="#//BPMNExpression"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="GlobalScriptTask" eSuperTypes="#//GlobalTask">
+ <eOperations name="GlobalScriptTaskscriptFormat" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="GlobalScriptTask.scriptFormat"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="GlobalScriptTaskscript" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="GlobalScriptTask.script"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="script" unique="false"
+ lowerBound="1" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="scriptFormat" lowerBound="1"
+ upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="GlobalTask" eSuperTypes="#//CallableElement">
+ <eOperations name="GlobalTasksupportedInterfaceRefs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="GlobalTask.supportedInterfaceRefs"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_OpaqueBehavior" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueBehavior"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="resources" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//ResourceRole"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="GlobalBusinessRuleTask" eSuperTypes="#//GlobalTask">
+ <eOperations name="GlobalBusinessRuleTaskimplementation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="GlobalBusinessRuleTask.implementation"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="implementation" unique="false"
+ lowerBound="1" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"
+ defaultValueLiteral="##unspecified"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CompensateEventDefinition" eSuperTypes="#//EventDefinition">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="waitForCompletion" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"
+ defaultValueLiteral="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="activityRef" ordered="false"
+ eType="#//BPMNActivity"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_CallEvent" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EventDefinition" abstract="true" eSuperTypes="#//RootElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Event" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Event"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BPMNActivity" abstract="true" eSuperTypes="#//FlowNode">
+ <eOperations name="BPMNActivityresources" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="BPMNActivity.resources"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="BPMNActivitycontainer" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="BPMNActivity.container"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="BPMNActivityproperties" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="BPMNActivity.properties"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="BPMNActivitydefault" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="BPMNActivity.default"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="BPMNActivityboundaryEventsRefs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="BPMNActivity.boundaryEventsRefs"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="BPMNActivityloopCharacteristics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="BPMNActivity.loopCharacteristics"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isForCompensation" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"
+ defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="startQuantity" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Integer"
+ defaultValueLiteral="1"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="completionQuantity" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Integer"
+ defaultValueLiteral="1"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Action" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Action"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="activityClass" ordered="false"
+ eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="properties" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//BPMNProperty"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="default" ordered="false"
+ eType="#//SequenceFlow"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="boundaryEventRefs" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//BoundaryEvent"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="dataInputAssociations"
+ ordered="false" lowerBound="1" upperBound="-1" eType="#//DataInputAssociation"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="dataOutputAssociations"
+ ordered="false" lowerBound="1" upperBound="-1" eType="#//DataOutputAssociation"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="loopCharacteristics" ordered="false"
+ eType="#//LoopCharacteristics"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="resources" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//ResourceRole"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BoundaryEvent" eSuperTypes="#//CatchEvent">
+ <eOperations name="boundaryEventattachedToRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="boundaryEvent.attachedToRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="cancelActivity" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="attachedToRef" ordered="false"
+ lowerBound="1" eType="#//BPMNActivity"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CatchEvent" abstract="true" eSuperTypes="#//BPMNEvent">
+ <eOperations name="catchEventeventDefinitionsRefs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="catchEvent.eventDefinitionsRefs"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="parallelMultiple" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"
+ defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_AcceptEventAction"
+ ordered="false" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//AcceptEventAction"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_InitialNode" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//InitialNode"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="dataOutputAssociation"
+ ordered="false" lowerBound="1" upperBound="-1" eType="#//DataOutputAssociation"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BPMNEvent" abstract="true" eSuperTypes="#//FlowNode">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="eventClass" ordered="false"
+ eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="_eventDefinitions" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//EventDefinition">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value=" eventDefinitions"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="properties" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//BPMNProperty"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="eventDefinitionRefs" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//EventDefinition"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DataOutputAssociation" eSuperTypes="#//DataAssociation">
+ <eOperations name="dataOutputAssociationsource" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="dataOutputAssociation.source"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="dataOutputAssociationtarget" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="dataOutputAssociation.target"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DataAssociation" abstract="true" eSuperTypes="#//BaseElement">
+ <eOperations name="DataAssociationsource" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="DataAssociation.source"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="DataAssociationtransformation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="DataAssociation.transformation"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="DataAssociationtarget" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="DataAssociation.target"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_ObjectFlow" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//ObjectFlow"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sourceRef" ordered="false"
+ lowerBound="1" eType="#//ItemAwareElement"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="targetRef" ordered="false"
+ lowerBound="1" eType="#//ItemAwareElement"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="transformation" ordered="false"
+ lowerBound="1" eType="#//FormalExpression"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="assignment" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//Assignment"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Assignment" eSuperTypes="#//BaseElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Dependency" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Dependency"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="from" ordered="false" lowerBound="1"
+ eType="#//BPMNExpression"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="to" ordered="false" lowerBound="1"
+ eType="#//BPMNExpression"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DataInputAssociation" eSuperTypes="#//DataAssociation">
+ <eOperations name="dataInputAssociationsource" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="dataInputAssociation.source"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="dataInputAssociationtarget" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="dataInputAssociation.target"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="LoopCharacteristics" abstract="true"
+ eSuperTypes="#//BaseElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_StructuredActivityNode"
+ ordered="false" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//StructuredActivityNode"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EscalationEventDefinition" eSuperTypes="#//EventDefinition">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="escalationRef" ordered="false"
+ eType="#//Escalation"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_CallEvent" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Escalation" eSuperTypes="#//ItemDefinition">
+ <eOperations name="EscalationstructureRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="Escalation.structureRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="escalationCode" ordered="false"
+ eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TimerEventDefinition" eSuperTypes="#//EventDefinition">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="timeCycle" ordered="false"
+ eType="#//BPMNExpression"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="timeDate" ordered="false"
+ eType="#//BPMNExpression"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="timeDuration" ordered="false"
+ eType="#//BPMNExpression"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_ChangeEvent" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//ChangeEvent"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SignalEventDefinition" eSuperTypes="#//EventDefinition">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="signalRef" ordered="false"
+ eType="#//BPMNSignal"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_CallEvent" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BPMNSignal" eSuperTypes="#//ItemDefinition">
+ <eOperations name="BPMNSignalstructureRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="BPMNSignal.structureRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EndEvent" eSuperTypes="#//ThrowEvent">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_FinalNode" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//FinalNode"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ThrowEvent" abstract="true" eSuperTypes="#//BPMNEvent">
+ <eOperations name="ThrowEventeventDefinitionRefs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="ThrowEvent.eventDefinitionRefs"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_CallOperationAction"
+ ordered="false" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//CallOperationAction"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_FlowFinalNode" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//FlowFinalNode"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="dataInputAssociation" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//DataInputAssociation"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MessageEventDefinition" eSuperTypes="#//EventDefinition">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="messageRef" ordered="false"
+ eType="#//BPMNMessage"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="operationRef" ordered="false"
+ eType="#//BPMNOperation"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_CallEvent" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StartEvent" eSuperTypes="#//CatchEvent">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isInterrupting" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"
+ defaultValueLiteral="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ConditionalEventDefinition" eSuperTypes="#//EventDefinition">
+ <eOperations name="conditionalEventDefinitioncondition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="conditionalEventDefinition.condition"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_ChangeEvent" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//ChangeEvent"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="condition" ordered="false"
+ lowerBound="1" eType="#//BPMNExpression"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="LinkEventDefinition" eSuperTypes="#//EventDefinition">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="_target" ordered="false"
+ eType="#//LinkEventDefinition" eOpposite="#//LinkEventDefinition/source">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value=" target"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//LinkEventDefinition" eOpposite="#//LinkEventDefinition/_target"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_CallEvent" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ErrorEventDefinition" eSuperTypes="#//EventDefinition">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="errorRef" ordered="false"
+ eType="#//Error"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_CallEvent" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="IntermediateCatchEvent" eSuperTypes="#//CatchEvent"/>
+ <eClassifiers xsi:type="ecore:EClass" name="IntermediateThrowEvent" eSuperTypes="#//ThrowEvent">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_SendObjectAction"
+ ordered="false" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//SendObjectAction"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TerminateEventDefinition" eSuperTypes="#//EventDefinition">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_CallEvent" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ImplicitThrowEvent" eSuperTypes="#//ThrowEvent"/>
+ <eClassifiers xsi:type="ecore:EClass" name="CancelEventDefinition" eSuperTypes="#//EventDefinition">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_CallEvent" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//CallEvent"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TextAnnotation" eSuperTypes="#//BPMNArtifact">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Comment" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Comment"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="textFormat" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="text" ordered="false" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Category" eSuperTypes="#//RootElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Enumeration" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Enumeration"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="categoryValue" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//CategoryValue"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Group" eSuperTypes="#//BPMNArtifact">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_ActivityPartition"
+ ordered="false" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//ActivityPartition"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="_categoryValueRef" ordered="false"
+ eType="#//CategoryValue">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value=" categoryValueRef"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DataObjectReference" eSuperTypes="#//FlowElement #//ItemAwareElement">
+ <eOperations name="DataObjectRefsourcetarget" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="DataObjectRef.source.target"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="DataObjectRefdataState" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="DataObjectRef.dataState"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="dataObjectRef" ordered="false"
+ lowerBound="1" eType="#//DataObject"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_DataStoreNode" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//DataStoreNode"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DataObject" eSuperTypes="#//FlowElement #//ItemAwareElement">
+ <eOperations name="DataObjectdataState" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="DataObject.dataState"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isCollection" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"
+ defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_DataStoreNode" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//DataStoreNode"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DataStore" eSuperTypes="#//RootElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="capacity" ordered="false"
+ eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Integer"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isUnlimited" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"
+ defaultValueLiteral="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="itemSubjectRef" ordered="false"
+ eType="#//ItemDefinition">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="itemSubjectRef "/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DataStoreReference" eSuperTypes="#//FlowElement #//ItemAwareElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="_dataStore" ordered="false"
+ eType="#//DataStore">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value=" dataStore"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_DataStoreNode" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//DataStoreNode"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="UserTask" eSuperTypes="#//Task">
+ <eOperations name="UserTaskimplementation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="UserTask.implementation"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="UserTaskrenderings" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="UserTask.renderings"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_OpaqueAction" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueAction"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="implementation" unique="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"
+ defaultValueLiteral="##unspecified"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="renderings" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//Rendering"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Task" eSuperTypes="#//BPMNActivity">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ioSpecification" ordered="false"
+ eType="#//InputOutputSpecification"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Rendering" eSuperTypes="#//BaseElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Image" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//Image"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="HumanPerformer" eSuperTypes="#//Performer"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Performer" eSuperTypes="#//ResourceRole"/>
+ <eClassifiers xsi:type="ecore:EClass" name="GlobalUserTask" eSuperTypes="#//GlobalTask">
+ <eOperations name="GlobalUserTaskrenderings" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="GlobalUserTask.renderings"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="GlobalUserTaskimplementation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="GlobalUserTask.implementation"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="implementation" unique="false"
+ lowerBound="1" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"
+ defaultValueLiteral="##unspecified"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="renderings" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//Rendering"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="GlobalManualTask" eSuperTypes="#//GlobalTask"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ManualTask" eSuperTypes="#//Task">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_OpaqueAction" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueAction"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PotentialOwner" eSuperTypes="#//HumanPerformer"/>
+ <eClassifiers xsi:type="ecore:EClass" name="SubConversation" eSuperTypes="#//ConversationNode">
+ <eOperations name="SubConversationconnectedelements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="SubConversation.connected.elements"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="conversationNodes" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//ConversationNode"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="GlobalConversation" eSuperTypes="#//BPMNCollaboration">
+ <eOperations name="GlobalConversationcontainedelements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="GlobalConversation.contained.elements"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CallConversation" eSuperTypes="#//ConversationNode">
+ <eOperations name="CallConversationcalledCollaborationRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="CallConversation.calledCollaborationRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="CallConversationparticipantAssociations" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="CallConversation.participantAssociations"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="_collaborationUse" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//CollaborationUse">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value=" collaborationUse"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="calledCollaborationRef"
+ ordered="false" eType="#//BPMNCollaboration"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="participantAssociations"
+ ordered="false" lowerBound="1" upperBound="-1" eType="#//ParticipantAssociation"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Conversation" eSuperTypes="#//ConversationNode"/>
+ <eClassifiers xsi:type="ecore:EClass" name="SubProcess" eSuperTypes="#//BPMNActivity #//FlowElementsContainer">
+ <eOperations name="SubProcesstriggeredByEvent" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="SubProcess.triggeredByEvent"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="triggeredByEvent" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"
+ defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_StructuredActivityNode"
+ ordered="false" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//StructuredActivityNode"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hasLaneSets" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//LaneSet"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CallActivity" eSuperTypes="#//BPMNActivity">
+ <eOperations name="CallActivitycalledElementRefvalues" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="CallActivity.calledElementRef.values"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_CallBehaviorAction"
+ ordered="false" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//CallBehaviorAction"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="calledElementRef" ordered="false"
+ eType="#//CallableElement"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BusinessRuleTask" eSuperTypes="#//Task">
+ <eOperations name="BusinessRuleTaskimplementation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="BusinessRuleTask.implementation"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_OpaqueAction" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueAction"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="implementation" unique="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"
+ defaultValueLiteral="##unspecified"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="AdHocOrdering">
+ <eLiterals name="parallel"/>
+ <eLiterals name="sequential" value="1"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ComplexBehaviorDefinition" eSuperTypes="#//BaseElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="condition" ordered="false"
+ lowerBound="1" eType="#//FormalExpression"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="event" ordered="false"
+ eType="#//ImplicitThrowEvent"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_ControlFlow" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//ControlFlow"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AdHocSubProcess" eSuperTypes="#//SubProcess">
+ <eOperations name="AdHocSubProcesscancelRemainingInstances" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="AdHocSubProcess.cancelRemainingInstances"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="completionCondition" ordered="false"
+ lowerBound="1" eType="#//BPMNExpression"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="ordering" ordered="false"
+ lowerBound="1" eType="#//AdHocOrdering" defaultValueLiteral="parallel"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="cancelRemainingInstances"
+ ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"
+ defaultValueLiteral="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ScriptTask" eSuperTypes="#//Task">
+ <eOperations name="ScriptTaskscriptFormat" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="ScriptTask.scriptFormat"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="ScriptTaskscript" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="ScriptTask.script"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_OpaqueAction" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueAction"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="scriptFormat" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="script" unique="false"
+ eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SendTask" eSuperTypes="#//Task">
+ <eOperations name="SendTaskoperationRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="SendTask.operationRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="messageRef" ordered="false"
+ eType="#//BPMNMessage"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_CallOperationAction"
+ ordered="false" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//CallOperationAction"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="implementation" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"
+ defaultValueLiteral="##webService"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="operationRef" ordered="false"
+ eType="#//BPMNOperation"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Transaction" eSuperTypes="#//SubProcess">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="method" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"
+ defaultValueLiteral="&quot;##compensate&quot;"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StandardLoopCharacteristics" eSuperTypes="#//LoopCharacteristics">
+ <eOperations name="StandardLoopCharacteristicstestBefore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="StandardLoopCharacteristics.testBefore"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="StandardLoopCharacteristicsloopCondition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="StandardLoopCharacteristics.loopCondition"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="loopMaximum" ordered="false"
+ eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Integer"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_LoopNode" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//LoopNode"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="testBefore" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="loopCondition" ordered="false"
+ lowerBound="1" eType="#//BPMNExpression"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="MultiInstanceBehavior">
+ <eLiterals name="none"/>
+ <eLiterals name="one" value="1"/>
+ <eLiterals name="all" value="2"/>
+ <eLiterals name="complex" value="3"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ReceiveTask" eSuperTypes="#//Task">
+ <eOperations name="ReceiveTaskoperationRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="ReceiveTask.operationRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="messageRef" ordered="false"
+ eType="#//BPMNMessage"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_AcceptEventAction"
+ ordered="false" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//AcceptEventAction"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="implementation" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"
+ defaultValueLiteral="##webService"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="instantiate" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"
+ defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="operationRef" ordered="false"
+ eType="#//BPMNOperation"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ServiceTask" eSuperTypes="#//Task">
+ <eOperations name="ServiceTaskinputSet" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="ServiceTask.inputSet"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="ServiceTaskoutputSet" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="ServiceTask.outputSet"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations name="ServiceTaskoperationRef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="ServiceTask.operationRef"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_CallOperationAction"
+ ordered="false" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//CallOperationAction"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="implementation" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"
+ defaultValueLiteral="##webService"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="operationRef" ordered="false"
+ eType="#//BPMNOperation"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MultiInstanceLoopCharacteristics" eSuperTypes="#//LoopCharacteristics">
+ <eOperations name="MultiinstanceLoopCharacteristicstarget" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="MultiinstanceLoopCharacteristics.target"/>
+ </eAnnotations>
+ <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ <eParameters name="context">
+ <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="behavior" ordered="false"
+ lowerBound="1" eType="#//MultiInstanceBehavior" defaultValueLiteral="all"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="loopCardinality" ordered="false"
+ eType="#//BPMNExpression"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="completionCondition" ordered="false"
+ eType="#//BPMNExpression"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_ExpansionRegion" ordered="false"
+ lowerBound="1" eType="ecore:EClass http://www.eclipse.org/uml2/5.0.0/UML#//ExpansionRegion"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSequential" ordered="false"
+ lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="loopDataInputRef" ordered="false"
+ eType="#//ItemAwareElement"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="loopDataOutputRef" ordered="false"
+ eType="#//ItemAwareElement"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="outputDataItem" ordered="false"
+ lowerBound="1" eType="#//DataOutput"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="inputDataItem" ordered="false"
+ lowerBound="1" eType="#//DataInput"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="oneBehaviorEventRef" ordered="false"
+ eType="#//EventDefinition"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="noneBehaviorEventRef" ordered="false"
+ eType="#//EventDefinition"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="complexBehaviorDefinition"
+ ordered="false" lowerBound="1" upperBound="-1" eType="#//ComplexBehaviorDefinition"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNProfileFactoryImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNProfileFactoryImpl.java
new file mode 100644
index 00000000000..c7036088f36
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNProfileFactoryImpl.java
@@ -0,0 +1,1643 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.AdHocOrdering;
+import org.eclipse.papyrus.bpmn.BPMNProfile.AdHocSubProcess;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Assignment;
+import org.eclipse.papyrus.bpmn.BPMNProfile.AssociationDirection;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Auditing;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExtension;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNMessage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfileFactory;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNSignal;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BoundaryEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BusinessRuleTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CallActivity;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CallConversation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CancelEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Category;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CategoryValue;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CompensateEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ComplexBehaviorDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ComplexGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ConditionalEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Conversation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationKey;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationProperty;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyBinding;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyRetrievalExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationSubscription;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataInput;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataInputAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataObject;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataObjectReference;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataOutputAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataState;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataStore;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataStoreReference;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Definitions;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Documentation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.EndEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ErrorEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Escalation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.EscalationEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGatewayType;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ExclusiveGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeValue;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FormalExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GatewayDirection;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalBusinessRuleTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalConversation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalManualTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalScriptTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalUserTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Group;
+import org.eclipse.papyrus.bpmn.BPMNProfile.HumanPerformer;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ImplicitThrowEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Import;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InclusiveGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputBinding;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InputSet;
+import org.eclipse.papyrus.bpmn.BPMNProfile.IntermediateCatchEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.IntermediateThrowEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ItemKind;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Lane;
+import org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet;
+import org.eclipse.papyrus.bpmn.BPMNProfile.LinkEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ManualTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MessageEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlowAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Monitoring;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceBehavior;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics;
+import org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ParallelGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Participant;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantMultiplicity;
+import org.eclipse.papyrus.bpmn.BPMNProfile.PartnerEntity;
+import org.eclipse.papyrus.bpmn.BPMNProfile.PartnerRole;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Performer;
+import org.eclipse.papyrus.bpmn.BPMNProfile.PotentialOwner;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ProcessType;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.RelationshipDirection;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Rendering;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Resource;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceAssignmentExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameterBinding;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ScriptTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SendTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ServiceTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SignalEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics;
+import org.eclipse.papyrus.bpmn.BPMNProfile.StartEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SubConversation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SubProcess;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Task;
+import org.eclipse.papyrus.bpmn.BPMNProfile.TerminateEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.TextAnnotation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.TimerEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Transaction;
+import org.eclipse.papyrus.bpmn.BPMNProfile.UserTask;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BPMNProfileFactoryImpl extends EFactoryImpl implements BPMNProfileFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static BPMNProfileFactory init() {
+ try {
+ BPMNProfileFactory theBPMNProfileFactory = (BPMNProfileFactory)EPackage.Registry.INSTANCE.getEFactory(BPMNProfilePackage.eNS_URI);
+ if (theBPMNProfileFactory != null) {
+ return theBPMNProfileFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new BPMNProfileFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNProfileFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case BPMNProfilePackage.INCLUSIVE_GATEWAY: return createInclusiveGateway();
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_VALUE: return createExtensionAttributeValue();
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_DEFINITION: return createExtensionAttributeDefinition();
+ case BPMNProfilePackage.DOCUMENTATION: return createDocumentation();
+ case BPMNProfilePackage.EXTENSION_DEFINITION: return createExtensionDefinition();
+ case BPMNProfilePackage.BPMN_ASSOCIATION: return createBPMNAssociation();
+ case BPMNProfilePackage.AUDITING: return createAuditing();
+ case BPMNProfilePackage.MONITORING: return createMonitoring();
+ case BPMNProfilePackage.CATEGORY_VALUE: return createCategoryValue();
+ case BPMNProfilePackage.LANE_SET: return createLaneSet();
+ case BPMNProfilePackage.LANE: return createLane();
+ case BPMNProfilePackage.SEQUENCE_FLOW: return createSequenceFlow();
+ case BPMNProfilePackage.BPMN_EXPRESSION: return createBPMNExpression();
+ case BPMNProfilePackage.EVENT_BASED_GATEWAY: return createEventBasedGateway();
+ case BPMNProfilePackage.PARALLEL_GATEWAY: return createParallelGateway();
+ case BPMNProfilePackage.COMPLEX_GATEWAY: return createComplexGateway();
+ case BPMNProfilePackage.EXCLUSIVE_GATEWAY: return createExclusiveGateway();
+ case BPMNProfilePackage.DEFINITIONS: return createDefinitions();
+ case BPMNProfilePackage.BPMN_EXTENSION: return createBPMNExtension();
+ case BPMNProfilePackage.IMPORT: return createImport();
+ case BPMNProfilePackage.BPMN_RELATIONSHIP: return createBPMNRelationship();
+ case BPMNProfilePackage.BPMN_PROCESS: return createBPMNProcess();
+ case BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION: return createInputOutputSpecification();
+ case BPMNProfilePackage.DATA_INPUT: return createDataInput();
+ case BPMNProfilePackage.DATA_STATE: return createDataState();
+ case BPMNProfilePackage.ITEM_DEFINITION: return createItemDefinition();
+ case BPMNProfilePackage.INPUT_SET: return createInputSet();
+ case BPMNProfilePackage.DATA_OUTPUT: return createDataOutput();
+ case BPMNProfilePackage.OUTPUT_SET: return createOutputSet();
+ case BPMNProfilePackage.BPMN_INTERFACE: return createBPMNInterface();
+ case BPMNProfilePackage.BPMN_OPERATION: return createBPMNOperation();
+ case BPMNProfilePackage.BPMN_MESSAGE: return createBPMNMessage();
+ case BPMNProfilePackage.ERROR: return createError();
+ case BPMNProfilePackage.INPUT_OUTPUT_BINDING: return createInputOutputBinding();
+ case BPMNProfilePackage.BPMN_COLLABORATION: return createBPMNCollaboration();
+ case BPMNProfilePackage.PARTICIPANT_ASSOCIATION: return createParticipantAssociation();
+ case BPMNProfilePackage.PARTICIPANT: return createParticipant();
+ case BPMNProfilePackage.CONVERSATION_LINK: return createConversationLink();
+ case BPMNProfilePackage.PARTICIPANT_MULTIPLICITY: return createParticipantMultiplicity();
+ case BPMNProfilePackage.PARTNER_ENTITY: return createPartnerEntity();
+ case BPMNProfilePackage.PARTNER_ROLE: return createPartnerRole();
+ case BPMNProfilePackage.MESSAGE_FLOW_ASSOCIATION: return createMessageFlowAssociation();
+ case BPMNProfilePackage.MESSAGE_FLOW: return createMessageFlow();
+ case BPMNProfilePackage.CORRELATION_KEY: return createCorrelationKey();
+ case BPMNProfilePackage.CORRELATION_PROPERTY: return createCorrelationProperty();
+ case BPMNProfilePackage.CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION: return createCorrelationPropertyRetrievalExpression();
+ case BPMNProfilePackage.FORMAL_EXPRESSION: return createFormalExpression();
+ case BPMNProfilePackage.CORRELATION_SUBSCRIPTION: return createCorrelationSubscription();
+ case BPMNProfilePackage.CORRELATION_PROPERTY_BINDING: return createCorrelationPropertyBinding();
+ case BPMNProfilePackage.BPMN_PROPERTY: return createBPMNProperty();
+ case BPMNProfilePackage.RESOURCE_ROLE: return createResourceRole();
+ case BPMNProfilePackage.RESOURCE_ASSIGNMENT_EXPRESSION: return createResourceAssignmentExpression();
+ case BPMNProfilePackage.RESOURCE: return createResource();
+ case BPMNProfilePackage.RESOURCE_PARAMETER: return createResourceParameter();
+ case BPMNProfilePackage.RESOURCE_PARAMETER_BINDING: return createResourceParameterBinding();
+ case BPMNProfilePackage.GLOBAL_SCRIPT_TASK: return createGlobalScriptTask();
+ case BPMNProfilePackage.GLOBAL_TASK: return createGlobalTask();
+ case BPMNProfilePackage.GLOBAL_BUSINESS_RULE_TASK: return createGlobalBusinessRuleTask();
+ case BPMNProfilePackage.COMPENSATE_EVENT_DEFINITION: return createCompensateEventDefinition();
+ case BPMNProfilePackage.BOUNDARY_EVENT: return createBoundaryEvent();
+ case BPMNProfilePackage.DATA_OUTPUT_ASSOCIATION: return createDataOutputAssociation();
+ case BPMNProfilePackage.ASSIGNMENT: return createAssignment();
+ case BPMNProfilePackage.DATA_INPUT_ASSOCIATION: return createDataInputAssociation();
+ case BPMNProfilePackage.ESCALATION_EVENT_DEFINITION: return createEscalationEventDefinition();
+ case BPMNProfilePackage.ESCALATION: return createEscalation();
+ case BPMNProfilePackage.TIMER_EVENT_DEFINITION: return createTimerEventDefinition();
+ case BPMNProfilePackage.SIGNAL_EVENT_DEFINITION: return createSignalEventDefinition();
+ case BPMNProfilePackage.BPMN_SIGNAL: return createBPMNSignal();
+ case BPMNProfilePackage.END_EVENT: return createEndEvent();
+ case BPMNProfilePackage.MESSAGE_EVENT_DEFINITION: return createMessageEventDefinition();
+ case BPMNProfilePackage.START_EVENT: return createStartEvent();
+ case BPMNProfilePackage.CONDITIONAL_EVENT_DEFINITION: return createConditionalEventDefinition();
+ case BPMNProfilePackage.LINK_EVENT_DEFINITION: return createLinkEventDefinition();
+ case BPMNProfilePackage.ERROR_EVENT_DEFINITION: return createErrorEventDefinition();
+ case BPMNProfilePackage.INTERMEDIATE_CATCH_EVENT: return createIntermediateCatchEvent();
+ case BPMNProfilePackage.INTERMEDIATE_THROW_EVENT: return createIntermediateThrowEvent();
+ case BPMNProfilePackage.TERMINATE_EVENT_DEFINITION: return createTerminateEventDefinition();
+ case BPMNProfilePackage.IMPLICIT_THROW_EVENT: return createImplicitThrowEvent();
+ case BPMNProfilePackage.CANCEL_EVENT_DEFINITION: return createCancelEventDefinition();
+ case BPMNProfilePackage.TEXT_ANNOTATION: return createTextAnnotation();
+ case BPMNProfilePackage.CATEGORY: return createCategory();
+ case BPMNProfilePackage.GROUP: return createGroup();
+ case BPMNProfilePackage.DATA_OBJECT_REFERENCE: return createDataObjectReference();
+ case BPMNProfilePackage.DATA_OBJECT: return createDataObject();
+ case BPMNProfilePackage.DATA_STORE: return createDataStore();
+ case BPMNProfilePackage.DATA_STORE_REFERENCE: return createDataStoreReference();
+ case BPMNProfilePackage.USER_TASK: return createUserTask();
+ case BPMNProfilePackage.TASK: return createTask();
+ case BPMNProfilePackage.RENDERING: return createRendering();
+ case BPMNProfilePackage.HUMAN_PERFORMER: return createHumanPerformer();
+ case BPMNProfilePackage.PERFORMER: return createPerformer();
+ case BPMNProfilePackage.GLOBAL_USER_TASK: return createGlobalUserTask();
+ case BPMNProfilePackage.GLOBAL_MANUAL_TASK: return createGlobalManualTask();
+ case BPMNProfilePackage.MANUAL_TASK: return createManualTask();
+ case BPMNProfilePackage.POTENTIAL_OWNER: return createPotentialOwner();
+ case BPMNProfilePackage.SUB_CONVERSATION: return createSubConversation();
+ case BPMNProfilePackage.GLOBAL_CONVERSATION: return createGlobalConversation();
+ case BPMNProfilePackage.CALL_CONVERSATION: return createCallConversation();
+ case BPMNProfilePackage.CONVERSATION: return createConversation();
+ case BPMNProfilePackage.SUB_PROCESS: return createSubProcess();
+ case BPMNProfilePackage.CALL_ACTIVITY: return createCallActivity();
+ case BPMNProfilePackage.BUSINESS_RULE_TASK: return createBusinessRuleTask();
+ case BPMNProfilePackage.COMPLEX_BEHAVIOR_DEFINITION: return createComplexBehaviorDefinition();
+ case BPMNProfilePackage.AD_HOC_SUB_PROCESS: return createAdHocSubProcess();
+ case BPMNProfilePackage.SCRIPT_TASK: return createScriptTask();
+ case BPMNProfilePackage.SEND_TASK: return createSendTask();
+ case BPMNProfilePackage.TRANSACTION: return createTransaction();
+ case BPMNProfilePackage.STANDARD_LOOP_CHARACTERISTICS: return createStandardLoopCharacteristics();
+ case BPMNProfilePackage.RECEIVE_TASK: return createReceiveTask();
+ case BPMNProfilePackage.SERVICE_TASK: return createServiceTask();
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS: return createMultiInstanceLoopCharacteristics();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case BPMNProfilePackage.ASSOCIATION_DIRECTION:
+ return createAssociationDirectionFromString(eDataType, initialValue);
+ case BPMNProfilePackage.EVENT_BASED_GATEWAY_TYPE:
+ return createEventBasedGatewayTypeFromString(eDataType, initialValue);
+ case BPMNProfilePackage.GATEWAY_DIRECTION:
+ return createGatewayDirectionFromString(eDataType, initialValue);
+ case BPMNProfilePackage.RELATIONSHIP_DIRECTION:
+ return createRelationshipDirectionFromString(eDataType, initialValue);
+ case BPMNProfilePackage.ITEM_KIND:
+ return createItemKindFromString(eDataType, initialValue);
+ case BPMNProfilePackage.PROCESS_TYPE:
+ return createProcessTypeFromString(eDataType, initialValue);
+ case BPMNProfilePackage.AD_HOC_ORDERING:
+ return createAdHocOrderingFromString(eDataType, initialValue);
+ case BPMNProfilePackage.MULTI_INSTANCE_BEHAVIOR:
+ return createMultiInstanceBehaviorFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case BPMNProfilePackage.ASSOCIATION_DIRECTION:
+ return convertAssociationDirectionToString(eDataType, instanceValue);
+ case BPMNProfilePackage.EVENT_BASED_GATEWAY_TYPE:
+ return convertEventBasedGatewayTypeToString(eDataType, instanceValue);
+ case BPMNProfilePackage.GATEWAY_DIRECTION:
+ return convertGatewayDirectionToString(eDataType, instanceValue);
+ case BPMNProfilePackage.RELATIONSHIP_DIRECTION:
+ return convertRelationshipDirectionToString(eDataType, instanceValue);
+ case BPMNProfilePackage.ITEM_KIND:
+ return convertItemKindToString(eDataType, instanceValue);
+ case BPMNProfilePackage.PROCESS_TYPE:
+ return convertProcessTypeToString(eDataType, instanceValue);
+ case BPMNProfilePackage.AD_HOC_ORDERING:
+ return convertAdHocOrderingToString(eDataType, instanceValue);
+ case BPMNProfilePackage.MULTI_INSTANCE_BEHAVIOR:
+ return convertMultiInstanceBehaviorToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InclusiveGateway createInclusiveGateway() {
+ InclusiveGatewayImpl inclusiveGateway = new InclusiveGatewayImpl();
+ return inclusiveGateway;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtensionAttributeValue createExtensionAttributeValue() {
+ ExtensionAttributeValueImpl extensionAttributeValue = new ExtensionAttributeValueImpl();
+ return extensionAttributeValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtensionAttributeDefinition createExtensionAttributeDefinition() {
+ ExtensionAttributeDefinitionImpl extensionAttributeDefinition = new ExtensionAttributeDefinitionImpl();
+ return extensionAttributeDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Documentation createDocumentation() {
+ DocumentationImpl documentation = new DocumentationImpl();
+ return documentation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtensionDefinition createExtensionDefinition() {
+ ExtensionDefinitionImpl extensionDefinition = new ExtensionDefinitionImpl();
+ return extensionDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNAssociation createBPMNAssociation() {
+ BPMNAssociationImpl bpmnAssociation = new BPMNAssociationImpl();
+ return bpmnAssociation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Auditing createAuditing() {
+ AuditingImpl auditing = new AuditingImpl();
+ return auditing;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Monitoring createMonitoring() {
+ MonitoringImpl monitoring = new MonitoringImpl();
+ return monitoring;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CategoryValue createCategoryValue() {
+ CategoryValueImpl categoryValue = new CategoryValueImpl();
+ return categoryValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LaneSet createLaneSet() {
+ LaneSetImpl laneSet = new LaneSetImpl();
+ return laneSet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Lane createLane() {
+ LaneImpl lane = new LaneImpl();
+ return lane;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SequenceFlow createSequenceFlow() {
+ SequenceFlowImpl sequenceFlow = new SequenceFlowImpl();
+ return sequenceFlow;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExpression createBPMNExpression() {
+ BPMNExpressionImpl bpmnExpression = new BPMNExpressionImpl();
+ return bpmnExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EventBasedGateway createEventBasedGateway() {
+ EventBasedGatewayImpl eventBasedGateway = new EventBasedGatewayImpl();
+ return eventBasedGateway;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParallelGateway createParallelGateway() {
+ ParallelGatewayImpl parallelGateway = new ParallelGatewayImpl();
+ return parallelGateway;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComplexGateway createComplexGateway() {
+ ComplexGatewayImpl complexGateway = new ComplexGatewayImpl();
+ return complexGateway;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExclusiveGateway createExclusiveGateway() {
+ ExclusiveGatewayImpl exclusiveGateway = new ExclusiveGatewayImpl();
+ return exclusiveGateway;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Definitions createDefinitions() {
+ DefinitionsImpl definitions = new DefinitionsImpl();
+ return definitions;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExtension createBPMNExtension() {
+ BPMNExtensionImpl bpmnExtension = new BPMNExtensionImpl();
+ return bpmnExtension;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Import createImport() {
+ ImportImpl import_ = new ImportImpl();
+ return import_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNRelationship createBPMNRelationship() {
+ BPMNRelationshipImpl bpmnRelationship = new BPMNRelationshipImpl();
+ return bpmnRelationship;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNProcess createBPMNProcess() {
+ BPMNProcessImpl bpmnProcess = new BPMNProcessImpl();
+ return bpmnProcess;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputOutputSpecification createInputOutputSpecification() {
+ InputOutputSpecificationImpl inputOutputSpecification = new InputOutputSpecificationImpl();
+ return inputOutputSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataInput createDataInput() {
+ DataInputImpl dataInput = new DataInputImpl();
+ return dataInput;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataState createDataState() {
+ DataStateImpl dataState = new DataStateImpl();
+ return dataState;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemDefinition createItemDefinition() {
+ ItemDefinitionImpl itemDefinition = new ItemDefinitionImpl();
+ return itemDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputSet createInputSet() {
+ InputSetImpl inputSet = new InputSetImpl();
+ return inputSet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataOutput createDataOutput() {
+ DataOutputImpl dataOutput = new DataOutputImpl();
+ return dataOutput;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputSet createOutputSet() {
+ OutputSetImpl outputSet = new OutputSetImpl();
+ return outputSet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNInterface createBPMNInterface() {
+ BPMNInterfaceImpl bpmnInterface = new BPMNInterfaceImpl();
+ return bpmnInterface;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNOperation createBPMNOperation() {
+ BPMNOperationImpl bpmnOperation = new BPMNOperationImpl();
+ return bpmnOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNMessage createBPMNMessage() {
+ BPMNMessageImpl bpmnMessage = new BPMNMessageImpl();
+ return bpmnMessage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.papyrus.bpmn.BPMNProfile.Error createError() {
+ ErrorImpl error = new ErrorImpl();
+ return error;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputOutputBinding createInputOutputBinding() {
+ InputOutputBindingImpl inputOutputBinding = new InputOutputBindingImpl();
+ return inputOutputBinding;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNCollaboration createBPMNCollaboration() {
+ BPMNCollaborationImpl bpmnCollaboration = new BPMNCollaborationImpl();
+ return bpmnCollaboration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParticipantAssociation createParticipantAssociation() {
+ ParticipantAssociationImpl participantAssociation = new ParticipantAssociationImpl();
+ return participantAssociation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Participant createParticipant() {
+ ParticipantImpl participant = new ParticipantImpl();
+ return participant;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConversationLink createConversationLink() {
+ ConversationLinkImpl conversationLink = new ConversationLinkImpl();
+ return conversationLink;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParticipantMultiplicity createParticipantMultiplicity() {
+ ParticipantMultiplicityImpl participantMultiplicity = new ParticipantMultiplicityImpl();
+ return participantMultiplicity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PartnerEntity createPartnerEntity() {
+ PartnerEntityImpl partnerEntity = new PartnerEntityImpl();
+ return partnerEntity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PartnerRole createPartnerRole() {
+ PartnerRoleImpl partnerRole = new PartnerRoleImpl();
+ return partnerRole;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MessageFlowAssociation createMessageFlowAssociation() {
+ MessageFlowAssociationImpl messageFlowAssociation = new MessageFlowAssociationImpl();
+ return messageFlowAssociation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MessageFlow createMessageFlow() {
+ MessageFlowImpl messageFlow = new MessageFlowImpl();
+ return messageFlow;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CorrelationKey createCorrelationKey() {
+ CorrelationKeyImpl correlationKey = new CorrelationKeyImpl();
+ return correlationKey;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CorrelationProperty createCorrelationProperty() {
+ CorrelationPropertyImpl correlationProperty = new CorrelationPropertyImpl();
+ return correlationProperty;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CorrelationPropertyRetrievalExpression createCorrelationPropertyRetrievalExpression() {
+ CorrelationPropertyRetrievalExpressionImpl correlationPropertyRetrievalExpression = new CorrelationPropertyRetrievalExpressionImpl();
+ return correlationPropertyRetrievalExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FormalExpression createFormalExpression() {
+ FormalExpressionImpl formalExpression = new FormalExpressionImpl();
+ return formalExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CorrelationSubscription createCorrelationSubscription() {
+ CorrelationSubscriptionImpl correlationSubscription = new CorrelationSubscriptionImpl();
+ return correlationSubscription;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CorrelationPropertyBinding createCorrelationPropertyBinding() {
+ CorrelationPropertyBindingImpl correlationPropertyBinding = new CorrelationPropertyBindingImpl();
+ return correlationPropertyBinding;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNProperty createBPMNProperty() {
+ BPMNPropertyImpl bpmnProperty = new BPMNPropertyImpl();
+ return bpmnProperty;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceRole createResourceRole() {
+ ResourceRoleImpl resourceRole = new ResourceRoleImpl();
+ return resourceRole;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceAssignmentExpression createResourceAssignmentExpression() {
+ ResourceAssignmentExpressionImpl resourceAssignmentExpression = new ResourceAssignmentExpressionImpl();
+ return resourceAssignmentExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Resource createResource() {
+ ResourceImpl resource = new ResourceImpl();
+ return resource;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceParameter createResourceParameter() {
+ ResourceParameterImpl resourceParameter = new ResourceParameterImpl();
+ return resourceParameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceParameterBinding createResourceParameterBinding() {
+ ResourceParameterBindingImpl resourceParameterBinding = new ResourceParameterBindingImpl();
+ return resourceParameterBinding;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GlobalScriptTask createGlobalScriptTask() {
+ GlobalScriptTaskImpl globalScriptTask = new GlobalScriptTaskImpl();
+ return globalScriptTask;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GlobalTask createGlobalTask() {
+ GlobalTaskImpl globalTask = new GlobalTaskImpl();
+ return globalTask;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GlobalBusinessRuleTask createGlobalBusinessRuleTask() {
+ GlobalBusinessRuleTaskImpl globalBusinessRuleTask = new GlobalBusinessRuleTaskImpl();
+ return globalBusinessRuleTask;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CompensateEventDefinition createCompensateEventDefinition() {
+ CompensateEventDefinitionImpl compensateEventDefinition = new CompensateEventDefinitionImpl();
+ return compensateEventDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BoundaryEvent createBoundaryEvent() {
+ BoundaryEventImpl boundaryEvent = new BoundaryEventImpl();
+ return boundaryEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataOutputAssociation createDataOutputAssociation() {
+ DataOutputAssociationImpl dataOutputAssociation = new DataOutputAssociationImpl();
+ return dataOutputAssociation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Assignment createAssignment() {
+ AssignmentImpl assignment = new AssignmentImpl();
+ return assignment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataInputAssociation createDataInputAssociation() {
+ DataInputAssociationImpl dataInputAssociation = new DataInputAssociationImpl();
+ return dataInputAssociation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EscalationEventDefinition createEscalationEventDefinition() {
+ EscalationEventDefinitionImpl escalationEventDefinition = new EscalationEventDefinitionImpl();
+ return escalationEventDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Escalation createEscalation() {
+ EscalationImpl escalation = new EscalationImpl();
+ return escalation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimerEventDefinition createTimerEventDefinition() {
+ TimerEventDefinitionImpl timerEventDefinition = new TimerEventDefinitionImpl();
+ return timerEventDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SignalEventDefinition createSignalEventDefinition() {
+ SignalEventDefinitionImpl signalEventDefinition = new SignalEventDefinitionImpl();
+ return signalEventDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNSignal createBPMNSignal() {
+ BPMNSignalImpl bpmnSignal = new BPMNSignalImpl();
+ return bpmnSignal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EndEvent createEndEvent() {
+ EndEventImpl endEvent = new EndEventImpl();
+ return endEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MessageEventDefinition createMessageEventDefinition() {
+ MessageEventDefinitionImpl messageEventDefinition = new MessageEventDefinitionImpl();
+ return messageEventDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StartEvent createStartEvent() {
+ StartEventImpl startEvent = new StartEventImpl();
+ return startEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConditionalEventDefinition createConditionalEventDefinition() {
+ ConditionalEventDefinitionImpl conditionalEventDefinition = new ConditionalEventDefinitionImpl();
+ return conditionalEventDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LinkEventDefinition createLinkEventDefinition() {
+ LinkEventDefinitionImpl linkEventDefinition = new LinkEventDefinitionImpl();
+ return linkEventDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ErrorEventDefinition createErrorEventDefinition() {
+ ErrorEventDefinitionImpl errorEventDefinition = new ErrorEventDefinitionImpl();
+ return errorEventDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IntermediateCatchEvent createIntermediateCatchEvent() {
+ IntermediateCatchEventImpl intermediateCatchEvent = new IntermediateCatchEventImpl();
+ return intermediateCatchEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IntermediateThrowEvent createIntermediateThrowEvent() {
+ IntermediateThrowEventImpl intermediateThrowEvent = new IntermediateThrowEventImpl();
+ return intermediateThrowEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TerminateEventDefinition createTerminateEventDefinition() {
+ TerminateEventDefinitionImpl terminateEventDefinition = new TerminateEventDefinitionImpl();
+ return terminateEventDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplicitThrowEvent createImplicitThrowEvent() {
+ ImplicitThrowEventImpl implicitThrowEvent = new ImplicitThrowEventImpl();
+ return implicitThrowEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CancelEventDefinition createCancelEventDefinition() {
+ CancelEventDefinitionImpl cancelEventDefinition = new CancelEventDefinitionImpl();
+ return cancelEventDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TextAnnotation createTextAnnotation() {
+ TextAnnotationImpl textAnnotation = new TextAnnotationImpl();
+ return textAnnotation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Category createCategory() {
+ CategoryImpl category = new CategoryImpl();
+ return category;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Group createGroup() {
+ GroupImpl group = new GroupImpl();
+ return group;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataObjectReference createDataObjectReference() {
+ DataObjectReferenceImpl dataObjectReference = new DataObjectReferenceImpl();
+ return dataObjectReference;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataObject createDataObject() {
+ DataObjectImpl dataObject = new DataObjectImpl();
+ return dataObject;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataStore createDataStore() {
+ DataStoreImpl dataStore = new DataStoreImpl();
+ return dataStore;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataStoreReference createDataStoreReference() {
+ DataStoreReferenceImpl dataStoreReference = new DataStoreReferenceImpl();
+ return dataStoreReference;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UserTask createUserTask() {
+ UserTaskImpl userTask = new UserTaskImpl();
+ return userTask;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Task createTask() {
+ TaskImpl task = new TaskImpl();
+ return task;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Rendering createRendering() {
+ RenderingImpl rendering = new RenderingImpl();
+ return rendering;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HumanPerformer createHumanPerformer() {
+ HumanPerformerImpl humanPerformer = new HumanPerformerImpl();
+ return humanPerformer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Performer createPerformer() {
+ PerformerImpl performer = new PerformerImpl();
+ return performer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GlobalUserTask createGlobalUserTask() {
+ GlobalUserTaskImpl globalUserTask = new GlobalUserTaskImpl();
+ return globalUserTask;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GlobalManualTask createGlobalManualTask() {
+ GlobalManualTaskImpl globalManualTask = new GlobalManualTaskImpl();
+ return globalManualTask;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ManualTask createManualTask() {
+ ManualTaskImpl manualTask = new ManualTaskImpl();
+ return manualTask;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PotentialOwner createPotentialOwner() {
+ PotentialOwnerImpl potentialOwner = new PotentialOwnerImpl();
+ return potentialOwner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SubConversation createSubConversation() {
+ SubConversationImpl subConversation = new SubConversationImpl();
+ return subConversation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GlobalConversation createGlobalConversation() {
+ GlobalConversationImpl globalConversation = new GlobalConversationImpl();
+ return globalConversation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallConversation createCallConversation() {
+ CallConversationImpl callConversation = new CallConversationImpl();
+ return callConversation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Conversation createConversation() {
+ ConversationImpl conversation = new ConversationImpl();
+ return conversation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SubProcess createSubProcess() {
+ SubProcessImpl subProcess = new SubProcessImpl();
+ return subProcess;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallActivity createCallActivity() {
+ CallActivityImpl callActivity = new CallActivityImpl();
+ return callActivity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BusinessRuleTask createBusinessRuleTask() {
+ BusinessRuleTaskImpl businessRuleTask = new BusinessRuleTaskImpl();
+ return businessRuleTask;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComplexBehaviorDefinition createComplexBehaviorDefinition() {
+ ComplexBehaviorDefinitionImpl complexBehaviorDefinition = new ComplexBehaviorDefinitionImpl();
+ return complexBehaviorDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AdHocSubProcess createAdHocSubProcess() {
+ AdHocSubProcessImpl adHocSubProcess = new AdHocSubProcessImpl();
+ return adHocSubProcess;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ScriptTask createScriptTask() {
+ ScriptTaskImpl scriptTask = new ScriptTaskImpl();
+ return scriptTask;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SendTask createSendTask() {
+ SendTaskImpl sendTask = new SendTaskImpl();
+ return sendTask;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Transaction createTransaction() {
+ TransactionImpl transaction = new TransactionImpl();
+ return transaction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StandardLoopCharacteristics createStandardLoopCharacteristics() {
+ StandardLoopCharacteristicsImpl standardLoopCharacteristics = new StandardLoopCharacteristicsImpl();
+ return standardLoopCharacteristics;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ReceiveTask createReceiveTask() {
+ ReceiveTaskImpl receiveTask = new ReceiveTaskImpl();
+ return receiveTask;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ServiceTask createServiceTask() {
+ ServiceTaskImpl serviceTask = new ServiceTaskImpl();
+ return serviceTask;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MultiInstanceLoopCharacteristics createMultiInstanceLoopCharacteristics() {
+ MultiInstanceLoopCharacteristicsImpl multiInstanceLoopCharacteristics = new MultiInstanceLoopCharacteristicsImpl();
+ return multiInstanceLoopCharacteristics;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AssociationDirection createAssociationDirectionFromString(EDataType eDataType, String initialValue) {
+ AssociationDirection result = AssociationDirection.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertAssociationDirectionToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EventBasedGatewayType createEventBasedGatewayTypeFromString(EDataType eDataType, String initialValue) {
+ EventBasedGatewayType result = EventBasedGatewayType.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertEventBasedGatewayTypeToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GatewayDirection createGatewayDirectionFromString(EDataType eDataType, String initialValue) {
+ GatewayDirection result = GatewayDirection.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertGatewayDirectionToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RelationshipDirection createRelationshipDirectionFromString(EDataType eDataType, String initialValue) {
+ RelationshipDirection result = RelationshipDirection.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertRelationshipDirectionToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemKind createItemKindFromString(EDataType eDataType, String initialValue) {
+ ItemKind result = ItemKind.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertItemKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProcessType createProcessTypeFromString(EDataType eDataType, String initialValue) {
+ ProcessType result = ProcessType.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertProcessTypeToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AdHocOrdering createAdHocOrderingFromString(EDataType eDataType, String initialValue) {
+ AdHocOrdering result = AdHocOrdering.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertAdHocOrderingToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MultiInstanceBehavior createMultiInstanceBehaviorFromString(EDataType eDataType, String initialValue) {
+ MultiInstanceBehavior result = MultiInstanceBehavior.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertMultiInstanceBehaviorToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNProfilePackage getBPMNProfilePackage() {
+ return (BPMNProfilePackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static BPMNProfilePackage getPackage() {
+ return BPMNProfilePackage.eINSTANCE;
+ }
+
+} //BPMNProfileFactoryImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNProfilePackageImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNProfilePackageImpl.java
new file mode 100644
index 00000000000..a77573f7bd5
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNProfilePackageImpl.java
@@ -0,0 +1,7299 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.io.IOException;
+
+import java.net.URL;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.common.util.WrappedException;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EValidator;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfileFactory;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BPMNProfilePackageImpl extends EPackageImpl implements BPMNProfilePackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected String packageFilename = "BPMNProfile.ecore";
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass inclusiveGatewayEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass nonExclusiveGatewayEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass gatewayEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass flowNodeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass flowElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass baseElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass extensionAttributeValueEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass extensionAttributeDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass documentationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass extensionDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass bpmnAssociationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass bpmnArtifactEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass auditingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass monitoringEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass categoryValueEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass flowElementsContainerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass laneSetEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass laneEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass sequenceFlowEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass bpmnExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass eventBasedGatewayEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass parallelGatewayEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass complexGatewayEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass exclusiveGatewayEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass rootElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass definitionsEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass bpmnExtensionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass importEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass bpmnRelationshipEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass bpmnProcessEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass callableElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass inputOutputSpecificationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass dataInputEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass itemAwareElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass dataStateEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass itemDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass inputSetEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass dataOutputEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass outputSetEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass bpmnInterfaceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass bpmnOperationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass bpmnMessageEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass errorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass inputOutputBindingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass bpmnCollaborationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass participantAssociationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass participantEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass interactionNodeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass conversationLinkEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass participantMultiplicityEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass partnerEntityEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass partnerRoleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass messageFlowAssociationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass messageFlowEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass conversationNodeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass correlationKeyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass correlationPropertyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass correlationPropertyRetrievalExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass formalExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass correlationSubscriptionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass correlationPropertyBindingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass bpmnPropertyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass resourceRoleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass resourceAssignmentExpressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass resourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass resourceParameterEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass resourceParameterBindingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass globalScriptTaskEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass globalTaskEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass globalBusinessRuleTaskEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass compensateEventDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass eventDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass bpmnActivityEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass boundaryEventEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass catchEventEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass bpmnEventEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass dataOutputAssociationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass dataAssociationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass assignmentEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass dataInputAssociationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass loopCharacteristicsEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass escalationEventDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass escalationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass timerEventDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass signalEventDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass bpmnSignalEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass endEventEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass throwEventEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass messageEventDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass startEventEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass conditionalEventDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass linkEventDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass errorEventDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass intermediateCatchEventEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass intermediateThrowEventEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass terminateEventDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass implicitThrowEventEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass cancelEventDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass textAnnotationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass categoryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass groupEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass dataObjectReferenceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass dataObjectEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass dataStoreEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass dataStoreReferenceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass userTaskEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass taskEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass renderingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass humanPerformerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass performerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass globalUserTaskEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass globalManualTaskEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass manualTaskEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass potentialOwnerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass subConversationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass globalConversationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass callConversationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass conversationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass subProcessEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass callActivityEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass businessRuleTaskEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass complexBehaviorDefinitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass adHocSubProcessEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass scriptTaskEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass sendTaskEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass transactionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass standardLoopCharacteristicsEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass receiveTaskEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass serviceTaskEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass multiInstanceLoopCharacteristicsEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum associationDirectionEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum eventBasedGatewayTypeEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum gatewayDirectionEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum relationshipDirectionEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum itemKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum processTypeEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum adHocOrderingEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum multiInstanceBehaviorEEnum = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private BPMNProfilePackageImpl() {
+ super(eNS_URI, BPMNProfileFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link BPMNProfilePackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @generated
+ */
+ public static BPMNProfilePackage init() {
+ if (isInited) return (BPMNProfilePackage)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI);
+
+ // Obtain or create and register package
+ BPMNProfilePackageImpl theBPMNProfilePackage = (BPMNProfilePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof BPMNProfilePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new BPMNProfilePackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ UMLPackage.eINSTANCE.eClass();
+
+ // Load packages
+ theBPMNProfilePackage.loadPackage();
+
+ // Fix loaded packages
+ theBPMNProfilePackage.fixPackageContents();
+
+ // Register package validator
+ EValidator.Registry.INSTANCE.put
+ (theBPMNProfilePackage,
+ new EValidator.Descriptor() {
+ public EValidator getEValidator() {
+ return BPMNProfileValidator.INSTANCE;
+ }
+ });
+
+ // Mark meta-data to indicate it can't be changed
+ theBPMNProfilePackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(BPMNProfilePackage.eNS_URI, theBPMNProfilePackage);
+ return theBPMNProfilePackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInclusiveGateway() {
+ if (inclusiveGatewayEClass == null) {
+ inclusiveGatewayEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(0);
+ }
+ return inclusiveGatewayEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInclusiveGateway_Default() {
+ return (EReference)getInclusiveGateway().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInclusiveGateway__InclusiveGatewaydefault__DiagnosticChain_Map() {
+ return getInclusiveGateway().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNonExclusiveGateway() {
+ if (nonExclusiveGatewayEClass == null) {
+ nonExclusiveGatewayEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(1);
+ }
+ return nonExclusiveGatewayEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNonExclusiveGateway_Base_JoinNode() {
+ return (EReference)getNonExclusiveGateway().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNonExclusiveGateway_Base_ForkNode() {
+ return (EReference)getNonExclusiveGateway().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGateway() {
+ if (gatewayEClass == null) {
+ gatewayEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(2);
+ }
+ return gatewayEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGateway_Base_ControlNode() {
+ return (EReference)getGateway().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGateway_Base_ActivityGroup() {
+ return (EReference)getGateway().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFlowNode() {
+ if (flowNodeEClass == null) {
+ flowNodeEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(3);
+ }
+ return flowNodeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFlowNode_Base_ActivityNode() {
+ return (EReference)getFlowNode().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFlowElement() {
+ if (flowElementEClass == null) {
+ flowElementEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(4);
+ }
+ return flowElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFlowElement_Auditing() {
+ return (EReference)getFlowElement().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFlowElement_Monitoring() {
+ return (EReference)getFlowElement().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFlowElement__categoryValueRef() {
+ return (EReference)getFlowElement().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFlowElement_Container() {
+ return (EReference)getFlowElement().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBaseElement() {
+ if (baseElementEClass == null) {
+ baseElementEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(5);
+ }
+ return baseElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBaseElement_Id() {
+ return (EAttribute)getBaseElement().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBaseElement_ExtensionValues() {
+ return (EReference)getBaseElement().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBaseElement_Base_Element() {
+ return (EReference)getBaseElement().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBaseElement_Documentation() {
+ return (EReference)getBaseElement().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBaseElement_ExtensionDefinitions() {
+ return (EReference)getBaseElement().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBaseElement_Outgoing() {
+ return (EReference)getBaseElement().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBaseElement_Incoming() {
+ return (EReference)getBaseElement().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExtensionAttributeValue() {
+ if (extensionAttributeValueEClass == null) {
+ extensionAttributeValueEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(6);
+ }
+ return extensionAttributeValueEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExtensionAttributeValue_Base_Slot() {
+ return (EReference)getExtensionAttributeValue().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExtensionAttributeValue_ValueRef() {
+ return (EReference)getExtensionAttributeValue().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExtensionAttributeValue_ExtensionAttributeDefinition() {
+ return (EReference)getExtensionAttributeValue().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExtensionAttributeDefinition() {
+ if (extensionAttributeDefinitionEClass == null) {
+ extensionAttributeDefinitionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(7);
+ }
+ return extensionAttributeDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExtensionAttributeDefinition_Base_Property() {
+ return (EReference)getExtensionAttributeDefinition().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getExtensionAttributeDefinition_Type() {
+ return (EAttribute)getExtensionAttributeDefinition().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getExtensionAttributeDefinition_IsReference() {
+ return (EAttribute)getExtensionAttributeDefinition().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDocumentation() {
+ if (documentationEClass == null) {
+ documentationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(8);
+ }
+ return documentationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDocumentation_Base_Comment() {
+ return (EReference)getDocumentation().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDocumentation_TextFormat() {
+ return (EAttribute)getDocumentation().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDocumentation_Text() {
+ return (EAttribute)getDocumentation().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExtensionDefinition() {
+ if (extensionDefinitionEClass == null) {
+ extensionDefinitionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(9);
+ }
+ return extensionDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExtensionDefinition_Base_Stereotype() {
+ return (EReference)getExtensionDefinition().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExtensionDefinition_ExtensionAttributeDefinitions() {
+ return (EReference)getExtensionDefinition().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBPMNAssociation() {
+ if (bpmnAssociationEClass == null) {
+ bpmnAssociationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(10);
+ }
+ return bpmnAssociationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNAssociation_Base_Dependency() {
+ return (EReference)getBPMNAssociation().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBPMNAssociation_AssociationDirection() {
+ return (EAttribute)getBPMNAssociation().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNAssociation_TargetRef() {
+ return (EReference)getBPMNAssociation().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNAssociation_SourceRef() {
+ return (EReference)getBPMNAssociation().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBPMNAssociation__AssociationEnd__DiagnosticChain_Map() {
+ return getBPMNAssociation().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBPMNArtifact() {
+ if (bpmnArtifactEClass == null) {
+ bpmnArtifactEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(11);
+ }
+ return bpmnArtifactEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAuditing() {
+ if (auditingEClass == null) {
+ auditingEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(13);
+ }
+ return auditingEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAuditing_Base_Class() {
+ return (EReference)getAuditing().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMonitoring() {
+ if (monitoringEClass == null) {
+ monitoringEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(14);
+ }
+ return monitoringEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMonitoring_Base_Class() {
+ return (EReference)getMonitoring().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCategoryValue() {
+ if (categoryValueEClass == null) {
+ categoryValueEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(15);
+ }
+ return categoryValueEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCategoryValue_Base_EnumerationLiteral() {
+ return (EReference)getCategoryValue().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCategoryValue_CategorizedFlowElements() {
+ return (EReference)getCategoryValue().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFlowElementsContainer() {
+ if (flowElementsContainerEClass == null) {
+ flowElementsContainerEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(16);
+ }
+ return flowElementsContainerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFlowElementsContainer_LaneSets() {
+ return (EReference)getFlowElementsContainer().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFlowElementsContainer_FlowElements() {
+ return (EReference)getFlowElementsContainer().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLaneSet() {
+ if (laneSetEClass == null) {
+ laneSetEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(17);
+ }
+ return laneSetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLaneSet_Base_ActivityPartition() {
+ return (EReference)getLaneSet().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLaneSet_Lanes() {
+ return (EReference)getLaneSet().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLaneSet_ParentLane() {
+ return (EReference)getLaneSet().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLaneSet_FlowElementsContainer() {
+ return (EReference)getLaneSet().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLaneSet__LaneSetlanes__DiagnosticChain_Map() {
+ return getLaneSet().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLaneSet__LaneSetparentLane__DiagnosticChain_Map() {
+ return getLaneSet().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLaneSet__LaneSetflowElementsContainer__DiagnosticChain_Map() {
+ return getLaneSet().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLaneSet__LaneSet__DiagnosticChain_Map() {
+ return getLaneSet().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLane() {
+ if (laneEClass == null) {
+ laneEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(18);
+ }
+ return laneEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLane_Base_ActivityPartition() {
+ return (EReference)getLane().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLane__partitionElement() {
+ return (EReference)getLane().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLane_FlowNodeRefs() {
+ return (EReference)getLane().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLane_PartitionElementRef() {
+ return (EReference)getLane().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLane_ChildLaneSet() {
+ return (EReference)getLane().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLane_LaneSet() {
+ return (EReference)getLane().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLane__LanelaneSet__DiagnosticChain_Map() {
+ return getLane().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLane__LanechildLaneSet__DiagnosticChain_Map() {
+ return getLane().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLane__LanepartitionElementRef__DiagnosticChain_Map() {
+ return getLane().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLane__LaneflowNodeRefs__DiagnosticChain_Map() {
+ return getLane().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSequenceFlow() {
+ if (sequenceFlowEClass == null) {
+ sequenceFlowEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(19);
+ }
+ return sequenceFlowEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSequenceFlow_Base_ControlFlow() {
+ return (EReference)getSequenceFlow().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSequenceFlow_IsImmediate() {
+ return (EAttribute)getSequenceFlow().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSequenceFlow_ConditionExpression() {
+ return (EReference)getSequenceFlow().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getSequenceFlow__SequenceFlowconditionExpression__DiagnosticChain_Map() {
+ return getSequenceFlow().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getSequenceFlow__SequenceFlowsourceRef__DiagnosticChain_Map() {
+ return getSequenceFlow().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getSequenceFlow__SequenceFlowtargetRef__DiagnosticChain_Map() {
+ return getSequenceFlow().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBPMNExpression() {
+ if (bpmnExpressionEClass == null) {
+ bpmnExpressionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(20);
+ }
+ return bpmnExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNExpression_Base_OpaqueExpression() {
+ return (EReference)getBPMNExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEventBasedGateway() {
+ if (eventBasedGatewayEClass == null) {
+ eventBasedGatewayEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(21);
+ }
+ return eventBasedGatewayEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getEventBasedGateway_Instantiate() {
+ return (EAttribute)getEventBasedGateway().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getEventBasedGateway_EventGatewayType() {
+ return (EAttribute)getEventBasedGateway().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEventBasedGateway_Base_ForkNode() {
+ return (EReference)getEventBasedGateway().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEventBasedGateway_Base_StructuredActivityNode() {
+ return (EReference)getEventBasedGateway().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEventBasedGateway_Base_InterruptibleActivityRegion() {
+ return (EReference)getEventBasedGateway().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getParallelGateway() {
+ if (parallelGatewayEClass == null) {
+ parallelGatewayEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(24);
+ }
+ return parallelGatewayEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getComplexGateway() {
+ if (complexGatewayEClass == null) {
+ complexGatewayEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(25);
+ }
+ return complexGatewayEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getComplexGateway_Default() {
+ return (EReference)getComplexGateway().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getComplexGateway_ActivationCondition() {
+ return (EReference)getComplexGateway().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getComplexGateway__ComplexGatewaydefault__DiagnosticChain_Map() {
+ return getComplexGateway().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getComplexGateway__ComplexGatewayactivationCondition__DiagnosticChain_Map() {
+ return getComplexGateway().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getComplexGateway__ComplexGatewayjoinSpec__DiagnosticChain_Map() {
+ return getComplexGateway().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExclusiveGateway() {
+ if (exclusiveGatewayEClass == null) {
+ exclusiveGatewayEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(26);
+ }
+ return exclusiveGatewayEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExclusiveGateway_Base_DecisionNode() {
+ return (EReference)getExclusiveGateway().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExclusiveGateway_Base_MergeNode() {
+ return (EReference)getExclusiveGateway().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExclusiveGateway_Default() {
+ return (EReference)getExclusiveGateway().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getExclusiveGateway__ExclusiveGatewaydefault__DiagnosticChain_Map() {
+ return getExclusiveGateway().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRootElement() {
+ if (rootElementEClass == null) {
+ rootElementEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(27);
+ }
+ return rootElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRootElement_Base_PackageableElement() {
+ return (EReference)getRootElement().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRootElement_Definition() {
+ return (EReference)getRootElement().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDefinitions() {
+ if (definitionsEClass == null) {
+ definitionsEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(28);
+ }
+ return definitionsEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDefinitions_Base_Package() {
+ return (EReference)getDefinitions().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDefinitions_TargetNamespace() {
+ return (EAttribute)getDefinitions().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDefinitions_ExpressionLanguage() {
+ return (EAttribute)getDefinitions().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDefinitions_TypeLanguage() {
+ return (EAttribute)getDefinitions().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDefinitions_Exporter() {
+ return (EAttribute)getDefinitions().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDefinitions_ExporterVersion() {
+ return (EAttribute)getDefinitions().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDefinitions_Extensions() {
+ return (EReference)getDefinitions().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDefinitions_Imports() {
+ return (EReference)getDefinitions().getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDefinitions_Relationships() {
+ return (EReference)getDefinitions().getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDefinitions_RootElements() {
+ return (EReference)getDefinitions().getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBPMNExtension() {
+ if (bpmnExtensionEClass == null) {
+ bpmnExtensionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(29);
+ }
+ return bpmnExtensionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNExtension_Base_Stereotype() {
+ return (EReference)getBPMNExtension().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBPMNExtension_MustUnderstand() {
+ return (EAttribute)getBPMNExtension().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNExtension_Definition() {
+ return (EReference)getBPMNExtension().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImport() {
+ if (importEClass == null) {
+ importEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(30);
+ }
+ return importEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getImport_Base_PackageImport() {
+ return (EReference)getImport().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImport_ImportType() {
+ return (EAttribute)getImport().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImport_Location() {
+ return (EAttribute)getImport().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImport_Namespace() {
+ return (EAttribute)getImport().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getImport_Definitions() {
+ return (EReference)getImport().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBPMNRelationship() {
+ if (bpmnRelationshipEClass == null) {
+ bpmnRelationshipEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(31);
+ }
+ return bpmnRelationshipEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNRelationship_Base_Constraint() {
+ return (EReference)getBPMNRelationship().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBPMNRelationship_Type() {
+ return (EAttribute)getBPMNRelationship().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBPMNRelationship_Direction() {
+ return (EAttribute)getBPMNRelationship().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNRelationship_Targets() {
+ return (EReference)getBPMNRelationship().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNRelationship_Sources() {
+ return (EReference)getBPMNRelationship().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNRelationship_Definition() {
+ return (EReference)getBPMNRelationship().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBPMNProcess() {
+ if (bpmnProcessEClass == null) {
+ bpmnProcessEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(33);
+ }
+ return bpmnProcessEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBPMNProcess_ProcessType() {
+ return (EAttribute)getBPMNProcess().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBPMNProcess_IsClosed() {
+ return (EAttribute)getBPMNProcess().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNProcess_Auditing() {
+ return (EReference)getBPMNProcess().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBPMNProcess_IsExecutable() {
+ return (EAttribute)getBPMNProcess().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNProcess_DefinitionalCollaborationRef() {
+ return (EReference)getBPMNProcess().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNProcess_Base_Activity() {
+ return (EReference)getBPMNProcess().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNProcess_CorrelationSubscriptions() {
+ return (EReference)getBPMNProcess().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNProcess_Monitoring() {
+ return (EReference)getBPMNProcess().getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNProcess_Supports() {
+ return (EReference)getBPMNProcess().getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNProcess_Properties() {
+ return (EReference)getBPMNProcess().getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNProcess_Resources() {
+ return (EReference)getBPMNProcess().getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBPMNProcess__ProcesssupportedInterfaceRefs__DiagnosticChain_Map() {
+ return getBPMNProcess().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBPMNProcess__Processsupports__DiagnosticChain_Map() {
+ return getBPMNProcess().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBPMNProcess__Processproperties__DiagnosticChain_Map() {
+ return getBPMNProcess().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBPMNProcess__ProcesslaneSets__DiagnosticChain_Map() {
+ return getBPMNProcess().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBPMNProcess__ProcessflowElements__DiagnosticChain_Map() {
+ return getBPMNProcess().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCallableElement() {
+ if (callableElementEClass == null) {
+ callableElementEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(34);
+ }
+ return callableElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCallableElement_Base_Behavior() {
+ return (EReference)getCallableElement().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCallableElement_IoSpecification() {
+ return (EReference)getCallableElement().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCallableElement_SupportedInterfaceRefs() {
+ return (EReference)getCallableElement().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCallableElement_IoBinding() {
+ return (EReference)getCallableElement().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCallableElement__CallableEelementsupportedInterfaceRefs__DiagnosticChain_Map() {
+ return getCallableElement().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCallableElement__CallableElementresources__DiagnosticChain_Map() {
+ return getCallableElement().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInputOutputSpecification() {
+ if (inputOutputSpecificationEClass == null) {
+ inputOutputSpecificationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(35);
+ }
+ return inputOutputSpecificationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInputOutputSpecification_Base_Behavior() {
+ return (EReference)getInputOutputSpecification().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInputOutputSpecification_Base_Action() {
+ return (EReference)getInputOutputSpecification().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInputOutputSpecification_DataInputs() {
+ return (EReference)getInputOutputSpecification().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInputOutputSpecification_DataOutputs() {
+ return (EReference)getInputOutputSpecification().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInputOutputSpecification_InputSets() {
+ return (EReference)getInputOutputSpecification().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInputOutputSpecification_OutputSets() {
+ return (EReference)getInputOutputSpecification().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDataInput() {
+ if (dataInputEClass == null) {
+ dataInputEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(36);
+ }
+ return dataInputEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDataInput_IsCollection() {
+ return (EAttribute)getDataInput().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDataInput_Base_InputPin() {
+ return (EReference)getDataInput().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDataInput_Base_Parameter() {
+ return (EReference)getDataInput().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDataInput_Base_ActivityParameterNode() {
+ return (EReference)getDataInput().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDataInput_InputSetRefs() {
+ return (EReference)getDataInput().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDataInput_InputSetWithOptional() {
+ return (EReference)getDataInput().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDataInput_InputSetWithWhileExecuting() {
+ return (EReference)getDataInput().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDataInput__DataInputAssociation__DiagnosticChain_Map() {
+ return getDataInput().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDataInput__DataInputnotation__DiagnosticChain_Map() {
+ return getDataInput().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDataInput__DataInputitemSubjectRef__DiagnosticChain_Map() {
+ return getDataInput().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getItemAwareElement() {
+ if (itemAwareElementEClass == null) {
+ itemAwareElementEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(37);
+ }
+ return itemAwareElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getItemAwareElement_DataState() {
+ return (EReference)getItemAwareElement().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getItemAwareElement_Base_TypedElement() {
+ return (EReference)getItemAwareElement().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getItemAwareElement_ItemSubjectRef() {
+ return (EReference)getItemAwareElement().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getItemAwareElement__ItemAwareElementdataState__DiagnosticChain_Map() {
+ return getItemAwareElement().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDataState() {
+ if (dataStateEClass == null) {
+ dataStateEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(38);
+ }
+ return dataStateEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDataState_Base_State() {
+ return (EReference)getDataState().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getItemDefinition() {
+ if (itemDefinitionEClass == null) {
+ itemDefinitionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(39);
+ }
+ return itemDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getItemDefinition_ItemKind() {
+ return (EAttribute)getItemDefinition().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getItemDefinition_IsCollection() {
+ return (EAttribute)getItemDefinition().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getItemDefinition_Base_Class() {
+ return (EReference)getItemDefinition().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getItemDefinition_StructureRef() {
+ return (EReference)getItemDefinition().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getItemDefinition_Import() {
+ return (EReference)getItemDefinition().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getItemDefinition__ItemDefinitionstructureRef__DiagnosticChain_Map() {
+ return getItemDefinition().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInputSet() {
+ if (inputSetEClass == null) {
+ inputSetEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(41);
+ }
+ return inputSetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInputSet_Base_ParameterSet() {
+ return (EReference)getInputSet().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInputSet_OptionalInputRefs() {
+ return (EReference)getInputSet().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInputSet_WhileExecutingInputRefs() {
+ return (EReference)getInputSet().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInputSet_DataInputRefs() {
+ return (EReference)getInputSet().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInputSet__InputSetdataInputRefs__DiagnosticChain_Map() {
+ return getInputSet().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInputSet__InputSetoptionalInputRefs__DiagnosticChain_Map() {
+ return getInputSet().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getInputSet__InputSetwhileExecutingInputRefs__DiagnosticChain_Map() {
+ return getInputSet().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDataOutput() {
+ if (dataOutputEClass == null) {
+ dataOutputEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(42);
+ }
+ return dataOutputEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDataOutput_Base_OutputPin() {
+ return (EReference)getDataOutput().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDataOutput_IsCollection() {
+ return (EAttribute)getDataOutput().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDataOutput_Base_Parameter() {
+ return (EReference)getDataOutput().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDataOutput_Base_ActivityParameterNode() {
+ return (EReference)getDataOutput().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDataOutput_OutputSetRefs() {
+ return (EReference)getDataOutput().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDataOutput_OutputSetWithOptional() {
+ return (EReference)getDataOutput().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDataOutput_OutputSetWithWhileExecuting() {
+ return (EReference)getDataOutput().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDataOutput__DataOutputnotation__DiagnosticChain_Map() {
+ return getDataOutput().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDataOutput__DataOutputitemSubjectRef__DiagnosticChain_Map() {
+ return getDataOutput().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOutputSet() {
+ if (outputSetEClass == null) {
+ outputSetEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(43);
+ }
+ return outputSetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOutputSet_Base_ParameterSet() {
+ return (EReference)getOutputSet().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOutputSet_OptionalOutputRefs() {
+ return (EReference)getOutputSet().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOutputSet_WhileExecutingOutputRefs() {
+ return (EReference)getOutputSet().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOutputSet_DataOutputRefs() {
+ return (EReference)getOutputSet().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOutputSet__OutputSetdataOutputRefs__DiagnosticChain_Map() {
+ return getOutputSet().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOutputSet__OutputSetoptionalOutputRefs__DiagnosticChain_Map() {
+ return getOutputSet().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getOutputSet__OutputSetwhileExecutingOutputRefs__DiagnosticChain_Map() {
+ return getOutputSet().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBPMNInterface() {
+ if (bpmnInterfaceEClass == null) {
+ bpmnInterfaceEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(44);
+ }
+ return bpmnInterfaceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNInterface_Base_Interface() {
+ return (EReference)getBPMNInterface().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNInterface_ImplementationRef() {
+ return (EReference)getBPMNInterface().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNInterface_Operations() {
+ return (EReference)getBPMNInterface().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNInterface_CallableElements() {
+ return (EReference)getBPMNInterface().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBPMNInterface__Interfaceoperationmultiplicity__DiagnosticChain_Map() {
+ return getBPMNInterface().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBPMNInterface__InterfaceownedOperation__DiagnosticChain_Map() {
+ return getBPMNInterface().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBPMNInterface__BPMNInterfacecallableElements__DiagnosticChain_Map() {
+ return getBPMNInterface().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBPMNInterface__BPMNInterfaceoperations__DiagnosticChain_Map() {
+ return getBPMNInterface().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBPMNOperation() {
+ if (bpmnOperationEClass == null) {
+ bpmnOperationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(45);
+ }
+ return bpmnOperationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNOperation_Base_Operation() {
+ return (EReference)getBPMNOperation().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNOperation_ImplementationRef() {
+ return (EReference)getBPMNOperation().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNOperation_InMessageRef() {
+ return (EReference)getBPMNOperation().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNOperation_OutMessageRef() {
+ return (EReference)getBPMNOperation().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNOperation_ErrorRef() {
+ return (EReference)getBPMNOperation().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBPMNOperation__BPMNOperationowner__DiagnosticChain_Map() {
+ return getBPMNOperation().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBPMNOperation__BPMNOperationinMessageRef__DiagnosticChain_Map() {
+ return getBPMNOperation().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBPMNOperation__BPMNOperationoutMessageRef__DiagnosticChain_Map() {
+ return getBPMNOperation().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBPMNOperation__BPMNOperationerrorRefs__DiagnosticChain_Map() {
+ return getBPMNOperation().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBPMNMessage() {
+ if (bpmnMessageEClass == null) {
+ bpmnMessageEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(46);
+ }
+ return bpmnMessageEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNMessage_ItemRef() {
+ return (EReference)getBPMNMessage().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBPMNMessage__MessageitemRef__DiagnosticChain_Map() {
+ return getBPMNMessage().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getError() {
+ if (errorEClass == null) {
+ errorEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(47);
+ }
+ return errorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getError_ErrorCode() {
+ return (EAttribute)getError().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInputOutputBinding() {
+ if (inputOutputBindingEClass == null) {
+ inputOutputBindingEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(48);
+ }
+ return inputOutputBindingEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInputOutputBinding_InputDataRef() {
+ return (EReference)getInputOutputBinding().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInputOutputBinding_OutputDataRef() {
+ return (EReference)getInputOutputBinding().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInputOutputBinding_OperationRef() {
+ return (EReference)getInputOutputBinding().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInputOutputBinding_Base_Dependency() {
+ return (EReference)getInputOutputBinding().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBPMNCollaboration() {
+ if (bpmnCollaborationEClass == null) {
+ bpmnCollaborationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(50);
+ }
+ return bpmnCollaborationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBPMNCollaboration_IsClosed() {
+ return (EAttribute)getBPMNCollaboration().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNCollaboration_ParticipantAssociations() {
+ return (EReference)getBPMNCollaboration().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNCollaboration_ConversationLinks() {
+ return (EReference)getBPMNCollaboration().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNCollaboration_MessageFlowAssociations() {
+ return (EReference)getBPMNCollaboration().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNCollaboration_MessageFlows() {
+ return (EReference)getBPMNCollaboration().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNCollaboration_Base_Collaboration() {
+ return (EReference)getBPMNCollaboration().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNCollaboration_Conversations() {
+ return (EReference)getBPMNCollaboration().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNCollaboration_CorrelationKeys() {
+ return (EReference)getBPMNCollaboration().getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNCollaboration_Participants() {
+ return (EReference)getBPMNCollaboration().getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBPMNCollaboration__Collaborationparticipants__DiagnosticChain_Map() {
+ return getBPMNCollaboration().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getParticipantAssociation() {
+ if (participantAssociationEClass == null) {
+ participantAssociationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(51);
+ }
+ return participantAssociationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getParticipantAssociation_Base_Dependency() {
+ return (EReference)getParticipantAssociation().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getParticipantAssociation_InnerParticipantRef() {
+ return (EReference)getParticipantAssociation().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getParticipantAssociation_OuterParticipantRef() {
+ return (EReference)getParticipantAssociation().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParticipantAssociation__ParticipantAssociationinnerParticipantRef__DiagnosticChain_Map() {
+ return getParticipantAssociation().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParticipantAssociation__ParticipantAssociationouterParticipantRef__DiagnosticChain_Map() {
+ return getParticipantAssociation().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getParticipant() {
+ if (participantEClass == null) {
+ participantEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(52);
+ }
+ return participantEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getParticipant_Base_Property() {
+ return (EReference)getParticipant().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getParticipant_ProcessRef() {
+ return (EReference)getParticipant().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getParticipant_ParticipantMultiplicity() {
+ return (EReference)getParticipant().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getParticipant_PartnerEntityRef() {
+ return (EReference)getParticipant().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getParticipant_PartnerRoleRef() {
+ return (EReference)getParticipant().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getParticipant_InterfaceRefs() {
+ return (EReference)getParticipant().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParticipant__Participantownership__DiagnosticChain_Map() {
+ return getParticipant().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParticipant__Participanttype__DiagnosticChain_Map() {
+ return getParticipant().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParticipant__ParticipantmultiplicityMinimum__DiagnosticChain_Map() {
+ return getParticipant().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParticipant__Participantrealizationsupplier__DiagnosticChain_Map() {
+ return getParticipant().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParticipant__ParticipantprocessRef__DiagnosticChain_Map() {
+ return getParticipant().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParticipant__ParticipantmultiplicityMaximum__DiagnosticChain_Map() {
+ return getParticipant().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParticipant__ParticipantpartnerEntityRef__DiagnosticChain_Map() {
+ return getParticipant().getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParticipant__ParticipantpartnerRoleRef__DiagnosticChain_Map() {
+ return getParticipant().getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getParticipant__ParticipantinterfaceRefs__DiagnosticChain_Map() {
+ return getParticipant().getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInteractionNode() {
+ if (interactionNodeEClass == null) {
+ interactionNodeEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(53);
+ }
+ return interactionNodeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInteractionNode_Base_Element() {
+ return (EReference)getInteractionNode().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInteractionNode_OutgoingConversationLinks() {
+ return (EReference)getInteractionNode().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInteractionNode_IncomingConversationLinks() {
+ return (EReference)getInteractionNode().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConversationLink() {
+ if (conversationLinkEClass == null) {
+ conversationLinkEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(54);
+ }
+ return conversationLinkEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConversationLink_Collaboration() {
+ return (EReference)getConversationLink().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConversationLink_Base_Dependency() {
+ return (EReference)getConversationLink().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConversationLink_TargetRef() {
+ return (EReference)getConversationLink().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConversationLink_SourceRef() {
+ return (EReference)getConversationLink().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getParticipantMultiplicity() {
+ if (participantMultiplicityEClass == null) {
+ participantMultiplicityEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(55);
+ }
+ return participantMultiplicityEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getParticipantMultiplicity_Base_MultiplicityElement() {
+ return (EReference)getParticipantMultiplicity().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getParticipantMultiplicity_Minimum() {
+ return (EAttribute)getParticipantMultiplicity().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getParticipantMultiplicity_Maximum() {
+ return (EAttribute)getParticipantMultiplicity().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPartnerEntity() {
+ if (partnerEntityEClass == null) {
+ partnerEntityEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(56);
+ }
+ return partnerEntityEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPartnerEntity_Base_InstanceSpecification() {
+ return (EReference)getPartnerEntity().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPartnerEntity_ParticipantRef() {
+ return (EReference)getPartnerEntity().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPartnerEntity__PartnerEntityparticipantRef__DiagnosticChain_Map() {
+ return getPartnerEntity().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPartnerRole() {
+ if (partnerRoleEClass == null) {
+ partnerRoleEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(57);
+ }
+ return partnerRoleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPartnerRole_Base_Class() {
+ return (EReference)getPartnerRole().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPartnerRole_ParticipantRef() {
+ return (EReference)getPartnerRole().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getPartnerRole__PartnerRoleparticipantRef__DiagnosticChain_Map() {
+ return getPartnerRole().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMessageFlowAssociation() {
+ if (messageFlowAssociationEClass == null) {
+ messageFlowAssociationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(58);
+ }
+ return messageFlowAssociationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMessageFlowAssociation_Base_Dependency() {
+ return (EReference)getMessageFlowAssociation().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMessageFlowAssociation_InnerMessageFlowRef() {
+ return (EReference)getMessageFlowAssociation().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMessageFlowAssociation_OuterMessageFlowRef() {
+ return (EReference)getMessageFlowAssociation().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMessageFlowAssociation__MessageFlowAssociationinnerMessageFlowRef__DiagnosticChain_Map() {
+ return getMessageFlowAssociation().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMessageFlowAssociation__MessageFlowAssociationouterMessageFlowRef__DiagnosticChain_Map() {
+ return getMessageFlowAssociation().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMessageFlow() {
+ if (messageFlowEClass == null) {
+ messageFlowEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(59);
+ }
+ return messageFlowEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMessageFlow_Base_InformationFlow() {
+ return (EReference)getMessageFlow().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMessageFlow_SourceRef() {
+ return (EReference)getMessageFlow().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMessageFlow_TargetRef() {
+ return (EReference)getMessageFlow().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMessageFlow_MessageRef() {
+ return (EReference)getMessageFlow().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMessageFlow__MessageFlowsourceRef__DiagnosticChain_Map() {
+ return getMessageFlow().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMessageFlow__MessageFlowtargetRef__DiagnosticChain_Map() {
+ return getMessageFlow().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMessageFlow__MessageFlowmessageRef__DiagnosticChain_Map() {
+ return getMessageFlow().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConversationNode() {
+ if (conversationNodeEClass == null) {
+ conversationNodeEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(60);
+ }
+ return conversationNodeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConversationNode_Base_InformationFlow() {
+ return (EReference)getConversationNode().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConversationNode_MessageFlowRefs() {
+ return (EReference)getConversationNode().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConversationNode_CorrelationKeys() {
+ return (EReference)getConversationNode().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConversationNode_ParticipantRefs() {
+ return (EReference)getConversationNode().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getConversationNode__ConversationNodeparticipantRefs__DiagnosticChain_Map() {
+ return getConversationNode().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCorrelationKey() {
+ if (correlationKeyEClass == null) {
+ correlationKeyEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(61);
+ }
+ return correlationKeyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCorrelationKey_Base_Class() {
+ return (EReference)getCorrelationKey().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCorrelationKey_CorrelationPropertyRef() {
+ return (EReference)getCorrelationKey().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCorrelationProperty() {
+ if (correlationPropertyEClass == null) {
+ correlationPropertyEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(62);
+ }
+ return correlationPropertyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCorrelationProperty_Base_Property() {
+ return (EReference)getCorrelationProperty().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCorrelationProperty_Type() {
+ return (EReference)getCorrelationProperty().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCorrelationProperty_CorrelationPropertyRetrievalExpression() {
+ return (EReference)getCorrelationProperty().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCorrelationPropertyRetrievalExpression() {
+ if (correlationPropertyRetrievalExpressionEClass == null) {
+ correlationPropertyRetrievalExpressionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(63);
+ }
+ return correlationPropertyRetrievalExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCorrelationPropertyRetrievalExpression_Base_Dependency() {
+ return (EReference)getCorrelationPropertyRetrievalExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCorrelationPropertyRetrievalExpression_MessageRef() {
+ return (EReference)getCorrelationPropertyRetrievalExpression().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCorrelationPropertyRetrievalExpression_MessagePath() {
+ return (EReference)getCorrelationPropertyRetrievalExpression().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFormalExpression() {
+ if (formalExpressionEClass == null) {
+ formalExpressionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(64);
+ }
+ return formalExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFormalExpression_EvaluatesToTypeRef() {
+ return (EReference)getFormalExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getFormalExpression__FormalExpressionevaluatesToTypeRef__DiagnosticChain_Map() {
+ return getFormalExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCorrelationSubscription() {
+ if (correlationSubscriptionEClass == null) {
+ correlationSubscriptionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(65);
+ }
+ return correlationSubscriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCorrelationSubscription_Base_Class() {
+ return (EReference)getCorrelationSubscription().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCorrelationSubscription_CorrelationKeyRef() {
+ return (EReference)getCorrelationSubscription().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCorrelationSubscription_CorrelationPropertyBinding() {
+ return (EReference)getCorrelationSubscription().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCorrelationPropertyBinding() {
+ if (correlationPropertyBindingEClass == null) {
+ correlationPropertyBindingEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(66);
+ }
+ return correlationPropertyBindingEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCorrelationPropertyBinding_Base_Property() {
+ return (EReference)getCorrelationPropertyBinding().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCorrelationPropertyBinding_DataPath() {
+ return (EReference)getCorrelationPropertyBinding().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCorrelationPropertyBinding_CorrelationPropertyRef() {
+ return (EReference)getCorrelationPropertyBinding().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBPMNProperty() {
+ if (bpmnPropertyEClass == null) {
+ bpmnPropertyEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(67);
+ }
+ return bpmnPropertyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNProperty_Base_DataStoreNode() {
+ return (EReference)getBPMNProperty().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNProperty_UmlProperty() {
+ return (EReference)getBPMNProperty().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBPMNProperty__Propertynotation__DiagnosticChain_Map() {
+ return getBPMNProperty().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBPMNProperty__BPMNPropertyapply__DiagnosticChain_Map() {
+ return getBPMNProperty().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getResourceRole() {
+ if (resourceRoleEClass == null) {
+ resourceRoleEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(68);
+ }
+ return resourceRoleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getResourceRole_Base_Property() {
+ return (EReference)getResourceRole().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getResourceRole_ResourceAssignmentExpression() {
+ return (EReference)getResourceRole().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getResourceRole_ResourceRef() {
+ return (EReference)getResourceRole().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getResourceRole_ResourceParameterBindings() {
+ return (EReference)getResourceRole().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getResourceRole_Process() {
+ return (EReference)getResourceRole().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getResourceRole__ResourceRoleowner__DiagnosticChain_Map() {
+ return getResourceRole().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getResourceRole__ResourceRoleresourceRef__DiagnosticChain_Map() {
+ return getResourceRole().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getResourceRole__ResourceRoleisRequired__DiagnosticChain_Map() {
+ return getResourceRole().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getResourceRole__ResourceRoleprocess__DiagnosticChain_Map() {
+ return getResourceRole().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getResourceRole__ResourceRoleresourceParameterBindings__DiagnosticChain_Map() {
+ return getResourceRole().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getResourceAssignmentExpression() {
+ if (resourceAssignmentExpressionEClass == null) {
+ resourceAssignmentExpressionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(69);
+ }
+ return resourceAssignmentExpressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getResourceAssignmentExpression_Expression() {
+ return (EReference)getResourceAssignmentExpression().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getResourceAssignmentExpression__ResourceAssignmentExpressionexpression__DiagnosticChain_Map() {
+ return getResourceAssignmentExpression().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getResource() {
+ if (resourceEClass == null) {
+ resourceEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(70);
+ }
+ return resourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getResource_ResourceParameters() {
+ return (EReference)getResource().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getResource__ResourceresourceParameters__DiagnosticChain_Map() {
+ return getResource().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getResourceParameter() {
+ if (resourceParameterEClass == null) {
+ resourceParameterEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(71);
+ }
+ return resourceParameterEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getResourceParameter_Base_Property() {
+ return (EReference)getResourceParameter().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getResourceParameter_Type() {
+ return (EReference)getResourceParameter().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getResourceParameter_IsRequired() {
+ return (EAttribute)getResourceParameter().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getResourceParameter__ResourceParameterowner__DiagnosticChain_Map() {
+ return getResourceParameter().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getResourceParameter__ResourceParametertype__DiagnosticChain_Map() {
+ return getResourceParameter().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getResourceParameter__ResourceParameterisRequired__DiagnosticChain_Map() {
+ return getResourceParameter().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getResourceParameterBinding() {
+ if (resourceParameterBindingEClass == null) {
+ resourceParameterBindingEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(72);
+ }
+ return resourceParameterBindingEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getResourceParameterBinding_Base_Slot() {
+ return (EReference)getResourceParameterBinding().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getResourceParameterBinding_ParameterRef() {
+ return (EReference)getResourceParameterBinding().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getResourceParameterBinding_Expression() {
+ return (EReference)getResourceParameterBinding().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getResourceParameterBinding__ResourceParameterBindingexpression__DiagnosticChain_Map() {
+ return getResourceParameterBinding().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getResourceParameterBinding__ResourceParameterBindingparameterRef__DiagnosticChain_Map() {
+ return getResourceParameterBinding().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGlobalScriptTask() {
+ if (globalScriptTaskEClass == null) {
+ globalScriptTaskEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(73);
+ }
+ return globalScriptTaskEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGlobalScriptTask_Script() {
+ return (EAttribute)getGlobalScriptTask().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGlobalScriptTask_ScriptFormat() {
+ return (EAttribute)getGlobalScriptTask().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getGlobalScriptTask__GlobalScriptTaskscriptFormat__DiagnosticChain_Map() {
+ return getGlobalScriptTask().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getGlobalScriptTask__GlobalScriptTaskscript__DiagnosticChain_Map() {
+ return getGlobalScriptTask().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGlobalTask() {
+ if (globalTaskEClass == null) {
+ globalTaskEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(74);
+ }
+ return globalTaskEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGlobalTask_Base_OpaqueBehavior() {
+ return (EReference)getGlobalTask().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGlobalTask_Resources() {
+ return (EReference)getGlobalTask().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getGlobalTask__GlobalTasksupportedInterfaceRefs__DiagnosticChain_Map() {
+ return getGlobalTask().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGlobalBusinessRuleTask() {
+ if (globalBusinessRuleTaskEClass == null) {
+ globalBusinessRuleTaskEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(75);
+ }
+ return globalBusinessRuleTaskEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGlobalBusinessRuleTask_Implementation() {
+ return (EAttribute)getGlobalBusinessRuleTask().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getGlobalBusinessRuleTask__GlobalBusinessRuleTaskimplementation__DiagnosticChain_Map() {
+ return getGlobalBusinessRuleTask().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCompensateEventDefinition() {
+ if (compensateEventDefinitionEClass == null) {
+ compensateEventDefinitionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(76);
+ }
+ return compensateEventDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCompensateEventDefinition_WaitForCompletion() {
+ return (EAttribute)getCompensateEventDefinition().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCompensateEventDefinition_ActivityRef() {
+ return (EReference)getCompensateEventDefinition().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCompensateEventDefinition_Base_CallEvent() {
+ return (EReference)getCompensateEventDefinition().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEventDefinition() {
+ if (eventDefinitionEClass == null) {
+ eventDefinitionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(77);
+ }
+ return eventDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEventDefinition_Base_Event() {
+ return (EReference)getEventDefinition().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBPMNActivity() {
+ if (bpmnActivityEClass == null) {
+ bpmnActivityEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(78);
+ }
+ return bpmnActivityEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBPMNActivity_IsForCompensation() {
+ return (EAttribute)getBPMNActivity().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBPMNActivity_StartQuantity() {
+ return (EAttribute)getBPMNActivity().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBPMNActivity_CompletionQuantity() {
+ return (EAttribute)getBPMNActivity().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNActivity_Base_Action() {
+ return (EReference)getBPMNActivity().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNActivity_ActivityClass() {
+ return (EReference)getBPMNActivity().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNActivity_Properties() {
+ return (EReference)getBPMNActivity().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNActivity_Default() {
+ return (EReference)getBPMNActivity().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNActivity_BoundaryEventRefs() {
+ return (EReference)getBPMNActivity().getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNActivity_DataInputAssociations() {
+ return (EReference)getBPMNActivity().getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNActivity_DataOutputAssociations() {
+ return (EReference)getBPMNActivity().getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNActivity_LoopCharacteristics() {
+ return (EReference)getBPMNActivity().getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNActivity_Resources() {
+ return (EReference)getBPMNActivity().getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBPMNActivity__BPMNActivityresources__DiagnosticChain_Map() {
+ return getBPMNActivity().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBPMNActivity__BPMNActivitycontainer__DiagnosticChain_Map() {
+ return getBPMNActivity().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBPMNActivity__BPMNActivityproperties__DiagnosticChain_Map() {
+ return getBPMNActivity().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBPMNActivity__BPMNActivitydefault__DiagnosticChain_Map() {
+ return getBPMNActivity().getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBPMNActivity__BPMNActivityboundaryEventsRefs__DiagnosticChain_Map() {
+ return getBPMNActivity().getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBPMNActivity__BPMNActivityloopCharacteristics__DiagnosticChain_Map() {
+ return getBPMNActivity().getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBoundaryEvent() {
+ if (boundaryEventEClass == null) {
+ boundaryEventEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(79);
+ }
+ return boundaryEventEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBoundaryEvent_CancelActivity() {
+ return (EAttribute)getBoundaryEvent().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBoundaryEvent_AttachedToRef() {
+ return (EReference)getBoundaryEvent().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBoundaryEvent__BoundaryEventattachedToRef__DiagnosticChain_Map() {
+ return getBoundaryEvent().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCatchEvent() {
+ if (catchEventEClass == null) {
+ catchEventEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(80);
+ }
+ return catchEventEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCatchEvent_ParallelMultiple() {
+ return (EAttribute)getCatchEvent().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCatchEvent_Base_AcceptEventAction() {
+ return (EReference)getCatchEvent().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCatchEvent_Base_InitialNode() {
+ return (EReference)getCatchEvent().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCatchEvent_DataOutputAssociation() {
+ return (EReference)getCatchEvent().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCatchEvent__CatchEventeventDefinitionsRefs__DiagnosticChain_Map() {
+ return getCatchEvent().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBPMNEvent() {
+ if (bpmnEventEClass == null) {
+ bpmnEventEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(81);
+ }
+ return bpmnEventEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNEvent_EventClass() {
+ return (EReference)getBPMNEvent().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNEvent__eventDefinitions() {
+ return (EReference)getBPMNEvent().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNEvent_Properties() {
+ return (EReference)getBPMNEvent().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBPMNEvent_EventDefinitionRefs() {
+ return (EReference)getBPMNEvent().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDataOutputAssociation() {
+ if (dataOutputAssociationEClass == null) {
+ dataOutputAssociationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(82);
+ }
+ return dataOutputAssociationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDataOutputAssociation__DataOutputAssociationsource__DiagnosticChain_Map() {
+ return getDataOutputAssociation().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDataOutputAssociation__DataOutputAssociationtarget__DiagnosticChain_Map() {
+ return getDataOutputAssociation().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDataAssociation() {
+ if (dataAssociationEClass == null) {
+ dataAssociationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(83);
+ }
+ return dataAssociationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDataAssociation_Base_ObjectFlow() {
+ return (EReference)getDataAssociation().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDataAssociation_SourceRef() {
+ return (EReference)getDataAssociation().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDataAssociation_TargetRef() {
+ return (EReference)getDataAssociation().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDataAssociation_Transformation() {
+ return (EReference)getDataAssociation().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDataAssociation_Assignment() {
+ return (EReference)getDataAssociation().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDataAssociation__DataAssociationsource__DiagnosticChain_Map() {
+ return getDataAssociation().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDataAssociation__DataAssociationtransformation__DiagnosticChain_Map() {
+ return getDataAssociation().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDataAssociation__DataAssociationtarget__DiagnosticChain_Map() {
+ return getDataAssociation().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAssignment() {
+ if (assignmentEClass == null) {
+ assignmentEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(84);
+ }
+ return assignmentEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAssignment_Base_Dependency() {
+ return (EReference)getAssignment().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAssignment_From() {
+ return (EReference)getAssignment().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAssignment_To() {
+ return (EReference)getAssignment().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDataInputAssociation() {
+ if (dataInputAssociationEClass == null) {
+ dataInputAssociationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(85);
+ }
+ return dataInputAssociationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDataInputAssociation__DataInputAssociationsource__DiagnosticChain_Map() {
+ return getDataInputAssociation().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDataInputAssociation__DataInputAssociationtarget__DiagnosticChain_Map() {
+ return getDataInputAssociation().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLoopCharacteristics() {
+ if (loopCharacteristicsEClass == null) {
+ loopCharacteristicsEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(86);
+ }
+ return loopCharacteristicsEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLoopCharacteristics_Base_StructuredActivityNode() {
+ return (EReference)getLoopCharacteristics().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEscalationEventDefinition() {
+ if (escalationEventDefinitionEClass == null) {
+ escalationEventDefinitionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(87);
+ }
+ return escalationEventDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEscalationEventDefinition_EscalationRef() {
+ return (EReference)getEscalationEventDefinition().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEscalationEventDefinition_Base_CallEvent() {
+ return (EReference)getEscalationEventDefinition().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEscalation() {
+ if (escalationEClass == null) {
+ escalationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(88);
+ }
+ return escalationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getEscalation_EscalationCode() {
+ return (EAttribute)getEscalation().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getEscalation__EscalationstructureRef__DiagnosticChain_Map() {
+ return getEscalation().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTimerEventDefinition() {
+ if (timerEventDefinitionEClass == null) {
+ timerEventDefinitionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(89);
+ }
+ return timerEventDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTimerEventDefinition_TimeCycle() {
+ return (EReference)getTimerEventDefinition().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTimerEventDefinition_TimeDate() {
+ return (EReference)getTimerEventDefinition().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTimerEventDefinition_TimeDuration() {
+ return (EReference)getTimerEventDefinition().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTimerEventDefinition_Base_ChangeEvent() {
+ return (EReference)getTimerEventDefinition().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSignalEventDefinition() {
+ if (signalEventDefinitionEClass == null) {
+ signalEventDefinitionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(90);
+ }
+ return signalEventDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSignalEventDefinition_SignalRef() {
+ return (EReference)getSignalEventDefinition().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSignalEventDefinition_Base_CallEvent() {
+ return (EReference)getSignalEventDefinition().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBPMNSignal() {
+ if (bpmnSignalEClass == null) {
+ bpmnSignalEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(91);
+ }
+ return bpmnSignalEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBPMNSignal__BPMNSignalstructureRef__DiagnosticChain_Map() {
+ return getBPMNSignal().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEndEvent() {
+ if (endEventEClass == null) {
+ endEventEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(92);
+ }
+ return endEventEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEndEvent_Base_FinalNode() {
+ return (EReference)getEndEvent().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getThrowEvent() {
+ if (throwEventEClass == null) {
+ throwEventEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(93);
+ }
+ return throwEventEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getThrowEvent_Base_CallOperationAction() {
+ return (EReference)getThrowEvent().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getThrowEvent_Base_FlowFinalNode() {
+ return (EReference)getThrowEvent().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getThrowEvent_DataInputAssociation() {
+ return (EReference)getThrowEvent().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getThrowEvent__ThrowEventeventDefinitionRefs__DiagnosticChain_Map() {
+ return getThrowEvent().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMessageEventDefinition() {
+ if (messageEventDefinitionEClass == null) {
+ messageEventDefinitionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(94);
+ }
+ return messageEventDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMessageEventDefinition_MessageRef() {
+ return (EReference)getMessageEventDefinition().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMessageEventDefinition_OperationRef() {
+ return (EReference)getMessageEventDefinition().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMessageEventDefinition_Base_CallEvent() {
+ return (EReference)getMessageEventDefinition().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStartEvent() {
+ if (startEventEClass == null) {
+ startEventEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(95);
+ }
+ return startEventEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getStartEvent_IsInterrupting() {
+ return (EAttribute)getStartEvent().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConditionalEventDefinition() {
+ if (conditionalEventDefinitionEClass == null) {
+ conditionalEventDefinitionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(96);
+ }
+ return conditionalEventDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConditionalEventDefinition_Base_ChangeEvent() {
+ return (EReference)getConditionalEventDefinition().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConditionalEventDefinition_Condition() {
+ return (EReference)getConditionalEventDefinition().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getConditionalEventDefinition__ConditionalEventDefinitioncondition__DiagnosticChain_Map() {
+ return getConditionalEventDefinition().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLinkEventDefinition() {
+ if (linkEventDefinitionEClass == null) {
+ linkEventDefinitionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(97);
+ }
+ return linkEventDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLinkEventDefinition__target() {
+ return (EReference)getLinkEventDefinition().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLinkEventDefinition_Source() {
+ return (EReference)getLinkEventDefinition().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLinkEventDefinition_Base_CallEvent() {
+ return (EReference)getLinkEventDefinition().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getErrorEventDefinition() {
+ if (errorEventDefinitionEClass == null) {
+ errorEventDefinitionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(98);
+ }
+ return errorEventDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getErrorEventDefinition_ErrorRef() {
+ return (EReference)getErrorEventDefinition().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getErrorEventDefinition_Base_CallEvent() {
+ return (EReference)getErrorEventDefinition().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getIntermediateCatchEvent() {
+ if (intermediateCatchEventEClass == null) {
+ intermediateCatchEventEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(99);
+ }
+ return intermediateCatchEventEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getIntermediateThrowEvent() {
+ if (intermediateThrowEventEClass == null) {
+ intermediateThrowEventEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(100);
+ }
+ return intermediateThrowEventEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getIntermediateThrowEvent_Base_SendObjectAction() {
+ return (EReference)getIntermediateThrowEvent().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTerminateEventDefinition() {
+ if (terminateEventDefinitionEClass == null) {
+ terminateEventDefinitionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(101);
+ }
+ return terminateEventDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTerminateEventDefinition_Base_CallEvent() {
+ return (EReference)getTerminateEventDefinition().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImplicitThrowEvent() {
+ if (implicitThrowEventEClass == null) {
+ implicitThrowEventEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(102);
+ }
+ return implicitThrowEventEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCancelEventDefinition() {
+ if (cancelEventDefinitionEClass == null) {
+ cancelEventDefinitionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(103);
+ }
+ return cancelEventDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCancelEventDefinition_Base_CallEvent() {
+ return (EReference)getCancelEventDefinition().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTextAnnotation() {
+ if (textAnnotationEClass == null) {
+ textAnnotationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(104);
+ }
+ return textAnnotationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTextAnnotation_Base_Comment() {
+ return (EReference)getTextAnnotation().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTextAnnotation_TextFormat() {
+ return (EAttribute)getTextAnnotation().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTextAnnotation_Text() {
+ return (EAttribute)getTextAnnotation().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCategory() {
+ if (categoryEClass == null) {
+ categoryEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(105);
+ }
+ return categoryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCategory_Base_Enumeration() {
+ return (EReference)getCategory().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCategory_CategoryValue() {
+ return (EReference)getCategory().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGroup() {
+ if (groupEClass == null) {
+ groupEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(106);
+ }
+ return groupEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGroup_Base_ActivityPartition() {
+ return (EReference)getGroup().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGroup__categoryValueRef() {
+ return (EReference)getGroup().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDataObjectReference() {
+ if (dataObjectReferenceEClass == null) {
+ dataObjectReferenceEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(107);
+ }
+ return dataObjectReferenceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDataObjectReference_DataObjectRef() {
+ return (EReference)getDataObjectReference().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDataObjectReference_Base_DataStoreNode() {
+ return (EReference)getDataObjectReference().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDataObjectReference__DataObjectRefsourcetarget__DiagnosticChain_Map() {
+ return getDataObjectReference().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDataObjectReference__DataObjectRefdataState__DiagnosticChain_Map() {
+ return getDataObjectReference().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDataObject() {
+ if (dataObjectEClass == null) {
+ dataObjectEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(108);
+ }
+ return dataObjectEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDataObject_IsCollection() {
+ return (EAttribute)getDataObject().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDataObject_Base_DataStoreNode() {
+ return (EReference)getDataObject().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getDataObject__DataObjectdataState__DiagnosticChain_Map() {
+ return getDataObject().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDataStore() {
+ if (dataStoreEClass == null) {
+ dataStoreEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(109);
+ }
+ return dataStoreEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDataStore_Capacity() {
+ return (EAttribute)getDataStore().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDataStore_IsUnlimited() {
+ return (EAttribute)getDataStore().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDataStore_Base_Class() {
+ return (EReference)getDataStore().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDataStore_ItemSubjectRef() {
+ return (EReference)getDataStore().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDataStoreReference() {
+ if (dataStoreReferenceEClass == null) {
+ dataStoreReferenceEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(110);
+ }
+ return dataStoreReferenceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDataStoreReference__dataStore() {
+ return (EReference)getDataStoreReference().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDataStoreReference_Base_DataStoreNode() {
+ return (EReference)getDataStoreReference().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getUserTask() {
+ if (userTaskEClass == null) {
+ userTaskEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(111);
+ }
+ return userTaskEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUserTask_Base_OpaqueAction() {
+ return (EReference)getUserTask().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getUserTask_Implementation() {
+ return (EAttribute)getUserTask().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getUserTask_Renderings() {
+ return (EReference)getUserTask().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getUserTask__UserTaskimplementation__DiagnosticChain_Map() {
+ return getUserTask().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getUserTask__UserTaskrenderings__DiagnosticChain_Map() {
+ return getUserTask().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTask() {
+ if (taskEClass == null) {
+ taskEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(112);
+ }
+ return taskEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTask_IoSpecification() {
+ return (EReference)getTask().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRendering() {
+ if (renderingEClass == null) {
+ renderingEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(113);
+ }
+ return renderingEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRendering_Base_Image() {
+ return (EReference)getRendering().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHumanPerformer() {
+ if (humanPerformerEClass == null) {
+ humanPerformerEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(114);
+ }
+ return humanPerformerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPerformer() {
+ if (performerEClass == null) {
+ performerEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(115);
+ }
+ return performerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGlobalUserTask() {
+ if (globalUserTaskEClass == null) {
+ globalUserTaskEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(116);
+ }
+ return globalUserTaskEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGlobalUserTask_Implementation() {
+ return (EAttribute)getGlobalUserTask().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGlobalUserTask_Renderings() {
+ return (EReference)getGlobalUserTask().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getGlobalUserTask__GlobalUserTaskrenderings__DiagnosticChain_Map() {
+ return getGlobalUserTask().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getGlobalUserTask__GlobalUserTaskimplementation__DiagnosticChain_Map() {
+ return getGlobalUserTask().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGlobalManualTask() {
+ if (globalManualTaskEClass == null) {
+ globalManualTaskEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(117);
+ }
+ return globalManualTaskEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getManualTask() {
+ if (manualTaskEClass == null) {
+ manualTaskEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(118);
+ }
+ return manualTaskEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getManualTask_Base_OpaqueAction() {
+ return (EReference)getManualTask().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPotentialOwner() {
+ if (potentialOwnerEClass == null) {
+ potentialOwnerEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(119);
+ }
+ return potentialOwnerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSubConversation() {
+ if (subConversationEClass == null) {
+ subConversationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(120);
+ }
+ return subConversationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSubConversation_ConversationNodes() {
+ return (EReference)getSubConversation().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getSubConversation__SubConversationconnectedelements__DiagnosticChain_Map() {
+ return getSubConversation().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGlobalConversation() {
+ if (globalConversationEClass == null) {
+ globalConversationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(121);
+ }
+ return globalConversationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getGlobalConversation__GlobalConversationcontainedelements__DiagnosticChain_Map() {
+ return getGlobalConversation().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCallConversation() {
+ if (callConversationEClass == null) {
+ callConversationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(122);
+ }
+ return callConversationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCallConversation__collaborationUse() {
+ return (EReference)getCallConversation().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCallConversation_CalledCollaborationRef() {
+ return (EReference)getCallConversation().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCallConversation_ParticipantAssociations() {
+ return (EReference)getCallConversation().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCallConversation__CallConversationcalledCollaborationRef__DiagnosticChain_Map() {
+ return getCallConversation().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCallConversation__CallConversationparticipantAssociations__DiagnosticChain_Map() {
+ return getCallConversation().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConversation() {
+ if (conversationEClass == null) {
+ conversationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(123);
+ }
+ return conversationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSubProcess() {
+ if (subProcessEClass == null) {
+ subProcessEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(124);
+ }
+ return subProcessEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSubProcess_TriggeredByEvent() {
+ return (EAttribute)getSubProcess().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSubProcess_Base_StructuredActivityNode() {
+ return (EReference)getSubProcess().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSubProcess_HasLaneSets() {
+ return (EReference)getSubProcess().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getSubProcess__SubProcesstriggeredByEvent__DiagnosticChain_Map() {
+ return getSubProcess().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCallActivity() {
+ if (callActivityEClass == null) {
+ callActivityEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(125);
+ }
+ return callActivityEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCallActivity_Base_CallBehaviorAction() {
+ return (EReference)getCallActivity().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCallActivity_CalledElementRef() {
+ return (EReference)getCallActivity().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getCallActivity__CallActivitycalledElementRefvalues__DiagnosticChain_Map() {
+ return getCallActivity().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBusinessRuleTask() {
+ if (businessRuleTaskEClass == null) {
+ businessRuleTaskEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(126);
+ }
+ return businessRuleTaskEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBusinessRuleTask_Base_OpaqueAction() {
+ return (EReference)getBusinessRuleTask().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBusinessRuleTask_Implementation() {
+ return (EAttribute)getBusinessRuleTask().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getBusinessRuleTask__BusinessRuleTaskimplementation__DiagnosticChain_Map() {
+ return getBusinessRuleTask().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getComplexBehaviorDefinition() {
+ if (complexBehaviorDefinitionEClass == null) {
+ complexBehaviorDefinitionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(128);
+ }
+ return complexBehaviorDefinitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getComplexBehaviorDefinition_Condition() {
+ return (EReference)getComplexBehaviorDefinition().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getComplexBehaviorDefinition_Event() {
+ return (EReference)getComplexBehaviorDefinition().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getComplexBehaviorDefinition_Base_ControlFlow() {
+ return (EReference)getComplexBehaviorDefinition().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAdHocSubProcess() {
+ if (adHocSubProcessEClass == null) {
+ adHocSubProcessEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(129);
+ }
+ return adHocSubProcessEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAdHocSubProcess_CompletionCondition() {
+ return (EReference)getAdHocSubProcess().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAdHocSubProcess_Ordering() {
+ return (EAttribute)getAdHocSubProcess().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAdHocSubProcess_CancelRemainingInstances() {
+ return (EAttribute)getAdHocSubProcess().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getAdHocSubProcess__AdHocSubProcesscancelRemainingInstances__DiagnosticChain_Map() {
+ return getAdHocSubProcess().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getScriptTask() {
+ if (scriptTaskEClass == null) {
+ scriptTaskEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(130);
+ }
+ return scriptTaskEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getScriptTask_Base_OpaqueAction() {
+ return (EReference)getScriptTask().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getScriptTask_ScriptFormat() {
+ return (EAttribute)getScriptTask().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getScriptTask_Script() {
+ return (EAttribute)getScriptTask().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getScriptTask__ScriptTaskscriptFormat__DiagnosticChain_Map() {
+ return getScriptTask().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getScriptTask__ScriptTaskscript__DiagnosticChain_Map() {
+ return getScriptTask().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSendTask() {
+ if (sendTaskEClass == null) {
+ sendTaskEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(131);
+ }
+ return sendTaskEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSendTask_MessageRef() {
+ return (EReference)getSendTask().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSendTask_Base_CallOperationAction() {
+ return (EReference)getSendTask().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSendTask_Implementation() {
+ return (EAttribute)getSendTask().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSendTask_OperationRef() {
+ return (EReference)getSendTask().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getSendTask__SendTaskoperationRef__DiagnosticChain_Map() {
+ return getSendTask().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTransaction() {
+ if (transactionEClass == null) {
+ transactionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(132);
+ }
+ return transactionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTransaction_Method() {
+ return (EAttribute)getTransaction().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStandardLoopCharacteristics() {
+ if (standardLoopCharacteristicsEClass == null) {
+ standardLoopCharacteristicsEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(133);
+ }
+ return standardLoopCharacteristicsEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getStandardLoopCharacteristics_LoopMaximum() {
+ return (EAttribute)getStandardLoopCharacteristics().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStandardLoopCharacteristics_Base_LoopNode() {
+ return (EReference)getStandardLoopCharacteristics().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getStandardLoopCharacteristics_TestBefore() {
+ return (EAttribute)getStandardLoopCharacteristics().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStandardLoopCharacteristics_LoopCondition() {
+ return (EReference)getStandardLoopCharacteristics().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStandardLoopCharacteristics__StandardLoopCharacteristicstestBefore__DiagnosticChain_Map() {
+ return getStandardLoopCharacteristics().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getStandardLoopCharacteristics__StandardLoopCharacteristicsloopCondition__DiagnosticChain_Map() {
+ return getStandardLoopCharacteristics().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getReceiveTask() {
+ if (receiveTaskEClass == null) {
+ receiveTaskEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(135);
+ }
+ return receiveTaskEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReceiveTask_MessageRef() {
+ return (EReference)getReceiveTask().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReceiveTask_Base_AcceptEventAction() {
+ return (EReference)getReceiveTask().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getReceiveTask_Implementation() {
+ return (EAttribute)getReceiveTask().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getReceiveTask_Instantiate() {
+ return (EAttribute)getReceiveTask().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReceiveTask_OperationRef() {
+ return (EReference)getReceiveTask().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getReceiveTask__ReceiveTaskoperationRef__DiagnosticChain_Map() {
+ return getReceiveTask().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getServiceTask() {
+ if (serviceTaskEClass == null) {
+ serviceTaskEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(136);
+ }
+ return serviceTaskEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getServiceTask_Base_CallOperationAction() {
+ return (EReference)getServiceTask().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getServiceTask_Implementation() {
+ return (EAttribute)getServiceTask().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getServiceTask_OperationRef() {
+ return (EReference)getServiceTask().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getServiceTask__ServiceTaskinputSet__DiagnosticChain_Map() {
+ return getServiceTask().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getServiceTask__ServiceTaskoutputSet__DiagnosticChain_Map() {
+ return getServiceTask().getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getServiceTask__ServiceTaskoperationRef__DiagnosticChain_Map() {
+ return getServiceTask().getEOperations().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMultiInstanceLoopCharacteristics() {
+ if (multiInstanceLoopCharacteristicsEClass == null) {
+ multiInstanceLoopCharacteristicsEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(137);
+ }
+ return multiInstanceLoopCharacteristicsEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMultiInstanceLoopCharacteristics_Behavior() {
+ return (EAttribute)getMultiInstanceLoopCharacteristics().getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMultiInstanceLoopCharacteristics_LoopCardinality() {
+ return (EReference)getMultiInstanceLoopCharacteristics().getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMultiInstanceLoopCharacteristics_CompletionCondition() {
+ return (EReference)getMultiInstanceLoopCharacteristics().getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMultiInstanceLoopCharacteristics_Base_ExpansionRegion() {
+ return (EReference)getMultiInstanceLoopCharacteristics().getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMultiInstanceLoopCharacteristics_IsSequential() {
+ return (EAttribute)getMultiInstanceLoopCharacteristics().getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMultiInstanceLoopCharacteristics_LoopDataInputRef() {
+ return (EReference)getMultiInstanceLoopCharacteristics().getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMultiInstanceLoopCharacteristics_LoopDataOutputRef() {
+ return (EReference)getMultiInstanceLoopCharacteristics().getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMultiInstanceLoopCharacteristics_OutputDataItem() {
+ return (EReference)getMultiInstanceLoopCharacteristics().getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMultiInstanceLoopCharacteristics_InputDataItem() {
+ return (EReference)getMultiInstanceLoopCharacteristics().getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMultiInstanceLoopCharacteristics_OneBehaviorEventRef() {
+ return (EReference)getMultiInstanceLoopCharacteristics().getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMultiInstanceLoopCharacteristics_NoneBehaviorEventRef() {
+ return (EReference)getMultiInstanceLoopCharacteristics().getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMultiInstanceLoopCharacteristics_ComplexBehaviorDefinition() {
+ return (EReference)getMultiInstanceLoopCharacteristics().getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getMultiInstanceLoopCharacteristics__MultiinstanceLoopCharacteristicstarget__DiagnosticChain_Map() {
+ return getMultiInstanceLoopCharacteristics().getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getAssociationDirection() {
+ if (associationDirectionEEnum == null) {
+ associationDirectionEEnum = (EEnum)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(12);
+ }
+ return associationDirectionEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getEventBasedGatewayType() {
+ if (eventBasedGatewayTypeEEnum == null) {
+ eventBasedGatewayTypeEEnum = (EEnum)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(22);
+ }
+ return eventBasedGatewayTypeEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getGatewayDirection() {
+ if (gatewayDirectionEEnum == null) {
+ gatewayDirectionEEnum = (EEnum)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(23);
+ }
+ return gatewayDirectionEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getRelationshipDirection() {
+ if (relationshipDirectionEEnum == null) {
+ relationshipDirectionEEnum = (EEnum)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(32);
+ }
+ return relationshipDirectionEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getItemKind() {
+ if (itemKindEEnum == null) {
+ itemKindEEnum = (EEnum)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(40);
+ }
+ return itemKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getProcessType() {
+ if (processTypeEEnum == null) {
+ processTypeEEnum = (EEnum)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(49);
+ }
+ return processTypeEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getAdHocOrdering() {
+ if (adHocOrderingEEnum == null) {
+ adHocOrderingEEnum = (EEnum)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(127);
+ }
+ return adHocOrderingEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getMultiInstanceBehavior() {
+ if (multiInstanceBehaviorEEnum == null) {
+ multiInstanceBehaviorEEnum = (EEnum)EPackage.Registry.INSTANCE.getEPackage(BPMNProfilePackage.eNS_URI).getEClassifiers().get(134);
+ }
+ return multiInstanceBehaviorEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNProfileFactory getBPMNProfileFactory() {
+ return (BPMNProfileFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isLoaded = false;
+
+ /**
+ * Laods the package and any sub-packages from their serialized form.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void loadPackage() {
+ if (isLoaded) return;
+ isLoaded = true;
+
+ URL url = getClass().getResource(packageFilename);
+ if (url == null) {
+ throw new RuntimeException("Missing serialized package: " + packageFilename);
+ }
+ URI uri = URI.createURI(url.toString());
+ Resource resource = new EcoreResourceFactoryImpl().createResource(uri);
+ try {
+ resource.load(null);
+ }
+ catch (IOException exception) {
+ throw new WrappedException(exception);
+ }
+ initializeFromLoadedEPackage(this, (EPackage)resource.getContents().get(0));
+ createResource(eNS_URI);
+ }
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isFixed = false;
+
+ /**
+ * Fixes up the loaded package, to make it appear as if it had been programmatically built.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void fixPackageContents() {
+ if (isFixed) return;
+ isFixed = true;
+ fixEClassifiers();
+ }
+
+ /**
+ * Sets the instance class on the given classifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void fixInstanceClass(EClassifier eClassifier) {
+ if (eClassifier.getInstanceClassName() == null) {
+ eClassifier.setInstanceClassName("org.eclipse.papyrus.bpmn.BPMNProfile." + eClassifier.getName());
+ setGeneratedClassName(eClassifier);
+ }
+ }
+
+} //BPMNProfilePackageImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNPropertyImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNPropertyImpl.java
new file mode 100644
index 00000000000..e92f3592b41
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNPropertyImpl.java
@@ -0,0 +1,300 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>BPMN Property</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNPropertyImpl#getBase_DataStoreNode <em>Base Data Store Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNPropertyImpl#getUmlProperty <em>Uml Property</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BPMNPropertyImpl extends ItemAwareElementImpl implements BPMNProperty {
+ /**
+ * The cached value of the '{@link #getBase_DataStoreNode() <em>Base Data Store Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_DataStoreNode()
+ * @generated
+ * @ordered
+ */
+ protected DataStoreNode base_DataStoreNode;
+
+ /**
+ * The cached value of the '{@link #getUmlProperty() <em>Uml Property</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUmlProperty()
+ * @generated
+ * @ordered
+ */
+ protected Property umlProperty;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BPMNPropertyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getBPMNProperty();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataStoreNode getBase_DataStoreNode() {
+ if (base_DataStoreNode != null && base_DataStoreNode.eIsProxy()) {
+ InternalEObject oldBase_DataStoreNode = (InternalEObject)base_DataStoreNode;
+ base_DataStoreNode = (DataStoreNode)eResolveProxy(oldBase_DataStoreNode);
+ if (base_DataStoreNode != oldBase_DataStoreNode) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_PROPERTY__BASE_DATA_STORE_NODE, oldBase_DataStoreNode, base_DataStoreNode));
+ }
+ }
+ return base_DataStoreNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataStoreNode basicGetBase_DataStoreNode() {
+ return base_DataStoreNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_DataStoreNode(DataStoreNode newBase_DataStoreNode) {
+ DataStoreNode oldBase_DataStoreNode = base_DataStoreNode;
+ base_DataStoreNode = newBase_DataStoreNode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_PROPERTY__BASE_DATA_STORE_NODE, oldBase_DataStoreNode, base_DataStoreNode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getUmlProperty() {
+ if (umlProperty != null && umlProperty.eIsProxy()) {
+ InternalEObject oldUmlProperty = (InternalEObject)umlProperty;
+ umlProperty = (Property)eResolveProxy(oldUmlProperty);
+ if (umlProperty != oldUmlProperty) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_PROPERTY__UML_PROPERTY, oldUmlProperty, umlProperty));
+ }
+ }
+ return umlProperty;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetUmlProperty() {
+ return umlProperty;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUmlProperty(Property newUmlProperty) {
+ Property oldUmlProperty = umlProperty;
+ umlProperty = newUmlProperty;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_PROPERTY__UML_PROPERTY, oldUmlProperty, umlProperty));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean Propertynotation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.BPMN_PROPERTY__PROPERTYNOTATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "Propertynotation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean BPMNPropertyapply(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.BPMN_PROPERTY__BPMN_PROPERTYAPPLY,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "BPMNPropertyapply", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_PROPERTY__BASE_DATA_STORE_NODE:
+ if (resolve) return getBase_DataStoreNode();
+ return basicGetBase_DataStoreNode();
+ case BPMNProfilePackage.BPMN_PROPERTY__UML_PROPERTY:
+ if (resolve) return getUmlProperty();
+ return basicGetUmlProperty();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_PROPERTY__BASE_DATA_STORE_NODE:
+ setBase_DataStoreNode((DataStoreNode)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_PROPERTY__UML_PROPERTY:
+ setUmlProperty((Property)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_PROPERTY__BASE_DATA_STORE_NODE:
+ setBase_DataStoreNode((DataStoreNode)null);
+ return;
+ case BPMNProfilePackage.BPMN_PROPERTY__UML_PROPERTY:
+ setUmlProperty((Property)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_PROPERTY__BASE_DATA_STORE_NODE:
+ return base_DataStoreNode != null;
+ case BPMNProfilePackage.BPMN_PROPERTY__UML_PROPERTY:
+ return umlProperty != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.BPMN_PROPERTY___PROPERTYNOTATION__DIAGNOSTICCHAIN_MAP:
+ return Propertynotation((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.BPMN_PROPERTY___BPMN_PROPERTYAPPLY__DIAGNOSTICCHAIN_MAP:
+ return BPMNPropertyapply((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //BPMNPropertyImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNRelationshipImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNRelationshipImpl.java
new file mode 100644
index 00000000000..4208127590c
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNRelationshipImpl.java
@@ -0,0 +1,417 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Definitions;
+import org.eclipse.papyrus.bpmn.BPMNProfile.RelationshipDirection;
+
+import org.eclipse.uml2.uml.Constraint;
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>BPMN Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNRelationshipImpl#getBase_Constraint <em>Base Constraint</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNRelationshipImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNRelationshipImpl#getDirection <em>Direction</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNRelationshipImpl#getTargets <em>Targets</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNRelationshipImpl#getSources <em>Sources</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BPMNRelationshipImpl#getDefinition <em>Definition</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BPMNRelationshipImpl extends BaseElementImpl implements BPMNRelationship {
+ /**
+ * The cached value of the '{@link #getBase_Constraint() <em>Base Constraint</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Constraint()
+ * @generated
+ * @ordered
+ */
+ protected Constraint base_Constraint;
+
+ /**
+ * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected static final String TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected String type = TYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDirection() <em>Direction</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDirection()
+ * @generated
+ * @ordered
+ */
+ protected static final RelationshipDirection DIRECTION_EDEFAULT = RelationshipDirection.NONE;
+
+ /**
+ * The cached value of the '{@link #getDirection() <em>Direction</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDirection()
+ * @generated
+ * @ordered
+ */
+ protected RelationshipDirection direction = DIRECTION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getTargets() <em>Targets</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargets()
+ * @generated
+ * @ordered
+ */
+ protected EList<Element> targets;
+
+ /**
+ * The cached value of the '{@link #getSources() <em>Sources</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSources()
+ * @generated
+ * @ordered
+ */
+ protected EList<Element> sources;
+
+ /**
+ * The cached value of the '{@link #getDefinition() <em>Definition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefinition()
+ * @generated
+ * @ordered
+ */
+ protected Definitions definition;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BPMNRelationshipImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getBPMNRelationship();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint getBase_Constraint() {
+ if (base_Constraint != null && base_Constraint.eIsProxy()) {
+ InternalEObject oldBase_Constraint = (InternalEObject)base_Constraint;
+ base_Constraint = (Constraint)eResolveProxy(oldBase_Constraint);
+ if (base_Constraint != oldBase_Constraint) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_RELATIONSHIP__BASE_CONSTRAINT, oldBase_Constraint, base_Constraint));
+ }
+ }
+ return base_Constraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Constraint basicGetBase_Constraint() {
+ return base_Constraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Constraint(Constraint newBase_Constraint) {
+ Constraint oldBase_Constraint = base_Constraint;
+ base_Constraint = newBase_Constraint;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_RELATIONSHIP__BASE_CONSTRAINT, oldBase_Constraint, base_Constraint));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(String newType) {
+ String oldType = type;
+ type = newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_RELATIONSHIP__TYPE, oldType, type));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RelationshipDirection getDirection() {
+ return direction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDirection(RelationshipDirection newDirection) {
+ RelationshipDirection oldDirection = direction;
+ direction = newDirection == null ? DIRECTION_EDEFAULT : newDirection;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_RELATIONSHIP__DIRECTION, oldDirection, direction));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Element> getTargets() {
+ if (targets == null) {
+ targets = new EObjectResolvingEList<Element>(Element.class, this, BPMNProfilePackage.BPMN_RELATIONSHIP__TARGETS);
+ }
+ return targets;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Element> getSources() {
+ if (sources == null) {
+ sources = new EObjectResolvingEList<Element>(Element.class, this, BPMNProfilePackage.BPMN_RELATIONSHIP__SOURCES);
+ }
+ return sources;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Definitions getDefinition() {
+ if (definition != null && definition.eIsProxy()) {
+ InternalEObject oldDefinition = (InternalEObject)definition;
+ definition = (Definitions)eResolveProxy(oldDefinition);
+ if (definition != oldDefinition) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BPMN_RELATIONSHIP__DEFINITION, oldDefinition, definition));
+ }
+ }
+ return definition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Definitions basicGetDefinition() {
+ return definition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDefinition(Definitions newDefinition) {
+ Definitions oldDefinition = definition;
+ definition = newDefinition;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BPMN_RELATIONSHIP__DEFINITION, oldDefinition, definition));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_RELATIONSHIP__BASE_CONSTRAINT:
+ if (resolve) return getBase_Constraint();
+ return basicGetBase_Constraint();
+ case BPMNProfilePackage.BPMN_RELATIONSHIP__TYPE:
+ return getType();
+ case BPMNProfilePackage.BPMN_RELATIONSHIP__DIRECTION:
+ return getDirection();
+ case BPMNProfilePackage.BPMN_RELATIONSHIP__TARGETS:
+ return getTargets();
+ case BPMNProfilePackage.BPMN_RELATIONSHIP__SOURCES:
+ return getSources();
+ case BPMNProfilePackage.BPMN_RELATIONSHIP__DEFINITION:
+ if (resolve) return getDefinition();
+ return basicGetDefinition();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_RELATIONSHIP__BASE_CONSTRAINT:
+ setBase_Constraint((Constraint)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_RELATIONSHIP__TYPE:
+ setType((String)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_RELATIONSHIP__DIRECTION:
+ setDirection((RelationshipDirection)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_RELATIONSHIP__TARGETS:
+ getTargets().clear();
+ getTargets().addAll((Collection<? extends Element>)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_RELATIONSHIP__SOURCES:
+ getSources().clear();
+ getSources().addAll((Collection<? extends Element>)newValue);
+ return;
+ case BPMNProfilePackage.BPMN_RELATIONSHIP__DEFINITION:
+ setDefinition((Definitions)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_RELATIONSHIP__BASE_CONSTRAINT:
+ setBase_Constraint((Constraint)null);
+ return;
+ case BPMNProfilePackage.BPMN_RELATIONSHIP__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ case BPMNProfilePackage.BPMN_RELATIONSHIP__DIRECTION:
+ setDirection(DIRECTION_EDEFAULT);
+ return;
+ case BPMNProfilePackage.BPMN_RELATIONSHIP__TARGETS:
+ getTargets().clear();
+ return;
+ case BPMNProfilePackage.BPMN_RELATIONSHIP__SOURCES:
+ getSources().clear();
+ return;
+ case BPMNProfilePackage.BPMN_RELATIONSHIP__DEFINITION:
+ setDefinition((Definitions)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BPMN_RELATIONSHIP__BASE_CONSTRAINT:
+ return base_Constraint != null;
+ case BPMNProfilePackage.BPMN_RELATIONSHIP__TYPE:
+ return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
+ case BPMNProfilePackage.BPMN_RELATIONSHIP__DIRECTION:
+ return direction != DIRECTION_EDEFAULT;
+ case BPMNProfilePackage.BPMN_RELATIONSHIP__TARGETS:
+ return targets != null && !targets.isEmpty();
+ case BPMNProfilePackage.BPMN_RELATIONSHIP__SOURCES:
+ return sources != null && !sources.isEmpty();
+ case BPMNProfilePackage.BPMN_RELATIONSHIP__DEFINITION:
+ return definition != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (type: ");
+ result.append(type);
+ result.append(", direction: ");
+ result.append(direction);
+ result.append(')');
+ return result.toString();
+ }
+
+} //BPMNRelationshipImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNSignalImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNSignalImpl.java
new file mode 100644
index 00000000000..5629d941722
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BPMNSignalImpl.java
@@ -0,0 +1,92 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNSignal;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>BPMN Signal</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class BPMNSignalImpl extends ItemDefinitionImpl implements BPMNSignal {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BPMNSignalImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getBPMNSignal();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean BPMNSignalstructureRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.BPMN_SIGNAL__BPMN_SIGNALSTRUCTURE_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "BPMNSignalstructureRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.BPMN_SIGNAL___BPMN_SIGNALSTRUCTURE_REF__DIAGNOSTICCHAIN_MAP:
+ return BPMNSignalstructureRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //BPMNSignalImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BaseElementImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BaseElementImpl.java
new file mode 100644
index 00000000000..3295082a54e
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BaseElementImpl.java
@@ -0,0 +1,443 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Documentation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeValue;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionDefinition;
+
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Base Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BaseElementImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BaseElementImpl#getExtensionValues <em>Extension Values</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BaseElementImpl#getBase_Element <em>Base Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BaseElementImpl#getDocumentation <em>Documentation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BaseElementImpl#getExtensionDefinitions <em>Extension Definitions</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BaseElementImpl#getOutgoing <em>Outgoing</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BaseElementImpl#getIncoming <em>Incoming</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class BaseElementImpl extends MinimalEObjectImpl.Container implements BaseElement {
+ /**
+ * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getExtensionValues() <em>Extension Values</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExtensionValues()
+ * @generated
+ * @ordered
+ */
+ protected EList<ExtensionAttributeValue> extensionValues;
+
+ /**
+ * The cached value of the '{@link #getBase_Element() <em>Base Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Element()
+ * @generated
+ * @ordered
+ */
+ protected Element base_Element;
+
+ /**
+ * The cached value of the '{@link #getDocumentation() <em>Documentation</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDocumentation()
+ * @generated
+ * @ordered
+ */
+ protected EList<Documentation> documentation;
+
+ /**
+ * The cached value of the '{@link #getExtensionDefinitions() <em>Extension Definitions</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExtensionDefinitions()
+ * @generated
+ * @ordered
+ */
+ protected EList<ExtensionDefinition> extensionDefinitions;
+
+ /**
+ * The cached value of the '{@link #getOutgoing() <em>Outgoing</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutgoing()
+ * @generated
+ * @ordered
+ */
+ protected EList<BPMNAssociation> outgoing;
+
+ /**
+ * The cached value of the '{@link #getIncoming() <em>Incoming</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIncoming()
+ * @generated
+ * @ordered
+ */
+ protected EList<BPMNAssociation> incoming;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BaseElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getBaseElement();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BASE_ELEMENT__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ExtensionAttributeValue> getExtensionValues() {
+ if (extensionValues == null) {
+ extensionValues = new EObjectResolvingEList<ExtensionAttributeValue>(ExtensionAttributeValue.class, this, BPMNProfilePackage.BASE_ELEMENT__EXTENSION_VALUES);
+ }
+ return extensionValues;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element getBase_Element() {
+ if (base_Element != null && base_Element.eIsProxy()) {
+ InternalEObject oldBase_Element = (InternalEObject)base_Element;
+ base_Element = (Element)eResolveProxy(oldBase_Element);
+ if (base_Element != oldBase_Element) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BASE_ELEMENT__BASE_ELEMENT, oldBase_Element, base_Element));
+ }
+ }
+ return base_Element;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element basicGetBase_Element() {
+ return base_Element;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Element(Element newBase_Element) {
+ Element oldBase_Element = base_Element;
+ base_Element = newBase_Element;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BASE_ELEMENT__BASE_ELEMENT, oldBase_Element, base_Element));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Documentation> getDocumentation() {
+ if (documentation == null) {
+ documentation = new EObjectResolvingEList<Documentation>(Documentation.class, this, BPMNProfilePackage.BASE_ELEMENT__DOCUMENTATION);
+ }
+ return documentation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ExtensionDefinition> getExtensionDefinitions() {
+ if (extensionDefinitions == null) {
+ extensionDefinitions = new EObjectResolvingEList<ExtensionDefinition>(ExtensionDefinition.class, this, BPMNProfilePackage.BASE_ELEMENT__EXTENSION_DEFINITIONS);
+ }
+ return extensionDefinitions;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BPMNAssociation> getOutgoing() {
+ if (outgoing == null) {
+ outgoing = new EObjectWithInverseResolvingEList<BPMNAssociation>(BPMNAssociation.class, this, BPMNProfilePackage.BASE_ELEMENT__OUTGOING, BPMNProfilePackage.BPMN_ASSOCIATION__SOURCE_REF);
+ }
+ return outgoing;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BPMNAssociation> getIncoming() {
+ if (incoming == null) {
+ incoming = new EObjectWithInverseResolvingEList<BPMNAssociation>(BPMNAssociation.class, this, BPMNProfilePackage.BASE_ELEMENT__INCOMING, BPMNProfilePackage.BPMN_ASSOCIATION__TARGET_REF);
+ }
+ return incoming;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.BASE_ELEMENT__OUTGOING:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getOutgoing()).basicAdd(otherEnd, msgs);
+ case BPMNProfilePackage.BASE_ELEMENT__INCOMING:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getIncoming()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.BASE_ELEMENT__OUTGOING:
+ return ((InternalEList<?>)getOutgoing()).basicRemove(otherEnd, msgs);
+ case BPMNProfilePackage.BASE_ELEMENT__INCOMING:
+ return ((InternalEList<?>)getIncoming()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.BASE_ELEMENT__ID:
+ return getId();
+ case BPMNProfilePackage.BASE_ELEMENT__EXTENSION_VALUES:
+ return getExtensionValues();
+ case BPMNProfilePackage.BASE_ELEMENT__BASE_ELEMENT:
+ if (resolve) return getBase_Element();
+ return basicGetBase_Element();
+ case BPMNProfilePackage.BASE_ELEMENT__DOCUMENTATION:
+ return getDocumentation();
+ case BPMNProfilePackage.BASE_ELEMENT__EXTENSION_DEFINITIONS:
+ return getExtensionDefinitions();
+ case BPMNProfilePackage.BASE_ELEMENT__OUTGOING:
+ return getOutgoing();
+ case BPMNProfilePackage.BASE_ELEMENT__INCOMING:
+ return getIncoming();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.BASE_ELEMENT__ID:
+ setId((String)newValue);
+ return;
+ case BPMNProfilePackage.BASE_ELEMENT__EXTENSION_VALUES:
+ getExtensionValues().clear();
+ getExtensionValues().addAll((Collection<? extends ExtensionAttributeValue>)newValue);
+ return;
+ case BPMNProfilePackage.BASE_ELEMENT__BASE_ELEMENT:
+ setBase_Element((Element)newValue);
+ return;
+ case BPMNProfilePackage.BASE_ELEMENT__DOCUMENTATION:
+ getDocumentation().clear();
+ getDocumentation().addAll((Collection<? extends Documentation>)newValue);
+ return;
+ case BPMNProfilePackage.BASE_ELEMENT__EXTENSION_DEFINITIONS:
+ getExtensionDefinitions().clear();
+ getExtensionDefinitions().addAll((Collection<? extends ExtensionDefinition>)newValue);
+ return;
+ case BPMNProfilePackage.BASE_ELEMENT__OUTGOING:
+ getOutgoing().clear();
+ getOutgoing().addAll((Collection<? extends BPMNAssociation>)newValue);
+ return;
+ case BPMNProfilePackage.BASE_ELEMENT__INCOMING:
+ getIncoming().clear();
+ getIncoming().addAll((Collection<? extends BPMNAssociation>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BASE_ELEMENT__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case BPMNProfilePackage.BASE_ELEMENT__EXTENSION_VALUES:
+ getExtensionValues().clear();
+ return;
+ case BPMNProfilePackage.BASE_ELEMENT__BASE_ELEMENT:
+ setBase_Element((Element)null);
+ return;
+ case BPMNProfilePackage.BASE_ELEMENT__DOCUMENTATION:
+ getDocumentation().clear();
+ return;
+ case BPMNProfilePackage.BASE_ELEMENT__EXTENSION_DEFINITIONS:
+ getExtensionDefinitions().clear();
+ return;
+ case BPMNProfilePackage.BASE_ELEMENT__OUTGOING:
+ getOutgoing().clear();
+ return;
+ case BPMNProfilePackage.BASE_ELEMENT__INCOMING:
+ getIncoming().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BASE_ELEMENT__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case BPMNProfilePackage.BASE_ELEMENT__EXTENSION_VALUES:
+ return extensionValues != null && !extensionValues.isEmpty();
+ case BPMNProfilePackage.BASE_ELEMENT__BASE_ELEMENT:
+ return base_Element != null;
+ case BPMNProfilePackage.BASE_ELEMENT__DOCUMENTATION:
+ return documentation != null && !documentation.isEmpty();
+ case BPMNProfilePackage.BASE_ELEMENT__EXTENSION_DEFINITIONS:
+ return extensionDefinitions != null && !extensionDefinitions.isEmpty();
+ case BPMNProfilePackage.BASE_ELEMENT__OUTGOING:
+ return outgoing != null && !outgoing.isEmpty();
+ case BPMNProfilePackage.BASE_ELEMENT__INCOMING:
+ return incoming != null && !incoming.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (id: ");
+ result.append(id);
+ result.append(')');
+ return result.toString();
+ }
+
+} //BaseElementImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BoundaryEventImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BoundaryEventImpl.java
new file mode 100644
index 00000000000..72a8c159e88
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BoundaryEventImpl.java
@@ -0,0 +1,279 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BoundaryEvent;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Boundary Event</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BoundaryEventImpl#isCancelActivity <em>Cancel Activity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BoundaryEventImpl#getAttachedToRef <em>Attached To Ref</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BoundaryEventImpl extends CatchEventImpl implements BoundaryEvent {
+ /**
+ * The default value of the '{@link #isCancelActivity() <em>Cancel Activity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCancelActivity()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean CANCEL_ACTIVITY_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isCancelActivity() <em>Cancel Activity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCancelActivity()
+ * @generated
+ * @ordered
+ */
+ protected boolean cancelActivity = CANCEL_ACTIVITY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getAttachedToRef() <em>Attached To Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAttachedToRef()
+ * @generated
+ * @ordered
+ */
+ protected BPMNActivity attachedToRef;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BoundaryEventImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getBoundaryEvent();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isCancelActivity() {
+ return cancelActivity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCancelActivity(boolean newCancelActivity) {
+ boolean oldCancelActivity = cancelActivity;
+ cancelActivity = newCancelActivity;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BOUNDARY_EVENT__CANCEL_ACTIVITY, oldCancelActivity, cancelActivity));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNActivity getAttachedToRef() {
+ if (attachedToRef != null && attachedToRef.eIsProxy()) {
+ InternalEObject oldAttachedToRef = (InternalEObject)attachedToRef;
+ attachedToRef = (BPMNActivity)eResolveProxy(oldAttachedToRef);
+ if (attachedToRef != oldAttachedToRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BOUNDARY_EVENT__ATTACHED_TO_REF, oldAttachedToRef, attachedToRef));
+ }
+ }
+ return attachedToRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNActivity basicGetAttachedToRef() {
+ return attachedToRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAttachedToRef(BPMNActivity newAttachedToRef) {
+ BPMNActivity oldAttachedToRef = attachedToRef;
+ attachedToRef = newAttachedToRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BOUNDARY_EVENT__ATTACHED_TO_REF, oldAttachedToRef, attachedToRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean boundaryEventattachedToRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.BOUNDARY_EVENT__BOUNDARY_EVENTATTACHED_TO_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "boundaryEventattachedToRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.BOUNDARY_EVENT__CANCEL_ACTIVITY:
+ return isCancelActivity();
+ case BPMNProfilePackage.BOUNDARY_EVENT__ATTACHED_TO_REF:
+ if (resolve) return getAttachedToRef();
+ return basicGetAttachedToRef();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.BOUNDARY_EVENT__CANCEL_ACTIVITY:
+ setCancelActivity((Boolean)newValue);
+ return;
+ case BPMNProfilePackage.BOUNDARY_EVENT__ATTACHED_TO_REF:
+ setAttachedToRef((BPMNActivity)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BOUNDARY_EVENT__CANCEL_ACTIVITY:
+ setCancelActivity(CANCEL_ACTIVITY_EDEFAULT);
+ return;
+ case BPMNProfilePackage.BOUNDARY_EVENT__ATTACHED_TO_REF:
+ setAttachedToRef((BPMNActivity)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BOUNDARY_EVENT__CANCEL_ACTIVITY:
+ return cancelActivity != CANCEL_ACTIVITY_EDEFAULT;
+ case BPMNProfilePackage.BOUNDARY_EVENT__ATTACHED_TO_REF:
+ return attachedToRef != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.BOUNDARY_EVENT___BOUNDARY_EVENTATTACHED_TO_REF__DIAGNOSTICCHAIN_MAP:
+ return boundaryEventattachedToRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (cancelActivity: ");
+ result.append(cancelActivity);
+ result.append(')');
+ return result.toString();
+ }
+
+} //BoundaryEventImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BusinessRuleTaskImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BusinessRuleTaskImpl.java
new file mode 100644
index 00000000000..22c345b7fe6
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/BusinessRuleTaskImpl.java
@@ -0,0 +1,280 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BusinessRuleTask;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.OpaqueAction;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Business Rule Task</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BusinessRuleTaskImpl#getBase_OpaqueAction <em>Base Opaque Action</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.BusinessRuleTaskImpl#getImplementation <em>Implementation</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class BusinessRuleTaskImpl extends TaskImpl implements BusinessRuleTask {
+ /**
+ * The cached value of the '{@link #getBase_OpaqueAction() <em>Base Opaque Action</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_OpaqueAction()
+ * @generated
+ * @ordered
+ */
+ protected OpaqueAction base_OpaqueAction;
+
+ /**
+ * The default value of the '{@link #getImplementation() <em>Implementation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImplementation()
+ * @generated
+ * @ordered
+ */
+ protected static final String IMPLEMENTATION_EDEFAULT = "##unspecified";
+
+ /**
+ * The cached value of the '{@link #getImplementation() <em>Implementation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImplementation()
+ * @generated
+ * @ordered
+ */
+ protected String implementation = IMPLEMENTATION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BusinessRuleTaskImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getBusinessRuleTask();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpaqueAction getBase_OpaqueAction() {
+ if (base_OpaqueAction != null && base_OpaqueAction.eIsProxy()) {
+ InternalEObject oldBase_OpaqueAction = (InternalEObject)base_OpaqueAction;
+ base_OpaqueAction = (OpaqueAction)eResolveProxy(oldBase_OpaqueAction);
+ if (base_OpaqueAction != oldBase_OpaqueAction) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.BUSINESS_RULE_TASK__BASE_OPAQUE_ACTION, oldBase_OpaqueAction, base_OpaqueAction));
+ }
+ }
+ return base_OpaqueAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpaqueAction basicGetBase_OpaqueAction() {
+ return base_OpaqueAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_OpaqueAction(OpaqueAction newBase_OpaqueAction) {
+ OpaqueAction oldBase_OpaqueAction = base_OpaqueAction;
+ base_OpaqueAction = newBase_OpaqueAction;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BUSINESS_RULE_TASK__BASE_OPAQUE_ACTION, oldBase_OpaqueAction, base_OpaqueAction));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getImplementation() {
+ return implementation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setImplementation(String newImplementation) {
+ String oldImplementation = implementation;
+ implementation = newImplementation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.BUSINESS_RULE_TASK__IMPLEMENTATION, oldImplementation, implementation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean BusinessRuleTaskimplementation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.BUSINESS_RULE_TASK__BUSINESS_RULE_TASKIMPLEMENTATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "BusinessRuleTaskimplementation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.BUSINESS_RULE_TASK__BASE_OPAQUE_ACTION:
+ if (resolve) return getBase_OpaqueAction();
+ return basicGetBase_OpaqueAction();
+ case BPMNProfilePackage.BUSINESS_RULE_TASK__IMPLEMENTATION:
+ return getImplementation();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.BUSINESS_RULE_TASK__BASE_OPAQUE_ACTION:
+ setBase_OpaqueAction((OpaqueAction)newValue);
+ return;
+ case BPMNProfilePackage.BUSINESS_RULE_TASK__IMPLEMENTATION:
+ setImplementation((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BUSINESS_RULE_TASK__BASE_OPAQUE_ACTION:
+ setBase_OpaqueAction((OpaqueAction)null);
+ return;
+ case BPMNProfilePackage.BUSINESS_RULE_TASK__IMPLEMENTATION:
+ setImplementation(IMPLEMENTATION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.BUSINESS_RULE_TASK__BASE_OPAQUE_ACTION:
+ return base_OpaqueAction != null;
+ case BPMNProfilePackage.BUSINESS_RULE_TASK__IMPLEMENTATION:
+ return IMPLEMENTATION_EDEFAULT == null ? implementation != null : !IMPLEMENTATION_EDEFAULT.equals(implementation);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.BUSINESS_RULE_TASK___BUSINESS_RULE_TASKIMPLEMENTATION__DIAGNOSTICCHAIN_MAP:
+ return BusinessRuleTaskimplementation((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (implementation: ");
+ result.append(implementation);
+ result.append(')');
+ return result.toString();
+ }
+
+} //BusinessRuleTaskImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CallActivityImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CallActivityImpl.java
new file mode 100644
index 00000000000..ba0c600dcf4
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CallActivityImpl.java
@@ -0,0 +1,273 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CallActivity;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.CallBehaviorAction;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Call Activity</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CallActivityImpl#getBase_CallBehaviorAction <em>Base Call Behavior Action</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CallActivityImpl#getCalledElementRef <em>Called Element Ref</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CallActivityImpl extends BPMNActivityImpl implements CallActivity {
+ /**
+ * The cached value of the '{@link #getBase_CallBehaviorAction() <em>Base Call Behavior Action</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_CallBehaviorAction()
+ * @generated
+ * @ordered
+ */
+ protected CallBehaviorAction base_CallBehaviorAction;
+
+ /**
+ * The cached value of the '{@link #getCalledElementRef() <em>Called Element Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCalledElementRef()
+ * @generated
+ * @ordered
+ */
+ protected CallableElement calledElementRef;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CallActivityImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getCallActivity();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallBehaviorAction getBase_CallBehaviorAction() {
+ if (base_CallBehaviorAction != null && base_CallBehaviorAction.eIsProxy()) {
+ InternalEObject oldBase_CallBehaviorAction = (InternalEObject)base_CallBehaviorAction;
+ base_CallBehaviorAction = (CallBehaviorAction)eResolveProxy(oldBase_CallBehaviorAction);
+ if (base_CallBehaviorAction != oldBase_CallBehaviorAction) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CALL_ACTIVITY__BASE_CALL_BEHAVIOR_ACTION, oldBase_CallBehaviorAction, base_CallBehaviorAction));
+ }
+ }
+ return base_CallBehaviorAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallBehaviorAction basicGetBase_CallBehaviorAction() {
+ return base_CallBehaviorAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_CallBehaviorAction(CallBehaviorAction newBase_CallBehaviorAction) {
+ CallBehaviorAction oldBase_CallBehaviorAction = base_CallBehaviorAction;
+ base_CallBehaviorAction = newBase_CallBehaviorAction;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CALL_ACTIVITY__BASE_CALL_BEHAVIOR_ACTION, oldBase_CallBehaviorAction, base_CallBehaviorAction));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallableElement getCalledElementRef() {
+ if (calledElementRef != null && calledElementRef.eIsProxy()) {
+ InternalEObject oldCalledElementRef = (InternalEObject)calledElementRef;
+ calledElementRef = (CallableElement)eResolveProxy(oldCalledElementRef);
+ if (calledElementRef != oldCalledElementRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CALL_ACTIVITY__CALLED_ELEMENT_REF, oldCalledElementRef, calledElementRef));
+ }
+ }
+ return calledElementRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallableElement basicGetCalledElementRef() {
+ return calledElementRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCalledElementRef(CallableElement newCalledElementRef) {
+ CallableElement oldCalledElementRef = calledElementRef;
+ calledElementRef = newCalledElementRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CALL_ACTIVITY__CALLED_ELEMENT_REF, oldCalledElementRef, calledElementRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean CallActivitycalledElementRefvalues(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.CALL_ACTIVITY__CALL_ACTIVITYCALLED_ELEMENT_REFVALUES,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "CallActivitycalledElementRefvalues", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.CALL_ACTIVITY__BASE_CALL_BEHAVIOR_ACTION:
+ if (resolve) return getBase_CallBehaviorAction();
+ return basicGetBase_CallBehaviorAction();
+ case BPMNProfilePackage.CALL_ACTIVITY__CALLED_ELEMENT_REF:
+ if (resolve) return getCalledElementRef();
+ return basicGetCalledElementRef();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.CALL_ACTIVITY__BASE_CALL_BEHAVIOR_ACTION:
+ setBase_CallBehaviorAction((CallBehaviorAction)newValue);
+ return;
+ case BPMNProfilePackage.CALL_ACTIVITY__CALLED_ELEMENT_REF:
+ setCalledElementRef((CallableElement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CALL_ACTIVITY__BASE_CALL_BEHAVIOR_ACTION:
+ setBase_CallBehaviorAction((CallBehaviorAction)null);
+ return;
+ case BPMNProfilePackage.CALL_ACTIVITY__CALLED_ELEMENT_REF:
+ setCalledElementRef((CallableElement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CALL_ACTIVITY__BASE_CALL_BEHAVIOR_ACTION:
+ return base_CallBehaviorAction != null;
+ case BPMNProfilePackage.CALL_ACTIVITY__CALLED_ELEMENT_REF:
+ return calledElementRef != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.CALL_ACTIVITY___CALL_ACTIVITYCALLED_ELEMENT_REFVALUES__DIAGNOSTICCHAIN_MAP:
+ return CallActivitycalledElementRefvalues((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //CallActivityImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CallConversationImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CallConversationImpl.java
new file mode 100644
index 00000000000..7a83a77889e
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CallConversationImpl.java
@@ -0,0 +1,337 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CallConversation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.CollaborationUse;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Call Conversation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CallConversationImpl#get_collaborationUse <em>collaboration Use</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CallConversationImpl#getCalledCollaborationRef <em>Called Collaboration Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CallConversationImpl#getParticipantAssociations <em>Participant Associations</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CallConversationImpl extends ConversationNodeImpl implements CallConversation {
+ /**
+ * The cached value of the '{@link #get_collaborationUse() <em>collaboration Use</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #get_collaborationUse()
+ * @generated
+ * @ordered
+ */
+ protected CollaborationUse _collaborationUse;
+
+ /**
+ * The cached value of the '{@link #getCalledCollaborationRef() <em>Called Collaboration Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCalledCollaborationRef()
+ * @generated
+ * @ordered
+ */
+ protected BPMNCollaboration calledCollaborationRef;
+ /**
+ * The cached value of the '{@link #getParticipantAssociations() <em>Participant Associations</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParticipantAssociations()
+ * @generated
+ * @ordered
+ */
+ protected EList<ParticipantAssociation> participantAssociations;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CallConversationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getCallConversation();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CollaborationUse get_collaborationUse() {
+ if (_collaborationUse != null && _collaborationUse.eIsProxy()) {
+ InternalEObject old_collaborationUse = (InternalEObject)_collaborationUse;
+ _collaborationUse = (CollaborationUse)eResolveProxy(old_collaborationUse);
+ if (_collaborationUse != old_collaborationUse) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CALL_CONVERSATION__COLLABORATION_USE, old_collaborationUse, _collaborationUse));
+ }
+ }
+ return _collaborationUse;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CollaborationUse basicGet_collaborationUse() {
+ return _collaborationUse;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void set_collaborationUse(CollaborationUse new_collaborationUse) {
+ CollaborationUse old_collaborationUse = _collaborationUse;
+ _collaborationUse = new_collaborationUse;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CALL_CONVERSATION__COLLABORATION_USE, old_collaborationUse, _collaborationUse));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNCollaboration getCalledCollaborationRef() {
+ if (calledCollaborationRef != null && calledCollaborationRef.eIsProxy()) {
+ InternalEObject oldCalledCollaborationRef = (InternalEObject)calledCollaborationRef;
+ calledCollaborationRef = (BPMNCollaboration)eResolveProxy(oldCalledCollaborationRef);
+ if (calledCollaborationRef != oldCalledCollaborationRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CALL_CONVERSATION__CALLED_COLLABORATION_REF, oldCalledCollaborationRef, calledCollaborationRef));
+ }
+ }
+ return calledCollaborationRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNCollaboration basicGetCalledCollaborationRef() {
+ return calledCollaborationRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCalledCollaborationRef(BPMNCollaboration newCalledCollaborationRef) {
+ BPMNCollaboration oldCalledCollaborationRef = calledCollaborationRef;
+ calledCollaborationRef = newCalledCollaborationRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CALL_CONVERSATION__CALLED_COLLABORATION_REF, oldCalledCollaborationRef, calledCollaborationRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ParticipantAssociation> getParticipantAssociations() {
+ if (participantAssociations == null) {
+ participantAssociations = new EObjectResolvingEList<ParticipantAssociation>(ParticipantAssociation.class, this, BPMNProfilePackage.CALL_CONVERSATION__PARTICIPANT_ASSOCIATIONS);
+ }
+ return participantAssociations;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean CallConversationcalledCollaborationRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.CALL_CONVERSATION__CALL_CONVERSATIONCALLED_COLLABORATION_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "CallConversationcalledCollaborationRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean CallConversationparticipantAssociations(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.CALL_CONVERSATION__CALL_CONVERSATIONPARTICIPANT_ASSOCIATIONS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "CallConversationparticipantAssociations", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.CALL_CONVERSATION__COLLABORATION_USE:
+ if (resolve) return get_collaborationUse();
+ return basicGet_collaborationUse();
+ case BPMNProfilePackage.CALL_CONVERSATION__CALLED_COLLABORATION_REF:
+ if (resolve) return getCalledCollaborationRef();
+ return basicGetCalledCollaborationRef();
+ case BPMNProfilePackage.CALL_CONVERSATION__PARTICIPANT_ASSOCIATIONS:
+ return getParticipantAssociations();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.CALL_CONVERSATION__COLLABORATION_USE:
+ set_collaborationUse((CollaborationUse)newValue);
+ return;
+ case BPMNProfilePackage.CALL_CONVERSATION__CALLED_COLLABORATION_REF:
+ setCalledCollaborationRef((BPMNCollaboration)newValue);
+ return;
+ case BPMNProfilePackage.CALL_CONVERSATION__PARTICIPANT_ASSOCIATIONS:
+ getParticipantAssociations().clear();
+ getParticipantAssociations().addAll((Collection<? extends ParticipantAssociation>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CALL_CONVERSATION__COLLABORATION_USE:
+ set_collaborationUse((CollaborationUse)null);
+ return;
+ case BPMNProfilePackage.CALL_CONVERSATION__CALLED_COLLABORATION_REF:
+ setCalledCollaborationRef((BPMNCollaboration)null);
+ return;
+ case BPMNProfilePackage.CALL_CONVERSATION__PARTICIPANT_ASSOCIATIONS:
+ getParticipantAssociations().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CALL_CONVERSATION__COLLABORATION_USE:
+ return _collaborationUse != null;
+ case BPMNProfilePackage.CALL_CONVERSATION__CALLED_COLLABORATION_REF:
+ return calledCollaborationRef != null;
+ case BPMNProfilePackage.CALL_CONVERSATION__PARTICIPANT_ASSOCIATIONS:
+ return participantAssociations != null && !participantAssociations.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.CALL_CONVERSATION___CALL_CONVERSATIONCALLED_COLLABORATION_REF__DIAGNOSTICCHAIN_MAP:
+ return CallConversationcalledCollaborationRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.CALL_CONVERSATION___CALL_CONVERSATIONPARTICIPANT_ASSOCIATIONS__DIAGNOSTICCHAIN_MAP:
+ return CallConversationparticipantAssociations((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //CallConversationImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CallableElementImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CallableElementImpl.java
new file mode 100644
index 00000000000..b33f26f2209
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CallableElementImpl.java
@@ -0,0 +1,373 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputBinding;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.Behavior;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Callable Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CallableElementImpl#getBase_Behavior <em>Base Behavior</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CallableElementImpl#getIoSpecification <em>Io Specification</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CallableElementImpl#getSupportedInterfaceRefs <em>Supported Interface Refs</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CallableElementImpl#getIoBinding <em>Io Binding</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class CallableElementImpl extends RootElementImpl implements CallableElement {
+ /**
+ * The cached value of the '{@link #getBase_Behavior() <em>Base Behavior</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Behavior()
+ * @generated
+ * @ordered
+ */
+ protected Behavior base_Behavior;
+
+ /**
+ * The cached value of the '{@link #getIoSpecification() <em>Io Specification</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIoSpecification()
+ * @generated
+ * @ordered
+ */
+ protected InputOutputSpecification ioSpecification;
+
+ /**
+ * The cached value of the '{@link #getSupportedInterfaceRefs() <em>Supported Interface Refs</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSupportedInterfaceRefs()
+ * @generated
+ * @ordered
+ */
+ protected EList<BPMNInterface> supportedInterfaceRefs;
+
+ /**
+ * The cached value of the '{@link #getIoBinding() <em>Io Binding</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIoBinding()
+ * @generated
+ * @ordered
+ */
+ protected EList<InputOutputBinding> ioBinding;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CallableElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getCallableElement();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getBase_Behavior() {
+ if (base_Behavior != null && base_Behavior.eIsProxy()) {
+ InternalEObject oldBase_Behavior = (InternalEObject)base_Behavior;
+ base_Behavior = (Behavior)eResolveProxy(oldBase_Behavior);
+ if (base_Behavior != oldBase_Behavior) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CALLABLE_ELEMENT__BASE_BEHAVIOR, oldBase_Behavior, base_Behavior));
+ }
+ }
+ return base_Behavior;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior basicGetBase_Behavior() {
+ return base_Behavior;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Behavior(Behavior newBase_Behavior) {
+ Behavior oldBase_Behavior = base_Behavior;
+ base_Behavior = newBase_Behavior;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CALLABLE_ELEMENT__BASE_BEHAVIOR, oldBase_Behavior, base_Behavior));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputOutputSpecification getIoSpecification() {
+ if (ioSpecification != null && ioSpecification.eIsProxy()) {
+ InternalEObject oldIoSpecification = (InternalEObject)ioSpecification;
+ ioSpecification = (InputOutputSpecification)eResolveProxy(oldIoSpecification);
+ if (ioSpecification != oldIoSpecification) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CALLABLE_ELEMENT__IO_SPECIFICATION, oldIoSpecification, ioSpecification));
+ }
+ }
+ return ioSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputOutputSpecification basicGetIoSpecification() {
+ return ioSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIoSpecification(InputOutputSpecification newIoSpecification) {
+ InputOutputSpecification oldIoSpecification = ioSpecification;
+ ioSpecification = newIoSpecification;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CALLABLE_ELEMENT__IO_SPECIFICATION, oldIoSpecification, ioSpecification));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BPMNInterface> getSupportedInterfaceRefs() {
+ if (supportedInterfaceRefs == null) {
+ supportedInterfaceRefs = new EObjectResolvingEList<BPMNInterface>(BPMNInterface.class, this, BPMNProfilePackage.CALLABLE_ELEMENT__SUPPORTED_INTERFACE_REFS);
+ }
+ return supportedInterfaceRefs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<InputOutputBinding> getIoBinding() {
+ if (ioBinding == null) {
+ ioBinding = new EObjectResolvingEList<InputOutputBinding>(InputOutputBinding.class, this, BPMNProfilePackage.CALLABLE_ELEMENT__IO_BINDING);
+ }
+ return ioBinding;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean CallableEelementsupportedInterfaceRefs(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.CALLABLE_ELEMENT__CALLABLE_EELEMENTSUPPORTED_INTERFACE_REFS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "CallableEelementsupportedInterfaceRefs", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean CallableElementresources(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.CALLABLE_ELEMENT__CALLABLE_ELEMENTRESOURCES,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "CallableElementresources", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.CALLABLE_ELEMENT__BASE_BEHAVIOR:
+ if (resolve) return getBase_Behavior();
+ return basicGetBase_Behavior();
+ case BPMNProfilePackage.CALLABLE_ELEMENT__IO_SPECIFICATION:
+ if (resolve) return getIoSpecification();
+ return basicGetIoSpecification();
+ case BPMNProfilePackage.CALLABLE_ELEMENT__SUPPORTED_INTERFACE_REFS:
+ return getSupportedInterfaceRefs();
+ case BPMNProfilePackage.CALLABLE_ELEMENT__IO_BINDING:
+ return getIoBinding();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.CALLABLE_ELEMENT__BASE_BEHAVIOR:
+ setBase_Behavior((Behavior)newValue);
+ return;
+ case BPMNProfilePackage.CALLABLE_ELEMENT__IO_SPECIFICATION:
+ setIoSpecification((InputOutputSpecification)newValue);
+ return;
+ case BPMNProfilePackage.CALLABLE_ELEMENT__SUPPORTED_INTERFACE_REFS:
+ getSupportedInterfaceRefs().clear();
+ getSupportedInterfaceRefs().addAll((Collection<? extends BPMNInterface>)newValue);
+ return;
+ case BPMNProfilePackage.CALLABLE_ELEMENT__IO_BINDING:
+ getIoBinding().clear();
+ getIoBinding().addAll((Collection<? extends InputOutputBinding>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CALLABLE_ELEMENT__BASE_BEHAVIOR:
+ setBase_Behavior((Behavior)null);
+ return;
+ case BPMNProfilePackage.CALLABLE_ELEMENT__IO_SPECIFICATION:
+ setIoSpecification((InputOutputSpecification)null);
+ return;
+ case BPMNProfilePackage.CALLABLE_ELEMENT__SUPPORTED_INTERFACE_REFS:
+ getSupportedInterfaceRefs().clear();
+ return;
+ case BPMNProfilePackage.CALLABLE_ELEMENT__IO_BINDING:
+ getIoBinding().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CALLABLE_ELEMENT__BASE_BEHAVIOR:
+ return base_Behavior != null;
+ case BPMNProfilePackage.CALLABLE_ELEMENT__IO_SPECIFICATION:
+ return ioSpecification != null;
+ case BPMNProfilePackage.CALLABLE_ELEMENT__SUPPORTED_INTERFACE_REFS:
+ return supportedInterfaceRefs != null && !supportedInterfaceRefs.isEmpty();
+ case BPMNProfilePackage.CALLABLE_ELEMENT__IO_BINDING:
+ return ioBinding != null && !ioBinding.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.CALLABLE_ELEMENT___CALLABLE_EELEMENTSUPPORTED_INTERFACE_REFS__DIAGNOSTICCHAIN_MAP:
+ return CallableEelementsupportedInterfaceRefs((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.CALLABLE_ELEMENT___CALLABLE_ELEMENTRESOURCES__DIAGNOSTICCHAIN_MAP:
+ return CallableElementresources((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //CallableElementImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CancelEventDefinitionImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CancelEventDefinitionImpl.java
new file mode 100644
index 00000000000..596b1abed7f
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CancelEventDefinitionImpl.java
@@ -0,0 +1,157 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CancelEventDefinition;
+
+import org.eclipse.uml2.uml.CallEvent;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Cancel Event Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CancelEventDefinitionImpl#getBase_CallEvent <em>Base Call Event</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CancelEventDefinitionImpl extends EventDefinitionImpl implements CancelEventDefinition {
+ /**
+ * The cached value of the '{@link #getBase_CallEvent() <em>Base Call Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_CallEvent()
+ * @generated
+ * @ordered
+ */
+ protected CallEvent base_CallEvent;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CancelEventDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getCancelEventDefinition();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallEvent getBase_CallEvent() {
+ if (base_CallEvent != null && base_CallEvent.eIsProxy()) {
+ InternalEObject oldBase_CallEvent = (InternalEObject)base_CallEvent;
+ base_CallEvent = (CallEvent)eResolveProxy(oldBase_CallEvent);
+ if (base_CallEvent != oldBase_CallEvent) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CANCEL_EVENT_DEFINITION__BASE_CALL_EVENT, oldBase_CallEvent, base_CallEvent));
+ }
+ }
+ return base_CallEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallEvent basicGetBase_CallEvent() {
+ return base_CallEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_CallEvent(CallEvent newBase_CallEvent) {
+ CallEvent oldBase_CallEvent = base_CallEvent;
+ base_CallEvent = newBase_CallEvent;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CANCEL_EVENT_DEFINITION__BASE_CALL_EVENT, oldBase_CallEvent, base_CallEvent));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.CANCEL_EVENT_DEFINITION__BASE_CALL_EVENT:
+ if (resolve) return getBase_CallEvent();
+ return basicGetBase_CallEvent();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.CANCEL_EVENT_DEFINITION__BASE_CALL_EVENT:
+ setBase_CallEvent((CallEvent)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CANCEL_EVENT_DEFINITION__BASE_CALL_EVENT:
+ setBase_CallEvent((CallEvent)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CANCEL_EVENT_DEFINITION__BASE_CALL_EVENT:
+ return base_CallEvent != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //CancelEventDefinitionImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CatchEventImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CatchEventImpl.java
new file mode 100644
index 00000000000..3c002ddc086
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CatchEventImpl.java
@@ -0,0 +1,379 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CatchEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataOutputAssociation;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.AcceptEventAction;
+import org.eclipse.uml2.uml.InitialNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Catch Event</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CatchEventImpl#isParallelMultiple <em>Parallel Multiple</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CatchEventImpl#getBase_AcceptEventAction <em>Base Accept Event Action</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CatchEventImpl#getBase_InitialNode <em>Base Initial Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CatchEventImpl#getDataOutputAssociation <em>Data Output Association</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class CatchEventImpl extends BPMNEventImpl implements CatchEvent {
+ /**
+ * The default value of the '{@link #isParallelMultiple() <em>Parallel Multiple</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isParallelMultiple()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean PARALLEL_MULTIPLE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isParallelMultiple() <em>Parallel Multiple</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isParallelMultiple()
+ * @generated
+ * @ordered
+ */
+ protected boolean parallelMultiple = PARALLEL_MULTIPLE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBase_AcceptEventAction() <em>Base Accept Event Action</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_AcceptEventAction()
+ * @generated
+ * @ordered
+ */
+ protected AcceptEventAction base_AcceptEventAction;
+
+ /**
+ * The cached value of the '{@link #getBase_InitialNode() <em>Base Initial Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_InitialNode()
+ * @generated
+ * @ordered
+ */
+ protected InitialNode base_InitialNode;
+
+ /**
+ * The cached value of the '{@link #getDataOutputAssociation() <em>Data Output Association</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDataOutputAssociation()
+ * @generated
+ * @ordered
+ */
+ protected EList<DataOutputAssociation> dataOutputAssociation;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CatchEventImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getCatchEvent();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isParallelMultiple() {
+ return parallelMultiple;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParallelMultiple(boolean newParallelMultiple) {
+ boolean oldParallelMultiple = parallelMultiple;
+ parallelMultiple = newParallelMultiple;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CATCH_EVENT__PARALLEL_MULTIPLE, oldParallelMultiple, parallelMultiple));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AcceptEventAction getBase_AcceptEventAction() {
+ if (base_AcceptEventAction != null && base_AcceptEventAction.eIsProxy()) {
+ InternalEObject oldBase_AcceptEventAction = (InternalEObject)base_AcceptEventAction;
+ base_AcceptEventAction = (AcceptEventAction)eResolveProxy(oldBase_AcceptEventAction);
+ if (base_AcceptEventAction != oldBase_AcceptEventAction) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CATCH_EVENT__BASE_ACCEPT_EVENT_ACTION, oldBase_AcceptEventAction, base_AcceptEventAction));
+ }
+ }
+ return base_AcceptEventAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AcceptEventAction basicGetBase_AcceptEventAction() {
+ return base_AcceptEventAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_AcceptEventAction(AcceptEventAction newBase_AcceptEventAction) {
+ AcceptEventAction oldBase_AcceptEventAction = base_AcceptEventAction;
+ base_AcceptEventAction = newBase_AcceptEventAction;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CATCH_EVENT__BASE_ACCEPT_EVENT_ACTION, oldBase_AcceptEventAction, base_AcceptEventAction));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InitialNode getBase_InitialNode() {
+ if (base_InitialNode != null && base_InitialNode.eIsProxy()) {
+ InternalEObject oldBase_InitialNode = (InternalEObject)base_InitialNode;
+ base_InitialNode = (InitialNode)eResolveProxy(oldBase_InitialNode);
+ if (base_InitialNode != oldBase_InitialNode) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CATCH_EVENT__BASE_INITIAL_NODE, oldBase_InitialNode, base_InitialNode));
+ }
+ }
+ return base_InitialNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InitialNode basicGetBase_InitialNode() {
+ return base_InitialNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_InitialNode(InitialNode newBase_InitialNode) {
+ InitialNode oldBase_InitialNode = base_InitialNode;
+ base_InitialNode = newBase_InitialNode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CATCH_EVENT__BASE_INITIAL_NODE, oldBase_InitialNode, base_InitialNode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DataOutputAssociation> getDataOutputAssociation() {
+ if (dataOutputAssociation == null) {
+ dataOutputAssociation = new EObjectResolvingEList<DataOutputAssociation>(DataOutputAssociation.class, this, BPMNProfilePackage.CATCH_EVENT__DATA_OUTPUT_ASSOCIATION);
+ }
+ return dataOutputAssociation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean catchEventeventDefinitionsRefs(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.CATCH_EVENT__CATCH_EVENTEVENT_DEFINITIONS_REFS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "catchEventeventDefinitionsRefs", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.CATCH_EVENT__PARALLEL_MULTIPLE:
+ return isParallelMultiple();
+ case BPMNProfilePackage.CATCH_EVENT__BASE_ACCEPT_EVENT_ACTION:
+ if (resolve) return getBase_AcceptEventAction();
+ return basicGetBase_AcceptEventAction();
+ case BPMNProfilePackage.CATCH_EVENT__BASE_INITIAL_NODE:
+ if (resolve) return getBase_InitialNode();
+ return basicGetBase_InitialNode();
+ case BPMNProfilePackage.CATCH_EVENT__DATA_OUTPUT_ASSOCIATION:
+ return getDataOutputAssociation();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.CATCH_EVENT__PARALLEL_MULTIPLE:
+ setParallelMultiple((Boolean)newValue);
+ return;
+ case BPMNProfilePackage.CATCH_EVENT__BASE_ACCEPT_EVENT_ACTION:
+ setBase_AcceptEventAction((AcceptEventAction)newValue);
+ return;
+ case BPMNProfilePackage.CATCH_EVENT__BASE_INITIAL_NODE:
+ setBase_InitialNode((InitialNode)newValue);
+ return;
+ case BPMNProfilePackage.CATCH_EVENT__DATA_OUTPUT_ASSOCIATION:
+ getDataOutputAssociation().clear();
+ getDataOutputAssociation().addAll((Collection<? extends DataOutputAssociation>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CATCH_EVENT__PARALLEL_MULTIPLE:
+ setParallelMultiple(PARALLEL_MULTIPLE_EDEFAULT);
+ return;
+ case BPMNProfilePackage.CATCH_EVENT__BASE_ACCEPT_EVENT_ACTION:
+ setBase_AcceptEventAction((AcceptEventAction)null);
+ return;
+ case BPMNProfilePackage.CATCH_EVENT__BASE_INITIAL_NODE:
+ setBase_InitialNode((InitialNode)null);
+ return;
+ case BPMNProfilePackage.CATCH_EVENT__DATA_OUTPUT_ASSOCIATION:
+ getDataOutputAssociation().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CATCH_EVENT__PARALLEL_MULTIPLE:
+ return parallelMultiple != PARALLEL_MULTIPLE_EDEFAULT;
+ case BPMNProfilePackage.CATCH_EVENT__BASE_ACCEPT_EVENT_ACTION:
+ return base_AcceptEventAction != null;
+ case BPMNProfilePackage.CATCH_EVENT__BASE_INITIAL_NODE:
+ return base_InitialNode != null;
+ case BPMNProfilePackage.CATCH_EVENT__DATA_OUTPUT_ASSOCIATION:
+ return dataOutputAssociation != null && !dataOutputAssociation.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.CATCH_EVENT___CATCH_EVENTEVENT_DEFINITIONS_REFS__DIAGNOSTICCHAIN_MAP:
+ return catchEventeventDefinitionsRefs((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (parallelMultiple: ");
+ result.append(parallelMultiple);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CatchEventImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CategoryImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CategoryImpl.java
new file mode 100644
index 00000000000..8902293b1da
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CategoryImpl.java
@@ -0,0 +1,198 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Category;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CategoryValue;
+
+import org.eclipse.uml2.uml.Enumeration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Category</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CategoryImpl#getBase_Enumeration <em>Base Enumeration</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CategoryImpl#getCategoryValue <em>Category Value</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CategoryImpl extends RootElementImpl implements Category {
+ /**
+ * The cached value of the '{@link #getBase_Enumeration() <em>Base Enumeration</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Enumeration()
+ * @generated
+ * @ordered
+ */
+ protected Enumeration base_Enumeration;
+
+ /**
+ * The cached value of the '{@link #getCategoryValue() <em>Category Value</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCategoryValue()
+ * @generated
+ * @ordered
+ */
+ protected EList<CategoryValue> categoryValue;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CategoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getCategory();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Enumeration getBase_Enumeration() {
+ if (base_Enumeration != null && base_Enumeration.eIsProxy()) {
+ InternalEObject oldBase_Enumeration = (InternalEObject)base_Enumeration;
+ base_Enumeration = (Enumeration)eResolveProxy(oldBase_Enumeration);
+ if (base_Enumeration != oldBase_Enumeration) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CATEGORY__BASE_ENUMERATION, oldBase_Enumeration, base_Enumeration));
+ }
+ }
+ return base_Enumeration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Enumeration basicGetBase_Enumeration() {
+ return base_Enumeration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Enumeration(Enumeration newBase_Enumeration) {
+ Enumeration oldBase_Enumeration = base_Enumeration;
+ base_Enumeration = newBase_Enumeration;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CATEGORY__BASE_ENUMERATION, oldBase_Enumeration, base_Enumeration));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<CategoryValue> getCategoryValue() {
+ if (categoryValue == null) {
+ categoryValue = new EObjectResolvingEList<CategoryValue>(CategoryValue.class, this, BPMNProfilePackage.CATEGORY__CATEGORY_VALUE);
+ }
+ return categoryValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.CATEGORY__BASE_ENUMERATION:
+ if (resolve) return getBase_Enumeration();
+ return basicGetBase_Enumeration();
+ case BPMNProfilePackage.CATEGORY__CATEGORY_VALUE:
+ return getCategoryValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.CATEGORY__BASE_ENUMERATION:
+ setBase_Enumeration((Enumeration)newValue);
+ return;
+ case BPMNProfilePackage.CATEGORY__CATEGORY_VALUE:
+ getCategoryValue().clear();
+ getCategoryValue().addAll((Collection<? extends CategoryValue>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CATEGORY__BASE_ENUMERATION:
+ setBase_Enumeration((Enumeration)null);
+ return;
+ case BPMNProfilePackage.CATEGORY__CATEGORY_VALUE:
+ getCategoryValue().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CATEGORY__BASE_ENUMERATION:
+ return base_Enumeration != null;
+ case BPMNProfilePackage.CATEGORY__CATEGORY_VALUE:
+ return categoryValue != null && !categoryValue.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //CategoryImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CategoryValueImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CategoryValueImpl.java
new file mode 100644
index 00000000000..51a1b070294
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CategoryValueImpl.java
@@ -0,0 +1,229 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CategoryValue;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement;
+
+import org.eclipse.uml2.uml.EnumerationLiteral;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Category Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CategoryValueImpl#getBase_EnumerationLiteral <em>Base Enumeration Literal</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CategoryValueImpl#getCategorizedFlowElements <em>Categorized Flow Elements</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CategoryValueImpl extends BaseElementImpl implements CategoryValue {
+ /**
+ * The cached value of the '{@link #getBase_EnumerationLiteral() <em>Base Enumeration Literal</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_EnumerationLiteral()
+ * @generated
+ * @ordered
+ */
+ protected EnumerationLiteral base_EnumerationLiteral;
+
+ /**
+ * The cached value of the '{@link #getCategorizedFlowElements() <em>Categorized Flow Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCategorizedFlowElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<FlowElement> categorizedFlowElements;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CategoryValueImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getCategoryValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EnumerationLiteral getBase_EnumerationLiteral() {
+ if (base_EnumerationLiteral != null && base_EnumerationLiteral.eIsProxy()) {
+ InternalEObject oldBase_EnumerationLiteral = (InternalEObject)base_EnumerationLiteral;
+ base_EnumerationLiteral = (EnumerationLiteral)eResolveProxy(oldBase_EnumerationLiteral);
+ if (base_EnumerationLiteral != oldBase_EnumerationLiteral) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CATEGORY_VALUE__BASE_ENUMERATION_LITERAL, oldBase_EnumerationLiteral, base_EnumerationLiteral));
+ }
+ }
+ return base_EnumerationLiteral;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EnumerationLiteral basicGetBase_EnumerationLiteral() {
+ return base_EnumerationLiteral;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_EnumerationLiteral(EnumerationLiteral newBase_EnumerationLiteral) {
+ EnumerationLiteral oldBase_EnumerationLiteral = base_EnumerationLiteral;
+ base_EnumerationLiteral = newBase_EnumerationLiteral;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CATEGORY_VALUE__BASE_ENUMERATION_LITERAL, oldBase_EnumerationLiteral, base_EnumerationLiteral));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FlowElement> getCategorizedFlowElements() {
+ if (categorizedFlowElements == null) {
+ categorizedFlowElements = new EObjectWithInverseResolvingEList.ManyInverse<FlowElement>(FlowElement.class, this, BPMNProfilePackage.CATEGORY_VALUE__CATEGORIZED_FLOW_ELEMENTS, BPMNProfilePackage.FLOW_ELEMENT__CATEGORY_VALUE_REF);
+ }
+ return categorizedFlowElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.CATEGORY_VALUE__CATEGORIZED_FLOW_ELEMENTS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getCategorizedFlowElements()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.CATEGORY_VALUE__CATEGORIZED_FLOW_ELEMENTS:
+ return ((InternalEList<?>)getCategorizedFlowElements()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.CATEGORY_VALUE__BASE_ENUMERATION_LITERAL:
+ if (resolve) return getBase_EnumerationLiteral();
+ return basicGetBase_EnumerationLiteral();
+ case BPMNProfilePackage.CATEGORY_VALUE__CATEGORIZED_FLOW_ELEMENTS:
+ return getCategorizedFlowElements();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.CATEGORY_VALUE__BASE_ENUMERATION_LITERAL:
+ setBase_EnumerationLiteral((EnumerationLiteral)newValue);
+ return;
+ case BPMNProfilePackage.CATEGORY_VALUE__CATEGORIZED_FLOW_ELEMENTS:
+ getCategorizedFlowElements().clear();
+ getCategorizedFlowElements().addAll((Collection<? extends FlowElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CATEGORY_VALUE__BASE_ENUMERATION_LITERAL:
+ setBase_EnumerationLiteral((EnumerationLiteral)null);
+ return;
+ case BPMNProfilePackage.CATEGORY_VALUE__CATEGORIZED_FLOW_ELEMENTS:
+ getCategorizedFlowElements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CATEGORY_VALUE__BASE_ENUMERATION_LITERAL:
+ return base_EnumerationLiteral != null;
+ case BPMNProfilePackage.CATEGORY_VALUE__CATEGORIZED_FLOW_ELEMENTS:
+ return categorizedFlowElements != null && !categorizedFlowElements.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //CategoryValueImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CompensateEventDefinitionImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CompensateEventDefinitionImpl.java
new file mode 100644
index 00000000000..c1669f7ba17
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CompensateEventDefinitionImpl.java
@@ -0,0 +1,286 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CompensateEventDefinition;
+
+import org.eclipse.uml2.uml.CallEvent;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Compensate Event Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CompensateEventDefinitionImpl#isWaitForCompletion <em>Wait For Completion</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CompensateEventDefinitionImpl#getActivityRef <em>Activity Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CompensateEventDefinitionImpl#getBase_CallEvent <em>Base Call Event</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CompensateEventDefinitionImpl extends EventDefinitionImpl implements CompensateEventDefinition {
+ /**
+ * The default value of the '{@link #isWaitForCompletion() <em>Wait For Completion</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isWaitForCompletion()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean WAIT_FOR_COMPLETION_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isWaitForCompletion() <em>Wait For Completion</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isWaitForCompletion()
+ * @generated
+ * @ordered
+ */
+ protected boolean waitForCompletion = WAIT_FOR_COMPLETION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getActivityRef() <em>Activity Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getActivityRef()
+ * @generated
+ * @ordered
+ */
+ protected BPMNActivity activityRef;
+
+ /**
+ * The cached value of the '{@link #getBase_CallEvent() <em>Base Call Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_CallEvent()
+ * @generated
+ * @ordered
+ */
+ protected CallEvent base_CallEvent;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CompensateEventDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getCompensateEventDefinition();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isWaitForCompletion() {
+ return waitForCompletion;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setWaitForCompletion(boolean newWaitForCompletion) {
+ boolean oldWaitForCompletion = waitForCompletion;
+ waitForCompletion = newWaitForCompletion;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.COMPENSATE_EVENT_DEFINITION__WAIT_FOR_COMPLETION, oldWaitForCompletion, waitForCompletion));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNActivity getActivityRef() {
+ if (activityRef != null && activityRef.eIsProxy()) {
+ InternalEObject oldActivityRef = (InternalEObject)activityRef;
+ activityRef = (BPMNActivity)eResolveProxy(oldActivityRef);
+ if (activityRef != oldActivityRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.COMPENSATE_EVENT_DEFINITION__ACTIVITY_REF, oldActivityRef, activityRef));
+ }
+ }
+ return activityRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNActivity basicGetActivityRef() {
+ return activityRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setActivityRef(BPMNActivity newActivityRef) {
+ BPMNActivity oldActivityRef = activityRef;
+ activityRef = newActivityRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.COMPENSATE_EVENT_DEFINITION__ACTIVITY_REF, oldActivityRef, activityRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallEvent getBase_CallEvent() {
+ if (base_CallEvent != null && base_CallEvent.eIsProxy()) {
+ InternalEObject oldBase_CallEvent = (InternalEObject)base_CallEvent;
+ base_CallEvent = (CallEvent)eResolveProxy(oldBase_CallEvent);
+ if (base_CallEvent != oldBase_CallEvent) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.COMPENSATE_EVENT_DEFINITION__BASE_CALL_EVENT, oldBase_CallEvent, base_CallEvent));
+ }
+ }
+ return base_CallEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallEvent basicGetBase_CallEvent() {
+ return base_CallEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_CallEvent(CallEvent newBase_CallEvent) {
+ CallEvent oldBase_CallEvent = base_CallEvent;
+ base_CallEvent = newBase_CallEvent;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.COMPENSATE_EVENT_DEFINITION__BASE_CALL_EVENT, oldBase_CallEvent, base_CallEvent));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.COMPENSATE_EVENT_DEFINITION__WAIT_FOR_COMPLETION:
+ return isWaitForCompletion();
+ case BPMNProfilePackage.COMPENSATE_EVENT_DEFINITION__ACTIVITY_REF:
+ if (resolve) return getActivityRef();
+ return basicGetActivityRef();
+ case BPMNProfilePackage.COMPENSATE_EVENT_DEFINITION__BASE_CALL_EVENT:
+ if (resolve) return getBase_CallEvent();
+ return basicGetBase_CallEvent();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.COMPENSATE_EVENT_DEFINITION__WAIT_FOR_COMPLETION:
+ setWaitForCompletion((Boolean)newValue);
+ return;
+ case BPMNProfilePackage.COMPENSATE_EVENT_DEFINITION__ACTIVITY_REF:
+ setActivityRef((BPMNActivity)newValue);
+ return;
+ case BPMNProfilePackage.COMPENSATE_EVENT_DEFINITION__BASE_CALL_EVENT:
+ setBase_CallEvent((CallEvent)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.COMPENSATE_EVENT_DEFINITION__WAIT_FOR_COMPLETION:
+ setWaitForCompletion(WAIT_FOR_COMPLETION_EDEFAULT);
+ return;
+ case BPMNProfilePackage.COMPENSATE_EVENT_DEFINITION__ACTIVITY_REF:
+ setActivityRef((BPMNActivity)null);
+ return;
+ case BPMNProfilePackage.COMPENSATE_EVENT_DEFINITION__BASE_CALL_EVENT:
+ setBase_CallEvent((CallEvent)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.COMPENSATE_EVENT_DEFINITION__WAIT_FOR_COMPLETION:
+ return waitForCompletion != WAIT_FOR_COMPLETION_EDEFAULT;
+ case BPMNProfilePackage.COMPENSATE_EVENT_DEFINITION__ACTIVITY_REF:
+ return activityRef != null;
+ case BPMNProfilePackage.COMPENSATE_EVENT_DEFINITION__BASE_CALL_EVENT:
+ return base_CallEvent != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (waitForCompletion: ");
+ result.append(waitForCompletion);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CompensateEventDefinitionImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ComplexBehaviorDefinitionImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ComplexBehaviorDefinitionImpl.java
new file mode 100644
index 00000000000..bf5150c360b
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ComplexBehaviorDefinitionImpl.java
@@ -0,0 +1,277 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ComplexBehaviorDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FormalExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ImplicitThrowEvent;
+
+import org.eclipse.uml2.uml.ControlFlow;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Complex Behavior Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ComplexBehaviorDefinitionImpl#getCondition <em>Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ComplexBehaviorDefinitionImpl#getEvent <em>Event</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ComplexBehaviorDefinitionImpl#getBase_ControlFlow <em>Base Control Flow</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ComplexBehaviorDefinitionImpl extends BaseElementImpl implements ComplexBehaviorDefinition {
+ /**
+ * The cached value of the '{@link #getCondition() <em>Condition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCondition()
+ * @generated
+ * @ordered
+ */
+ protected FormalExpression condition;
+ /**
+ * The cached value of the '{@link #getEvent() <em>Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEvent()
+ * @generated
+ * @ordered
+ */
+ protected ImplicitThrowEvent event;
+ /**
+ * The cached value of the '{@link #getBase_ControlFlow() <em>Base Control Flow</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_ControlFlow()
+ * @generated
+ * @ordered
+ */
+ protected ControlFlow base_ControlFlow;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComplexBehaviorDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getComplexBehaviorDefinition();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FormalExpression getCondition() {
+ if (condition != null && condition.eIsProxy()) {
+ InternalEObject oldCondition = (InternalEObject)condition;
+ condition = (FormalExpression)eResolveProxy(oldCondition);
+ if (condition != oldCondition) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.COMPLEX_BEHAVIOR_DEFINITION__CONDITION, oldCondition, condition));
+ }
+ }
+ return condition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FormalExpression basicGetCondition() {
+ return condition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCondition(FormalExpression newCondition) {
+ FormalExpression oldCondition = condition;
+ condition = newCondition;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.COMPLEX_BEHAVIOR_DEFINITION__CONDITION, oldCondition, condition));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplicitThrowEvent getEvent() {
+ if (event != null && event.eIsProxy()) {
+ InternalEObject oldEvent = (InternalEObject)event;
+ event = (ImplicitThrowEvent)eResolveProxy(oldEvent);
+ if (event != oldEvent) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.COMPLEX_BEHAVIOR_DEFINITION__EVENT, oldEvent, event));
+ }
+ }
+ return event;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ImplicitThrowEvent basicGetEvent() {
+ return event;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEvent(ImplicitThrowEvent newEvent) {
+ ImplicitThrowEvent oldEvent = event;
+ event = newEvent;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.COMPLEX_BEHAVIOR_DEFINITION__EVENT, oldEvent, event));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ControlFlow getBase_ControlFlow() {
+ if (base_ControlFlow != null && base_ControlFlow.eIsProxy()) {
+ InternalEObject oldBase_ControlFlow = (InternalEObject)base_ControlFlow;
+ base_ControlFlow = (ControlFlow)eResolveProxy(oldBase_ControlFlow);
+ if (base_ControlFlow != oldBase_ControlFlow) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.COMPLEX_BEHAVIOR_DEFINITION__BASE_CONTROL_FLOW, oldBase_ControlFlow, base_ControlFlow));
+ }
+ }
+ return base_ControlFlow;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ControlFlow basicGetBase_ControlFlow() {
+ return base_ControlFlow;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_ControlFlow(ControlFlow newBase_ControlFlow) {
+ ControlFlow oldBase_ControlFlow = base_ControlFlow;
+ base_ControlFlow = newBase_ControlFlow;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.COMPLEX_BEHAVIOR_DEFINITION__BASE_CONTROL_FLOW, oldBase_ControlFlow, base_ControlFlow));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.COMPLEX_BEHAVIOR_DEFINITION__CONDITION:
+ if (resolve) return getCondition();
+ return basicGetCondition();
+ case BPMNProfilePackage.COMPLEX_BEHAVIOR_DEFINITION__EVENT:
+ if (resolve) return getEvent();
+ return basicGetEvent();
+ case BPMNProfilePackage.COMPLEX_BEHAVIOR_DEFINITION__BASE_CONTROL_FLOW:
+ if (resolve) return getBase_ControlFlow();
+ return basicGetBase_ControlFlow();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.COMPLEX_BEHAVIOR_DEFINITION__CONDITION:
+ setCondition((FormalExpression)newValue);
+ return;
+ case BPMNProfilePackage.COMPLEX_BEHAVIOR_DEFINITION__EVENT:
+ setEvent((ImplicitThrowEvent)newValue);
+ return;
+ case BPMNProfilePackage.COMPLEX_BEHAVIOR_DEFINITION__BASE_CONTROL_FLOW:
+ setBase_ControlFlow((ControlFlow)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.COMPLEX_BEHAVIOR_DEFINITION__CONDITION:
+ setCondition((FormalExpression)null);
+ return;
+ case BPMNProfilePackage.COMPLEX_BEHAVIOR_DEFINITION__EVENT:
+ setEvent((ImplicitThrowEvent)null);
+ return;
+ case BPMNProfilePackage.COMPLEX_BEHAVIOR_DEFINITION__BASE_CONTROL_FLOW:
+ setBase_ControlFlow((ControlFlow)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.COMPLEX_BEHAVIOR_DEFINITION__CONDITION:
+ return condition != null;
+ case BPMNProfilePackage.COMPLEX_BEHAVIOR_DEFINITION__EVENT:
+ return event != null;
+ case BPMNProfilePackage.COMPLEX_BEHAVIOR_DEFINITION__BASE_CONTROL_FLOW:
+ return base_ControlFlow != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ComplexBehaviorDefinitionImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ComplexGatewayImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ComplexGatewayImpl.java
new file mode 100644
index 00000000000..8f450dfd530
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ComplexGatewayImpl.java
@@ -0,0 +1,323 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ComplexGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Complex Gateway</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ComplexGatewayImpl#getDefault <em>Default</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ComplexGatewayImpl#getActivationCondition <em>Activation Condition</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ComplexGatewayImpl extends NonExclusiveGatewayImpl implements ComplexGateway {
+ /**
+ * The cached value of the '{@link #getDefault() <em>Default</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefault()
+ * @generated
+ * @ordered
+ */
+ protected SequenceFlow default_;
+ /**
+ * The cached value of the '{@link #getActivationCondition() <em>Activation Condition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getActivationCondition()
+ * @generated
+ * @ordered
+ */
+ protected BPMNExpression activationCondition;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComplexGatewayImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getComplexGateway();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SequenceFlow getDefault() {
+ if (default_ != null && default_.eIsProxy()) {
+ InternalEObject oldDefault = (InternalEObject)default_;
+ default_ = (SequenceFlow)eResolveProxy(oldDefault);
+ if (default_ != oldDefault) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.COMPLEX_GATEWAY__DEFAULT, oldDefault, default_));
+ }
+ }
+ return default_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SequenceFlow basicGetDefault() {
+ return default_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDefault(SequenceFlow newDefault) {
+ SequenceFlow oldDefault = default_;
+ default_ = newDefault;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.COMPLEX_GATEWAY__DEFAULT, oldDefault, default_));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExpression getActivationCondition() {
+ if (activationCondition != null && activationCondition.eIsProxy()) {
+ InternalEObject oldActivationCondition = (InternalEObject)activationCondition;
+ activationCondition = (BPMNExpression)eResolveProxy(oldActivationCondition);
+ if (activationCondition != oldActivationCondition) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.COMPLEX_GATEWAY__ACTIVATION_CONDITION, oldActivationCondition, activationCondition));
+ }
+ }
+ return activationCondition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExpression basicGetActivationCondition() {
+ return activationCondition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setActivationCondition(BPMNExpression newActivationCondition) {
+ BPMNExpression oldActivationCondition = activationCondition;
+ activationCondition = newActivationCondition;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.COMPLEX_GATEWAY__ACTIVATION_CONDITION, oldActivationCondition, activationCondition));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean complexGatewaydefault(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.COMPLEX_GATEWAY__COMPLEX_GATEWAYDEFAULT,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "complexGatewaydefault", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean complexGatewayactivationCondition(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.COMPLEX_GATEWAY__COMPLEX_GATEWAYACTIVATION_CONDITION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "complexGatewayactivationCondition", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean complexGatewayjoinSpec(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.COMPLEX_GATEWAY__COMPLEX_GATEWAYJOIN_SPEC,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "complexGatewayjoinSpec", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.COMPLEX_GATEWAY__DEFAULT:
+ if (resolve) return getDefault();
+ return basicGetDefault();
+ case BPMNProfilePackage.COMPLEX_GATEWAY__ACTIVATION_CONDITION:
+ if (resolve) return getActivationCondition();
+ return basicGetActivationCondition();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.COMPLEX_GATEWAY__DEFAULT:
+ setDefault((SequenceFlow)newValue);
+ return;
+ case BPMNProfilePackage.COMPLEX_GATEWAY__ACTIVATION_CONDITION:
+ setActivationCondition((BPMNExpression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.COMPLEX_GATEWAY__DEFAULT:
+ setDefault((SequenceFlow)null);
+ return;
+ case BPMNProfilePackage.COMPLEX_GATEWAY__ACTIVATION_CONDITION:
+ setActivationCondition((BPMNExpression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.COMPLEX_GATEWAY__DEFAULT:
+ return default_ != null;
+ case BPMNProfilePackage.COMPLEX_GATEWAY__ACTIVATION_CONDITION:
+ return activationCondition != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.COMPLEX_GATEWAY___COMPLEX_GATEWAYDEFAULT__DIAGNOSTICCHAIN_MAP:
+ return complexGatewaydefault((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.COMPLEX_GATEWAY___COMPLEX_GATEWAYACTIVATION_CONDITION__DIAGNOSTICCHAIN_MAP:
+ return complexGatewayactivationCondition((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.COMPLEX_GATEWAY___COMPLEX_GATEWAYJOIN_SPEC__DIAGNOSTICCHAIN_MAP:
+ return complexGatewayjoinSpec((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //ComplexGatewayImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ConditionalEventDefinitionImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ConditionalEventDefinitionImpl.java
new file mode 100644
index 00000000000..b8a0db101bb
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ConditionalEventDefinitionImpl.java
@@ -0,0 +1,273 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ConditionalEventDefinition;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.ChangeEvent;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Conditional Event Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ConditionalEventDefinitionImpl#getBase_ChangeEvent <em>Base Change Event</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ConditionalEventDefinitionImpl#getCondition <em>Condition</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ConditionalEventDefinitionImpl extends EventDefinitionImpl implements ConditionalEventDefinition {
+ /**
+ * The cached value of the '{@link #getBase_ChangeEvent() <em>Base Change Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_ChangeEvent()
+ * @generated
+ * @ordered
+ */
+ protected ChangeEvent base_ChangeEvent;
+
+ /**
+ * The cached value of the '{@link #getCondition() <em>Condition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCondition()
+ * @generated
+ * @ordered
+ */
+ protected BPMNExpression condition;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConditionalEventDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getConditionalEventDefinition();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ChangeEvent getBase_ChangeEvent() {
+ if (base_ChangeEvent != null && base_ChangeEvent.eIsProxy()) {
+ InternalEObject oldBase_ChangeEvent = (InternalEObject)base_ChangeEvent;
+ base_ChangeEvent = (ChangeEvent)eResolveProxy(oldBase_ChangeEvent);
+ if (base_ChangeEvent != oldBase_ChangeEvent) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CONDITIONAL_EVENT_DEFINITION__BASE_CHANGE_EVENT, oldBase_ChangeEvent, base_ChangeEvent));
+ }
+ }
+ return base_ChangeEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ChangeEvent basicGetBase_ChangeEvent() {
+ return base_ChangeEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_ChangeEvent(ChangeEvent newBase_ChangeEvent) {
+ ChangeEvent oldBase_ChangeEvent = base_ChangeEvent;
+ base_ChangeEvent = newBase_ChangeEvent;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CONDITIONAL_EVENT_DEFINITION__BASE_CHANGE_EVENT, oldBase_ChangeEvent, base_ChangeEvent));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExpression getCondition() {
+ if (condition != null && condition.eIsProxy()) {
+ InternalEObject oldCondition = (InternalEObject)condition;
+ condition = (BPMNExpression)eResolveProxy(oldCondition);
+ if (condition != oldCondition) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CONDITIONAL_EVENT_DEFINITION__CONDITION, oldCondition, condition));
+ }
+ }
+ return condition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExpression basicGetCondition() {
+ return condition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCondition(BPMNExpression newCondition) {
+ BPMNExpression oldCondition = condition;
+ condition = newCondition;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CONDITIONAL_EVENT_DEFINITION__CONDITION, oldCondition, condition));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean conditionalEventDefinitioncondition(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.CONDITIONAL_EVENT_DEFINITION__CONDITIONAL_EVENT_DEFINITIONCONDITION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "conditionalEventDefinitioncondition", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.CONDITIONAL_EVENT_DEFINITION__BASE_CHANGE_EVENT:
+ if (resolve) return getBase_ChangeEvent();
+ return basicGetBase_ChangeEvent();
+ case BPMNProfilePackage.CONDITIONAL_EVENT_DEFINITION__CONDITION:
+ if (resolve) return getCondition();
+ return basicGetCondition();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.CONDITIONAL_EVENT_DEFINITION__BASE_CHANGE_EVENT:
+ setBase_ChangeEvent((ChangeEvent)newValue);
+ return;
+ case BPMNProfilePackage.CONDITIONAL_EVENT_DEFINITION__CONDITION:
+ setCondition((BPMNExpression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CONDITIONAL_EVENT_DEFINITION__BASE_CHANGE_EVENT:
+ setBase_ChangeEvent((ChangeEvent)null);
+ return;
+ case BPMNProfilePackage.CONDITIONAL_EVENT_DEFINITION__CONDITION:
+ setCondition((BPMNExpression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CONDITIONAL_EVENT_DEFINITION__BASE_CHANGE_EVENT:
+ return base_ChangeEvent != null;
+ case BPMNProfilePackage.CONDITIONAL_EVENT_DEFINITION__CONDITION:
+ return condition != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.CONDITIONAL_EVENT_DEFINITION___CONDITIONAL_EVENT_DEFINITIONCONDITION__DIAGNOSTICCHAIN_MAP:
+ return conditionalEventDefinitioncondition((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //ConditionalEventDefinitionImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ConversationImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ConversationImpl.java
new file mode 100644
index 00000000000..93c2e309752
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ConversationImpl.java
@@ -0,0 +1,37 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Conversation;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Conversation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ConversationImpl extends ConversationNodeImpl implements Conversation {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConversationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getConversation();
+ }
+
+} //ConversationImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ConversationLinkImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ConversationLinkImpl.java
new file mode 100644
index 00000000000..fe8638d4bd1
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ConversationLinkImpl.java
@@ -0,0 +1,446 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode;
+
+import org.eclipse.uml2.uml.Dependency;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Conversation Link</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ConversationLinkImpl#getCollaboration <em>Collaboration</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ConversationLinkImpl#getBase_Dependency <em>Base Dependency</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ConversationLinkImpl#getTargetRef <em>Target Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ConversationLinkImpl#getSourceRef <em>Source Ref</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ConversationLinkImpl extends BaseElementImpl implements ConversationLink {
+ /**
+ * The cached value of the '{@link #getCollaboration() <em>Collaboration</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCollaboration()
+ * @generated
+ * @ordered
+ */
+ protected BPMNCollaboration collaboration;
+ /**
+ * The cached value of the '{@link #getBase_Dependency() <em>Base Dependency</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Dependency()
+ * @generated
+ * @ordered
+ */
+ protected Dependency base_Dependency;
+
+ /**
+ * The cached value of the '{@link #getTargetRef() <em>Target Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargetRef()
+ * @generated
+ * @ordered
+ */
+ protected InteractionNode targetRef;
+ /**
+ * The cached value of the '{@link #getSourceRef() <em>Source Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSourceRef()
+ * @generated
+ * @ordered
+ */
+ protected InteractionNode sourceRef;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConversationLinkImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getConversationLink();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNCollaboration getCollaboration() {
+ if (collaboration != null && collaboration.eIsProxy()) {
+ InternalEObject oldCollaboration = (InternalEObject)collaboration;
+ collaboration = (BPMNCollaboration)eResolveProxy(oldCollaboration);
+ if (collaboration != oldCollaboration) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CONVERSATION_LINK__COLLABORATION, oldCollaboration, collaboration));
+ }
+ }
+ return collaboration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNCollaboration basicGetCollaboration() {
+ return collaboration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetCollaboration(BPMNCollaboration newCollaboration, NotificationChain msgs) {
+ BPMNCollaboration oldCollaboration = collaboration;
+ collaboration = newCollaboration;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CONVERSATION_LINK__COLLABORATION, oldCollaboration, newCollaboration);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCollaboration(BPMNCollaboration newCollaboration) {
+ if (newCollaboration != collaboration) {
+ NotificationChain msgs = null;
+ if (collaboration != null)
+ msgs = ((InternalEObject)collaboration).eInverseRemove(this, BPMNProfilePackage.BPMN_COLLABORATION__CONVERSATION_LINKS, BPMNCollaboration.class, msgs);
+ if (newCollaboration != null)
+ msgs = ((InternalEObject)newCollaboration).eInverseAdd(this, BPMNProfilePackage.BPMN_COLLABORATION__CONVERSATION_LINKS, BPMNCollaboration.class, msgs);
+ msgs = basicSetCollaboration(newCollaboration, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CONVERSATION_LINK__COLLABORATION, newCollaboration, newCollaboration));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency getBase_Dependency() {
+ if (base_Dependency != null && base_Dependency.eIsProxy()) {
+ InternalEObject oldBase_Dependency = (InternalEObject)base_Dependency;
+ base_Dependency = (Dependency)eResolveProxy(oldBase_Dependency);
+ if (base_Dependency != oldBase_Dependency) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CONVERSATION_LINK__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+ }
+ }
+ return base_Dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency basicGetBase_Dependency() {
+ return base_Dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Dependency(Dependency newBase_Dependency) {
+ Dependency oldBase_Dependency = base_Dependency;
+ base_Dependency = newBase_Dependency;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CONVERSATION_LINK__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionNode getTargetRef() {
+ if (targetRef != null && targetRef.eIsProxy()) {
+ InternalEObject oldTargetRef = (InternalEObject)targetRef;
+ targetRef = (InteractionNode)eResolveProxy(oldTargetRef);
+ if (targetRef != oldTargetRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CONVERSATION_LINK__TARGET_REF, oldTargetRef, targetRef));
+ }
+ }
+ return targetRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionNode basicGetTargetRef() {
+ return targetRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTargetRef(InteractionNode newTargetRef, NotificationChain msgs) {
+ InteractionNode oldTargetRef = targetRef;
+ targetRef = newTargetRef;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CONVERSATION_LINK__TARGET_REF, oldTargetRef, newTargetRef);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTargetRef(InteractionNode newTargetRef) {
+ if (newTargetRef != targetRef) {
+ NotificationChain msgs = null;
+ if (targetRef != null)
+ msgs = ((InternalEObject)targetRef).eInverseRemove(this, BPMNProfilePackage.INTERACTION_NODE__INCOMING_CONVERSATION_LINKS, InteractionNode.class, msgs);
+ if (newTargetRef != null)
+ msgs = ((InternalEObject)newTargetRef).eInverseAdd(this, BPMNProfilePackage.INTERACTION_NODE__INCOMING_CONVERSATION_LINKS, InteractionNode.class, msgs);
+ msgs = basicSetTargetRef(newTargetRef, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CONVERSATION_LINK__TARGET_REF, newTargetRef, newTargetRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionNode getSourceRef() {
+ if (sourceRef != null && sourceRef.eIsProxy()) {
+ InternalEObject oldSourceRef = (InternalEObject)sourceRef;
+ sourceRef = (InteractionNode)eResolveProxy(oldSourceRef);
+ if (sourceRef != oldSourceRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CONVERSATION_LINK__SOURCE_REF, oldSourceRef, sourceRef));
+ }
+ }
+ return sourceRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionNode basicGetSourceRef() {
+ return sourceRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSourceRef(InteractionNode newSourceRef, NotificationChain msgs) {
+ InteractionNode oldSourceRef = sourceRef;
+ sourceRef = newSourceRef;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CONVERSATION_LINK__SOURCE_REF, oldSourceRef, newSourceRef);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSourceRef(InteractionNode newSourceRef) {
+ if (newSourceRef != sourceRef) {
+ NotificationChain msgs = null;
+ if (sourceRef != null)
+ msgs = ((InternalEObject)sourceRef).eInverseRemove(this, BPMNProfilePackage.INTERACTION_NODE__OUTGOING_CONVERSATION_LINKS, InteractionNode.class, msgs);
+ if (newSourceRef != null)
+ msgs = ((InternalEObject)newSourceRef).eInverseAdd(this, BPMNProfilePackage.INTERACTION_NODE__OUTGOING_CONVERSATION_LINKS, InteractionNode.class, msgs);
+ msgs = basicSetSourceRef(newSourceRef, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CONVERSATION_LINK__SOURCE_REF, newSourceRef, newSourceRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.CONVERSATION_LINK__COLLABORATION:
+ if (collaboration != null)
+ msgs = ((InternalEObject)collaboration).eInverseRemove(this, BPMNProfilePackage.BPMN_COLLABORATION__CONVERSATION_LINKS, BPMNCollaboration.class, msgs);
+ return basicSetCollaboration((BPMNCollaboration)otherEnd, msgs);
+ case BPMNProfilePackage.CONVERSATION_LINK__TARGET_REF:
+ if (targetRef != null)
+ msgs = ((InternalEObject)targetRef).eInverseRemove(this, BPMNProfilePackage.INTERACTION_NODE__INCOMING_CONVERSATION_LINKS, InteractionNode.class, msgs);
+ return basicSetTargetRef((InteractionNode)otherEnd, msgs);
+ case BPMNProfilePackage.CONVERSATION_LINK__SOURCE_REF:
+ if (sourceRef != null)
+ msgs = ((InternalEObject)sourceRef).eInverseRemove(this, BPMNProfilePackage.INTERACTION_NODE__OUTGOING_CONVERSATION_LINKS, InteractionNode.class, msgs);
+ return basicSetSourceRef((InteractionNode)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.CONVERSATION_LINK__COLLABORATION:
+ return basicSetCollaboration(null, msgs);
+ case BPMNProfilePackage.CONVERSATION_LINK__TARGET_REF:
+ return basicSetTargetRef(null, msgs);
+ case BPMNProfilePackage.CONVERSATION_LINK__SOURCE_REF:
+ return basicSetSourceRef(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.CONVERSATION_LINK__COLLABORATION:
+ if (resolve) return getCollaboration();
+ return basicGetCollaboration();
+ case BPMNProfilePackage.CONVERSATION_LINK__BASE_DEPENDENCY:
+ if (resolve) return getBase_Dependency();
+ return basicGetBase_Dependency();
+ case BPMNProfilePackage.CONVERSATION_LINK__TARGET_REF:
+ if (resolve) return getTargetRef();
+ return basicGetTargetRef();
+ case BPMNProfilePackage.CONVERSATION_LINK__SOURCE_REF:
+ if (resolve) return getSourceRef();
+ return basicGetSourceRef();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.CONVERSATION_LINK__COLLABORATION:
+ setCollaboration((BPMNCollaboration)newValue);
+ return;
+ case BPMNProfilePackage.CONVERSATION_LINK__BASE_DEPENDENCY:
+ setBase_Dependency((Dependency)newValue);
+ return;
+ case BPMNProfilePackage.CONVERSATION_LINK__TARGET_REF:
+ setTargetRef((InteractionNode)newValue);
+ return;
+ case BPMNProfilePackage.CONVERSATION_LINK__SOURCE_REF:
+ setSourceRef((InteractionNode)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CONVERSATION_LINK__COLLABORATION:
+ setCollaboration((BPMNCollaboration)null);
+ return;
+ case BPMNProfilePackage.CONVERSATION_LINK__BASE_DEPENDENCY:
+ setBase_Dependency((Dependency)null);
+ return;
+ case BPMNProfilePackage.CONVERSATION_LINK__TARGET_REF:
+ setTargetRef((InteractionNode)null);
+ return;
+ case BPMNProfilePackage.CONVERSATION_LINK__SOURCE_REF:
+ setSourceRef((InteractionNode)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CONVERSATION_LINK__COLLABORATION:
+ return collaboration != null;
+ case BPMNProfilePackage.CONVERSATION_LINK__BASE_DEPENDENCY:
+ return base_Dependency != null;
+ case BPMNProfilePackage.CONVERSATION_LINK__TARGET_REF:
+ return targetRef != null;
+ case BPMNProfilePackage.CONVERSATION_LINK__SOURCE_REF:
+ return sourceRef != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ConversationLinkImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ConversationNodeImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ConversationNodeImpl.java
new file mode 100644
index 00000000000..31dd36312a0
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ConversationNodeImpl.java
@@ -0,0 +1,320 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ConversationNode;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationKey;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Participant;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.InformationFlow;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Conversation Node</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ConversationNodeImpl#getBase_InformationFlow <em>Base Information Flow</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ConversationNodeImpl#getMessageFlowRefs <em>Message Flow Refs</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ConversationNodeImpl#getCorrelationKeys <em>Correlation Keys</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ConversationNodeImpl#getParticipantRefs <em>Participant Refs</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ConversationNodeImpl extends InteractionNodeImpl implements ConversationNode {
+ /**
+ * The cached value of the '{@link #getBase_InformationFlow() <em>Base Information Flow</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_InformationFlow()
+ * @generated
+ * @ordered
+ */
+ protected InformationFlow base_InformationFlow;
+
+ /**
+ * The cached value of the '{@link #getMessageFlowRefs() <em>Message Flow Refs</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMessageFlowRefs()
+ * @generated
+ * @ordered
+ */
+ protected EList<MessageFlow> messageFlowRefs;
+
+ /**
+ * The cached value of the '{@link #getCorrelationKeys() <em>Correlation Keys</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCorrelationKeys()
+ * @generated
+ * @ordered
+ */
+ protected EList<CorrelationKey> correlationKeys;
+
+ /**
+ * The cached value of the '{@link #getParticipantRefs() <em>Participant Refs</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParticipantRefs()
+ * @generated
+ * @ordered
+ */
+ protected EList<Participant> participantRefs;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConversationNodeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getConversationNode();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InformationFlow getBase_InformationFlow() {
+ if (base_InformationFlow != null && base_InformationFlow.eIsProxy()) {
+ InternalEObject oldBase_InformationFlow = (InternalEObject)base_InformationFlow;
+ base_InformationFlow = (InformationFlow)eResolveProxy(oldBase_InformationFlow);
+ if (base_InformationFlow != oldBase_InformationFlow) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CONVERSATION_NODE__BASE_INFORMATION_FLOW, oldBase_InformationFlow, base_InformationFlow));
+ }
+ }
+ return base_InformationFlow;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InformationFlow basicGetBase_InformationFlow() {
+ return base_InformationFlow;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_InformationFlow(InformationFlow newBase_InformationFlow) {
+ InformationFlow oldBase_InformationFlow = base_InformationFlow;
+ base_InformationFlow = newBase_InformationFlow;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CONVERSATION_NODE__BASE_INFORMATION_FLOW, oldBase_InformationFlow, base_InformationFlow));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<MessageFlow> getMessageFlowRefs() {
+ if (messageFlowRefs == null) {
+ messageFlowRefs = new EObjectResolvingEList<MessageFlow>(MessageFlow.class, this, BPMNProfilePackage.CONVERSATION_NODE__MESSAGE_FLOW_REFS);
+ }
+ return messageFlowRefs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<CorrelationKey> getCorrelationKeys() {
+ if (correlationKeys == null) {
+ correlationKeys = new EObjectResolvingEList<CorrelationKey>(CorrelationKey.class, this, BPMNProfilePackage.CONVERSATION_NODE__CORRELATION_KEYS);
+ }
+ return correlationKeys;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Participant> getParticipantRefs() {
+ if (participantRefs == null) {
+ participantRefs = new EObjectResolvingEList<Participant>(Participant.class, this, BPMNProfilePackage.CONVERSATION_NODE__PARTICIPANT_REFS);
+ }
+ return participantRefs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ConversationNodeparticipantRefs(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.CONVERSATION_NODE__CONVERSATION_NODEPARTICIPANT_REFS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ConversationNodeparticipantRefs", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.CONVERSATION_NODE__BASE_INFORMATION_FLOW:
+ if (resolve) return getBase_InformationFlow();
+ return basicGetBase_InformationFlow();
+ case BPMNProfilePackage.CONVERSATION_NODE__MESSAGE_FLOW_REFS:
+ return getMessageFlowRefs();
+ case BPMNProfilePackage.CONVERSATION_NODE__CORRELATION_KEYS:
+ return getCorrelationKeys();
+ case BPMNProfilePackage.CONVERSATION_NODE__PARTICIPANT_REFS:
+ return getParticipantRefs();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.CONVERSATION_NODE__BASE_INFORMATION_FLOW:
+ setBase_InformationFlow((InformationFlow)newValue);
+ return;
+ case BPMNProfilePackage.CONVERSATION_NODE__MESSAGE_FLOW_REFS:
+ getMessageFlowRefs().clear();
+ getMessageFlowRefs().addAll((Collection<? extends MessageFlow>)newValue);
+ return;
+ case BPMNProfilePackage.CONVERSATION_NODE__CORRELATION_KEYS:
+ getCorrelationKeys().clear();
+ getCorrelationKeys().addAll((Collection<? extends CorrelationKey>)newValue);
+ return;
+ case BPMNProfilePackage.CONVERSATION_NODE__PARTICIPANT_REFS:
+ getParticipantRefs().clear();
+ getParticipantRefs().addAll((Collection<? extends Participant>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CONVERSATION_NODE__BASE_INFORMATION_FLOW:
+ setBase_InformationFlow((InformationFlow)null);
+ return;
+ case BPMNProfilePackage.CONVERSATION_NODE__MESSAGE_FLOW_REFS:
+ getMessageFlowRefs().clear();
+ return;
+ case BPMNProfilePackage.CONVERSATION_NODE__CORRELATION_KEYS:
+ getCorrelationKeys().clear();
+ return;
+ case BPMNProfilePackage.CONVERSATION_NODE__PARTICIPANT_REFS:
+ getParticipantRefs().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CONVERSATION_NODE__BASE_INFORMATION_FLOW:
+ return base_InformationFlow != null;
+ case BPMNProfilePackage.CONVERSATION_NODE__MESSAGE_FLOW_REFS:
+ return messageFlowRefs != null && !messageFlowRefs.isEmpty();
+ case BPMNProfilePackage.CONVERSATION_NODE__CORRELATION_KEYS:
+ return correlationKeys != null && !correlationKeys.isEmpty();
+ case BPMNProfilePackage.CONVERSATION_NODE__PARTICIPANT_REFS:
+ return participantRefs != null && !participantRefs.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.CONVERSATION_NODE___CONVERSATION_NODEPARTICIPANT_REFS__DIAGNOSTICCHAIN_MAP:
+ return ConversationNodeparticipantRefs((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //ConversationNodeImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CorrelationKeyImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CorrelationKeyImpl.java
new file mode 100644
index 00000000000..8dadc6de11b
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CorrelationKeyImpl.java
@@ -0,0 +1,196 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationKey;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationProperty;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Correlation Key</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CorrelationKeyImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CorrelationKeyImpl#getCorrelationPropertyRef <em>Correlation Property Ref</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CorrelationKeyImpl extends BaseElementImpl implements CorrelationKey {
+ /**
+ * The cached value of the '{@link #getBase_Class() <em>Base Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Class()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.uml2.uml.Class base_Class;
+
+ /**
+ * The cached value of the '{@link #getCorrelationPropertyRef() <em>Correlation Property Ref</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCorrelationPropertyRef()
+ * @generated
+ * @ordered
+ */
+ protected EList<CorrelationProperty> correlationPropertyRef;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CorrelationKeyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getCorrelationKey();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class getBase_Class() {
+ if (base_Class != null && base_Class.eIsProxy()) {
+ InternalEObject oldBase_Class = (InternalEObject)base_Class;
+ base_Class = (org.eclipse.uml2.uml.Class)eResolveProxy(oldBase_Class);
+ if (base_Class != oldBase_Class) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CORRELATION_KEY__BASE_CLASS, oldBase_Class, base_Class));
+ }
+ }
+ return base_Class;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+ return base_Class;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+ org.eclipse.uml2.uml.Class oldBase_Class = base_Class;
+ base_Class = newBase_Class;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CORRELATION_KEY__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<CorrelationProperty> getCorrelationPropertyRef() {
+ if (correlationPropertyRef == null) {
+ correlationPropertyRef = new EObjectResolvingEList<CorrelationProperty>(CorrelationProperty.class, this, BPMNProfilePackage.CORRELATION_KEY__CORRELATION_PROPERTY_REF);
+ }
+ return correlationPropertyRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.CORRELATION_KEY__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case BPMNProfilePackage.CORRELATION_KEY__CORRELATION_PROPERTY_REF:
+ return getCorrelationPropertyRef();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.CORRELATION_KEY__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case BPMNProfilePackage.CORRELATION_KEY__CORRELATION_PROPERTY_REF:
+ getCorrelationPropertyRef().clear();
+ getCorrelationPropertyRef().addAll((Collection<? extends CorrelationProperty>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CORRELATION_KEY__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case BPMNProfilePackage.CORRELATION_KEY__CORRELATION_PROPERTY_REF:
+ getCorrelationPropertyRef().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CORRELATION_KEY__BASE_CLASS:
+ return base_Class != null;
+ case BPMNProfilePackage.CORRELATION_KEY__CORRELATION_PROPERTY_REF:
+ return correlationPropertyRef != null && !correlationPropertyRef.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //CorrelationKeyImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CorrelationPropertyBindingImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CorrelationPropertyBindingImpl.java
new file mode 100644
index 00000000000..58b37cbe5e9
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CorrelationPropertyBindingImpl.java
@@ -0,0 +1,279 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationProperty;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyBinding;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FormalExpression;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Correlation Property Binding</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CorrelationPropertyBindingImpl#getBase_Property <em>Base Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CorrelationPropertyBindingImpl#getDataPath <em>Data Path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CorrelationPropertyBindingImpl#getCorrelationPropertyRef <em>Correlation Property Ref</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CorrelationPropertyBindingImpl extends BaseElementImpl implements CorrelationPropertyBinding {
+ /**
+ * The cached value of the '{@link #getBase_Property() <em>Base Property</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Property()
+ * @generated
+ * @ordered
+ */
+ protected Property base_Property;
+
+ /**
+ * The cached value of the '{@link #getDataPath() <em>Data Path</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDataPath()
+ * @generated
+ * @ordered
+ */
+ protected FormalExpression dataPath;
+
+ /**
+ * The cached value of the '{@link #getCorrelationPropertyRef() <em>Correlation Property Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCorrelationPropertyRef()
+ * @generated
+ * @ordered
+ */
+ protected CorrelationProperty correlationPropertyRef;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CorrelationPropertyBindingImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getCorrelationPropertyBinding();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getBase_Property() {
+ if (base_Property != null && base_Property.eIsProxy()) {
+ InternalEObject oldBase_Property = (InternalEObject)base_Property;
+ base_Property = (Property)eResolveProxy(oldBase_Property);
+ if (base_Property != oldBase_Property) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CORRELATION_PROPERTY_BINDING__BASE_PROPERTY, oldBase_Property, base_Property));
+ }
+ }
+ return base_Property;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetBase_Property() {
+ return base_Property;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Property(Property newBase_Property) {
+ Property oldBase_Property = base_Property;
+ base_Property = newBase_Property;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CORRELATION_PROPERTY_BINDING__BASE_PROPERTY, oldBase_Property, base_Property));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FormalExpression getDataPath() {
+ if (dataPath != null && dataPath.eIsProxy()) {
+ InternalEObject oldDataPath = (InternalEObject)dataPath;
+ dataPath = (FormalExpression)eResolveProxy(oldDataPath);
+ if (dataPath != oldDataPath) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CORRELATION_PROPERTY_BINDING__DATA_PATH, oldDataPath, dataPath));
+ }
+ }
+ return dataPath;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FormalExpression basicGetDataPath() {
+ return dataPath;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDataPath(FormalExpression newDataPath) {
+ FormalExpression oldDataPath = dataPath;
+ dataPath = newDataPath;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CORRELATION_PROPERTY_BINDING__DATA_PATH, oldDataPath, dataPath));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CorrelationProperty getCorrelationPropertyRef() {
+ if (correlationPropertyRef != null && correlationPropertyRef.eIsProxy()) {
+ InternalEObject oldCorrelationPropertyRef = (InternalEObject)correlationPropertyRef;
+ correlationPropertyRef = (CorrelationProperty)eResolveProxy(oldCorrelationPropertyRef);
+ if (correlationPropertyRef != oldCorrelationPropertyRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CORRELATION_PROPERTY_BINDING__CORRELATION_PROPERTY_REF, oldCorrelationPropertyRef, correlationPropertyRef));
+ }
+ }
+ return correlationPropertyRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CorrelationProperty basicGetCorrelationPropertyRef() {
+ return correlationPropertyRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCorrelationPropertyRef(CorrelationProperty newCorrelationPropertyRef) {
+ CorrelationProperty oldCorrelationPropertyRef = correlationPropertyRef;
+ correlationPropertyRef = newCorrelationPropertyRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CORRELATION_PROPERTY_BINDING__CORRELATION_PROPERTY_REF, oldCorrelationPropertyRef, correlationPropertyRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.CORRELATION_PROPERTY_BINDING__BASE_PROPERTY:
+ if (resolve) return getBase_Property();
+ return basicGetBase_Property();
+ case BPMNProfilePackage.CORRELATION_PROPERTY_BINDING__DATA_PATH:
+ if (resolve) return getDataPath();
+ return basicGetDataPath();
+ case BPMNProfilePackage.CORRELATION_PROPERTY_BINDING__CORRELATION_PROPERTY_REF:
+ if (resolve) return getCorrelationPropertyRef();
+ return basicGetCorrelationPropertyRef();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.CORRELATION_PROPERTY_BINDING__BASE_PROPERTY:
+ setBase_Property((Property)newValue);
+ return;
+ case BPMNProfilePackage.CORRELATION_PROPERTY_BINDING__DATA_PATH:
+ setDataPath((FormalExpression)newValue);
+ return;
+ case BPMNProfilePackage.CORRELATION_PROPERTY_BINDING__CORRELATION_PROPERTY_REF:
+ setCorrelationPropertyRef((CorrelationProperty)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CORRELATION_PROPERTY_BINDING__BASE_PROPERTY:
+ setBase_Property((Property)null);
+ return;
+ case BPMNProfilePackage.CORRELATION_PROPERTY_BINDING__DATA_PATH:
+ setDataPath((FormalExpression)null);
+ return;
+ case BPMNProfilePackage.CORRELATION_PROPERTY_BINDING__CORRELATION_PROPERTY_REF:
+ setCorrelationPropertyRef((CorrelationProperty)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CORRELATION_PROPERTY_BINDING__BASE_PROPERTY:
+ return base_Property != null;
+ case BPMNProfilePackage.CORRELATION_PROPERTY_BINDING__DATA_PATH:
+ return dataPath != null;
+ case BPMNProfilePackage.CORRELATION_PROPERTY_BINDING__CORRELATION_PROPERTY_REF:
+ return correlationPropertyRef != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //CorrelationPropertyBindingImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CorrelationPropertyImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CorrelationPropertyImpl.java
new file mode 100644
index 00000000000..3a768e998a9
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CorrelationPropertyImpl.java
@@ -0,0 +1,260 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationProperty;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyRetrievalExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Correlation Property</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CorrelationPropertyImpl#getBase_Property <em>Base Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CorrelationPropertyImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CorrelationPropertyImpl#getCorrelationPropertyRetrievalExpression <em>Correlation Property Retrieval Expression</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CorrelationPropertyImpl extends BaseElementImpl implements CorrelationProperty {
+ /**
+ * The cached value of the '{@link #getBase_Property() <em>Base Property</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Property()
+ * @generated
+ * @ordered
+ */
+ protected Property base_Property;
+
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected ItemDefinition type;
+
+ /**
+ * The cached value of the '{@link #getCorrelationPropertyRetrievalExpression() <em>Correlation Property Retrieval Expression</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCorrelationPropertyRetrievalExpression()
+ * @generated
+ * @ordered
+ */
+ protected EList<CorrelationPropertyRetrievalExpression> correlationPropertyRetrievalExpression;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CorrelationPropertyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getCorrelationProperty();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getBase_Property() {
+ if (base_Property != null && base_Property.eIsProxy()) {
+ InternalEObject oldBase_Property = (InternalEObject)base_Property;
+ base_Property = (Property)eResolveProxy(oldBase_Property);
+ if (base_Property != oldBase_Property) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CORRELATION_PROPERTY__BASE_PROPERTY, oldBase_Property, base_Property));
+ }
+ }
+ return base_Property;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetBase_Property() {
+ return base_Property;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Property(Property newBase_Property) {
+ Property oldBase_Property = base_Property;
+ base_Property = newBase_Property;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CORRELATION_PROPERTY__BASE_PROPERTY, oldBase_Property, base_Property));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemDefinition getType() {
+ if (type != null && type.eIsProxy()) {
+ InternalEObject oldType = (InternalEObject)type;
+ type = (ItemDefinition)eResolveProxy(oldType);
+ if (type != oldType) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CORRELATION_PROPERTY__TYPE, oldType, type));
+ }
+ }
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemDefinition basicGetType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(ItemDefinition newType) {
+ ItemDefinition oldType = type;
+ type = newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CORRELATION_PROPERTY__TYPE, oldType, type));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<CorrelationPropertyRetrievalExpression> getCorrelationPropertyRetrievalExpression() {
+ if (correlationPropertyRetrievalExpression == null) {
+ correlationPropertyRetrievalExpression = new EObjectResolvingEList<CorrelationPropertyRetrievalExpression>(CorrelationPropertyRetrievalExpression.class, this, BPMNProfilePackage.CORRELATION_PROPERTY__CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION);
+ }
+ return correlationPropertyRetrievalExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.CORRELATION_PROPERTY__BASE_PROPERTY:
+ if (resolve) return getBase_Property();
+ return basicGetBase_Property();
+ case BPMNProfilePackage.CORRELATION_PROPERTY__TYPE:
+ if (resolve) return getType();
+ return basicGetType();
+ case BPMNProfilePackage.CORRELATION_PROPERTY__CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION:
+ return getCorrelationPropertyRetrievalExpression();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.CORRELATION_PROPERTY__BASE_PROPERTY:
+ setBase_Property((Property)newValue);
+ return;
+ case BPMNProfilePackage.CORRELATION_PROPERTY__TYPE:
+ setType((ItemDefinition)newValue);
+ return;
+ case BPMNProfilePackage.CORRELATION_PROPERTY__CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION:
+ getCorrelationPropertyRetrievalExpression().clear();
+ getCorrelationPropertyRetrievalExpression().addAll((Collection<? extends CorrelationPropertyRetrievalExpression>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CORRELATION_PROPERTY__BASE_PROPERTY:
+ setBase_Property((Property)null);
+ return;
+ case BPMNProfilePackage.CORRELATION_PROPERTY__TYPE:
+ setType((ItemDefinition)null);
+ return;
+ case BPMNProfilePackage.CORRELATION_PROPERTY__CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION:
+ getCorrelationPropertyRetrievalExpression().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CORRELATION_PROPERTY__BASE_PROPERTY:
+ return base_Property != null;
+ case BPMNProfilePackage.CORRELATION_PROPERTY__TYPE:
+ return type != null;
+ case BPMNProfilePackage.CORRELATION_PROPERTY__CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION:
+ return correlationPropertyRetrievalExpression != null && !correlationPropertyRetrievalExpression.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //CorrelationPropertyImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CorrelationPropertyRetrievalExpressionImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CorrelationPropertyRetrievalExpressionImpl.java
new file mode 100644
index 00000000000..5c227793e53
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CorrelationPropertyRetrievalExpressionImpl.java
@@ -0,0 +1,278 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNMessage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyRetrievalExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FormalExpression;
+
+import org.eclipse.uml2.uml.Dependency;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Correlation Property Retrieval Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CorrelationPropertyRetrievalExpressionImpl#getBase_Dependency <em>Base Dependency</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CorrelationPropertyRetrievalExpressionImpl#getMessageRef <em>Message Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CorrelationPropertyRetrievalExpressionImpl#getMessagePath <em>Message Path</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CorrelationPropertyRetrievalExpressionImpl extends BaseElementImpl implements CorrelationPropertyRetrievalExpression {
+ /**
+ * The cached value of the '{@link #getBase_Dependency() <em>Base Dependency</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Dependency()
+ * @generated
+ * @ordered
+ */
+ protected Dependency base_Dependency;
+
+ /**
+ * The cached value of the '{@link #getMessageRef() <em>Message Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMessageRef()
+ * @generated
+ * @ordered
+ */
+ protected BPMNMessage messageRef;
+ /**
+ * The cached value of the '{@link #getMessagePath() <em>Message Path</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMessagePath()
+ * @generated
+ * @ordered
+ */
+ protected FormalExpression messagePath;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CorrelationPropertyRetrievalExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getCorrelationPropertyRetrievalExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency getBase_Dependency() {
+ if (base_Dependency != null && base_Dependency.eIsProxy()) {
+ InternalEObject oldBase_Dependency = (InternalEObject)base_Dependency;
+ base_Dependency = (Dependency)eResolveProxy(oldBase_Dependency);
+ if (base_Dependency != oldBase_Dependency) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+ }
+ }
+ return base_Dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency basicGetBase_Dependency() {
+ return base_Dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Dependency(Dependency newBase_Dependency) {
+ Dependency oldBase_Dependency = base_Dependency;
+ base_Dependency = newBase_Dependency;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNMessage getMessageRef() {
+ if (messageRef != null && messageRef.eIsProxy()) {
+ InternalEObject oldMessageRef = (InternalEObject)messageRef;
+ messageRef = (BPMNMessage)eResolveProxy(oldMessageRef);
+ if (messageRef != oldMessageRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION__MESSAGE_REF, oldMessageRef, messageRef));
+ }
+ }
+ return messageRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNMessage basicGetMessageRef() {
+ return messageRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMessageRef(BPMNMessage newMessageRef) {
+ BPMNMessage oldMessageRef = messageRef;
+ messageRef = newMessageRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION__MESSAGE_REF, oldMessageRef, messageRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FormalExpression getMessagePath() {
+ if (messagePath != null && messagePath.eIsProxy()) {
+ InternalEObject oldMessagePath = (InternalEObject)messagePath;
+ messagePath = (FormalExpression)eResolveProxy(oldMessagePath);
+ if (messagePath != oldMessagePath) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION__MESSAGE_PATH, oldMessagePath, messagePath));
+ }
+ }
+ return messagePath;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FormalExpression basicGetMessagePath() {
+ return messagePath;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMessagePath(FormalExpression newMessagePath) {
+ FormalExpression oldMessagePath = messagePath;
+ messagePath = newMessagePath;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION__MESSAGE_PATH, oldMessagePath, messagePath));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION__BASE_DEPENDENCY:
+ if (resolve) return getBase_Dependency();
+ return basicGetBase_Dependency();
+ case BPMNProfilePackage.CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION__MESSAGE_REF:
+ if (resolve) return getMessageRef();
+ return basicGetMessageRef();
+ case BPMNProfilePackage.CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION__MESSAGE_PATH:
+ if (resolve) return getMessagePath();
+ return basicGetMessagePath();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION__BASE_DEPENDENCY:
+ setBase_Dependency((Dependency)newValue);
+ return;
+ case BPMNProfilePackage.CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION__MESSAGE_REF:
+ setMessageRef((BPMNMessage)newValue);
+ return;
+ case BPMNProfilePackage.CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION__MESSAGE_PATH:
+ setMessagePath((FormalExpression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION__BASE_DEPENDENCY:
+ setBase_Dependency((Dependency)null);
+ return;
+ case BPMNProfilePackage.CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION__MESSAGE_REF:
+ setMessageRef((BPMNMessage)null);
+ return;
+ case BPMNProfilePackage.CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION__MESSAGE_PATH:
+ setMessagePath((FormalExpression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION__BASE_DEPENDENCY:
+ return base_Dependency != null;
+ case BPMNProfilePackage.CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION__MESSAGE_REF:
+ return messageRef != null;
+ case BPMNProfilePackage.CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION__MESSAGE_PATH:
+ return messagePath != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //CorrelationPropertyRetrievalExpressionImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CorrelationSubscriptionImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CorrelationSubscriptionImpl.java
new file mode 100644
index 00000000000..a5ab51ec115
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/CorrelationSubscriptionImpl.java
@@ -0,0 +1,256 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationKey;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyBinding;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationSubscription;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Correlation Subscription</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CorrelationSubscriptionImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CorrelationSubscriptionImpl#getCorrelationKeyRef <em>Correlation Key Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.CorrelationSubscriptionImpl#getCorrelationPropertyBinding <em>Correlation Property Binding</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class CorrelationSubscriptionImpl extends BaseElementImpl implements CorrelationSubscription {
+ /**
+ * The cached value of the '{@link #getBase_Class() <em>Base Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Class()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.uml2.uml.Class base_Class;
+
+ /**
+ * The cached value of the '{@link #getCorrelationKeyRef() <em>Correlation Key Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCorrelationKeyRef()
+ * @generated
+ * @ordered
+ */
+ protected CorrelationKey correlationKeyRef;
+ /**
+ * The cached value of the '{@link #getCorrelationPropertyBinding() <em>Correlation Property Binding</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCorrelationPropertyBinding()
+ * @generated
+ * @ordered
+ */
+ protected EList<CorrelationPropertyBinding> correlationPropertyBinding;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CorrelationSubscriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getCorrelationSubscription();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class getBase_Class() {
+ if (base_Class != null && base_Class.eIsProxy()) {
+ InternalEObject oldBase_Class = (InternalEObject)base_Class;
+ base_Class = (org.eclipse.uml2.uml.Class)eResolveProxy(oldBase_Class);
+ if (base_Class != oldBase_Class) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CORRELATION_SUBSCRIPTION__BASE_CLASS, oldBase_Class, base_Class));
+ }
+ }
+ return base_Class;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+ return base_Class;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+ org.eclipse.uml2.uml.Class oldBase_Class = base_Class;
+ base_Class = newBase_Class;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CORRELATION_SUBSCRIPTION__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CorrelationKey getCorrelationKeyRef() {
+ if (correlationKeyRef != null && correlationKeyRef.eIsProxy()) {
+ InternalEObject oldCorrelationKeyRef = (InternalEObject)correlationKeyRef;
+ correlationKeyRef = (CorrelationKey)eResolveProxy(oldCorrelationKeyRef);
+ if (correlationKeyRef != oldCorrelationKeyRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.CORRELATION_SUBSCRIPTION__CORRELATION_KEY_REF, oldCorrelationKeyRef, correlationKeyRef));
+ }
+ }
+ return correlationKeyRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CorrelationKey basicGetCorrelationKeyRef() {
+ return correlationKeyRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCorrelationKeyRef(CorrelationKey newCorrelationKeyRef) {
+ CorrelationKey oldCorrelationKeyRef = correlationKeyRef;
+ correlationKeyRef = newCorrelationKeyRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.CORRELATION_SUBSCRIPTION__CORRELATION_KEY_REF, oldCorrelationKeyRef, correlationKeyRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<CorrelationPropertyBinding> getCorrelationPropertyBinding() {
+ if (correlationPropertyBinding == null) {
+ correlationPropertyBinding = new EObjectResolvingEList<CorrelationPropertyBinding>(CorrelationPropertyBinding.class, this, BPMNProfilePackage.CORRELATION_SUBSCRIPTION__CORRELATION_PROPERTY_BINDING);
+ }
+ return correlationPropertyBinding;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.CORRELATION_SUBSCRIPTION__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case BPMNProfilePackage.CORRELATION_SUBSCRIPTION__CORRELATION_KEY_REF:
+ if (resolve) return getCorrelationKeyRef();
+ return basicGetCorrelationKeyRef();
+ case BPMNProfilePackage.CORRELATION_SUBSCRIPTION__CORRELATION_PROPERTY_BINDING:
+ return getCorrelationPropertyBinding();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.CORRELATION_SUBSCRIPTION__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case BPMNProfilePackage.CORRELATION_SUBSCRIPTION__CORRELATION_KEY_REF:
+ setCorrelationKeyRef((CorrelationKey)newValue);
+ return;
+ case BPMNProfilePackage.CORRELATION_SUBSCRIPTION__CORRELATION_PROPERTY_BINDING:
+ getCorrelationPropertyBinding().clear();
+ getCorrelationPropertyBinding().addAll((Collection<? extends CorrelationPropertyBinding>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CORRELATION_SUBSCRIPTION__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case BPMNProfilePackage.CORRELATION_SUBSCRIPTION__CORRELATION_KEY_REF:
+ setCorrelationKeyRef((CorrelationKey)null);
+ return;
+ case BPMNProfilePackage.CORRELATION_SUBSCRIPTION__CORRELATION_PROPERTY_BINDING:
+ getCorrelationPropertyBinding().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.CORRELATION_SUBSCRIPTION__BASE_CLASS:
+ return base_Class != null;
+ case BPMNProfilePackage.CORRELATION_SUBSCRIPTION__CORRELATION_KEY_REF:
+ return correlationKeyRef != null;
+ case BPMNProfilePackage.CORRELATION_SUBSCRIPTION__CORRELATION_PROPERTY_BINDING:
+ return correlationPropertyBinding != null && !correlationPropertyBinding.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //CorrelationSubscriptionImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataAssociationImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataAssociationImpl.java
new file mode 100644
index 00000000000..d744b953e5f
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataAssociationImpl.java
@@ -0,0 +1,486 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.Assignment;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FormalExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ItemAwareElement;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.ObjectFlow;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Data Association</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataAssociationImpl#getBase_ObjectFlow <em>Base Object Flow</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataAssociationImpl#getSourceRef <em>Source Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataAssociationImpl#getTargetRef <em>Target Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataAssociationImpl#getTransformation <em>Transformation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataAssociationImpl#getAssignment <em>Assignment</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class DataAssociationImpl extends BaseElementImpl implements DataAssociation {
+ /**
+ * The cached value of the '{@link #getBase_ObjectFlow() <em>Base Object Flow</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_ObjectFlow()
+ * @generated
+ * @ordered
+ */
+ protected ObjectFlow base_ObjectFlow;
+
+ /**
+ * The cached value of the '{@link #getSourceRef() <em>Source Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSourceRef()
+ * @generated
+ * @ordered
+ */
+ protected ItemAwareElement sourceRef;
+
+ /**
+ * The cached value of the '{@link #getTargetRef() <em>Target Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargetRef()
+ * @generated
+ * @ordered
+ */
+ protected ItemAwareElement targetRef;
+
+ /**
+ * The cached value of the '{@link #getTransformation() <em>Transformation</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTransformation()
+ * @generated
+ * @ordered
+ */
+ protected FormalExpression transformation;
+
+ /**
+ * The cached value of the '{@link #getAssignment() <em>Assignment</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAssignment()
+ * @generated
+ * @ordered
+ */
+ protected EList<Assignment> assignment;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DataAssociationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getDataAssociation();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ObjectFlow getBase_ObjectFlow() {
+ if (base_ObjectFlow != null && base_ObjectFlow.eIsProxy()) {
+ InternalEObject oldBase_ObjectFlow = (InternalEObject)base_ObjectFlow;
+ base_ObjectFlow = (ObjectFlow)eResolveProxy(oldBase_ObjectFlow);
+ if (base_ObjectFlow != oldBase_ObjectFlow) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.DATA_ASSOCIATION__BASE_OBJECT_FLOW, oldBase_ObjectFlow, base_ObjectFlow));
+ }
+ }
+ return base_ObjectFlow;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ObjectFlow basicGetBase_ObjectFlow() {
+ return base_ObjectFlow;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_ObjectFlow(ObjectFlow newBase_ObjectFlow) {
+ ObjectFlow oldBase_ObjectFlow = base_ObjectFlow;
+ base_ObjectFlow = newBase_ObjectFlow;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DATA_ASSOCIATION__BASE_OBJECT_FLOW, oldBase_ObjectFlow, base_ObjectFlow));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemAwareElement getSourceRef() {
+ if (sourceRef != null && sourceRef.eIsProxy()) {
+ InternalEObject oldSourceRef = (InternalEObject)sourceRef;
+ sourceRef = (ItemAwareElement)eResolveProxy(oldSourceRef);
+ if (sourceRef != oldSourceRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.DATA_ASSOCIATION__SOURCE_REF, oldSourceRef, sourceRef));
+ }
+ }
+ return sourceRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemAwareElement basicGetSourceRef() {
+ return sourceRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSourceRef(ItemAwareElement newSourceRef) {
+ ItemAwareElement oldSourceRef = sourceRef;
+ sourceRef = newSourceRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DATA_ASSOCIATION__SOURCE_REF, oldSourceRef, sourceRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemAwareElement getTargetRef() {
+ if (targetRef != null && targetRef.eIsProxy()) {
+ InternalEObject oldTargetRef = (InternalEObject)targetRef;
+ targetRef = (ItemAwareElement)eResolveProxy(oldTargetRef);
+ if (targetRef != oldTargetRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.DATA_ASSOCIATION__TARGET_REF, oldTargetRef, targetRef));
+ }
+ }
+ return targetRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemAwareElement basicGetTargetRef() {
+ return targetRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTargetRef(ItemAwareElement newTargetRef) {
+ ItemAwareElement oldTargetRef = targetRef;
+ targetRef = newTargetRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DATA_ASSOCIATION__TARGET_REF, oldTargetRef, targetRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FormalExpression getTransformation() {
+ if (transformation != null && transformation.eIsProxy()) {
+ InternalEObject oldTransformation = (InternalEObject)transformation;
+ transformation = (FormalExpression)eResolveProxy(oldTransformation);
+ if (transformation != oldTransformation) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.DATA_ASSOCIATION__TRANSFORMATION, oldTransformation, transformation));
+ }
+ }
+ return transformation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FormalExpression basicGetTransformation() {
+ return transformation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTransformation(FormalExpression newTransformation) {
+ FormalExpression oldTransformation = transformation;
+ transformation = newTransformation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DATA_ASSOCIATION__TRANSFORMATION, oldTransformation, transformation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Assignment> getAssignment() {
+ if (assignment == null) {
+ assignment = new EObjectResolvingEList<Assignment>(Assignment.class, this, BPMNProfilePackage.DATA_ASSOCIATION__ASSIGNMENT);
+ }
+ return assignment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean DataAssociationsource(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.DATA_ASSOCIATION__DATA_ASSOCIATIONSOURCE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "DataAssociationsource", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean DataAssociationtransformation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.DATA_ASSOCIATION__DATA_ASSOCIATIONTRANSFORMATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "DataAssociationtransformation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean DataAssociationtarget(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.DATA_ASSOCIATION__DATA_ASSOCIATIONTARGET,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "DataAssociationtarget", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_ASSOCIATION__BASE_OBJECT_FLOW:
+ if (resolve) return getBase_ObjectFlow();
+ return basicGetBase_ObjectFlow();
+ case BPMNProfilePackage.DATA_ASSOCIATION__SOURCE_REF:
+ if (resolve) return getSourceRef();
+ return basicGetSourceRef();
+ case BPMNProfilePackage.DATA_ASSOCIATION__TARGET_REF:
+ if (resolve) return getTargetRef();
+ return basicGetTargetRef();
+ case BPMNProfilePackage.DATA_ASSOCIATION__TRANSFORMATION:
+ if (resolve) return getTransformation();
+ return basicGetTransformation();
+ case BPMNProfilePackage.DATA_ASSOCIATION__ASSIGNMENT:
+ return getAssignment();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_ASSOCIATION__BASE_OBJECT_FLOW:
+ setBase_ObjectFlow((ObjectFlow)newValue);
+ return;
+ case BPMNProfilePackage.DATA_ASSOCIATION__SOURCE_REF:
+ setSourceRef((ItemAwareElement)newValue);
+ return;
+ case BPMNProfilePackage.DATA_ASSOCIATION__TARGET_REF:
+ setTargetRef((ItemAwareElement)newValue);
+ return;
+ case BPMNProfilePackage.DATA_ASSOCIATION__TRANSFORMATION:
+ setTransformation((FormalExpression)newValue);
+ return;
+ case BPMNProfilePackage.DATA_ASSOCIATION__ASSIGNMENT:
+ getAssignment().clear();
+ getAssignment().addAll((Collection<? extends Assignment>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_ASSOCIATION__BASE_OBJECT_FLOW:
+ setBase_ObjectFlow((ObjectFlow)null);
+ return;
+ case BPMNProfilePackage.DATA_ASSOCIATION__SOURCE_REF:
+ setSourceRef((ItemAwareElement)null);
+ return;
+ case BPMNProfilePackage.DATA_ASSOCIATION__TARGET_REF:
+ setTargetRef((ItemAwareElement)null);
+ return;
+ case BPMNProfilePackage.DATA_ASSOCIATION__TRANSFORMATION:
+ setTransformation((FormalExpression)null);
+ return;
+ case BPMNProfilePackage.DATA_ASSOCIATION__ASSIGNMENT:
+ getAssignment().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_ASSOCIATION__BASE_OBJECT_FLOW:
+ return base_ObjectFlow != null;
+ case BPMNProfilePackage.DATA_ASSOCIATION__SOURCE_REF:
+ return sourceRef != null;
+ case BPMNProfilePackage.DATA_ASSOCIATION__TARGET_REF:
+ return targetRef != null;
+ case BPMNProfilePackage.DATA_ASSOCIATION__TRANSFORMATION:
+ return transformation != null;
+ case BPMNProfilePackage.DATA_ASSOCIATION__ASSIGNMENT:
+ return assignment != null && !assignment.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.DATA_ASSOCIATION___DATA_ASSOCIATIONSOURCE__DIAGNOSTICCHAIN_MAP:
+ return DataAssociationsource((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.DATA_ASSOCIATION___DATA_ASSOCIATIONTRANSFORMATION__DIAGNOSTICCHAIN_MAP:
+ return DataAssociationtransformation((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.DATA_ASSOCIATION___DATA_ASSOCIATIONTARGET__DIAGNOSTICCHAIN_MAP:
+ return DataAssociationtarget((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //DataAssociationImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataInputAssociationImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataInputAssociationImpl.java
new file mode 100644
index 00000000000..3aa94e269b9
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataInputAssociationImpl.java
@@ -0,0 +1,119 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataInputAssociation;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Data Input Association</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DataInputAssociationImpl extends DataAssociationImpl implements DataInputAssociation {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DataInputAssociationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getDataInputAssociation();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean dataInputAssociationsource(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.DATA_INPUT_ASSOCIATION__DATA_INPUT_ASSOCIATIONSOURCE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "dataInputAssociationsource", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean dataInputAssociationtarget(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.DATA_INPUT_ASSOCIATION__DATA_INPUT_ASSOCIATIONTARGET,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "dataInputAssociationtarget", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.DATA_INPUT_ASSOCIATION___DATA_INPUT_ASSOCIATIONSOURCE__DIAGNOSTICCHAIN_MAP:
+ return dataInputAssociationsource((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.DATA_INPUT_ASSOCIATION___DATA_INPUT_ASSOCIATIONTARGET__DIAGNOSTICCHAIN_MAP:
+ return dataInputAssociationtarget((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //DataInputAssociationImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataInputImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataInputImpl.java
new file mode 100644
index 00000000000..7f5d2daabf7
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataInputImpl.java
@@ -0,0 +1,601 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataInput;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InputSet;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.Parameter;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Data Input</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataInputImpl#isCollection <em>Is Collection</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataInputImpl#getBase_InputPin <em>Base Input Pin</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataInputImpl#getBase_Parameter <em>Base Parameter</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataInputImpl#getBase_ActivityParameterNode <em>Base Activity Parameter Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataInputImpl#getInputSetRefs <em>Input Set Refs</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataInputImpl#getInputSetWithOptional <em>Input Set With Optional</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataInputImpl#getInputSetWithWhileExecuting <em>Input Set With While Executing</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DataInputImpl extends ItemAwareElementImpl implements DataInput {
+ /**
+ * The default value of the '{@link #isCollection() <em>Is Collection</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCollection()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_COLLECTION_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isCollection() <em>Is Collection</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCollection()
+ * @generated
+ * @ordered
+ */
+ protected boolean isCollection = IS_COLLECTION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBase_InputPin() <em>Base Input Pin</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_InputPin()
+ * @generated
+ * @ordered
+ */
+ protected InputPin base_InputPin;
+
+ /**
+ * The cached value of the '{@link #getBase_Parameter() <em>Base Parameter</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Parameter()
+ * @generated
+ * @ordered
+ */
+ protected Parameter base_Parameter;
+
+ /**
+ * The cached value of the '{@link #getBase_ActivityParameterNode() <em>Base Activity Parameter Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_ActivityParameterNode()
+ * @generated
+ * @ordered
+ */
+ protected ActivityParameterNode base_ActivityParameterNode;
+
+ /**
+ * The cached value of the '{@link #getInputSetRefs() <em>Input Set Refs</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputSetRefs()
+ * @generated
+ * @ordered
+ */
+ protected EList<InputSet> inputSetRefs;
+
+ /**
+ * The cached value of the '{@link #getInputSetWithOptional() <em>Input Set With Optional</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputSetWithOptional()
+ * @generated
+ * @ordered
+ */
+ protected EList<InputSet> inputSetWithOptional;
+
+ /**
+ * The cached value of the '{@link #getInputSetWithWhileExecuting() <em>Input Set With While Executing</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputSetWithWhileExecuting()
+ * @generated
+ * @ordered
+ */
+ protected EList<InputSet> inputSetWithWhileExecuting;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DataInputImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getDataInput();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isCollection() {
+ return isCollection;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsCollection(boolean newIsCollection) {
+ boolean oldIsCollection = isCollection;
+ isCollection = newIsCollection;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DATA_INPUT__IS_COLLECTION, oldIsCollection, isCollection));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin getBase_InputPin() {
+ if (base_InputPin != null && base_InputPin.eIsProxy()) {
+ InternalEObject oldBase_InputPin = (InternalEObject)base_InputPin;
+ base_InputPin = (InputPin)eResolveProxy(oldBase_InputPin);
+ if (base_InputPin != oldBase_InputPin) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.DATA_INPUT__BASE_INPUT_PIN, oldBase_InputPin, base_InputPin));
+ }
+ }
+ return base_InputPin;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputPin basicGetBase_InputPin() {
+ return base_InputPin;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_InputPin(InputPin newBase_InputPin) {
+ InputPin oldBase_InputPin = base_InputPin;
+ base_InputPin = newBase_InputPin;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DATA_INPUT__BASE_INPUT_PIN, oldBase_InputPin, base_InputPin));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Parameter getBase_Parameter() {
+ if (base_Parameter != null && base_Parameter.eIsProxy()) {
+ InternalEObject oldBase_Parameter = (InternalEObject)base_Parameter;
+ base_Parameter = (Parameter)eResolveProxy(oldBase_Parameter);
+ if (base_Parameter != oldBase_Parameter) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.DATA_INPUT__BASE_PARAMETER, oldBase_Parameter, base_Parameter));
+ }
+ }
+ return base_Parameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Parameter basicGetBase_Parameter() {
+ return base_Parameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Parameter(Parameter newBase_Parameter) {
+ Parameter oldBase_Parameter = base_Parameter;
+ base_Parameter = newBase_Parameter;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DATA_INPUT__BASE_PARAMETER, oldBase_Parameter, base_Parameter));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityParameterNode getBase_ActivityParameterNode() {
+ if (base_ActivityParameterNode != null && base_ActivityParameterNode.eIsProxy()) {
+ InternalEObject oldBase_ActivityParameterNode = (InternalEObject)base_ActivityParameterNode;
+ base_ActivityParameterNode = (ActivityParameterNode)eResolveProxy(oldBase_ActivityParameterNode);
+ if (base_ActivityParameterNode != oldBase_ActivityParameterNode) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.DATA_INPUT__BASE_ACTIVITY_PARAMETER_NODE, oldBase_ActivityParameterNode, base_ActivityParameterNode));
+ }
+ }
+ return base_ActivityParameterNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityParameterNode basicGetBase_ActivityParameterNode() {
+ return base_ActivityParameterNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_ActivityParameterNode(ActivityParameterNode newBase_ActivityParameterNode) {
+ ActivityParameterNode oldBase_ActivityParameterNode = base_ActivityParameterNode;
+ base_ActivityParameterNode = newBase_ActivityParameterNode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DATA_INPUT__BASE_ACTIVITY_PARAMETER_NODE, oldBase_ActivityParameterNode, base_ActivityParameterNode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<InputSet> getInputSetRefs() {
+ if (inputSetRefs == null) {
+ inputSetRefs = new EObjectWithInverseResolvingEList.ManyInverse<InputSet>(InputSet.class, this, BPMNProfilePackage.DATA_INPUT__INPUT_SET_REFS, BPMNProfilePackage.INPUT_SET__DATA_INPUT_REFS);
+ }
+ return inputSetRefs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<InputSet> getInputSetWithOptional() {
+ if (inputSetWithOptional == null) {
+ inputSetWithOptional = new EObjectWithInverseResolvingEList.ManyInverse<InputSet>(InputSet.class, this, BPMNProfilePackage.DATA_INPUT__INPUT_SET_WITH_OPTIONAL, BPMNProfilePackage.INPUT_SET__OPTIONAL_INPUT_REFS);
+ }
+ return inputSetWithOptional;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<InputSet> getInputSetWithWhileExecuting() {
+ if (inputSetWithWhileExecuting == null) {
+ inputSetWithWhileExecuting = new EObjectWithInverseResolvingEList.ManyInverse<InputSet>(InputSet.class, this, BPMNProfilePackage.DATA_INPUT__INPUT_SET_WITH_WHILE_EXECUTING, BPMNProfilePackage.INPUT_SET__WHILE_EXECUTING_INPUT_REFS);
+ }
+ return inputSetWithWhileExecuting;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean DataInputAssociation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.DATA_INPUT__DATA_INPUT_ASSOCIATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "DataInputAssociation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean DataInputnotation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.DATA_INPUT__DATA_INPUTNOTATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "DataInputnotation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean DataInputitemSubjectRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.DATA_INPUT__DATA_INPUTITEM_SUBJECT_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "DataInputitemSubjectRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_INPUT__INPUT_SET_REFS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getInputSetRefs()).basicAdd(otherEnd, msgs);
+ case BPMNProfilePackage.DATA_INPUT__INPUT_SET_WITH_OPTIONAL:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getInputSetWithOptional()).basicAdd(otherEnd, msgs);
+ case BPMNProfilePackage.DATA_INPUT__INPUT_SET_WITH_WHILE_EXECUTING:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getInputSetWithWhileExecuting()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_INPUT__INPUT_SET_REFS:
+ return ((InternalEList<?>)getInputSetRefs()).basicRemove(otherEnd, msgs);
+ case BPMNProfilePackage.DATA_INPUT__INPUT_SET_WITH_OPTIONAL:
+ return ((InternalEList<?>)getInputSetWithOptional()).basicRemove(otherEnd, msgs);
+ case BPMNProfilePackage.DATA_INPUT__INPUT_SET_WITH_WHILE_EXECUTING:
+ return ((InternalEList<?>)getInputSetWithWhileExecuting()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_INPUT__IS_COLLECTION:
+ return isCollection();
+ case BPMNProfilePackage.DATA_INPUT__BASE_INPUT_PIN:
+ if (resolve) return getBase_InputPin();
+ return basicGetBase_InputPin();
+ case BPMNProfilePackage.DATA_INPUT__BASE_PARAMETER:
+ if (resolve) return getBase_Parameter();
+ return basicGetBase_Parameter();
+ case BPMNProfilePackage.DATA_INPUT__BASE_ACTIVITY_PARAMETER_NODE:
+ if (resolve) return getBase_ActivityParameterNode();
+ return basicGetBase_ActivityParameterNode();
+ case BPMNProfilePackage.DATA_INPUT__INPUT_SET_REFS:
+ return getInputSetRefs();
+ case BPMNProfilePackage.DATA_INPUT__INPUT_SET_WITH_OPTIONAL:
+ return getInputSetWithOptional();
+ case BPMNProfilePackage.DATA_INPUT__INPUT_SET_WITH_WHILE_EXECUTING:
+ return getInputSetWithWhileExecuting();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_INPUT__IS_COLLECTION:
+ setIsCollection((Boolean)newValue);
+ return;
+ case BPMNProfilePackage.DATA_INPUT__BASE_INPUT_PIN:
+ setBase_InputPin((InputPin)newValue);
+ return;
+ case BPMNProfilePackage.DATA_INPUT__BASE_PARAMETER:
+ setBase_Parameter((Parameter)newValue);
+ return;
+ case BPMNProfilePackage.DATA_INPUT__BASE_ACTIVITY_PARAMETER_NODE:
+ setBase_ActivityParameterNode((ActivityParameterNode)newValue);
+ return;
+ case BPMNProfilePackage.DATA_INPUT__INPUT_SET_REFS:
+ getInputSetRefs().clear();
+ getInputSetRefs().addAll((Collection<? extends InputSet>)newValue);
+ return;
+ case BPMNProfilePackage.DATA_INPUT__INPUT_SET_WITH_OPTIONAL:
+ getInputSetWithOptional().clear();
+ getInputSetWithOptional().addAll((Collection<? extends InputSet>)newValue);
+ return;
+ case BPMNProfilePackage.DATA_INPUT__INPUT_SET_WITH_WHILE_EXECUTING:
+ getInputSetWithWhileExecuting().clear();
+ getInputSetWithWhileExecuting().addAll((Collection<? extends InputSet>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_INPUT__IS_COLLECTION:
+ setIsCollection(IS_COLLECTION_EDEFAULT);
+ return;
+ case BPMNProfilePackage.DATA_INPUT__BASE_INPUT_PIN:
+ setBase_InputPin((InputPin)null);
+ return;
+ case BPMNProfilePackage.DATA_INPUT__BASE_PARAMETER:
+ setBase_Parameter((Parameter)null);
+ return;
+ case BPMNProfilePackage.DATA_INPUT__BASE_ACTIVITY_PARAMETER_NODE:
+ setBase_ActivityParameterNode((ActivityParameterNode)null);
+ return;
+ case BPMNProfilePackage.DATA_INPUT__INPUT_SET_REFS:
+ getInputSetRefs().clear();
+ return;
+ case BPMNProfilePackage.DATA_INPUT__INPUT_SET_WITH_OPTIONAL:
+ getInputSetWithOptional().clear();
+ return;
+ case BPMNProfilePackage.DATA_INPUT__INPUT_SET_WITH_WHILE_EXECUTING:
+ getInputSetWithWhileExecuting().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_INPUT__IS_COLLECTION:
+ return isCollection != IS_COLLECTION_EDEFAULT;
+ case BPMNProfilePackage.DATA_INPUT__BASE_INPUT_PIN:
+ return base_InputPin != null;
+ case BPMNProfilePackage.DATA_INPUT__BASE_PARAMETER:
+ return base_Parameter != null;
+ case BPMNProfilePackage.DATA_INPUT__BASE_ACTIVITY_PARAMETER_NODE:
+ return base_ActivityParameterNode != null;
+ case BPMNProfilePackage.DATA_INPUT__INPUT_SET_REFS:
+ return inputSetRefs != null && !inputSetRefs.isEmpty();
+ case BPMNProfilePackage.DATA_INPUT__INPUT_SET_WITH_OPTIONAL:
+ return inputSetWithOptional != null && !inputSetWithOptional.isEmpty();
+ case BPMNProfilePackage.DATA_INPUT__INPUT_SET_WITH_WHILE_EXECUTING:
+ return inputSetWithWhileExecuting != null && !inputSetWithWhileExecuting.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.DATA_INPUT___DATA_INPUT_ASSOCIATION__DIAGNOSTICCHAIN_MAP:
+ return DataInputAssociation((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.DATA_INPUT___DATA_INPUTNOTATION__DIAGNOSTICCHAIN_MAP:
+ return DataInputnotation((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.DATA_INPUT___DATA_INPUTITEM_SUBJECT_REF__DIAGNOSTICCHAIN_MAP:
+ return DataInputitemSubjectRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (isCollection: ");
+ result.append(isCollection);
+ result.append(')');
+ return result.toString();
+ }
+
+} //DataInputImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataObjectImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataObjectImpl.java
new file mode 100644
index 00000000000..a21d34445af
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataObjectImpl.java
@@ -0,0 +1,520 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataObject;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataState;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ItemAwareElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Data Object</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataObjectImpl#getDataState <em>Data State</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataObjectImpl#getBase_TypedElement <em>Base Typed Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataObjectImpl#getItemSubjectRef <em>Item Subject Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataObjectImpl#isCollection <em>Is Collection</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataObjectImpl#getBase_DataStoreNode <em>Base Data Store Node</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DataObjectImpl extends FlowElementImpl implements DataObject {
+ /**
+ * The cached value of the '{@link #getDataState() <em>Data State</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDataState()
+ * @generated
+ * @ordered
+ */
+ protected EList<DataState> dataState;
+
+ /**
+ * The cached value of the '{@link #getBase_TypedElement() <em>Base Typed Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_TypedElement()
+ * @generated
+ * @ordered
+ */
+ protected TypedElement base_TypedElement;
+
+ /**
+ * The cached value of the '{@link #getItemSubjectRef() <em>Item Subject Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getItemSubjectRef()
+ * @generated
+ * @ordered
+ */
+ protected ItemDefinition itemSubjectRef;
+
+ /**
+ * The default value of the '{@link #isCollection() <em>Is Collection</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCollection()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_COLLECTION_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isCollection() <em>Is Collection</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCollection()
+ * @generated
+ * @ordered
+ */
+ protected boolean isCollection = IS_COLLECTION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBase_DataStoreNode() <em>Base Data Store Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_DataStoreNode()
+ * @generated
+ * @ordered
+ */
+ protected DataStoreNode base_DataStoreNode;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DataObjectImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getDataObject();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DataState> getDataState() {
+ if (dataState == null) {
+ dataState = new EObjectResolvingEList<DataState>(DataState.class, this, BPMNProfilePackage.DATA_OBJECT__DATA_STATE);
+ }
+ return dataState;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypedElement getBase_TypedElement() {
+ if (base_TypedElement != null && base_TypedElement.eIsProxy()) {
+ InternalEObject oldBase_TypedElement = (InternalEObject)base_TypedElement;
+ base_TypedElement = (TypedElement)eResolveProxy(oldBase_TypedElement);
+ if (base_TypedElement != oldBase_TypedElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.DATA_OBJECT__BASE_TYPED_ELEMENT, oldBase_TypedElement, base_TypedElement));
+ }
+ }
+ return base_TypedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypedElement basicGetBase_TypedElement() {
+ return base_TypedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_TypedElement(TypedElement newBase_TypedElement) {
+ TypedElement oldBase_TypedElement = base_TypedElement;
+ base_TypedElement = newBase_TypedElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DATA_OBJECT__BASE_TYPED_ELEMENT, oldBase_TypedElement, base_TypedElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemDefinition getItemSubjectRef() {
+ if (itemSubjectRef != null && itemSubjectRef.eIsProxy()) {
+ InternalEObject oldItemSubjectRef = (InternalEObject)itemSubjectRef;
+ itemSubjectRef = (ItemDefinition)eResolveProxy(oldItemSubjectRef);
+ if (itemSubjectRef != oldItemSubjectRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.DATA_OBJECT__ITEM_SUBJECT_REF, oldItemSubjectRef, itemSubjectRef));
+ }
+ }
+ return itemSubjectRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemDefinition basicGetItemSubjectRef() {
+ return itemSubjectRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setItemSubjectRef(ItemDefinition newItemSubjectRef) {
+ ItemDefinition oldItemSubjectRef = itemSubjectRef;
+ itemSubjectRef = newItemSubjectRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DATA_OBJECT__ITEM_SUBJECT_REF, oldItemSubjectRef, itemSubjectRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isCollection() {
+ return isCollection;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsCollection(boolean newIsCollection) {
+ boolean oldIsCollection = isCollection;
+ isCollection = newIsCollection;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DATA_OBJECT__IS_COLLECTION, oldIsCollection, isCollection));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataStoreNode getBase_DataStoreNode() {
+ if (base_DataStoreNode != null && base_DataStoreNode.eIsProxy()) {
+ InternalEObject oldBase_DataStoreNode = (InternalEObject)base_DataStoreNode;
+ base_DataStoreNode = (DataStoreNode)eResolveProxy(oldBase_DataStoreNode);
+ if (base_DataStoreNode != oldBase_DataStoreNode) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.DATA_OBJECT__BASE_DATA_STORE_NODE, oldBase_DataStoreNode, base_DataStoreNode));
+ }
+ }
+ return base_DataStoreNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataStoreNode basicGetBase_DataStoreNode() {
+ return base_DataStoreNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_DataStoreNode(DataStoreNode newBase_DataStoreNode) {
+ DataStoreNode oldBase_DataStoreNode = base_DataStoreNode;
+ base_DataStoreNode = newBase_DataStoreNode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DATA_OBJECT__BASE_DATA_STORE_NODE, oldBase_DataStoreNode, base_DataStoreNode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ItemAwareElementdataState(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.ITEM_AWARE_ELEMENT__ITEM_AWARE_ELEMENTDATA_STATE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ItemAwareElementdataState", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean DataObjectdataState(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.DATA_OBJECT__DATA_OBJECTDATA_STATE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "DataObjectdataState", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_OBJECT__DATA_STATE:
+ return getDataState();
+ case BPMNProfilePackage.DATA_OBJECT__BASE_TYPED_ELEMENT:
+ if (resolve) return getBase_TypedElement();
+ return basicGetBase_TypedElement();
+ case BPMNProfilePackage.DATA_OBJECT__ITEM_SUBJECT_REF:
+ if (resolve) return getItemSubjectRef();
+ return basicGetItemSubjectRef();
+ case BPMNProfilePackage.DATA_OBJECT__IS_COLLECTION:
+ return isCollection();
+ case BPMNProfilePackage.DATA_OBJECT__BASE_DATA_STORE_NODE:
+ if (resolve) return getBase_DataStoreNode();
+ return basicGetBase_DataStoreNode();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_OBJECT__DATA_STATE:
+ getDataState().clear();
+ getDataState().addAll((Collection<? extends DataState>)newValue);
+ return;
+ case BPMNProfilePackage.DATA_OBJECT__BASE_TYPED_ELEMENT:
+ setBase_TypedElement((TypedElement)newValue);
+ return;
+ case BPMNProfilePackage.DATA_OBJECT__ITEM_SUBJECT_REF:
+ setItemSubjectRef((ItemDefinition)newValue);
+ return;
+ case BPMNProfilePackage.DATA_OBJECT__IS_COLLECTION:
+ setIsCollection((Boolean)newValue);
+ return;
+ case BPMNProfilePackage.DATA_OBJECT__BASE_DATA_STORE_NODE:
+ setBase_DataStoreNode((DataStoreNode)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_OBJECT__DATA_STATE:
+ getDataState().clear();
+ return;
+ case BPMNProfilePackage.DATA_OBJECT__BASE_TYPED_ELEMENT:
+ setBase_TypedElement((TypedElement)null);
+ return;
+ case BPMNProfilePackage.DATA_OBJECT__ITEM_SUBJECT_REF:
+ setItemSubjectRef((ItemDefinition)null);
+ return;
+ case BPMNProfilePackage.DATA_OBJECT__IS_COLLECTION:
+ setIsCollection(IS_COLLECTION_EDEFAULT);
+ return;
+ case BPMNProfilePackage.DATA_OBJECT__BASE_DATA_STORE_NODE:
+ setBase_DataStoreNode((DataStoreNode)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_OBJECT__DATA_STATE:
+ return dataState != null && !dataState.isEmpty();
+ case BPMNProfilePackage.DATA_OBJECT__BASE_TYPED_ELEMENT:
+ return base_TypedElement != null;
+ case BPMNProfilePackage.DATA_OBJECT__ITEM_SUBJECT_REF:
+ return itemSubjectRef != null;
+ case BPMNProfilePackage.DATA_OBJECT__IS_COLLECTION:
+ return isCollection != IS_COLLECTION_EDEFAULT;
+ case BPMNProfilePackage.DATA_OBJECT__BASE_DATA_STORE_NODE:
+ return base_DataStoreNode != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == ItemAwareElement.class) {
+ switch (derivedFeatureID) {
+ case BPMNProfilePackage.DATA_OBJECT__DATA_STATE: return BPMNProfilePackage.ITEM_AWARE_ELEMENT__DATA_STATE;
+ case BPMNProfilePackage.DATA_OBJECT__BASE_TYPED_ELEMENT: return BPMNProfilePackage.ITEM_AWARE_ELEMENT__BASE_TYPED_ELEMENT;
+ case BPMNProfilePackage.DATA_OBJECT__ITEM_SUBJECT_REF: return BPMNProfilePackage.ITEM_AWARE_ELEMENT__ITEM_SUBJECT_REF;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == ItemAwareElement.class) {
+ switch (baseFeatureID) {
+ case BPMNProfilePackage.ITEM_AWARE_ELEMENT__DATA_STATE: return BPMNProfilePackage.DATA_OBJECT__DATA_STATE;
+ case BPMNProfilePackage.ITEM_AWARE_ELEMENT__BASE_TYPED_ELEMENT: return BPMNProfilePackage.DATA_OBJECT__BASE_TYPED_ELEMENT;
+ case BPMNProfilePackage.ITEM_AWARE_ELEMENT__ITEM_SUBJECT_REF: return BPMNProfilePackage.DATA_OBJECT__ITEM_SUBJECT_REF;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == ItemAwareElement.class) {
+ switch (baseOperationID) {
+ case BPMNProfilePackage.ITEM_AWARE_ELEMENT___ITEM_AWARE_ELEMENTDATA_STATE__DIAGNOSTICCHAIN_MAP: return BPMNProfilePackage.DATA_OBJECT___ITEM_AWARE_ELEMENTDATA_STATE__DIAGNOSTICCHAIN_MAP;
+ default: return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.DATA_OBJECT___ITEM_AWARE_ELEMENTDATA_STATE__DIAGNOSTICCHAIN_MAP:
+ return ItemAwareElementdataState((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.DATA_OBJECT___DATA_OBJECTDATA_STATE__DIAGNOSTICCHAIN_MAP:
+ return DataObjectdataState((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (isCollection: ");
+ result.append(isCollection);
+ result.append(')');
+ return result.toString();
+ }
+
+} //DataObjectImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataObjectReferenceImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataObjectReferenceImpl.java
new file mode 100644
index 00000000000..9ab466c2a12
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataObjectReferenceImpl.java
@@ -0,0 +1,540 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataObject;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataObjectReference;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataState;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ItemAwareElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Data Object Reference</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataObjectReferenceImpl#getDataState <em>Data State</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataObjectReferenceImpl#getBase_TypedElement <em>Base Typed Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataObjectReferenceImpl#getItemSubjectRef <em>Item Subject Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataObjectReferenceImpl#getDataObjectRef <em>Data Object Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataObjectReferenceImpl#getBase_DataStoreNode <em>Base Data Store Node</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DataObjectReferenceImpl extends FlowElementImpl implements DataObjectReference {
+ /**
+ * The cached value of the '{@link #getDataState() <em>Data State</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDataState()
+ * @generated
+ * @ordered
+ */
+ protected EList<DataState> dataState;
+
+ /**
+ * The cached value of the '{@link #getBase_TypedElement() <em>Base Typed Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_TypedElement()
+ * @generated
+ * @ordered
+ */
+ protected TypedElement base_TypedElement;
+
+ /**
+ * The cached value of the '{@link #getItemSubjectRef() <em>Item Subject Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getItemSubjectRef()
+ * @generated
+ * @ordered
+ */
+ protected ItemDefinition itemSubjectRef;
+
+ /**
+ * The cached value of the '{@link #getDataObjectRef() <em>Data Object Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDataObjectRef()
+ * @generated
+ * @ordered
+ */
+ protected DataObject dataObjectRef;
+
+ /**
+ * The cached value of the '{@link #getBase_DataStoreNode() <em>Base Data Store Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_DataStoreNode()
+ * @generated
+ * @ordered
+ */
+ protected DataStoreNode base_DataStoreNode;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DataObjectReferenceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getDataObjectReference();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DataState> getDataState() {
+ if (dataState == null) {
+ dataState = new EObjectResolvingEList<DataState>(DataState.class, this, BPMNProfilePackage.DATA_OBJECT_REFERENCE__DATA_STATE);
+ }
+ return dataState;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypedElement getBase_TypedElement() {
+ if (base_TypedElement != null && base_TypedElement.eIsProxy()) {
+ InternalEObject oldBase_TypedElement = (InternalEObject)base_TypedElement;
+ base_TypedElement = (TypedElement)eResolveProxy(oldBase_TypedElement);
+ if (base_TypedElement != oldBase_TypedElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.DATA_OBJECT_REFERENCE__BASE_TYPED_ELEMENT, oldBase_TypedElement, base_TypedElement));
+ }
+ }
+ return base_TypedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypedElement basicGetBase_TypedElement() {
+ return base_TypedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_TypedElement(TypedElement newBase_TypedElement) {
+ TypedElement oldBase_TypedElement = base_TypedElement;
+ base_TypedElement = newBase_TypedElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DATA_OBJECT_REFERENCE__BASE_TYPED_ELEMENT, oldBase_TypedElement, base_TypedElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemDefinition getItemSubjectRef() {
+ if (itemSubjectRef != null && itemSubjectRef.eIsProxy()) {
+ InternalEObject oldItemSubjectRef = (InternalEObject)itemSubjectRef;
+ itemSubjectRef = (ItemDefinition)eResolveProxy(oldItemSubjectRef);
+ if (itemSubjectRef != oldItemSubjectRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.DATA_OBJECT_REFERENCE__ITEM_SUBJECT_REF, oldItemSubjectRef, itemSubjectRef));
+ }
+ }
+ return itemSubjectRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemDefinition basicGetItemSubjectRef() {
+ return itemSubjectRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setItemSubjectRef(ItemDefinition newItemSubjectRef) {
+ ItemDefinition oldItemSubjectRef = itemSubjectRef;
+ itemSubjectRef = newItemSubjectRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DATA_OBJECT_REFERENCE__ITEM_SUBJECT_REF, oldItemSubjectRef, itemSubjectRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataObject getDataObjectRef() {
+ if (dataObjectRef != null && dataObjectRef.eIsProxy()) {
+ InternalEObject oldDataObjectRef = (InternalEObject)dataObjectRef;
+ dataObjectRef = (DataObject)eResolveProxy(oldDataObjectRef);
+ if (dataObjectRef != oldDataObjectRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.DATA_OBJECT_REFERENCE__DATA_OBJECT_REF, oldDataObjectRef, dataObjectRef));
+ }
+ }
+ return dataObjectRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataObject basicGetDataObjectRef() {
+ return dataObjectRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDataObjectRef(DataObject newDataObjectRef) {
+ DataObject oldDataObjectRef = dataObjectRef;
+ dataObjectRef = newDataObjectRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DATA_OBJECT_REFERENCE__DATA_OBJECT_REF, oldDataObjectRef, dataObjectRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataStoreNode getBase_DataStoreNode() {
+ if (base_DataStoreNode != null && base_DataStoreNode.eIsProxy()) {
+ InternalEObject oldBase_DataStoreNode = (InternalEObject)base_DataStoreNode;
+ base_DataStoreNode = (DataStoreNode)eResolveProxy(oldBase_DataStoreNode);
+ if (base_DataStoreNode != oldBase_DataStoreNode) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.DATA_OBJECT_REFERENCE__BASE_DATA_STORE_NODE, oldBase_DataStoreNode, base_DataStoreNode));
+ }
+ }
+ return base_DataStoreNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataStoreNode basicGetBase_DataStoreNode() {
+ return base_DataStoreNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_DataStoreNode(DataStoreNode newBase_DataStoreNode) {
+ DataStoreNode oldBase_DataStoreNode = base_DataStoreNode;
+ base_DataStoreNode = newBase_DataStoreNode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DATA_OBJECT_REFERENCE__BASE_DATA_STORE_NODE, oldBase_DataStoreNode, base_DataStoreNode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ItemAwareElementdataState(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.ITEM_AWARE_ELEMENT__ITEM_AWARE_ELEMENTDATA_STATE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ItemAwareElementdataState", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean DataObjectRefsourcetarget(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.DATA_OBJECT_REFERENCE__DATA_OBJECT_REFSOURCETARGET,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "DataObjectRefsourcetarget", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean DataObjectRefdataState(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.DATA_OBJECT_REFERENCE__DATA_OBJECT_REFDATA_STATE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "DataObjectRefdataState", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_OBJECT_REFERENCE__DATA_STATE:
+ return getDataState();
+ case BPMNProfilePackage.DATA_OBJECT_REFERENCE__BASE_TYPED_ELEMENT:
+ if (resolve) return getBase_TypedElement();
+ return basicGetBase_TypedElement();
+ case BPMNProfilePackage.DATA_OBJECT_REFERENCE__ITEM_SUBJECT_REF:
+ if (resolve) return getItemSubjectRef();
+ return basicGetItemSubjectRef();
+ case BPMNProfilePackage.DATA_OBJECT_REFERENCE__DATA_OBJECT_REF:
+ if (resolve) return getDataObjectRef();
+ return basicGetDataObjectRef();
+ case BPMNProfilePackage.DATA_OBJECT_REFERENCE__BASE_DATA_STORE_NODE:
+ if (resolve) return getBase_DataStoreNode();
+ return basicGetBase_DataStoreNode();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_OBJECT_REFERENCE__DATA_STATE:
+ getDataState().clear();
+ getDataState().addAll((Collection<? extends DataState>)newValue);
+ return;
+ case BPMNProfilePackage.DATA_OBJECT_REFERENCE__BASE_TYPED_ELEMENT:
+ setBase_TypedElement((TypedElement)newValue);
+ return;
+ case BPMNProfilePackage.DATA_OBJECT_REFERENCE__ITEM_SUBJECT_REF:
+ setItemSubjectRef((ItemDefinition)newValue);
+ return;
+ case BPMNProfilePackage.DATA_OBJECT_REFERENCE__DATA_OBJECT_REF:
+ setDataObjectRef((DataObject)newValue);
+ return;
+ case BPMNProfilePackage.DATA_OBJECT_REFERENCE__BASE_DATA_STORE_NODE:
+ setBase_DataStoreNode((DataStoreNode)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_OBJECT_REFERENCE__DATA_STATE:
+ getDataState().clear();
+ return;
+ case BPMNProfilePackage.DATA_OBJECT_REFERENCE__BASE_TYPED_ELEMENT:
+ setBase_TypedElement((TypedElement)null);
+ return;
+ case BPMNProfilePackage.DATA_OBJECT_REFERENCE__ITEM_SUBJECT_REF:
+ setItemSubjectRef((ItemDefinition)null);
+ return;
+ case BPMNProfilePackage.DATA_OBJECT_REFERENCE__DATA_OBJECT_REF:
+ setDataObjectRef((DataObject)null);
+ return;
+ case BPMNProfilePackage.DATA_OBJECT_REFERENCE__BASE_DATA_STORE_NODE:
+ setBase_DataStoreNode((DataStoreNode)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_OBJECT_REFERENCE__DATA_STATE:
+ return dataState != null && !dataState.isEmpty();
+ case BPMNProfilePackage.DATA_OBJECT_REFERENCE__BASE_TYPED_ELEMENT:
+ return base_TypedElement != null;
+ case BPMNProfilePackage.DATA_OBJECT_REFERENCE__ITEM_SUBJECT_REF:
+ return itemSubjectRef != null;
+ case BPMNProfilePackage.DATA_OBJECT_REFERENCE__DATA_OBJECT_REF:
+ return dataObjectRef != null;
+ case BPMNProfilePackage.DATA_OBJECT_REFERENCE__BASE_DATA_STORE_NODE:
+ return base_DataStoreNode != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == ItemAwareElement.class) {
+ switch (derivedFeatureID) {
+ case BPMNProfilePackage.DATA_OBJECT_REFERENCE__DATA_STATE: return BPMNProfilePackage.ITEM_AWARE_ELEMENT__DATA_STATE;
+ case BPMNProfilePackage.DATA_OBJECT_REFERENCE__BASE_TYPED_ELEMENT: return BPMNProfilePackage.ITEM_AWARE_ELEMENT__BASE_TYPED_ELEMENT;
+ case BPMNProfilePackage.DATA_OBJECT_REFERENCE__ITEM_SUBJECT_REF: return BPMNProfilePackage.ITEM_AWARE_ELEMENT__ITEM_SUBJECT_REF;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == ItemAwareElement.class) {
+ switch (baseFeatureID) {
+ case BPMNProfilePackage.ITEM_AWARE_ELEMENT__DATA_STATE: return BPMNProfilePackage.DATA_OBJECT_REFERENCE__DATA_STATE;
+ case BPMNProfilePackage.ITEM_AWARE_ELEMENT__BASE_TYPED_ELEMENT: return BPMNProfilePackage.DATA_OBJECT_REFERENCE__BASE_TYPED_ELEMENT;
+ case BPMNProfilePackage.ITEM_AWARE_ELEMENT__ITEM_SUBJECT_REF: return BPMNProfilePackage.DATA_OBJECT_REFERENCE__ITEM_SUBJECT_REF;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == ItemAwareElement.class) {
+ switch (baseOperationID) {
+ case BPMNProfilePackage.ITEM_AWARE_ELEMENT___ITEM_AWARE_ELEMENTDATA_STATE__DIAGNOSTICCHAIN_MAP: return BPMNProfilePackage.DATA_OBJECT_REFERENCE___ITEM_AWARE_ELEMENTDATA_STATE__DIAGNOSTICCHAIN_MAP;
+ default: return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.DATA_OBJECT_REFERENCE___ITEM_AWARE_ELEMENTDATA_STATE__DIAGNOSTICCHAIN_MAP:
+ return ItemAwareElementdataState((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.DATA_OBJECT_REFERENCE___DATA_OBJECT_REFSOURCETARGET__DIAGNOSTICCHAIN_MAP:
+ return DataObjectRefsourcetarget((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.DATA_OBJECT_REFERENCE___DATA_OBJECT_REFDATA_STATE__DIAGNOSTICCHAIN_MAP:
+ return DataObjectRefdataState((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //DataObjectReferenceImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataOutputAssociationImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataOutputAssociationImpl.java
new file mode 100644
index 00000000000..f52f1e23220
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataOutputAssociationImpl.java
@@ -0,0 +1,119 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataOutputAssociation;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Data Output Association</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DataOutputAssociationImpl extends DataAssociationImpl implements DataOutputAssociation {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DataOutputAssociationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getDataOutputAssociation();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean dataOutputAssociationsource(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.DATA_OUTPUT_ASSOCIATION__DATA_OUTPUT_ASSOCIATIONSOURCE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "dataOutputAssociationsource", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean dataOutputAssociationtarget(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.DATA_OUTPUT_ASSOCIATION__DATA_OUTPUT_ASSOCIATIONTARGET,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "dataOutputAssociationtarget", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.DATA_OUTPUT_ASSOCIATION___DATA_OUTPUT_ASSOCIATIONSOURCE__DIAGNOSTICCHAIN_MAP:
+ return dataOutputAssociationsource((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.DATA_OUTPUT_ASSOCIATION___DATA_OUTPUT_ASSOCIATIONTARGET__DIAGNOSTICCHAIN_MAP:
+ return dataOutputAssociationtarget((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //DataOutputAssociationImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataOutputImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataOutputImpl.java
new file mode 100644
index 00000000000..d6437bf54a4
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataOutputImpl.java
@@ -0,0 +1,567 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput;
+import org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.ActivityParameterNode;
+import org.eclipse.uml2.uml.OutputPin;
+import org.eclipse.uml2.uml.Parameter;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Data Output</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataOutputImpl#getBase_OutputPin <em>Base Output Pin</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataOutputImpl#isCollection <em>Is Collection</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataOutputImpl#getBase_Parameter <em>Base Parameter</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataOutputImpl#getBase_ActivityParameterNode <em>Base Activity Parameter Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataOutputImpl#getOutputSetRefs <em>Output Set Refs</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataOutputImpl#getOutputSetWithOptional <em>Output Set With Optional</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataOutputImpl#getOutputSetWithWhileExecuting <em>Output Set With While Executing</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DataOutputImpl extends ItemAwareElementImpl implements DataOutput {
+ /**
+ * The cached value of the '{@link #getBase_OutputPin() <em>Base Output Pin</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_OutputPin()
+ * @generated
+ * @ordered
+ */
+ protected OutputPin base_OutputPin;
+
+ /**
+ * The default value of the '{@link #isCollection() <em>Is Collection</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCollection()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_COLLECTION_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isCollection() <em>Is Collection</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCollection()
+ * @generated
+ * @ordered
+ */
+ protected boolean isCollection = IS_COLLECTION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBase_Parameter() <em>Base Parameter</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Parameter()
+ * @generated
+ * @ordered
+ */
+ protected Parameter base_Parameter;
+
+ /**
+ * The cached value of the '{@link #getBase_ActivityParameterNode() <em>Base Activity Parameter Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_ActivityParameterNode()
+ * @generated
+ * @ordered
+ */
+ protected ActivityParameterNode base_ActivityParameterNode;
+
+ /**
+ * The cached value of the '{@link #getOutputSetRefs() <em>Output Set Refs</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutputSetRefs()
+ * @generated
+ * @ordered
+ */
+ protected EList<OutputSet> outputSetRefs;
+
+ /**
+ * The cached value of the '{@link #getOutputSetWithOptional() <em>Output Set With Optional</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutputSetWithOptional()
+ * @generated
+ * @ordered
+ */
+ protected EList<OutputSet> outputSetWithOptional;
+
+ /**
+ * The cached value of the '{@link #getOutputSetWithWhileExecuting() <em>Output Set With While Executing</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutputSetWithWhileExecuting()
+ * @generated
+ * @ordered
+ */
+ protected EList<OutputSet> outputSetWithWhileExecuting;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DataOutputImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getDataOutput();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin getBase_OutputPin() {
+ if (base_OutputPin != null && base_OutputPin.eIsProxy()) {
+ InternalEObject oldBase_OutputPin = (InternalEObject)base_OutputPin;
+ base_OutputPin = (OutputPin)eResolveProxy(oldBase_OutputPin);
+ if (base_OutputPin != oldBase_OutputPin) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.DATA_OUTPUT__BASE_OUTPUT_PIN, oldBase_OutputPin, base_OutputPin));
+ }
+ }
+ return base_OutputPin;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputPin basicGetBase_OutputPin() {
+ return base_OutputPin;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_OutputPin(OutputPin newBase_OutputPin) {
+ OutputPin oldBase_OutputPin = base_OutputPin;
+ base_OutputPin = newBase_OutputPin;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DATA_OUTPUT__BASE_OUTPUT_PIN, oldBase_OutputPin, base_OutputPin));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isCollection() {
+ return isCollection;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsCollection(boolean newIsCollection) {
+ boolean oldIsCollection = isCollection;
+ isCollection = newIsCollection;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DATA_OUTPUT__IS_COLLECTION, oldIsCollection, isCollection));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Parameter getBase_Parameter() {
+ if (base_Parameter != null && base_Parameter.eIsProxy()) {
+ InternalEObject oldBase_Parameter = (InternalEObject)base_Parameter;
+ base_Parameter = (Parameter)eResolveProxy(oldBase_Parameter);
+ if (base_Parameter != oldBase_Parameter) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.DATA_OUTPUT__BASE_PARAMETER, oldBase_Parameter, base_Parameter));
+ }
+ }
+ return base_Parameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Parameter basicGetBase_Parameter() {
+ return base_Parameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Parameter(Parameter newBase_Parameter) {
+ Parameter oldBase_Parameter = base_Parameter;
+ base_Parameter = newBase_Parameter;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DATA_OUTPUT__BASE_PARAMETER, oldBase_Parameter, base_Parameter));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityParameterNode getBase_ActivityParameterNode() {
+ if (base_ActivityParameterNode != null && base_ActivityParameterNode.eIsProxy()) {
+ InternalEObject oldBase_ActivityParameterNode = (InternalEObject)base_ActivityParameterNode;
+ base_ActivityParameterNode = (ActivityParameterNode)eResolveProxy(oldBase_ActivityParameterNode);
+ if (base_ActivityParameterNode != oldBase_ActivityParameterNode) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.DATA_OUTPUT__BASE_ACTIVITY_PARAMETER_NODE, oldBase_ActivityParameterNode, base_ActivityParameterNode));
+ }
+ }
+ return base_ActivityParameterNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityParameterNode basicGetBase_ActivityParameterNode() {
+ return base_ActivityParameterNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_ActivityParameterNode(ActivityParameterNode newBase_ActivityParameterNode) {
+ ActivityParameterNode oldBase_ActivityParameterNode = base_ActivityParameterNode;
+ base_ActivityParameterNode = newBase_ActivityParameterNode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DATA_OUTPUT__BASE_ACTIVITY_PARAMETER_NODE, oldBase_ActivityParameterNode, base_ActivityParameterNode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<OutputSet> getOutputSetRefs() {
+ if (outputSetRefs == null) {
+ outputSetRefs = new EObjectWithInverseResolvingEList.ManyInverse<OutputSet>(OutputSet.class, this, BPMNProfilePackage.DATA_OUTPUT__OUTPUT_SET_REFS, BPMNProfilePackage.OUTPUT_SET__DATA_OUTPUT_REFS);
+ }
+ return outputSetRefs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<OutputSet> getOutputSetWithOptional() {
+ if (outputSetWithOptional == null) {
+ outputSetWithOptional = new EObjectResolvingEList<OutputSet>(OutputSet.class, this, BPMNProfilePackage.DATA_OUTPUT__OUTPUT_SET_WITH_OPTIONAL);
+ }
+ return outputSetWithOptional;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<OutputSet> getOutputSetWithWhileExecuting() {
+ if (outputSetWithWhileExecuting == null) {
+ outputSetWithWhileExecuting = new EObjectResolvingEList<OutputSet>(OutputSet.class, this, BPMNProfilePackage.DATA_OUTPUT__OUTPUT_SET_WITH_WHILE_EXECUTING);
+ }
+ return outputSetWithWhileExecuting;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean DataOutputnotation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.DATA_OUTPUT__DATA_OUTPUTNOTATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "DataOutputnotation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean DataOutputitemSubjectRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.DATA_OUTPUT__DATA_OUTPUTITEM_SUBJECT_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "DataOutputitemSubjectRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_OUTPUT__OUTPUT_SET_REFS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getOutputSetRefs()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_OUTPUT__OUTPUT_SET_REFS:
+ return ((InternalEList<?>)getOutputSetRefs()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_OUTPUT__BASE_OUTPUT_PIN:
+ if (resolve) return getBase_OutputPin();
+ return basicGetBase_OutputPin();
+ case BPMNProfilePackage.DATA_OUTPUT__IS_COLLECTION:
+ return isCollection();
+ case BPMNProfilePackage.DATA_OUTPUT__BASE_PARAMETER:
+ if (resolve) return getBase_Parameter();
+ return basicGetBase_Parameter();
+ case BPMNProfilePackage.DATA_OUTPUT__BASE_ACTIVITY_PARAMETER_NODE:
+ if (resolve) return getBase_ActivityParameterNode();
+ return basicGetBase_ActivityParameterNode();
+ case BPMNProfilePackage.DATA_OUTPUT__OUTPUT_SET_REFS:
+ return getOutputSetRefs();
+ case BPMNProfilePackage.DATA_OUTPUT__OUTPUT_SET_WITH_OPTIONAL:
+ return getOutputSetWithOptional();
+ case BPMNProfilePackage.DATA_OUTPUT__OUTPUT_SET_WITH_WHILE_EXECUTING:
+ return getOutputSetWithWhileExecuting();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_OUTPUT__BASE_OUTPUT_PIN:
+ setBase_OutputPin((OutputPin)newValue);
+ return;
+ case BPMNProfilePackage.DATA_OUTPUT__IS_COLLECTION:
+ setIsCollection((Boolean)newValue);
+ return;
+ case BPMNProfilePackage.DATA_OUTPUT__BASE_PARAMETER:
+ setBase_Parameter((Parameter)newValue);
+ return;
+ case BPMNProfilePackage.DATA_OUTPUT__BASE_ACTIVITY_PARAMETER_NODE:
+ setBase_ActivityParameterNode((ActivityParameterNode)newValue);
+ return;
+ case BPMNProfilePackage.DATA_OUTPUT__OUTPUT_SET_REFS:
+ getOutputSetRefs().clear();
+ getOutputSetRefs().addAll((Collection<? extends OutputSet>)newValue);
+ return;
+ case BPMNProfilePackage.DATA_OUTPUT__OUTPUT_SET_WITH_OPTIONAL:
+ getOutputSetWithOptional().clear();
+ getOutputSetWithOptional().addAll((Collection<? extends OutputSet>)newValue);
+ return;
+ case BPMNProfilePackage.DATA_OUTPUT__OUTPUT_SET_WITH_WHILE_EXECUTING:
+ getOutputSetWithWhileExecuting().clear();
+ getOutputSetWithWhileExecuting().addAll((Collection<? extends OutputSet>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_OUTPUT__BASE_OUTPUT_PIN:
+ setBase_OutputPin((OutputPin)null);
+ return;
+ case BPMNProfilePackage.DATA_OUTPUT__IS_COLLECTION:
+ setIsCollection(IS_COLLECTION_EDEFAULT);
+ return;
+ case BPMNProfilePackage.DATA_OUTPUT__BASE_PARAMETER:
+ setBase_Parameter((Parameter)null);
+ return;
+ case BPMNProfilePackage.DATA_OUTPUT__BASE_ACTIVITY_PARAMETER_NODE:
+ setBase_ActivityParameterNode((ActivityParameterNode)null);
+ return;
+ case BPMNProfilePackage.DATA_OUTPUT__OUTPUT_SET_REFS:
+ getOutputSetRefs().clear();
+ return;
+ case BPMNProfilePackage.DATA_OUTPUT__OUTPUT_SET_WITH_OPTIONAL:
+ getOutputSetWithOptional().clear();
+ return;
+ case BPMNProfilePackage.DATA_OUTPUT__OUTPUT_SET_WITH_WHILE_EXECUTING:
+ getOutputSetWithWhileExecuting().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_OUTPUT__BASE_OUTPUT_PIN:
+ return base_OutputPin != null;
+ case BPMNProfilePackage.DATA_OUTPUT__IS_COLLECTION:
+ return isCollection != IS_COLLECTION_EDEFAULT;
+ case BPMNProfilePackage.DATA_OUTPUT__BASE_PARAMETER:
+ return base_Parameter != null;
+ case BPMNProfilePackage.DATA_OUTPUT__BASE_ACTIVITY_PARAMETER_NODE:
+ return base_ActivityParameterNode != null;
+ case BPMNProfilePackage.DATA_OUTPUT__OUTPUT_SET_REFS:
+ return outputSetRefs != null && !outputSetRefs.isEmpty();
+ case BPMNProfilePackage.DATA_OUTPUT__OUTPUT_SET_WITH_OPTIONAL:
+ return outputSetWithOptional != null && !outputSetWithOptional.isEmpty();
+ case BPMNProfilePackage.DATA_OUTPUT__OUTPUT_SET_WITH_WHILE_EXECUTING:
+ return outputSetWithWhileExecuting != null && !outputSetWithWhileExecuting.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.DATA_OUTPUT___DATA_OUTPUTNOTATION__DIAGNOSTICCHAIN_MAP:
+ return DataOutputnotation((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.DATA_OUTPUT___DATA_OUTPUTITEM_SUBJECT_REF__DIAGNOSTICCHAIN_MAP:
+ return DataOutputitemSubjectRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (isCollection: ");
+ result.append(isCollection);
+ result.append(')');
+ return result.toString();
+ }
+
+} //DataOutputImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataStateImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataStateImpl.java
new file mode 100644
index 00000000000..2edab8cf0d9
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataStateImpl.java
@@ -0,0 +1,157 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataState;
+
+import org.eclipse.uml2.uml.State;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Data State</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataStateImpl#getBase_State <em>Base State</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DataStateImpl extends BaseElementImpl implements DataState {
+ /**
+ * The cached value of the '{@link #getBase_State() <em>Base State</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_State()
+ * @generated
+ * @ordered
+ */
+ protected State base_State;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DataStateImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getDataState();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public State getBase_State() {
+ if (base_State != null && base_State.eIsProxy()) {
+ InternalEObject oldBase_State = (InternalEObject)base_State;
+ base_State = (State)eResolveProxy(oldBase_State);
+ if (base_State != oldBase_State) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.DATA_STATE__BASE_STATE, oldBase_State, base_State));
+ }
+ }
+ return base_State;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public State basicGetBase_State() {
+ return base_State;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_State(State newBase_State) {
+ State oldBase_State = base_State;
+ base_State = newBase_State;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DATA_STATE__BASE_STATE, oldBase_State, base_State));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_STATE__BASE_STATE:
+ if (resolve) return getBase_State();
+ return basicGetBase_State();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_STATE__BASE_STATE:
+ setBase_State((State)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_STATE__BASE_STATE:
+ setBase_State((State)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_STATE__BASE_STATE:
+ return base_State != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //DataStateImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataStoreImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataStoreImpl.java
new file mode 100644
index 00000000000..c560c42e69f
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataStoreImpl.java
@@ -0,0 +1,338 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataStore;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Data Store</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataStoreImpl#getCapacity <em>Capacity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataStoreImpl#isUnlimited <em>Is Unlimited</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataStoreImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataStoreImpl#getItemSubjectRef <em>Item Subject Ref</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DataStoreImpl extends RootElementImpl implements DataStore {
+ /**
+ * The default value of the '{@link #getCapacity() <em>Capacity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCapacity()
+ * @generated
+ * @ordered
+ */
+ protected static final int CAPACITY_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getCapacity() <em>Capacity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCapacity()
+ * @generated
+ * @ordered
+ */
+ protected int capacity = CAPACITY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isUnlimited() <em>Is Unlimited</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isUnlimited()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_UNLIMITED_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isUnlimited() <em>Is Unlimited</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isUnlimited()
+ * @generated
+ * @ordered
+ */
+ protected boolean isUnlimited = IS_UNLIMITED_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBase_Class() <em>Base Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Class()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.uml2.uml.Class base_Class;
+
+ /**
+ * The cached value of the '{@link #getItemSubjectRef() <em>Item Subject Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getItemSubjectRef()
+ * @generated
+ * @ordered
+ */
+ protected ItemDefinition itemSubjectRef;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DataStoreImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getDataStore();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getCapacity() {
+ return capacity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCapacity(int newCapacity) {
+ int oldCapacity = capacity;
+ capacity = newCapacity;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DATA_STORE__CAPACITY, oldCapacity, capacity));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isUnlimited() {
+ return isUnlimited;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsUnlimited(boolean newIsUnlimited) {
+ boolean oldIsUnlimited = isUnlimited;
+ isUnlimited = newIsUnlimited;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DATA_STORE__IS_UNLIMITED, oldIsUnlimited, isUnlimited));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class getBase_Class() {
+ if (base_Class != null && base_Class.eIsProxy()) {
+ InternalEObject oldBase_Class = (InternalEObject)base_Class;
+ base_Class = (org.eclipse.uml2.uml.Class)eResolveProxy(oldBase_Class);
+ if (base_Class != oldBase_Class) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.DATA_STORE__BASE_CLASS, oldBase_Class, base_Class));
+ }
+ }
+ return base_Class;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+ return base_Class;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+ org.eclipse.uml2.uml.Class oldBase_Class = base_Class;
+ base_Class = newBase_Class;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DATA_STORE__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemDefinition getItemSubjectRef() {
+ if (itemSubjectRef != null && itemSubjectRef.eIsProxy()) {
+ InternalEObject oldItemSubjectRef = (InternalEObject)itemSubjectRef;
+ itemSubjectRef = (ItemDefinition)eResolveProxy(oldItemSubjectRef);
+ if (itemSubjectRef != oldItemSubjectRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.DATA_STORE__ITEM_SUBJECT_REF, oldItemSubjectRef, itemSubjectRef));
+ }
+ }
+ return itemSubjectRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemDefinition basicGetItemSubjectRef() {
+ return itemSubjectRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setItemSubjectRef(ItemDefinition newItemSubjectRef) {
+ ItemDefinition oldItemSubjectRef = itemSubjectRef;
+ itemSubjectRef = newItemSubjectRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DATA_STORE__ITEM_SUBJECT_REF, oldItemSubjectRef, itemSubjectRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_STORE__CAPACITY:
+ return getCapacity();
+ case BPMNProfilePackage.DATA_STORE__IS_UNLIMITED:
+ return isUnlimited();
+ case BPMNProfilePackage.DATA_STORE__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case BPMNProfilePackage.DATA_STORE__ITEM_SUBJECT_REF:
+ if (resolve) return getItemSubjectRef();
+ return basicGetItemSubjectRef();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_STORE__CAPACITY:
+ setCapacity((Integer)newValue);
+ return;
+ case BPMNProfilePackage.DATA_STORE__IS_UNLIMITED:
+ setIsUnlimited((Boolean)newValue);
+ return;
+ case BPMNProfilePackage.DATA_STORE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case BPMNProfilePackage.DATA_STORE__ITEM_SUBJECT_REF:
+ setItemSubjectRef((ItemDefinition)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_STORE__CAPACITY:
+ setCapacity(CAPACITY_EDEFAULT);
+ return;
+ case BPMNProfilePackage.DATA_STORE__IS_UNLIMITED:
+ setIsUnlimited(IS_UNLIMITED_EDEFAULT);
+ return;
+ case BPMNProfilePackage.DATA_STORE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case BPMNProfilePackage.DATA_STORE__ITEM_SUBJECT_REF:
+ setItemSubjectRef((ItemDefinition)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_STORE__CAPACITY:
+ return capacity != CAPACITY_EDEFAULT;
+ case BPMNProfilePackage.DATA_STORE__IS_UNLIMITED:
+ return isUnlimited != IS_UNLIMITED_EDEFAULT;
+ case BPMNProfilePackage.DATA_STORE__BASE_CLASS:
+ return base_Class != null;
+ case BPMNProfilePackage.DATA_STORE__ITEM_SUBJECT_REF:
+ return itemSubjectRef != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (capacity: ");
+ result.append(capacity);
+ result.append(", isUnlimited: ");
+ result.append(isUnlimited);
+ result.append(')');
+ return result.toString();
+ }
+
+} //DataStoreImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataStoreReferenceImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataStoreReferenceImpl.java
new file mode 100644
index 00000000000..561b0e02dfc
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DataStoreReferenceImpl.java
@@ -0,0 +1,486 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataState;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataStore;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataStoreReference;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ItemAwareElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.DataStoreNode;
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Data Store Reference</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataStoreReferenceImpl#getDataState <em>Data State</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataStoreReferenceImpl#getBase_TypedElement <em>Base Typed Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataStoreReferenceImpl#getItemSubjectRef <em>Item Subject Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataStoreReferenceImpl#get_dataStore <em>data Store</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DataStoreReferenceImpl#getBase_DataStoreNode <em>Base Data Store Node</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DataStoreReferenceImpl extends FlowElementImpl implements DataStoreReference {
+ /**
+ * The cached value of the '{@link #getDataState() <em>Data State</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDataState()
+ * @generated
+ * @ordered
+ */
+ protected EList<DataState> dataState;
+
+ /**
+ * The cached value of the '{@link #getBase_TypedElement() <em>Base Typed Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_TypedElement()
+ * @generated
+ * @ordered
+ */
+ protected TypedElement base_TypedElement;
+
+ /**
+ * The cached value of the '{@link #getItemSubjectRef() <em>Item Subject Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getItemSubjectRef()
+ * @generated
+ * @ordered
+ */
+ protected ItemDefinition itemSubjectRef;
+
+ /**
+ * The cached value of the '{@link #get_dataStore() <em>data Store</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #get_dataStore()
+ * @generated
+ * @ordered
+ */
+ protected DataStore _dataStore;
+
+ /**
+ * The cached value of the '{@link #getBase_DataStoreNode() <em>Base Data Store Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_DataStoreNode()
+ * @generated
+ * @ordered
+ */
+ protected DataStoreNode base_DataStoreNode;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DataStoreReferenceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getDataStoreReference();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DataState> getDataState() {
+ if (dataState == null) {
+ dataState = new EObjectResolvingEList<DataState>(DataState.class, this, BPMNProfilePackage.DATA_STORE_REFERENCE__DATA_STATE);
+ }
+ return dataState;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypedElement getBase_TypedElement() {
+ if (base_TypedElement != null && base_TypedElement.eIsProxy()) {
+ InternalEObject oldBase_TypedElement = (InternalEObject)base_TypedElement;
+ base_TypedElement = (TypedElement)eResolveProxy(oldBase_TypedElement);
+ if (base_TypedElement != oldBase_TypedElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.DATA_STORE_REFERENCE__BASE_TYPED_ELEMENT, oldBase_TypedElement, base_TypedElement));
+ }
+ }
+ return base_TypedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypedElement basicGetBase_TypedElement() {
+ return base_TypedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_TypedElement(TypedElement newBase_TypedElement) {
+ TypedElement oldBase_TypedElement = base_TypedElement;
+ base_TypedElement = newBase_TypedElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DATA_STORE_REFERENCE__BASE_TYPED_ELEMENT, oldBase_TypedElement, base_TypedElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemDefinition getItemSubjectRef() {
+ if (itemSubjectRef != null && itemSubjectRef.eIsProxy()) {
+ InternalEObject oldItemSubjectRef = (InternalEObject)itemSubjectRef;
+ itemSubjectRef = (ItemDefinition)eResolveProxy(oldItemSubjectRef);
+ if (itemSubjectRef != oldItemSubjectRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.DATA_STORE_REFERENCE__ITEM_SUBJECT_REF, oldItemSubjectRef, itemSubjectRef));
+ }
+ }
+ return itemSubjectRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemDefinition basicGetItemSubjectRef() {
+ return itemSubjectRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setItemSubjectRef(ItemDefinition newItemSubjectRef) {
+ ItemDefinition oldItemSubjectRef = itemSubjectRef;
+ itemSubjectRef = newItemSubjectRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DATA_STORE_REFERENCE__ITEM_SUBJECT_REF, oldItemSubjectRef, itemSubjectRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataStore get_dataStore() {
+ if (_dataStore != null && _dataStore.eIsProxy()) {
+ InternalEObject old_dataStore = (InternalEObject)_dataStore;
+ _dataStore = (DataStore)eResolveProxy(old_dataStore);
+ if (_dataStore != old_dataStore) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.DATA_STORE_REFERENCE__DATA_STORE, old_dataStore, _dataStore));
+ }
+ }
+ return _dataStore;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataStore basicGet_dataStore() {
+ return _dataStore;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void set_dataStore(DataStore new_dataStore) {
+ DataStore old_dataStore = _dataStore;
+ _dataStore = new_dataStore;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DATA_STORE_REFERENCE__DATA_STORE, old_dataStore, _dataStore));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataStoreNode getBase_DataStoreNode() {
+ if (base_DataStoreNode != null && base_DataStoreNode.eIsProxy()) {
+ InternalEObject oldBase_DataStoreNode = (InternalEObject)base_DataStoreNode;
+ base_DataStoreNode = (DataStoreNode)eResolveProxy(oldBase_DataStoreNode);
+ if (base_DataStoreNode != oldBase_DataStoreNode) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.DATA_STORE_REFERENCE__BASE_DATA_STORE_NODE, oldBase_DataStoreNode, base_DataStoreNode));
+ }
+ }
+ return base_DataStoreNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataStoreNode basicGetBase_DataStoreNode() {
+ return base_DataStoreNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_DataStoreNode(DataStoreNode newBase_DataStoreNode) {
+ DataStoreNode oldBase_DataStoreNode = base_DataStoreNode;
+ base_DataStoreNode = newBase_DataStoreNode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DATA_STORE_REFERENCE__BASE_DATA_STORE_NODE, oldBase_DataStoreNode, base_DataStoreNode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ItemAwareElementdataState(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.ITEM_AWARE_ELEMENT__ITEM_AWARE_ELEMENTDATA_STATE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ItemAwareElementdataState", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_STORE_REFERENCE__DATA_STATE:
+ return getDataState();
+ case BPMNProfilePackage.DATA_STORE_REFERENCE__BASE_TYPED_ELEMENT:
+ if (resolve) return getBase_TypedElement();
+ return basicGetBase_TypedElement();
+ case BPMNProfilePackage.DATA_STORE_REFERENCE__ITEM_SUBJECT_REF:
+ if (resolve) return getItemSubjectRef();
+ return basicGetItemSubjectRef();
+ case BPMNProfilePackage.DATA_STORE_REFERENCE__DATA_STORE:
+ if (resolve) return get_dataStore();
+ return basicGet_dataStore();
+ case BPMNProfilePackage.DATA_STORE_REFERENCE__BASE_DATA_STORE_NODE:
+ if (resolve) return getBase_DataStoreNode();
+ return basicGetBase_DataStoreNode();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_STORE_REFERENCE__DATA_STATE:
+ getDataState().clear();
+ getDataState().addAll((Collection<? extends DataState>)newValue);
+ return;
+ case BPMNProfilePackage.DATA_STORE_REFERENCE__BASE_TYPED_ELEMENT:
+ setBase_TypedElement((TypedElement)newValue);
+ return;
+ case BPMNProfilePackage.DATA_STORE_REFERENCE__ITEM_SUBJECT_REF:
+ setItemSubjectRef((ItemDefinition)newValue);
+ return;
+ case BPMNProfilePackage.DATA_STORE_REFERENCE__DATA_STORE:
+ set_dataStore((DataStore)newValue);
+ return;
+ case BPMNProfilePackage.DATA_STORE_REFERENCE__BASE_DATA_STORE_NODE:
+ setBase_DataStoreNode((DataStoreNode)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_STORE_REFERENCE__DATA_STATE:
+ getDataState().clear();
+ return;
+ case BPMNProfilePackage.DATA_STORE_REFERENCE__BASE_TYPED_ELEMENT:
+ setBase_TypedElement((TypedElement)null);
+ return;
+ case BPMNProfilePackage.DATA_STORE_REFERENCE__ITEM_SUBJECT_REF:
+ setItemSubjectRef((ItemDefinition)null);
+ return;
+ case BPMNProfilePackage.DATA_STORE_REFERENCE__DATA_STORE:
+ set_dataStore((DataStore)null);
+ return;
+ case BPMNProfilePackage.DATA_STORE_REFERENCE__BASE_DATA_STORE_NODE:
+ setBase_DataStoreNode((DataStoreNode)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.DATA_STORE_REFERENCE__DATA_STATE:
+ return dataState != null && !dataState.isEmpty();
+ case BPMNProfilePackage.DATA_STORE_REFERENCE__BASE_TYPED_ELEMENT:
+ return base_TypedElement != null;
+ case BPMNProfilePackage.DATA_STORE_REFERENCE__ITEM_SUBJECT_REF:
+ return itemSubjectRef != null;
+ case BPMNProfilePackage.DATA_STORE_REFERENCE__DATA_STORE:
+ return _dataStore != null;
+ case BPMNProfilePackage.DATA_STORE_REFERENCE__BASE_DATA_STORE_NODE:
+ return base_DataStoreNode != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == ItemAwareElement.class) {
+ switch (derivedFeatureID) {
+ case BPMNProfilePackage.DATA_STORE_REFERENCE__DATA_STATE: return BPMNProfilePackage.ITEM_AWARE_ELEMENT__DATA_STATE;
+ case BPMNProfilePackage.DATA_STORE_REFERENCE__BASE_TYPED_ELEMENT: return BPMNProfilePackage.ITEM_AWARE_ELEMENT__BASE_TYPED_ELEMENT;
+ case BPMNProfilePackage.DATA_STORE_REFERENCE__ITEM_SUBJECT_REF: return BPMNProfilePackage.ITEM_AWARE_ELEMENT__ITEM_SUBJECT_REF;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == ItemAwareElement.class) {
+ switch (baseFeatureID) {
+ case BPMNProfilePackage.ITEM_AWARE_ELEMENT__DATA_STATE: return BPMNProfilePackage.DATA_STORE_REFERENCE__DATA_STATE;
+ case BPMNProfilePackage.ITEM_AWARE_ELEMENT__BASE_TYPED_ELEMENT: return BPMNProfilePackage.DATA_STORE_REFERENCE__BASE_TYPED_ELEMENT;
+ case BPMNProfilePackage.ITEM_AWARE_ELEMENT__ITEM_SUBJECT_REF: return BPMNProfilePackage.DATA_STORE_REFERENCE__ITEM_SUBJECT_REF;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
+ if (baseClass == ItemAwareElement.class) {
+ switch (baseOperationID) {
+ case BPMNProfilePackage.ITEM_AWARE_ELEMENT___ITEM_AWARE_ELEMENTDATA_STATE__DIAGNOSTICCHAIN_MAP: return BPMNProfilePackage.DATA_STORE_REFERENCE___ITEM_AWARE_ELEMENTDATA_STATE__DIAGNOSTICCHAIN_MAP;
+ default: return -1;
+ }
+ }
+ return super.eDerivedOperationID(baseOperationID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.DATA_STORE_REFERENCE___ITEM_AWARE_ELEMENTDATA_STATE__DIAGNOSTICCHAIN_MAP:
+ return ItemAwareElementdataState((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //DataStoreReferenceImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DefinitionsImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DefinitionsImpl.java
new file mode 100644
index 00000000000..222734399c0
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DefinitionsImpl.java
@@ -0,0 +1,617 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExtension;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Definitions;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Import;
+import org.eclipse.papyrus.bpmn.BPMNProfile.RootElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Definitions</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DefinitionsImpl#getBase_Package <em>Base Package</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DefinitionsImpl#getTargetNamespace <em>Target Namespace</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DefinitionsImpl#getExpressionLanguage <em>Expression Language</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DefinitionsImpl#getTypeLanguage <em>Type Language</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DefinitionsImpl#getExporter <em>Exporter</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DefinitionsImpl#getExporterVersion <em>Exporter Version</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DefinitionsImpl#getExtensions <em>Extensions</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DefinitionsImpl#getImports <em>Imports</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DefinitionsImpl#getRelationships <em>Relationships</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DefinitionsImpl#getRootElements <em>Root Elements</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DefinitionsImpl extends BaseElementImpl implements Definitions {
+ /**
+ * The cached value of the '{@link #getBase_Package() <em>Base Package</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Package()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.uml2.uml.Package base_Package;
+
+ /**
+ * The default value of the '{@link #getTargetNamespace() <em>Target Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargetNamespace()
+ * @generated
+ * @ordered
+ */
+ protected static final String TARGET_NAMESPACE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTargetNamespace() <em>Target Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargetNamespace()
+ * @generated
+ * @ordered
+ */
+ protected String targetNamespace = TARGET_NAMESPACE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getExpressionLanguage() <em>Expression Language</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExpressionLanguage()
+ * @generated
+ * @ordered
+ */
+ protected static final String EXPRESSION_LANGUAGE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getExpressionLanguage() <em>Expression Language</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExpressionLanguage()
+ * @generated
+ * @ordered
+ */
+ protected String expressionLanguage = EXPRESSION_LANGUAGE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTypeLanguage() <em>Type Language</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTypeLanguage()
+ * @generated
+ * @ordered
+ */
+ protected static final String TYPE_LANGUAGE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTypeLanguage() <em>Type Language</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTypeLanguage()
+ * @generated
+ * @ordered
+ */
+ protected String typeLanguage = TYPE_LANGUAGE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getExporter() <em>Exporter</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExporter()
+ * @generated
+ * @ordered
+ */
+ protected static final String EXPORTER_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getExporter() <em>Exporter</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExporter()
+ * @generated
+ * @ordered
+ */
+ protected String exporter = EXPORTER_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getExporterVersion() <em>Exporter Version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExporterVersion()
+ * @generated
+ * @ordered
+ */
+ protected static final String EXPORTER_VERSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getExporterVersion() <em>Exporter Version</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExporterVersion()
+ * @generated
+ * @ordered
+ */
+ protected String exporterVersion = EXPORTER_VERSION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getExtensions() <em>Extensions</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExtensions()
+ * @generated
+ * @ordered
+ */
+ protected EList<BPMNExtension> extensions;
+
+ /**
+ * The cached value of the '{@link #getImports() <em>Imports</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImports()
+ * @generated
+ * @ordered
+ */
+ protected EList<Import> imports;
+
+ /**
+ * The cached value of the '{@link #getRelationships() <em>Relationships</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRelationships()
+ * @generated
+ * @ordered
+ */
+ protected EList<BPMNRelationship> relationships;
+
+ /**
+ * The cached value of the '{@link #getRootElements() <em>Root Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRootElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<RootElement> rootElements;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DefinitionsImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getDefinitions();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package getBase_Package() {
+ if (base_Package != null && base_Package.eIsProxy()) {
+ InternalEObject oldBase_Package = (InternalEObject)base_Package;
+ base_Package = (org.eclipse.uml2.uml.Package)eResolveProxy(oldBase_Package);
+ if (base_Package != oldBase_Package) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.DEFINITIONS__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+ }
+ return base_Package;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package basicGetBase_Package() {
+ return base_Package;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Package(org.eclipse.uml2.uml.Package newBase_Package) {
+ org.eclipse.uml2.uml.Package oldBase_Package = base_Package;
+ base_Package = newBase_Package;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DEFINITIONS__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTargetNamespace() {
+ return targetNamespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTargetNamespace(String newTargetNamespace) {
+ String oldTargetNamespace = targetNamespace;
+ targetNamespace = newTargetNamespace;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DEFINITIONS__TARGET_NAMESPACE, oldTargetNamespace, targetNamespace));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getExpressionLanguage() {
+ return expressionLanguage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExpressionLanguage(String newExpressionLanguage) {
+ String oldExpressionLanguage = expressionLanguage;
+ expressionLanguage = newExpressionLanguage;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DEFINITIONS__EXPRESSION_LANGUAGE, oldExpressionLanguage, expressionLanguage));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTypeLanguage() {
+ return typeLanguage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTypeLanguage(String newTypeLanguage) {
+ String oldTypeLanguage = typeLanguage;
+ typeLanguage = newTypeLanguage;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DEFINITIONS__TYPE_LANGUAGE, oldTypeLanguage, typeLanguage));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getExporter() {
+ return exporter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExporter(String newExporter) {
+ String oldExporter = exporter;
+ exporter = newExporter;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DEFINITIONS__EXPORTER, oldExporter, exporter));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getExporterVersion() {
+ return exporterVersion;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExporterVersion(String newExporterVersion) {
+ String oldExporterVersion = exporterVersion;
+ exporterVersion = newExporterVersion;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DEFINITIONS__EXPORTER_VERSION, oldExporterVersion, exporterVersion));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BPMNExtension> getExtensions() {
+ if (extensions == null) {
+ extensions = new EObjectResolvingEList<BPMNExtension>(BPMNExtension.class, this, BPMNProfilePackage.DEFINITIONS__EXTENSIONS);
+ }
+ return extensions;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Import> getImports() {
+ if (imports == null) {
+ imports = new EObjectResolvingEList<Import>(Import.class, this, BPMNProfilePackage.DEFINITIONS__IMPORTS);
+ }
+ return imports;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BPMNRelationship> getRelationships() {
+ if (relationships == null) {
+ relationships = new EObjectResolvingEList<BPMNRelationship>(BPMNRelationship.class, this, BPMNProfilePackage.DEFINITIONS__RELATIONSHIPS);
+ }
+ return relationships;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<RootElement> getRootElements() {
+ if (rootElements == null) {
+ rootElements = new EObjectWithInverseResolvingEList<RootElement>(RootElement.class, this, BPMNProfilePackage.DEFINITIONS__ROOT_ELEMENTS, BPMNProfilePackage.ROOT_ELEMENT__DEFINITION);
+ }
+ return rootElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.DEFINITIONS__ROOT_ELEMENTS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getRootElements()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.DEFINITIONS__ROOT_ELEMENTS:
+ return ((InternalEList<?>)getRootElements()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.DEFINITIONS__BASE_PACKAGE:
+ if (resolve) return getBase_Package();
+ return basicGetBase_Package();
+ case BPMNProfilePackage.DEFINITIONS__TARGET_NAMESPACE:
+ return getTargetNamespace();
+ case BPMNProfilePackage.DEFINITIONS__EXPRESSION_LANGUAGE:
+ return getExpressionLanguage();
+ case BPMNProfilePackage.DEFINITIONS__TYPE_LANGUAGE:
+ return getTypeLanguage();
+ case BPMNProfilePackage.DEFINITIONS__EXPORTER:
+ return getExporter();
+ case BPMNProfilePackage.DEFINITIONS__EXPORTER_VERSION:
+ return getExporterVersion();
+ case BPMNProfilePackage.DEFINITIONS__EXTENSIONS:
+ return getExtensions();
+ case BPMNProfilePackage.DEFINITIONS__IMPORTS:
+ return getImports();
+ case BPMNProfilePackage.DEFINITIONS__RELATIONSHIPS:
+ return getRelationships();
+ case BPMNProfilePackage.DEFINITIONS__ROOT_ELEMENTS:
+ return getRootElements();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.DEFINITIONS__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)newValue);
+ return;
+ case BPMNProfilePackage.DEFINITIONS__TARGET_NAMESPACE:
+ setTargetNamespace((String)newValue);
+ return;
+ case BPMNProfilePackage.DEFINITIONS__EXPRESSION_LANGUAGE:
+ setExpressionLanguage((String)newValue);
+ return;
+ case BPMNProfilePackage.DEFINITIONS__TYPE_LANGUAGE:
+ setTypeLanguage((String)newValue);
+ return;
+ case BPMNProfilePackage.DEFINITIONS__EXPORTER:
+ setExporter((String)newValue);
+ return;
+ case BPMNProfilePackage.DEFINITIONS__EXPORTER_VERSION:
+ setExporterVersion((String)newValue);
+ return;
+ case BPMNProfilePackage.DEFINITIONS__EXTENSIONS:
+ getExtensions().clear();
+ getExtensions().addAll((Collection<? extends BPMNExtension>)newValue);
+ return;
+ case BPMNProfilePackage.DEFINITIONS__IMPORTS:
+ getImports().clear();
+ getImports().addAll((Collection<? extends Import>)newValue);
+ return;
+ case BPMNProfilePackage.DEFINITIONS__RELATIONSHIPS:
+ getRelationships().clear();
+ getRelationships().addAll((Collection<? extends BPMNRelationship>)newValue);
+ return;
+ case BPMNProfilePackage.DEFINITIONS__ROOT_ELEMENTS:
+ getRootElements().clear();
+ getRootElements().addAll((Collection<? extends RootElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.DEFINITIONS__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package)null);
+ return;
+ case BPMNProfilePackage.DEFINITIONS__TARGET_NAMESPACE:
+ setTargetNamespace(TARGET_NAMESPACE_EDEFAULT);
+ return;
+ case BPMNProfilePackage.DEFINITIONS__EXPRESSION_LANGUAGE:
+ setExpressionLanguage(EXPRESSION_LANGUAGE_EDEFAULT);
+ return;
+ case BPMNProfilePackage.DEFINITIONS__TYPE_LANGUAGE:
+ setTypeLanguage(TYPE_LANGUAGE_EDEFAULT);
+ return;
+ case BPMNProfilePackage.DEFINITIONS__EXPORTER:
+ setExporter(EXPORTER_EDEFAULT);
+ return;
+ case BPMNProfilePackage.DEFINITIONS__EXPORTER_VERSION:
+ setExporterVersion(EXPORTER_VERSION_EDEFAULT);
+ return;
+ case BPMNProfilePackage.DEFINITIONS__EXTENSIONS:
+ getExtensions().clear();
+ return;
+ case BPMNProfilePackage.DEFINITIONS__IMPORTS:
+ getImports().clear();
+ return;
+ case BPMNProfilePackage.DEFINITIONS__RELATIONSHIPS:
+ getRelationships().clear();
+ return;
+ case BPMNProfilePackage.DEFINITIONS__ROOT_ELEMENTS:
+ getRootElements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.DEFINITIONS__BASE_PACKAGE:
+ return base_Package != null;
+ case BPMNProfilePackage.DEFINITIONS__TARGET_NAMESPACE:
+ return TARGET_NAMESPACE_EDEFAULT == null ? targetNamespace != null : !TARGET_NAMESPACE_EDEFAULT.equals(targetNamespace);
+ case BPMNProfilePackage.DEFINITIONS__EXPRESSION_LANGUAGE:
+ return EXPRESSION_LANGUAGE_EDEFAULT == null ? expressionLanguage != null : !EXPRESSION_LANGUAGE_EDEFAULT.equals(expressionLanguage);
+ case BPMNProfilePackage.DEFINITIONS__TYPE_LANGUAGE:
+ return TYPE_LANGUAGE_EDEFAULT == null ? typeLanguage != null : !TYPE_LANGUAGE_EDEFAULT.equals(typeLanguage);
+ case BPMNProfilePackage.DEFINITIONS__EXPORTER:
+ return EXPORTER_EDEFAULT == null ? exporter != null : !EXPORTER_EDEFAULT.equals(exporter);
+ case BPMNProfilePackage.DEFINITIONS__EXPORTER_VERSION:
+ return EXPORTER_VERSION_EDEFAULT == null ? exporterVersion != null : !EXPORTER_VERSION_EDEFAULT.equals(exporterVersion);
+ case BPMNProfilePackage.DEFINITIONS__EXTENSIONS:
+ return extensions != null && !extensions.isEmpty();
+ case BPMNProfilePackage.DEFINITIONS__IMPORTS:
+ return imports != null && !imports.isEmpty();
+ case BPMNProfilePackage.DEFINITIONS__RELATIONSHIPS:
+ return relationships != null && !relationships.isEmpty();
+ case BPMNProfilePackage.DEFINITIONS__ROOT_ELEMENTS:
+ return rootElements != null && !rootElements.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (targetNamespace: ");
+ result.append(targetNamespace);
+ result.append(", expressionLanguage: ");
+ result.append(expressionLanguage);
+ result.append(", typeLanguage: ");
+ result.append(typeLanguage);
+ result.append(", exporter: ");
+ result.append(exporter);
+ result.append(", exporterVersion: ");
+ result.append(exporterVersion);
+ result.append(')');
+ return result.toString();
+ }
+
+} //DefinitionsImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DocumentationImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DocumentationImpl.java
new file mode 100644
index 00000000000..527b4ab701b
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/DocumentationImpl.java
@@ -0,0 +1,279 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Documentation;
+
+import org.eclipse.uml2.uml.Comment;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Documentation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DocumentationImpl#getBase_Comment <em>Base Comment</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DocumentationImpl#getTextFormat <em>Text Format</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.DocumentationImpl#getText <em>Text</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class DocumentationImpl extends BaseElementImpl implements Documentation {
+ /**
+ * The cached value of the '{@link #getBase_Comment() <em>Base Comment</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Comment()
+ * @generated
+ * @ordered
+ */
+ protected Comment base_Comment;
+
+ /**
+ * The default value of the '{@link #getTextFormat() <em>Text Format</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTextFormat()
+ * @generated
+ * @ordered
+ */
+ protected static final String TEXT_FORMAT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTextFormat() <em>Text Format</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTextFormat()
+ * @generated
+ * @ordered
+ */
+ protected String textFormat = TEXT_FORMAT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getText() <em>Text</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getText()
+ * @generated
+ * @ordered
+ */
+ protected static final String TEXT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getText() <em>Text</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getText()
+ * @generated
+ * @ordered
+ */
+ protected String text = TEXT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DocumentationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getDocumentation();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Comment getBase_Comment() {
+ if (base_Comment != null && base_Comment.eIsProxy()) {
+ InternalEObject oldBase_Comment = (InternalEObject)base_Comment;
+ base_Comment = (Comment)eResolveProxy(oldBase_Comment);
+ if (base_Comment != oldBase_Comment) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.DOCUMENTATION__BASE_COMMENT, oldBase_Comment, base_Comment));
+ }
+ }
+ return base_Comment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Comment basicGetBase_Comment() {
+ return base_Comment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Comment(Comment newBase_Comment) {
+ Comment oldBase_Comment = base_Comment;
+ base_Comment = newBase_Comment;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DOCUMENTATION__BASE_COMMENT, oldBase_Comment, base_Comment));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTextFormat() {
+ return textFormat;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTextFormat(String newTextFormat) {
+ String oldTextFormat = textFormat;
+ textFormat = newTextFormat;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DOCUMENTATION__TEXT_FORMAT, oldTextFormat, textFormat));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText() {
+ return text;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setText(String newText) {
+ String oldText = text;
+ text = newText;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.DOCUMENTATION__TEXT, oldText, text));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.DOCUMENTATION__BASE_COMMENT:
+ if (resolve) return getBase_Comment();
+ return basicGetBase_Comment();
+ case BPMNProfilePackage.DOCUMENTATION__TEXT_FORMAT:
+ return getTextFormat();
+ case BPMNProfilePackage.DOCUMENTATION__TEXT:
+ return getText();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.DOCUMENTATION__BASE_COMMENT:
+ setBase_Comment((Comment)newValue);
+ return;
+ case BPMNProfilePackage.DOCUMENTATION__TEXT_FORMAT:
+ setTextFormat((String)newValue);
+ return;
+ case BPMNProfilePackage.DOCUMENTATION__TEXT:
+ setText((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.DOCUMENTATION__BASE_COMMENT:
+ setBase_Comment((Comment)null);
+ return;
+ case BPMNProfilePackage.DOCUMENTATION__TEXT_FORMAT:
+ setTextFormat(TEXT_FORMAT_EDEFAULT);
+ return;
+ case BPMNProfilePackage.DOCUMENTATION__TEXT:
+ setText(TEXT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.DOCUMENTATION__BASE_COMMENT:
+ return base_Comment != null;
+ case BPMNProfilePackage.DOCUMENTATION__TEXT_FORMAT:
+ return TEXT_FORMAT_EDEFAULT == null ? textFormat != null : !TEXT_FORMAT_EDEFAULT.equals(textFormat);
+ case BPMNProfilePackage.DOCUMENTATION__TEXT:
+ return TEXT_EDEFAULT == null ? text != null : !TEXT_EDEFAULT.equals(text);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (textFormat: ");
+ result.append(textFormat);
+ result.append(", text: ");
+ result.append(text);
+ result.append(')');
+ return result.toString();
+ }
+
+} //DocumentationImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/EndEventImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/EndEventImpl.java
new file mode 100644
index 00000000000..bc1aae3f7cd
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/EndEventImpl.java
@@ -0,0 +1,157 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.EndEvent;
+
+import org.eclipse.uml2.uml.FinalNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>End Event</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.EndEventImpl#getBase_FinalNode <em>Base Final Node</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EndEventImpl extends ThrowEventImpl implements EndEvent {
+ /**
+ * The cached value of the '{@link #getBase_FinalNode() <em>Base Final Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_FinalNode()
+ * @generated
+ * @ordered
+ */
+ protected FinalNode base_FinalNode;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EndEventImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getEndEvent();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FinalNode getBase_FinalNode() {
+ if (base_FinalNode != null && base_FinalNode.eIsProxy()) {
+ InternalEObject oldBase_FinalNode = (InternalEObject)base_FinalNode;
+ base_FinalNode = (FinalNode)eResolveProxy(oldBase_FinalNode);
+ if (base_FinalNode != oldBase_FinalNode) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.END_EVENT__BASE_FINAL_NODE, oldBase_FinalNode, base_FinalNode));
+ }
+ }
+ return base_FinalNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FinalNode basicGetBase_FinalNode() {
+ return base_FinalNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_FinalNode(FinalNode newBase_FinalNode) {
+ FinalNode oldBase_FinalNode = base_FinalNode;
+ base_FinalNode = newBase_FinalNode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.END_EVENT__BASE_FINAL_NODE, oldBase_FinalNode, base_FinalNode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.END_EVENT__BASE_FINAL_NODE:
+ if (resolve) return getBase_FinalNode();
+ return basicGetBase_FinalNode();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.END_EVENT__BASE_FINAL_NODE:
+ setBase_FinalNode((FinalNode)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.END_EVENT__BASE_FINAL_NODE:
+ setBase_FinalNode((FinalNode)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.END_EVENT__BASE_FINAL_NODE:
+ return base_FinalNode != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //EndEventImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ErrorEventDefinitionImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ErrorEventDefinitionImpl.java
new file mode 100644
index 00000000000..851743a1823
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ErrorEventDefinitionImpl.java
@@ -0,0 +1,217 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ErrorEventDefinition;
+
+import org.eclipse.uml2.uml.CallEvent;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Error Event Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ErrorEventDefinitionImpl#getErrorRef <em>Error Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ErrorEventDefinitionImpl#getBase_CallEvent <em>Base Call Event</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ErrorEventDefinitionImpl extends EventDefinitionImpl implements ErrorEventDefinition {
+ /**
+ * The cached value of the '{@link #getErrorRef() <em>Error Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getErrorRef()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.papyrus.bpmn.BPMNProfile.Error errorRef;
+
+ /**
+ * The cached value of the '{@link #getBase_CallEvent() <em>Base Call Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_CallEvent()
+ * @generated
+ * @ordered
+ */
+ protected CallEvent base_CallEvent;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ErrorEventDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getErrorEventDefinition();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.papyrus.bpmn.BPMNProfile.Error getErrorRef() {
+ if (errorRef != null && errorRef.eIsProxy()) {
+ InternalEObject oldErrorRef = (InternalEObject)errorRef;
+ errorRef = (org.eclipse.papyrus.bpmn.BPMNProfile.Error)eResolveProxy(oldErrorRef);
+ if (errorRef != oldErrorRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.ERROR_EVENT_DEFINITION__ERROR_REF, oldErrorRef, errorRef));
+ }
+ }
+ return errorRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.papyrus.bpmn.BPMNProfile.Error basicGetErrorRef() {
+ return errorRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setErrorRef(org.eclipse.papyrus.bpmn.BPMNProfile.Error newErrorRef) {
+ org.eclipse.papyrus.bpmn.BPMNProfile.Error oldErrorRef = errorRef;
+ errorRef = newErrorRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.ERROR_EVENT_DEFINITION__ERROR_REF, oldErrorRef, errorRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallEvent getBase_CallEvent() {
+ if (base_CallEvent != null && base_CallEvent.eIsProxy()) {
+ InternalEObject oldBase_CallEvent = (InternalEObject)base_CallEvent;
+ base_CallEvent = (CallEvent)eResolveProxy(oldBase_CallEvent);
+ if (base_CallEvent != oldBase_CallEvent) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.ERROR_EVENT_DEFINITION__BASE_CALL_EVENT, oldBase_CallEvent, base_CallEvent));
+ }
+ }
+ return base_CallEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallEvent basicGetBase_CallEvent() {
+ return base_CallEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_CallEvent(CallEvent newBase_CallEvent) {
+ CallEvent oldBase_CallEvent = base_CallEvent;
+ base_CallEvent = newBase_CallEvent;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.ERROR_EVENT_DEFINITION__BASE_CALL_EVENT, oldBase_CallEvent, base_CallEvent));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.ERROR_EVENT_DEFINITION__ERROR_REF:
+ if (resolve) return getErrorRef();
+ return basicGetErrorRef();
+ case BPMNProfilePackage.ERROR_EVENT_DEFINITION__BASE_CALL_EVENT:
+ if (resolve) return getBase_CallEvent();
+ return basicGetBase_CallEvent();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.ERROR_EVENT_DEFINITION__ERROR_REF:
+ setErrorRef((org.eclipse.papyrus.bpmn.BPMNProfile.Error)newValue);
+ return;
+ case BPMNProfilePackage.ERROR_EVENT_DEFINITION__BASE_CALL_EVENT:
+ setBase_CallEvent((CallEvent)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.ERROR_EVENT_DEFINITION__ERROR_REF:
+ setErrorRef((org.eclipse.papyrus.bpmn.BPMNProfile.Error)null);
+ return;
+ case BPMNProfilePackage.ERROR_EVENT_DEFINITION__BASE_CALL_EVENT:
+ setBase_CallEvent((CallEvent)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.ERROR_EVENT_DEFINITION__ERROR_REF:
+ return errorRef != null;
+ case BPMNProfilePackage.ERROR_EVENT_DEFINITION__BASE_CALL_EVENT:
+ return base_CallEvent != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ErrorEventDefinitionImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ErrorImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ErrorImpl.java
new file mode 100644
index 00000000000..b1246dea15d
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ErrorImpl.java
@@ -0,0 +1,161 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Error</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ErrorImpl#getErrorCode <em>Error Code</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ErrorImpl extends ItemDefinitionImpl implements org.eclipse.papyrus.bpmn.BPMNProfile.Error {
+ /**
+ * The default value of the '{@link #getErrorCode() <em>Error Code</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getErrorCode()
+ * @generated
+ * @ordered
+ */
+ protected static final String ERROR_CODE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getErrorCode() <em>Error Code</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getErrorCode()
+ * @generated
+ * @ordered
+ */
+ protected String errorCode = ERROR_CODE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ErrorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getError();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getErrorCode() {
+ return errorCode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setErrorCode(String newErrorCode) {
+ String oldErrorCode = errorCode;
+ errorCode = newErrorCode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.ERROR__ERROR_CODE, oldErrorCode, errorCode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.ERROR__ERROR_CODE:
+ return getErrorCode();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.ERROR__ERROR_CODE:
+ setErrorCode((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.ERROR__ERROR_CODE:
+ setErrorCode(ERROR_CODE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.ERROR__ERROR_CODE:
+ return ERROR_CODE_EDEFAULT == null ? errorCode != null : !ERROR_CODE_EDEFAULT.equals(errorCode);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (errorCode: ");
+ result.append(errorCode);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ErrorImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/EscalationEventDefinitionImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/EscalationEventDefinitionImpl.java
new file mode 100644
index 00000000000..7d857b39632
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/EscalationEventDefinitionImpl.java
@@ -0,0 +1,218 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Escalation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.EscalationEventDefinition;
+
+import org.eclipse.uml2.uml.CallEvent;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Escalation Event Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.EscalationEventDefinitionImpl#getEscalationRef <em>Escalation Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.EscalationEventDefinitionImpl#getBase_CallEvent <em>Base Call Event</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EscalationEventDefinitionImpl extends EventDefinitionImpl implements EscalationEventDefinition {
+ /**
+ * The cached value of the '{@link #getEscalationRef() <em>Escalation Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEscalationRef()
+ * @generated
+ * @ordered
+ */
+ protected Escalation escalationRef;
+
+ /**
+ * The cached value of the '{@link #getBase_CallEvent() <em>Base Call Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_CallEvent()
+ * @generated
+ * @ordered
+ */
+ protected CallEvent base_CallEvent;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EscalationEventDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getEscalationEventDefinition();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Escalation getEscalationRef() {
+ if (escalationRef != null && escalationRef.eIsProxy()) {
+ InternalEObject oldEscalationRef = (InternalEObject)escalationRef;
+ escalationRef = (Escalation)eResolveProxy(oldEscalationRef);
+ if (escalationRef != oldEscalationRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.ESCALATION_EVENT_DEFINITION__ESCALATION_REF, oldEscalationRef, escalationRef));
+ }
+ }
+ return escalationRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Escalation basicGetEscalationRef() {
+ return escalationRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEscalationRef(Escalation newEscalationRef) {
+ Escalation oldEscalationRef = escalationRef;
+ escalationRef = newEscalationRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.ESCALATION_EVENT_DEFINITION__ESCALATION_REF, oldEscalationRef, escalationRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallEvent getBase_CallEvent() {
+ if (base_CallEvent != null && base_CallEvent.eIsProxy()) {
+ InternalEObject oldBase_CallEvent = (InternalEObject)base_CallEvent;
+ base_CallEvent = (CallEvent)eResolveProxy(oldBase_CallEvent);
+ if (base_CallEvent != oldBase_CallEvent) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.ESCALATION_EVENT_DEFINITION__BASE_CALL_EVENT, oldBase_CallEvent, base_CallEvent));
+ }
+ }
+ return base_CallEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallEvent basicGetBase_CallEvent() {
+ return base_CallEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_CallEvent(CallEvent newBase_CallEvent) {
+ CallEvent oldBase_CallEvent = base_CallEvent;
+ base_CallEvent = newBase_CallEvent;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.ESCALATION_EVENT_DEFINITION__BASE_CALL_EVENT, oldBase_CallEvent, base_CallEvent));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.ESCALATION_EVENT_DEFINITION__ESCALATION_REF:
+ if (resolve) return getEscalationRef();
+ return basicGetEscalationRef();
+ case BPMNProfilePackage.ESCALATION_EVENT_DEFINITION__BASE_CALL_EVENT:
+ if (resolve) return getBase_CallEvent();
+ return basicGetBase_CallEvent();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.ESCALATION_EVENT_DEFINITION__ESCALATION_REF:
+ setEscalationRef((Escalation)newValue);
+ return;
+ case BPMNProfilePackage.ESCALATION_EVENT_DEFINITION__BASE_CALL_EVENT:
+ setBase_CallEvent((CallEvent)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.ESCALATION_EVENT_DEFINITION__ESCALATION_REF:
+ setEscalationRef((Escalation)null);
+ return;
+ case BPMNProfilePackage.ESCALATION_EVENT_DEFINITION__BASE_CALL_EVENT:
+ setBase_CallEvent((CallEvent)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.ESCALATION_EVENT_DEFINITION__ESCALATION_REF:
+ return escalationRef != null;
+ case BPMNProfilePackage.ESCALATION_EVENT_DEFINITION__BASE_CALL_EVENT:
+ return base_CallEvent != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //EscalationEventDefinitionImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/EscalationImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/EscalationImpl.java
new file mode 100644
index 00000000000..89a697c0cb1
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/EscalationImpl.java
@@ -0,0 +1,217 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Escalation;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Escalation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.EscalationImpl#getEscalationCode <em>Escalation Code</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EscalationImpl extends ItemDefinitionImpl implements Escalation {
+ /**
+ * The default value of the '{@link #getEscalationCode() <em>Escalation Code</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEscalationCode()
+ * @generated
+ * @ordered
+ */
+ protected static final String ESCALATION_CODE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getEscalationCode() <em>Escalation Code</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEscalationCode()
+ * @generated
+ * @ordered
+ */
+ protected String escalationCode = ESCALATION_CODE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EscalationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getEscalation();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getEscalationCode() {
+ return escalationCode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEscalationCode(String newEscalationCode) {
+ String oldEscalationCode = escalationCode;
+ escalationCode = newEscalationCode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.ESCALATION__ESCALATION_CODE, oldEscalationCode, escalationCode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean EscalationstructureRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.ESCALATION__ESCALATIONSTRUCTURE_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "EscalationstructureRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.ESCALATION__ESCALATION_CODE:
+ return getEscalationCode();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.ESCALATION__ESCALATION_CODE:
+ setEscalationCode((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.ESCALATION__ESCALATION_CODE:
+ setEscalationCode(ESCALATION_CODE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.ESCALATION__ESCALATION_CODE:
+ return ESCALATION_CODE_EDEFAULT == null ? escalationCode != null : !ESCALATION_CODE_EDEFAULT.equals(escalationCode);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.ESCALATION___ESCALATIONSTRUCTURE_REF__DIAGNOSTICCHAIN_MAP:
+ return EscalationstructureRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (escalationCode: ");
+ result.append(escalationCode);
+ result.append(')');
+ return result.toString();
+ }
+
+} //EscalationImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/EventBasedGatewayImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/EventBasedGatewayImpl.java
new file mode 100644
index 00000000000..902d9df2342
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/EventBasedGatewayImpl.java
@@ -0,0 +1,402 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGatewayType;
+
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.InterruptibleActivityRegion;
+import org.eclipse.uml2.uml.StructuredActivityNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Event Based Gateway</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.EventBasedGatewayImpl#isInstantiate <em>Instantiate</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.EventBasedGatewayImpl#getEventGatewayType <em>Event Gateway Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.EventBasedGatewayImpl#getBase_ForkNode <em>Base Fork Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.EventBasedGatewayImpl#getBase_StructuredActivityNode <em>Base Structured Activity Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.EventBasedGatewayImpl#getBase_InterruptibleActivityRegion <em>Base Interruptible Activity Region</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class EventBasedGatewayImpl extends GatewayImpl implements EventBasedGateway {
+ /**
+ * The default value of the '{@link #isInstantiate() <em>Instantiate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isInstantiate()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean INSTANTIATE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isInstantiate() <em>Instantiate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isInstantiate()
+ * @generated
+ * @ordered
+ */
+ protected boolean instantiate = INSTANTIATE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getEventGatewayType() <em>Event Gateway Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEventGatewayType()
+ * @generated
+ * @ordered
+ */
+ protected static final EventBasedGatewayType EVENT_GATEWAY_TYPE_EDEFAULT = EventBasedGatewayType.EXCLUSIVE;
+
+ /**
+ * The cached value of the '{@link #getEventGatewayType() <em>Event Gateway Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEventGatewayType()
+ * @generated
+ * @ordered
+ */
+ protected EventBasedGatewayType eventGatewayType = EVENT_GATEWAY_TYPE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBase_ForkNode() <em>Base Fork Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_ForkNode()
+ * @generated
+ * @ordered
+ */
+ protected ForkNode base_ForkNode;
+
+ /**
+ * The cached value of the '{@link #getBase_StructuredActivityNode() <em>Base Structured Activity Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_StructuredActivityNode()
+ * @generated
+ * @ordered
+ */
+ protected StructuredActivityNode base_StructuredActivityNode;
+
+ /**
+ * The cached value of the '{@link #getBase_InterruptibleActivityRegion() <em>Base Interruptible Activity Region</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_InterruptibleActivityRegion()
+ * @generated
+ * @ordered
+ */
+ protected InterruptibleActivityRegion base_InterruptibleActivityRegion;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EventBasedGatewayImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getEventBasedGateway();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isInstantiate() {
+ return instantiate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInstantiate(boolean newInstantiate) {
+ boolean oldInstantiate = instantiate;
+ instantiate = newInstantiate;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.EVENT_BASED_GATEWAY__INSTANTIATE, oldInstantiate, instantiate));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EventBasedGatewayType getEventGatewayType() {
+ return eventGatewayType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEventGatewayType(EventBasedGatewayType newEventGatewayType) {
+ EventBasedGatewayType oldEventGatewayType = eventGatewayType;
+ eventGatewayType = newEventGatewayType == null ? EVENT_GATEWAY_TYPE_EDEFAULT : newEventGatewayType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.EVENT_BASED_GATEWAY__EVENT_GATEWAY_TYPE, oldEventGatewayType, eventGatewayType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ForkNode getBase_ForkNode() {
+ if (base_ForkNode != null && base_ForkNode.eIsProxy()) {
+ InternalEObject oldBase_ForkNode = (InternalEObject)base_ForkNode;
+ base_ForkNode = (ForkNode)eResolveProxy(oldBase_ForkNode);
+ if (base_ForkNode != oldBase_ForkNode) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.EVENT_BASED_GATEWAY__BASE_FORK_NODE, oldBase_ForkNode, base_ForkNode));
+ }
+ }
+ return base_ForkNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ForkNode basicGetBase_ForkNode() {
+ return base_ForkNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_ForkNode(ForkNode newBase_ForkNode) {
+ ForkNode oldBase_ForkNode = base_ForkNode;
+ base_ForkNode = newBase_ForkNode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.EVENT_BASED_GATEWAY__BASE_FORK_NODE, oldBase_ForkNode, base_ForkNode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StructuredActivityNode getBase_StructuredActivityNode() {
+ if (base_StructuredActivityNode != null && base_StructuredActivityNode.eIsProxy()) {
+ InternalEObject oldBase_StructuredActivityNode = (InternalEObject)base_StructuredActivityNode;
+ base_StructuredActivityNode = (StructuredActivityNode)eResolveProxy(oldBase_StructuredActivityNode);
+ if (base_StructuredActivityNode != oldBase_StructuredActivityNode) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.EVENT_BASED_GATEWAY__BASE_STRUCTURED_ACTIVITY_NODE, oldBase_StructuredActivityNode, base_StructuredActivityNode));
+ }
+ }
+ return base_StructuredActivityNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StructuredActivityNode basicGetBase_StructuredActivityNode() {
+ return base_StructuredActivityNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_StructuredActivityNode(StructuredActivityNode newBase_StructuredActivityNode) {
+ StructuredActivityNode oldBase_StructuredActivityNode = base_StructuredActivityNode;
+ base_StructuredActivityNode = newBase_StructuredActivityNode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.EVENT_BASED_GATEWAY__BASE_STRUCTURED_ACTIVITY_NODE, oldBase_StructuredActivityNode, base_StructuredActivityNode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InterruptibleActivityRegion getBase_InterruptibleActivityRegion() {
+ if (base_InterruptibleActivityRegion != null && base_InterruptibleActivityRegion.eIsProxy()) {
+ InternalEObject oldBase_InterruptibleActivityRegion = (InternalEObject)base_InterruptibleActivityRegion;
+ base_InterruptibleActivityRegion = (InterruptibleActivityRegion)eResolveProxy(oldBase_InterruptibleActivityRegion);
+ if (base_InterruptibleActivityRegion != oldBase_InterruptibleActivityRegion) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.EVENT_BASED_GATEWAY__BASE_INTERRUPTIBLE_ACTIVITY_REGION, oldBase_InterruptibleActivityRegion, base_InterruptibleActivityRegion));
+ }
+ }
+ return base_InterruptibleActivityRegion;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InterruptibleActivityRegion basicGetBase_InterruptibleActivityRegion() {
+ return base_InterruptibleActivityRegion;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_InterruptibleActivityRegion(InterruptibleActivityRegion newBase_InterruptibleActivityRegion) {
+ InterruptibleActivityRegion oldBase_InterruptibleActivityRegion = base_InterruptibleActivityRegion;
+ base_InterruptibleActivityRegion = newBase_InterruptibleActivityRegion;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.EVENT_BASED_GATEWAY__BASE_INTERRUPTIBLE_ACTIVITY_REGION, oldBase_InterruptibleActivityRegion, base_InterruptibleActivityRegion));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.EVENT_BASED_GATEWAY__INSTANTIATE:
+ return isInstantiate();
+ case BPMNProfilePackage.EVENT_BASED_GATEWAY__EVENT_GATEWAY_TYPE:
+ return getEventGatewayType();
+ case BPMNProfilePackage.EVENT_BASED_GATEWAY__BASE_FORK_NODE:
+ if (resolve) return getBase_ForkNode();
+ return basicGetBase_ForkNode();
+ case BPMNProfilePackage.EVENT_BASED_GATEWAY__BASE_STRUCTURED_ACTIVITY_NODE:
+ if (resolve) return getBase_StructuredActivityNode();
+ return basicGetBase_StructuredActivityNode();
+ case BPMNProfilePackage.EVENT_BASED_GATEWAY__BASE_INTERRUPTIBLE_ACTIVITY_REGION:
+ if (resolve) return getBase_InterruptibleActivityRegion();
+ return basicGetBase_InterruptibleActivityRegion();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.EVENT_BASED_GATEWAY__INSTANTIATE:
+ setInstantiate((Boolean)newValue);
+ return;
+ case BPMNProfilePackage.EVENT_BASED_GATEWAY__EVENT_GATEWAY_TYPE:
+ setEventGatewayType((EventBasedGatewayType)newValue);
+ return;
+ case BPMNProfilePackage.EVENT_BASED_GATEWAY__BASE_FORK_NODE:
+ setBase_ForkNode((ForkNode)newValue);
+ return;
+ case BPMNProfilePackage.EVENT_BASED_GATEWAY__BASE_STRUCTURED_ACTIVITY_NODE:
+ setBase_StructuredActivityNode((StructuredActivityNode)newValue);
+ return;
+ case BPMNProfilePackage.EVENT_BASED_GATEWAY__BASE_INTERRUPTIBLE_ACTIVITY_REGION:
+ setBase_InterruptibleActivityRegion((InterruptibleActivityRegion)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.EVENT_BASED_GATEWAY__INSTANTIATE:
+ setInstantiate(INSTANTIATE_EDEFAULT);
+ return;
+ case BPMNProfilePackage.EVENT_BASED_GATEWAY__EVENT_GATEWAY_TYPE:
+ setEventGatewayType(EVENT_GATEWAY_TYPE_EDEFAULT);
+ return;
+ case BPMNProfilePackage.EVENT_BASED_GATEWAY__BASE_FORK_NODE:
+ setBase_ForkNode((ForkNode)null);
+ return;
+ case BPMNProfilePackage.EVENT_BASED_GATEWAY__BASE_STRUCTURED_ACTIVITY_NODE:
+ setBase_StructuredActivityNode((StructuredActivityNode)null);
+ return;
+ case BPMNProfilePackage.EVENT_BASED_GATEWAY__BASE_INTERRUPTIBLE_ACTIVITY_REGION:
+ setBase_InterruptibleActivityRegion((InterruptibleActivityRegion)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.EVENT_BASED_GATEWAY__INSTANTIATE:
+ return instantiate != INSTANTIATE_EDEFAULT;
+ case BPMNProfilePackage.EVENT_BASED_GATEWAY__EVENT_GATEWAY_TYPE:
+ return eventGatewayType != EVENT_GATEWAY_TYPE_EDEFAULT;
+ case BPMNProfilePackage.EVENT_BASED_GATEWAY__BASE_FORK_NODE:
+ return base_ForkNode != null;
+ case BPMNProfilePackage.EVENT_BASED_GATEWAY__BASE_STRUCTURED_ACTIVITY_NODE:
+ return base_StructuredActivityNode != null;
+ case BPMNProfilePackage.EVENT_BASED_GATEWAY__BASE_INTERRUPTIBLE_ACTIVITY_REGION:
+ return base_InterruptibleActivityRegion != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (instantiate: ");
+ result.append(instantiate);
+ result.append(", eventGatewayType: ");
+ result.append(eventGatewayType);
+ result.append(')');
+ return result.toString();
+ }
+
+} //EventBasedGatewayImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/EventDefinitionImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/EventDefinitionImpl.java
new file mode 100644
index 00000000000..936a9835626
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/EventDefinitionImpl.java
@@ -0,0 +1,157 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.EventDefinition;
+
+import org.eclipse.uml2.uml.Event;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Event Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.EventDefinitionImpl#getBase_Event <em>Base Event</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class EventDefinitionImpl extends RootElementImpl implements EventDefinition {
+ /**
+ * The cached value of the '{@link #getBase_Event() <em>Base Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Event()
+ * @generated
+ * @ordered
+ */
+ protected Event base_Event;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EventDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getEventDefinition();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Event getBase_Event() {
+ if (base_Event != null && base_Event.eIsProxy()) {
+ InternalEObject oldBase_Event = (InternalEObject)base_Event;
+ base_Event = (Event)eResolveProxy(oldBase_Event);
+ if (base_Event != oldBase_Event) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.EVENT_DEFINITION__BASE_EVENT, oldBase_Event, base_Event));
+ }
+ }
+ return base_Event;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Event basicGetBase_Event() {
+ return base_Event;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Event(Event newBase_Event) {
+ Event oldBase_Event = base_Event;
+ base_Event = newBase_Event;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.EVENT_DEFINITION__BASE_EVENT, oldBase_Event, base_Event));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.EVENT_DEFINITION__BASE_EVENT:
+ if (resolve) return getBase_Event();
+ return basicGetBase_Event();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.EVENT_DEFINITION__BASE_EVENT:
+ setBase_Event((Event)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.EVENT_DEFINITION__BASE_EVENT:
+ setBase_Event((Event)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.EVENT_DEFINITION__BASE_EVENT:
+ return base_Event != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //EventDefinitionImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ExclusiveGatewayImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ExclusiveGatewayImpl.java
new file mode 100644
index 00000000000..4b63a72d423
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ExclusiveGatewayImpl.java
@@ -0,0 +1,334 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ExclusiveGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.MergeNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Exclusive Gateway</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ExclusiveGatewayImpl#getBase_DecisionNode <em>Base Decision Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ExclusiveGatewayImpl#getBase_MergeNode <em>Base Merge Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ExclusiveGatewayImpl#getDefault <em>Default</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ExclusiveGatewayImpl extends GatewayImpl implements ExclusiveGateway {
+ /**
+ * The cached value of the '{@link #getBase_DecisionNode() <em>Base Decision Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_DecisionNode()
+ * @generated
+ * @ordered
+ */
+ protected DecisionNode base_DecisionNode;
+
+ /**
+ * The cached value of the '{@link #getBase_MergeNode() <em>Base Merge Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_MergeNode()
+ * @generated
+ * @ordered
+ */
+ protected MergeNode base_MergeNode;
+
+ /**
+ * The cached value of the '{@link #getDefault() <em>Default</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefault()
+ * @generated
+ * @ordered
+ */
+ protected SequenceFlow default_;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExclusiveGatewayImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getExclusiveGateway();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DecisionNode getBase_DecisionNode() {
+ if (base_DecisionNode != null && base_DecisionNode.eIsProxy()) {
+ InternalEObject oldBase_DecisionNode = (InternalEObject)base_DecisionNode;
+ base_DecisionNode = (DecisionNode)eResolveProxy(oldBase_DecisionNode);
+ if (base_DecisionNode != oldBase_DecisionNode) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.EXCLUSIVE_GATEWAY__BASE_DECISION_NODE, oldBase_DecisionNode, base_DecisionNode));
+ }
+ }
+ return base_DecisionNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DecisionNode basicGetBase_DecisionNode() {
+ return base_DecisionNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_DecisionNode(DecisionNode newBase_DecisionNode) {
+ DecisionNode oldBase_DecisionNode = base_DecisionNode;
+ base_DecisionNode = newBase_DecisionNode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.EXCLUSIVE_GATEWAY__BASE_DECISION_NODE, oldBase_DecisionNode, base_DecisionNode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MergeNode getBase_MergeNode() {
+ if (base_MergeNode != null && base_MergeNode.eIsProxy()) {
+ InternalEObject oldBase_MergeNode = (InternalEObject)base_MergeNode;
+ base_MergeNode = (MergeNode)eResolveProxy(oldBase_MergeNode);
+ if (base_MergeNode != oldBase_MergeNode) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.EXCLUSIVE_GATEWAY__BASE_MERGE_NODE, oldBase_MergeNode, base_MergeNode));
+ }
+ }
+ return base_MergeNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MergeNode basicGetBase_MergeNode() {
+ return base_MergeNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_MergeNode(MergeNode newBase_MergeNode) {
+ MergeNode oldBase_MergeNode = base_MergeNode;
+ base_MergeNode = newBase_MergeNode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.EXCLUSIVE_GATEWAY__BASE_MERGE_NODE, oldBase_MergeNode, base_MergeNode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SequenceFlow getDefault() {
+ if (default_ != null && default_.eIsProxy()) {
+ InternalEObject oldDefault = (InternalEObject)default_;
+ default_ = (SequenceFlow)eResolveProxy(oldDefault);
+ if (default_ != oldDefault) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.EXCLUSIVE_GATEWAY__DEFAULT, oldDefault, default_));
+ }
+ }
+ return default_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SequenceFlow basicGetDefault() {
+ return default_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDefault(SequenceFlow newDefault) {
+ SequenceFlow oldDefault = default_;
+ default_ = newDefault;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.EXCLUSIVE_GATEWAY__DEFAULT, oldDefault, default_));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean exclusiveGatewaydefault(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.EXCLUSIVE_GATEWAY__EXCLUSIVE_GATEWAYDEFAULT,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "exclusiveGatewaydefault", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.EXCLUSIVE_GATEWAY__BASE_DECISION_NODE:
+ if (resolve) return getBase_DecisionNode();
+ return basicGetBase_DecisionNode();
+ case BPMNProfilePackage.EXCLUSIVE_GATEWAY__BASE_MERGE_NODE:
+ if (resolve) return getBase_MergeNode();
+ return basicGetBase_MergeNode();
+ case BPMNProfilePackage.EXCLUSIVE_GATEWAY__DEFAULT:
+ if (resolve) return getDefault();
+ return basicGetDefault();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.EXCLUSIVE_GATEWAY__BASE_DECISION_NODE:
+ setBase_DecisionNode((DecisionNode)newValue);
+ return;
+ case BPMNProfilePackage.EXCLUSIVE_GATEWAY__BASE_MERGE_NODE:
+ setBase_MergeNode((MergeNode)newValue);
+ return;
+ case BPMNProfilePackage.EXCLUSIVE_GATEWAY__DEFAULT:
+ setDefault((SequenceFlow)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.EXCLUSIVE_GATEWAY__BASE_DECISION_NODE:
+ setBase_DecisionNode((DecisionNode)null);
+ return;
+ case BPMNProfilePackage.EXCLUSIVE_GATEWAY__BASE_MERGE_NODE:
+ setBase_MergeNode((MergeNode)null);
+ return;
+ case BPMNProfilePackage.EXCLUSIVE_GATEWAY__DEFAULT:
+ setDefault((SequenceFlow)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.EXCLUSIVE_GATEWAY__BASE_DECISION_NODE:
+ return base_DecisionNode != null;
+ case BPMNProfilePackage.EXCLUSIVE_GATEWAY__BASE_MERGE_NODE:
+ return base_MergeNode != null;
+ case BPMNProfilePackage.EXCLUSIVE_GATEWAY__DEFAULT:
+ return default_ != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.EXCLUSIVE_GATEWAY___EXCLUSIVE_GATEWAYDEFAULT__DIAGNOSTICCHAIN_MAP:
+ return exclusiveGatewaydefault((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //ExclusiveGatewayImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ExtensionAttributeDefinitionImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ExtensionAttributeDefinitionImpl.java
new file mode 100644
index 00000000000..16fb0f94c0b
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ExtensionAttributeDefinitionImpl.java
@@ -0,0 +1,280 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeDefinition;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Extension Attribute Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ExtensionAttributeDefinitionImpl#getBase_Property <em>Base Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ExtensionAttributeDefinitionImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ExtensionAttributeDefinitionImpl#isReference <em>Is Reference</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ExtensionAttributeDefinitionImpl extends MinimalEObjectImpl.Container implements ExtensionAttributeDefinition {
+ /**
+ * The cached value of the '{@link #getBase_Property() <em>Base Property</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Property()
+ * @generated
+ * @ordered
+ */
+ protected Property base_Property;
+
+ /**
+ * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected static final String TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected String type = TYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isReference() <em>Is Reference</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isReference()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_REFERENCE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isReference() <em>Is Reference</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isReference()
+ * @generated
+ * @ordered
+ */
+ protected boolean isReference = IS_REFERENCE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtensionAttributeDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getExtensionAttributeDefinition();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getBase_Property() {
+ if (base_Property != null && base_Property.eIsProxy()) {
+ InternalEObject oldBase_Property = (InternalEObject)base_Property;
+ base_Property = (Property)eResolveProxy(oldBase_Property);
+ if (base_Property != oldBase_Property) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.EXTENSION_ATTRIBUTE_DEFINITION__BASE_PROPERTY, oldBase_Property, base_Property));
+ }
+ }
+ return base_Property;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetBase_Property() {
+ return base_Property;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Property(Property newBase_Property) {
+ Property oldBase_Property = base_Property;
+ base_Property = newBase_Property;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.EXTENSION_ATTRIBUTE_DEFINITION__BASE_PROPERTY, oldBase_Property, base_Property));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(String newType) {
+ String oldType = type;
+ type = newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.EXTENSION_ATTRIBUTE_DEFINITION__TYPE, oldType, type));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isReference() {
+ return isReference;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsReference(boolean newIsReference) {
+ boolean oldIsReference = isReference;
+ isReference = newIsReference;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.EXTENSION_ATTRIBUTE_DEFINITION__IS_REFERENCE, oldIsReference, isReference));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_DEFINITION__BASE_PROPERTY:
+ if (resolve) return getBase_Property();
+ return basicGetBase_Property();
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_DEFINITION__TYPE:
+ return getType();
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_DEFINITION__IS_REFERENCE:
+ return isReference();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_DEFINITION__BASE_PROPERTY:
+ setBase_Property((Property)newValue);
+ return;
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_DEFINITION__TYPE:
+ setType((String)newValue);
+ return;
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_DEFINITION__IS_REFERENCE:
+ setIsReference((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_DEFINITION__BASE_PROPERTY:
+ setBase_Property((Property)null);
+ return;
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_DEFINITION__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_DEFINITION__IS_REFERENCE:
+ setIsReference(IS_REFERENCE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_DEFINITION__BASE_PROPERTY:
+ return base_Property != null;
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_DEFINITION__TYPE:
+ return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_DEFINITION__IS_REFERENCE:
+ return isReference != IS_REFERENCE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (type: ");
+ result.append(type);
+ result.append(", isReference: ");
+ result.append(isReference);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ExtensionAttributeDefinitionImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ExtensionAttributeValueImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ExtensionAttributeValueImpl.java
new file mode 100644
index 00000000000..a6f625139e7
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ExtensionAttributeValueImpl.java
@@ -0,0 +1,280 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeValue;
+
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Slot;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Extension Attribute Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ExtensionAttributeValueImpl#getBase_Slot <em>Base Slot</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ExtensionAttributeValueImpl#getValueRef <em>Value Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ExtensionAttributeValueImpl#getExtensionAttributeDefinition <em>Extension Attribute Definition</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ExtensionAttributeValueImpl extends MinimalEObjectImpl.Container implements ExtensionAttributeValue {
+ /**
+ * The cached value of the '{@link #getBase_Slot() <em>Base Slot</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Slot()
+ * @generated
+ * @ordered
+ */
+ protected Slot base_Slot;
+
+ /**
+ * The cached value of the '{@link #getValueRef() <em>Value Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValueRef()
+ * @generated
+ * @ordered
+ */
+ protected Element valueRef;
+
+ /**
+ * The cached value of the '{@link #getExtensionAttributeDefinition() <em>Extension Attribute Definition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExtensionAttributeDefinition()
+ * @generated
+ * @ordered
+ */
+ protected ExtensionAttributeDefinition extensionAttributeDefinition;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtensionAttributeValueImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getExtensionAttributeValue();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Slot getBase_Slot() {
+ if (base_Slot != null && base_Slot.eIsProxy()) {
+ InternalEObject oldBase_Slot = (InternalEObject)base_Slot;
+ base_Slot = (Slot)eResolveProxy(oldBase_Slot);
+ if (base_Slot != oldBase_Slot) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.EXTENSION_ATTRIBUTE_VALUE__BASE_SLOT, oldBase_Slot, base_Slot));
+ }
+ }
+ return base_Slot;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Slot basicGetBase_Slot() {
+ return base_Slot;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Slot(Slot newBase_Slot) {
+ Slot oldBase_Slot = base_Slot;
+ base_Slot = newBase_Slot;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.EXTENSION_ATTRIBUTE_VALUE__BASE_SLOT, oldBase_Slot, base_Slot));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element getValueRef() {
+ if (valueRef != null && valueRef.eIsProxy()) {
+ InternalEObject oldValueRef = (InternalEObject)valueRef;
+ valueRef = (Element)eResolveProxy(oldValueRef);
+ if (valueRef != oldValueRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.EXTENSION_ATTRIBUTE_VALUE__VALUE_REF, oldValueRef, valueRef));
+ }
+ }
+ return valueRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element basicGetValueRef() {
+ return valueRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValueRef(Element newValueRef) {
+ Element oldValueRef = valueRef;
+ valueRef = newValueRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.EXTENSION_ATTRIBUTE_VALUE__VALUE_REF, oldValueRef, valueRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtensionAttributeDefinition getExtensionAttributeDefinition() {
+ if (extensionAttributeDefinition != null && extensionAttributeDefinition.eIsProxy()) {
+ InternalEObject oldExtensionAttributeDefinition = (InternalEObject)extensionAttributeDefinition;
+ extensionAttributeDefinition = (ExtensionAttributeDefinition)eResolveProxy(oldExtensionAttributeDefinition);
+ if (extensionAttributeDefinition != oldExtensionAttributeDefinition) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.EXTENSION_ATTRIBUTE_VALUE__EXTENSION_ATTRIBUTE_DEFINITION, oldExtensionAttributeDefinition, extensionAttributeDefinition));
+ }
+ }
+ return extensionAttributeDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExtensionAttributeDefinition basicGetExtensionAttributeDefinition() {
+ return extensionAttributeDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExtensionAttributeDefinition(ExtensionAttributeDefinition newExtensionAttributeDefinition) {
+ ExtensionAttributeDefinition oldExtensionAttributeDefinition = extensionAttributeDefinition;
+ extensionAttributeDefinition = newExtensionAttributeDefinition;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.EXTENSION_ATTRIBUTE_VALUE__EXTENSION_ATTRIBUTE_DEFINITION, oldExtensionAttributeDefinition, extensionAttributeDefinition));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_VALUE__BASE_SLOT:
+ if (resolve) return getBase_Slot();
+ return basicGetBase_Slot();
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_VALUE__VALUE_REF:
+ if (resolve) return getValueRef();
+ return basicGetValueRef();
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_VALUE__EXTENSION_ATTRIBUTE_DEFINITION:
+ if (resolve) return getExtensionAttributeDefinition();
+ return basicGetExtensionAttributeDefinition();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_VALUE__BASE_SLOT:
+ setBase_Slot((Slot)newValue);
+ return;
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_VALUE__VALUE_REF:
+ setValueRef((Element)newValue);
+ return;
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_VALUE__EXTENSION_ATTRIBUTE_DEFINITION:
+ setExtensionAttributeDefinition((ExtensionAttributeDefinition)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_VALUE__BASE_SLOT:
+ setBase_Slot((Slot)null);
+ return;
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_VALUE__VALUE_REF:
+ setValueRef((Element)null);
+ return;
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_VALUE__EXTENSION_ATTRIBUTE_DEFINITION:
+ setExtensionAttributeDefinition((ExtensionAttributeDefinition)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_VALUE__BASE_SLOT:
+ return base_Slot != null;
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_VALUE__VALUE_REF:
+ return valueRef != null;
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_VALUE__EXTENSION_ATTRIBUTE_DEFINITION:
+ return extensionAttributeDefinition != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ExtensionAttributeValueImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ExtensionDefinitionImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ExtensionDefinitionImpl.java
new file mode 100644
index 00000000000..3a2cb09cead
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ExtensionDefinitionImpl.java
@@ -0,0 +1,199 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionDefinition;
+
+import org.eclipse.uml2.uml.Stereotype;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Extension Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ExtensionDefinitionImpl#getBase_Stereotype <em>Base Stereotype</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ExtensionDefinitionImpl#getExtensionAttributeDefinitions <em>Extension Attribute Definitions</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ExtensionDefinitionImpl extends MinimalEObjectImpl.Container implements ExtensionDefinition {
+ /**
+ * The cached value of the '{@link #getBase_Stereotype() <em>Base Stereotype</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Stereotype()
+ * @generated
+ * @ordered
+ */
+ protected Stereotype base_Stereotype;
+
+ /**
+ * The cached value of the '{@link #getExtensionAttributeDefinitions() <em>Extension Attribute Definitions</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExtensionAttributeDefinitions()
+ * @generated
+ * @ordered
+ */
+ protected EList<ExtensionAttributeDefinition> extensionAttributeDefinitions;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtensionDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getExtensionDefinition();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Stereotype getBase_Stereotype() {
+ if (base_Stereotype != null && base_Stereotype.eIsProxy()) {
+ InternalEObject oldBase_Stereotype = (InternalEObject)base_Stereotype;
+ base_Stereotype = (Stereotype)eResolveProxy(oldBase_Stereotype);
+ if (base_Stereotype != oldBase_Stereotype) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.EXTENSION_DEFINITION__BASE_STEREOTYPE, oldBase_Stereotype, base_Stereotype));
+ }
+ }
+ return base_Stereotype;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Stereotype basicGetBase_Stereotype() {
+ return base_Stereotype;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Stereotype(Stereotype newBase_Stereotype) {
+ Stereotype oldBase_Stereotype = base_Stereotype;
+ base_Stereotype = newBase_Stereotype;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.EXTENSION_DEFINITION__BASE_STEREOTYPE, oldBase_Stereotype, base_Stereotype));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ExtensionAttributeDefinition> getExtensionAttributeDefinitions() {
+ if (extensionAttributeDefinitions == null) {
+ extensionAttributeDefinitions = new EObjectResolvingEList<ExtensionAttributeDefinition>(ExtensionAttributeDefinition.class, this, BPMNProfilePackage.EXTENSION_DEFINITION__EXTENSION_ATTRIBUTE_DEFINITIONS);
+ }
+ return extensionAttributeDefinitions;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.EXTENSION_DEFINITION__BASE_STEREOTYPE:
+ if (resolve) return getBase_Stereotype();
+ return basicGetBase_Stereotype();
+ case BPMNProfilePackage.EXTENSION_DEFINITION__EXTENSION_ATTRIBUTE_DEFINITIONS:
+ return getExtensionAttributeDefinitions();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.EXTENSION_DEFINITION__BASE_STEREOTYPE:
+ setBase_Stereotype((Stereotype)newValue);
+ return;
+ case BPMNProfilePackage.EXTENSION_DEFINITION__EXTENSION_ATTRIBUTE_DEFINITIONS:
+ getExtensionAttributeDefinitions().clear();
+ getExtensionAttributeDefinitions().addAll((Collection<? extends ExtensionAttributeDefinition>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.EXTENSION_DEFINITION__BASE_STEREOTYPE:
+ setBase_Stereotype((Stereotype)null);
+ return;
+ case BPMNProfilePackage.EXTENSION_DEFINITION__EXTENSION_ATTRIBUTE_DEFINITIONS:
+ getExtensionAttributeDefinitions().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.EXTENSION_DEFINITION__BASE_STEREOTYPE:
+ return base_Stereotype != null;
+ case BPMNProfilePackage.EXTENSION_DEFINITION__EXTENSION_ATTRIBUTE_DEFINITIONS:
+ return extensionAttributeDefinitions != null && !extensionAttributeDefinitions.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ExtensionDefinitionImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/FlowElementImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/FlowElementImpl.java
new file mode 100644
index 00000000000..dadb0150e0c
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/FlowElementImpl.java
@@ -0,0 +1,379 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.Auditing;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CategoryValue;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FlowElementsContainer;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Monitoring;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Flow Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.FlowElementImpl#getAuditing <em>Auditing</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.FlowElementImpl#getMonitoring <em>Monitoring</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.FlowElementImpl#get_categoryValueRef <em>category Value Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.FlowElementImpl#getContainer <em>Container</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class FlowElementImpl extends BaseElementImpl implements FlowElement {
+ /**
+ * The cached value of the '{@link #getAuditing() <em>Auditing</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAuditing()
+ * @generated
+ * @ordered
+ */
+ protected Auditing auditing;
+
+ /**
+ * The cached value of the '{@link #getMonitoring() <em>Monitoring</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMonitoring()
+ * @generated
+ * @ordered
+ */
+ protected Monitoring monitoring;
+
+ /**
+ * The cached value of the '{@link #get_categoryValueRef() <em>category Value Ref</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #get_categoryValueRef()
+ * @generated
+ * @ordered
+ */
+ protected EList<CategoryValue> _categoryValueRef;
+
+ /**
+ * The cached value of the '{@link #getContainer() <em>Container</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContainer()
+ * @generated
+ * @ordered
+ */
+ protected FlowElementsContainer container;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FlowElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getFlowElement();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Auditing getAuditing() {
+ if (auditing != null && auditing.eIsProxy()) {
+ InternalEObject oldAuditing = (InternalEObject)auditing;
+ auditing = (Auditing)eResolveProxy(oldAuditing);
+ if (auditing != oldAuditing) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.FLOW_ELEMENT__AUDITING, oldAuditing, auditing));
+ }
+ }
+ return auditing;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Auditing basicGetAuditing() {
+ return auditing;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAuditing(Auditing newAuditing) {
+ Auditing oldAuditing = auditing;
+ auditing = newAuditing;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.FLOW_ELEMENT__AUDITING, oldAuditing, auditing));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Monitoring getMonitoring() {
+ if (monitoring != null && monitoring.eIsProxy()) {
+ InternalEObject oldMonitoring = (InternalEObject)monitoring;
+ monitoring = (Monitoring)eResolveProxy(oldMonitoring);
+ if (monitoring != oldMonitoring) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.FLOW_ELEMENT__MONITORING, oldMonitoring, monitoring));
+ }
+ }
+ return monitoring;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Monitoring basicGetMonitoring() {
+ return monitoring;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMonitoring(Monitoring newMonitoring) {
+ Monitoring oldMonitoring = monitoring;
+ monitoring = newMonitoring;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.FLOW_ELEMENT__MONITORING, oldMonitoring, monitoring));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<CategoryValue> get_categoryValueRef() {
+ if (_categoryValueRef == null) {
+ _categoryValueRef = new EObjectWithInverseResolvingEList.ManyInverse<CategoryValue>(CategoryValue.class, this, BPMNProfilePackage.FLOW_ELEMENT__CATEGORY_VALUE_REF, BPMNProfilePackage.CATEGORY_VALUE__CATEGORIZED_FLOW_ELEMENTS);
+ }
+ return _categoryValueRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FlowElementsContainer getContainer() {
+ if (container != null && container.eIsProxy()) {
+ InternalEObject oldContainer = (InternalEObject)container;
+ container = (FlowElementsContainer)eResolveProxy(oldContainer);
+ if (container != oldContainer) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.FLOW_ELEMENT__CONTAINER, oldContainer, container));
+ }
+ }
+ return container;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FlowElementsContainer basicGetContainer() {
+ return container;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetContainer(FlowElementsContainer newContainer, NotificationChain msgs) {
+ FlowElementsContainer oldContainer = container;
+ container = newContainer;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.FLOW_ELEMENT__CONTAINER, oldContainer, newContainer);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setContainer(FlowElementsContainer newContainer) {
+ if (newContainer != container) {
+ NotificationChain msgs = null;
+ if (container != null)
+ msgs = ((InternalEObject)container).eInverseRemove(this, BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER__FLOW_ELEMENTS, FlowElementsContainer.class, msgs);
+ if (newContainer != null)
+ msgs = ((InternalEObject)newContainer).eInverseAdd(this, BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER__FLOW_ELEMENTS, FlowElementsContainer.class, msgs);
+ msgs = basicSetContainer(newContainer, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.FLOW_ELEMENT__CONTAINER, newContainer, newContainer));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.FLOW_ELEMENT__CATEGORY_VALUE_REF:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)get_categoryValueRef()).basicAdd(otherEnd, msgs);
+ case BPMNProfilePackage.FLOW_ELEMENT__CONTAINER:
+ if (container != null)
+ msgs = ((InternalEObject)container).eInverseRemove(this, BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER__FLOW_ELEMENTS, FlowElementsContainer.class, msgs);
+ return basicSetContainer((FlowElementsContainer)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.FLOW_ELEMENT__CATEGORY_VALUE_REF:
+ return ((InternalEList<?>)get_categoryValueRef()).basicRemove(otherEnd, msgs);
+ case BPMNProfilePackage.FLOW_ELEMENT__CONTAINER:
+ return basicSetContainer(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.FLOW_ELEMENT__AUDITING:
+ if (resolve) return getAuditing();
+ return basicGetAuditing();
+ case BPMNProfilePackage.FLOW_ELEMENT__MONITORING:
+ if (resolve) return getMonitoring();
+ return basicGetMonitoring();
+ case BPMNProfilePackage.FLOW_ELEMENT__CATEGORY_VALUE_REF:
+ return get_categoryValueRef();
+ case BPMNProfilePackage.FLOW_ELEMENT__CONTAINER:
+ if (resolve) return getContainer();
+ return basicGetContainer();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.FLOW_ELEMENT__AUDITING:
+ setAuditing((Auditing)newValue);
+ return;
+ case BPMNProfilePackage.FLOW_ELEMENT__MONITORING:
+ setMonitoring((Monitoring)newValue);
+ return;
+ case BPMNProfilePackage.FLOW_ELEMENT__CATEGORY_VALUE_REF:
+ get_categoryValueRef().clear();
+ get_categoryValueRef().addAll((Collection<? extends CategoryValue>)newValue);
+ return;
+ case BPMNProfilePackage.FLOW_ELEMENT__CONTAINER:
+ setContainer((FlowElementsContainer)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.FLOW_ELEMENT__AUDITING:
+ setAuditing((Auditing)null);
+ return;
+ case BPMNProfilePackage.FLOW_ELEMENT__MONITORING:
+ setMonitoring((Monitoring)null);
+ return;
+ case BPMNProfilePackage.FLOW_ELEMENT__CATEGORY_VALUE_REF:
+ get_categoryValueRef().clear();
+ return;
+ case BPMNProfilePackage.FLOW_ELEMENT__CONTAINER:
+ setContainer((FlowElementsContainer)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.FLOW_ELEMENT__AUDITING:
+ return auditing != null;
+ case BPMNProfilePackage.FLOW_ELEMENT__MONITORING:
+ return monitoring != null;
+ case BPMNProfilePackage.FLOW_ELEMENT__CATEGORY_VALUE_REF:
+ return _categoryValueRef != null && !_categoryValueRef.isEmpty();
+ case BPMNProfilePackage.FLOW_ELEMENT__CONTAINER:
+ return container != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //FlowElementImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/FlowElementsContainerImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/FlowElementsContainerImpl.java
new file mode 100644
index 00000000000..466fadccfb1
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/FlowElementsContainerImpl.java
@@ -0,0 +1,201 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FlowElementsContainer;
+import org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Flow Elements Container</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.FlowElementsContainerImpl#getLaneSets <em>Lane Sets</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.FlowElementsContainerImpl#getFlowElements <em>Flow Elements</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class FlowElementsContainerImpl extends BaseElementImpl implements FlowElementsContainer {
+ /**
+ * The cached value of the '{@link #getLaneSets() <em>Lane Sets</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLaneSets()
+ * @generated
+ * @ordered
+ */
+ protected EList<LaneSet> laneSets;
+ /**
+ * The cached value of the '{@link #getFlowElements() <em>Flow Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFlowElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<FlowElement> flowElements;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FlowElementsContainerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getFlowElementsContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<LaneSet> getLaneSets() {
+ if (laneSets == null) {
+ laneSets = new EObjectWithInverseResolvingEList<LaneSet>(LaneSet.class, this, BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER__LANE_SETS, BPMNProfilePackage.LANE_SET__FLOW_ELEMENTS_CONTAINER);
+ }
+ return laneSets;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FlowElement> getFlowElements() {
+ if (flowElements == null) {
+ flowElements = new EObjectWithInverseResolvingEList<FlowElement>(FlowElement.class, this, BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER__FLOW_ELEMENTS, BPMNProfilePackage.FLOW_ELEMENT__CONTAINER);
+ }
+ return flowElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER__LANE_SETS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getLaneSets()).basicAdd(otherEnd, msgs);
+ case BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER__FLOW_ELEMENTS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getFlowElements()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER__LANE_SETS:
+ return ((InternalEList<?>)getLaneSets()).basicRemove(otherEnd, msgs);
+ case BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER__FLOW_ELEMENTS:
+ return ((InternalEList<?>)getFlowElements()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER__LANE_SETS:
+ return getLaneSets();
+ case BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER__FLOW_ELEMENTS:
+ return getFlowElements();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER__LANE_SETS:
+ getLaneSets().clear();
+ getLaneSets().addAll((Collection<? extends LaneSet>)newValue);
+ return;
+ case BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER__FLOW_ELEMENTS:
+ getFlowElements().clear();
+ getFlowElements().addAll((Collection<? extends FlowElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER__LANE_SETS:
+ getLaneSets().clear();
+ return;
+ case BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER__FLOW_ELEMENTS:
+ getFlowElements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER__LANE_SETS:
+ return laneSets != null && !laneSets.isEmpty();
+ case BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER__FLOW_ELEMENTS:
+ return flowElements != null && !flowElements.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //FlowElementsContainerImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/FlowNodeImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/FlowNodeImpl.java
new file mode 100644
index 00000000000..af703c1018a
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/FlowNodeImpl.java
@@ -0,0 +1,157 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FlowNode;
+
+import org.eclipse.uml2.uml.ActivityNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Flow Node</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.FlowNodeImpl#getBase_ActivityNode <em>Base Activity Node</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class FlowNodeImpl extends FlowElementImpl implements FlowNode {
+ /**
+ * The cached value of the '{@link #getBase_ActivityNode() <em>Base Activity Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_ActivityNode()
+ * @generated
+ * @ordered
+ */
+ protected ActivityNode base_ActivityNode;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FlowNodeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getFlowNode();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityNode getBase_ActivityNode() {
+ if (base_ActivityNode != null && base_ActivityNode.eIsProxy()) {
+ InternalEObject oldBase_ActivityNode = (InternalEObject)base_ActivityNode;
+ base_ActivityNode = (ActivityNode)eResolveProxy(oldBase_ActivityNode);
+ if (base_ActivityNode != oldBase_ActivityNode) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.FLOW_NODE__BASE_ACTIVITY_NODE, oldBase_ActivityNode, base_ActivityNode));
+ }
+ }
+ return base_ActivityNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityNode basicGetBase_ActivityNode() {
+ return base_ActivityNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_ActivityNode(ActivityNode newBase_ActivityNode) {
+ ActivityNode oldBase_ActivityNode = base_ActivityNode;
+ base_ActivityNode = newBase_ActivityNode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.FLOW_NODE__BASE_ACTIVITY_NODE, oldBase_ActivityNode, base_ActivityNode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.FLOW_NODE__BASE_ACTIVITY_NODE:
+ if (resolve) return getBase_ActivityNode();
+ return basicGetBase_ActivityNode();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.FLOW_NODE__BASE_ACTIVITY_NODE:
+ setBase_ActivityNode((ActivityNode)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.FLOW_NODE__BASE_ACTIVITY_NODE:
+ setBase_ActivityNode((ActivityNode)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.FLOW_NODE__BASE_ACTIVITY_NODE:
+ return base_ActivityNode != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //FlowNodeImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/FormalExpressionImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/FormalExpressionImpl.java
new file mode 100644
index 00000000000..f2a1ca6db49
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/FormalExpressionImpl.java
@@ -0,0 +1,209 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FormalExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Formal Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.FormalExpressionImpl#getEvaluatesToTypeRef <em>Evaluates To Type Ref</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class FormalExpressionImpl extends BPMNExpressionImpl implements FormalExpression {
+ /**
+ * The cached value of the '{@link #getEvaluatesToTypeRef() <em>Evaluates To Type Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEvaluatesToTypeRef()
+ * @generated
+ * @ordered
+ */
+ protected ItemDefinition evaluatesToTypeRef;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FormalExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getFormalExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemDefinition getEvaluatesToTypeRef() {
+ if (evaluatesToTypeRef != null && evaluatesToTypeRef.eIsProxy()) {
+ InternalEObject oldEvaluatesToTypeRef = (InternalEObject)evaluatesToTypeRef;
+ evaluatesToTypeRef = (ItemDefinition)eResolveProxy(oldEvaluatesToTypeRef);
+ if (evaluatesToTypeRef != oldEvaluatesToTypeRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.FORMAL_EXPRESSION__EVALUATES_TO_TYPE_REF, oldEvaluatesToTypeRef, evaluatesToTypeRef));
+ }
+ }
+ return evaluatesToTypeRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemDefinition basicGetEvaluatesToTypeRef() {
+ return evaluatesToTypeRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setEvaluatesToTypeRef(ItemDefinition newEvaluatesToTypeRef) {
+ ItemDefinition oldEvaluatesToTypeRef = evaluatesToTypeRef;
+ evaluatesToTypeRef = newEvaluatesToTypeRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.FORMAL_EXPRESSION__EVALUATES_TO_TYPE_REF, oldEvaluatesToTypeRef, evaluatesToTypeRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean FormalExpressionevaluatesToTypeRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.FORMAL_EXPRESSION__FORMAL_EXPRESSIONEVALUATES_TO_TYPE_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "FormalExpressionevaluatesToTypeRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.FORMAL_EXPRESSION__EVALUATES_TO_TYPE_REF:
+ if (resolve) return getEvaluatesToTypeRef();
+ return basicGetEvaluatesToTypeRef();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.FORMAL_EXPRESSION__EVALUATES_TO_TYPE_REF:
+ setEvaluatesToTypeRef((ItemDefinition)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.FORMAL_EXPRESSION__EVALUATES_TO_TYPE_REF:
+ setEvaluatesToTypeRef((ItemDefinition)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.FORMAL_EXPRESSION__EVALUATES_TO_TYPE_REF:
+ return evaluatesToTypeRef != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.FORMAL_EXPRESSION___FORMAL_EXPRESSIONEVALUATES_TO_TYPE_REF__DIAGNOSTICCHAIN_MAP:
+ return FormalExpressionevaluatesToTypeRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //FormalExpressionImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GatewayImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GatewayImpl.java
new file mode 100644
index 00000000000..2b4c20353a5
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GatewayImpl.java
@@ -0,0 +1,218 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Gateway;
+
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ControlNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Gateway</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.GatewayImpl#getBase_ControlNode <em>Base Control Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.GatewayImpl#getBase_ActivityGroup <em>Base Activity Group</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class GatewayImpl extends FlowNodeImpl implements Gateway {
+ /**
+ * The cached value of the '{@link #getBase_ControlNode() <em>Base Control Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_ControlNode()
+ * @generated
+ * @ordered
+ */
+ protected ControlNode base_ControlNode;
+
+ /**
+ * The cached value of the '{@link #getBase_ActivityGroup() <em>Base Activity Group</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_ActivityGroup()
+ * @generated
+ * @ordered
+ */
+ protected ActivityGroup base_ActivityGroup;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GatewayImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getGateway();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ControlNode getBase_ControlNode() {
+ if (base_ControlNode != null && base_ControlNode.eIsProxy()) {
+ InternalEObject oldBase_ControlNode = (InternalEObject)base_ControlNode;
+ base_ControlNode = (ControlNode)eResolveProxy(oldBase_ControlNode);
+ if (base_ControlNode != oldBase_ControlNode) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.GATEWAY__BASE_CONTROL_NODE, oldBase_ControlNode, base_ControlNode));
+ }
+ }
+ return base_ControlNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ControlNode basicGetBase_ControlNode() {
+ return base_ControlNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_ControlNode(ControlNode newBase_ControlNode) {
+ ControlNode oldBase_ControlNode = base_ControlNode;
+ base_ControlNode = newBase_ControlNode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.GATEWAY__BASE_CONTROL_NODE, oldBase_ControlNode, base_ControlNode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityGroup getBase_ActivityGroup() {
+ if (base_ActivityGroup != null && base_ActivityGroup.eIsProxy()) {
+ InternalEObject oldBase_ActivityGroup = (InternalEObject)base_ActivityGroup;
+ base_ActivityGroup = (ActivityGroup)eResolveProxy(oldBase_ActivityGroup);
+ if (base_ActivityGroup != oldBase_ActivityGroup) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.GATEWAY__BASE_ACTIVITY_GROUP, oldBase_ActivityGroup, base_ActivityGroup));
+ }
+ }
+ return base_ActivityGroup;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityGroup basicGetBase_ActivityGroup() {
+ return base_ActivityGroup;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_ActivityGroup(ActivityGroup newBase_ActivityGroup) {
+ ActivityGroup oldBase_ActivityGroup = base_ActivityGroup;
+ base_ActivityGroup = newBase_ActivityGroup;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.GATEWAY__BASE_ACTIVITY_GROUP, oldBase_ActivityGroup, base_ActivityGroup));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.GATEWAY__BASE_CONTROL_NODE:
+ if (resolve) return getBase_ControlNode();
+ return basicGetBase_ControlNode();
+ case BPMNProfilePackage.GATEWAY__BASE_ACTIVITY_GROUP:
+ if (resolve) return getBase_ActivityGroup();
+ return basicGetBase_ActivityGroup();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.GATEWAY__BASE_CONTROL_NODE:
+ setBase_ControlNode((ControlNode)newValue);
+ return;
+ case BPMNProfilePackage.GATEWAY__BASE_ACTIVITY_GROUP:
+ setBase_ActivityGroup((ActivityGroup)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.GATEWAY__BASE_CONTROL_NODE:
+ setBase_ControlNode((ControlNode)null);
+ return;
+ case BPMNProfilePackage.GATEWAY__BASE_ACTIVITY_GROUP:
+ setBase_ActivityGroup((ActivityGroup)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.GATEWAY__BASE_CONTROL_NODE:
+ return base_ControlNode != null;
+ case BPMNProfilePackage.GATEWAY__BASE_ACTIVITY_GROUP:
+ return base_ActivityGroup != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //GatewayImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GlobalBusinessRuleTaskImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GlobalBusinessRuleTaskImpl.java
new file mode 100644
index 00000000000..30d35118ef9
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GlobalBusinessRuleTaskImpl.java
@@ -0,0 +1,198 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalBusinessRuleTask;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Global Business Rule Task</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.GlobalBusinessRuleTaskImpl#getImplementation <em>Implementation</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class GlobalBusinessRuleTaskImpl extends GlobalTaskImpl implements GlobalBusinessRuleTask {
+ /**
+ * The cached value of the '{@link #getImplementation() <em>Implementation</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImplementation()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> implementation;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GlobalBusinessRuleTaskImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getGlobalBusinessRuleTask();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getImplementation() {
+ if (implementation == null) {
+ implementation = new EDataTypeEList<String>(String.class, this, BPMNProfilePackage.GLOBAL_BUSINESS_RULE_TASK__IMPLEMENTATION);
+ }
+ return implementation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean GlobalBusinessRuleTaskimplementation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.GLOBAL_BUSINESS_RULE_TASK__GLOBAL_BUSINESS_RULE_TASKIMPLEMENTATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "GlobalBusinessRuleTaskimplementation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.GLOBAL_BUSINESS_RULE_TASK__IMPLEMENTATION:
+ return getImplementation();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.GLOBAL_BUSINESS_RULE_TASK__IMPLEMENTATION:
+ getImplementation().clear();
+ getImplementation().addAll((Collection<? extends String>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.GLOBAL_BUSINESS_RULE_TASK__IMPLEMENTATION:
+ getImplementation().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.GLOBAL_BUSINESS_RULE_TASK__IMPLEMENTATION:
+ return implementation != null && !implementation.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.GLOBAL_BUSINESS_RULE_TASK___GLOBAL_BUSINESS_RULE_TASKIMPLEMENTATION__DIAGNOSTICCHAIN_MAP:
+ return GlobalBusinessRuleTaskimplementation((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (implementation: ");
+ result.append(implementation);
+ result.append(')');
+ return result.toString();
+ }
+
+} //GlobalBusinessRuleTaskImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GlobalConversationImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GlobalConversationImpl.java
new file mode 100644
index 00000000000..44da6489106
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GlobalConversationImpl.java
@@ -0,0 +1,92 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalConversation;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Global Conversation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class GlobalConversationImpl extends BPMNCollaborationImpl implements GlobalConversation {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GlobalConversationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getGlobalConversation();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean GlobalConversationcontainedelements(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.GLOBAL_CONVERSATION__GLOBAL_CONVERSATIONCONTAINEDELEMENTS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "GlobalConversationcontainedelements", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.GLOBAL_CONVERSATION___GLOBAL_CONVERSATIONCONTAINEDELEMENTS__DIAGNOSTICCHAIN_MAP:
+ return GlobalConversationcontainedelements((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //GlobalConversationImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GlobalManualTaskImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GlobalManualTaskImpl.java
new file mode 100644
index 00000000000..680c66c2992
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GlobalManualTaskImpl.java
@@ -0,0 +1,37 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalManualTask;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Global Manual Task</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class GlobalManualTaskImpl extends GlobalTaskImpl implements GlobalManualTask {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GlobalManualTaskImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getGlobalManualTask();
+ }
+
+} //GlobalManualTaskImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GlobalScriptTaskImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GlobalScriptTaskImpl.java
new file mode 100644
index 00000000000..39340bc67c5
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GlobalScriptTaskImpl.java
@@ -0,0 +1,261 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalScriptTask;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Global Script Task</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.GlobalScriptTaskImpl#getScript <em>Script</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.GlobalScriptTaskImpl#getScriptFormat <em>Script Format</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class GlobalScriptTaskImpl extends GlobalTaskImpl implements GlobalScriptTask {
+ /**
+ * The cached value of the '{@link #getScript() <em>Script</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getScript()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> script;
+ /**
+ * The cached value of the '{@link #getScriptFormat() <em>Script Format</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getScriptFormat()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> scriptFormat;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GlobalScriptTaskImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getGlobalScriptTask();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getScript() {
+ if (script == null) {
+ script = new EDataTypeEList<String>(String.class, this, BPMNProfilePackage.GLOBAL_SCRIPT_TASK__SCRIPT);
+ }
+ return script;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getScriptFormat() {
+ if (scriptFormat == null) {
+ scriptFormat = new EDataTypeUniqueEList<String>(String.class, this, BPMNProfilePackage.GLOBAL_SCRIPT_TASK__SCRIPT_FORMAT);
+ }
+ return scriptFormat;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean GlobalScriptTaskscriptFormat(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.GLOBAL_SCRIPT_TASK__GLOBAL_SCRIPT_TASKSCRIPT_FORMAT,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "GlobalScriptTaskscriptFormat", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean GlobalScriptTaskscript(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.GLOBAL_SCRIPT_TASK__GLOBAL_SCRIPT_TASKSCRIPT,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "GlobalScriptTaskscript", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.GLOBAL_SCRIPT_TASK__SCRIPT:
+ return getScript();
+ case BPMNProfilePackage.GLOBAL_SCRIPT_TASK__SCRIPT_FORMAT:
+ return getScriptFormat();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.GLOBAL_SCRIPT_TASK__SCRIPT:
+ getScript().clear();
+ getScript().addAll((Collection<? extends String>)newValue);
+ return;
+ case BPMNProfilePackage.GLOBAL_SCRIPT_TASK__SCRIPT_FORMAT:
+ getScriptFormat().clear();
+ getScriptFormat().addAll((Collection<? extends String>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.GLOBAL_SCRIPT_TASK__SCRIPT:
+ getScript().clear();
+ return;
+ case BPMNProfilePackage.GLOBAL_SCRIPT_TASK__SCRIPT_FORMAT:
+ getScriptFormat().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.GLOBAL_SCRIPT_TASK__SCRIPT:
+ return script != null && !script.isEmpty();
+ case BPMNProfilePackage.GLOBAL_SCRIPT_TASK__SCRIPT_FORMAT:
+ return scriptFormat != null && !scriptFormat.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.GLOBAL_SCRIPT_TASK___GLOBAL_SCRIPT_TASKSCRIPT_FORMAT__DIAGNOSTICCHAIN_MAP:
+ return GlobalScriptTaskscriptFormat((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.GLOBAL_SCRIPT_TASK___GLOBAL_SCRIPT_TASKSCRIPT__DIAGNOSTICCHAIN_MAP:
+ return GlobalScriptTaskscript((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (script: ");
+ result.append(script);
+ result.append(", scriptFormat: ");
+ result.append(scriptFormat);
+ result.append(')');
+ return result.toString();
+ }
+
+} //GlobalScriptTaskImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GlobalTaskImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GlobalTaskImpl.java
new file mode 100644
index 00000000000..edb85004ff3
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GlobalTaskImpl.java
@@ -0,0 +1,250 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.OpaqueBehavior;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Global Task</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.GlobalTaskImpl#getBase_OpaqueBehavior <em>Base Opaque Behavior</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.GlobalTaskImpl#getResources <em>Resources</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class GlobalTaskImpl extends CallableElementImpl implements GlobalTask {
+ /**
+ * The cached value of the '{@link #getBase_OpaqueBehavior() <em>Base Opaque Behavior</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_OpaqueBehavior()
+ * @generated
+ * @ordered
+ */
+ protected OpaqueBehavior base_OpaqueBehavior;
+
+ /**
+ * The cached value of the '{@link #getResources() <em>Resources</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getResources()
+ * @generated
+ * @ordered
+ */
+ protected EList<ResourceRole> resources;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GlobalTaskImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getGlobalTask();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpaqueBehavior getBase_OpaqueBehavior() {
+ if (base_OpaqueBehavior != null && base_OpaqueBehavior.eIsProxy()) {
+ InternalEObject oldBase_OpaqueBehavior = (InternalEObject)base_OpaqueBehavior;
+ base_OpaqueBehavior = (OpaqueBehavior)eResolveProxy(oldBase_OpaqueBehavior);
+ if (base_OpaqueBehavior != oldBase_OpaqueBehavior) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.GLOBAL_TASK__BASE_OPAQUE_BEHAVIOR, oldBase_OpaqueBehavior, base_OpaqueBehavior));
+ }
+ }
+ return base_OpaqueBehavior;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpaqueBehavior basicGetBase_OpaqueBehavior() {
+ return base_OpaqueBehavior;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_OpaqueBehavior(OpaqueBehavior newBase_OpaqueBehavior) {
+ OpaqueBehavior oldBase_OpaqueBehavior = base_OpaqueBehavior;
+ base_OpaqueBehavior = newBase_OpaqueBehavior;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.GLOBAL_TASK__BASE_OPAQUE_BEHAVIOR, oldBase_OpaqueBehavior, base_OpaqueBehavior));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ResourceRole> getResources() {
+ if (resources == null) {
+ resources = new EObjectResolvingEList<ResourceRole>(ResourceRole.class, this, BPMNProfilePackage.GLOBAL_TASK__RESOURCES);
+ }
+ return resources;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean GlobalTasksupportedInterfaceRefs(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.GLOBAL_TASK__GLOBAL_TASKSUPPORTED_INTERFACE_REFS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "GlobalTasksupportedInterfaceRefs", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.GLOBAL_TASK__BASE_OPAQUE_BEHAVIOR:
+ if (resolve) return getBase_OpaqueBehavior();
+ return basicGetBase_OpaqueBehavior();
+ case BPMNProfilePackage.GLOBAL_TASK__RESOURCES:
+ return getResources();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.GLOBAL_TASK__BASE_OPAQUE_BEHAVIOR:
+ setBase_OpaqueBehavior((OpaqueBehavior)newValue);
+ return;
+ case BPMNProfilePackage.GLOBAL_TASK__RESOURCES:
+ getResources().clear();
+ getResources().addAll((Collection<? extends ResourceRole>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.GLOBAL_TASK__BASE_OPAQUE_BEHAVIOR:
+ setBase_OpaqueBehavior((OpaqueBehavior)null);
+ return;
+ case BPMNProfilePackage.GLOBAL_TASK__RESOURCES:
+ getResources().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.GLOBAL_TASK__BASE_OPAQUE_BEHAVIOR:
+ return base_OpaqueBehavior != null;
+ case BPMNProfilePackage.GLOBAL_TASK__RESOURCES:
+ return resources != null && !resources.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.GLOBAL_TASK___GLOBAL_TASKSUPPORTED_INTERFACE_REFS__DIAGNOSTICCHAIN_MAP:
+ return GlobalTasksupportedInterfaceRefs((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //GlobalTaskImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GlobalUserTaskImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GlobalUserTaskImpl.java
new file mode 100644
index 00000000000..0fddd653f71
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GlobalUserTaskImpl.java
@@ -0,0 +1,260 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalUserTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Rendering;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Global User Task</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.GlobalUserTaskImpl#getImplementation <em>Implementation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.GlobalUserTaskImpl#getRenderings <em>Renderings</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class GlobalUserTaskImpl extends GlobalTaskImpl implements GlobalUserTask {
+ /**
+ * The cached value of the '{@link #getImplementation() <em>Implementation</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImplementation()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> implementation;
+ /**
+ * The cached value of the '{@link #getRenderings() <em>Renderings</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRenderings()
+ * @generated
+ * @ordered
+ */
+ protected EList<Rendering> renderings;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GlobalUserTaskImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getGlobalUserTask();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getImplementation() {
+ if (implementation == null) {
+ implementation = new EDataTypeEList<String>(String.class, this, BPMNProfilePackage.GLOBAL_USER_TASK__IMPLEMENTATION);
+ }
+ return implementation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Rendering> getRenderings() {
+ if (renderings == null) {
+ renderings = new EObjectResolvingEList<Rendering>(Rendering.class, this, BPMNProfilePackage.GLOBAL_USER_TASK__RENDERINGS);
+ }
+ return renderings;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean GlobalUserTaskrenderings(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.GLOBAL_USER_TASK__GLOBAL_USER_TASKRENDERINGS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "GlobalUserTaskrenderings", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean GlobalUserTaskimplementation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.GLOBAL_USER_TASK__GLOBAL_USER_TASKIMPLEMENTATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "GlobalUserTaskimplementation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.GLOBAL_USER_TASK__IMPLEMENTATION:
+ return getImplementation();
+ case BPMNProfilePackage.GLOBAL_USER_TASK__RENDERINGS:
+ return getRenderings();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.GLOBAL_USER_TASK__IMPLEMENTATION:
+ getImplementation().clear();
+ getImplementation().addAll((Collection<? extends String>)newValue);
+ return;
+ case BPMNProfilePackage.GLOBAL_USER_TASK__RENDERINGS:
+ getRenderings().clear();
+ getRenderings().addAll((Collection<? extends Rendering>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.GLOBAL_USER_TASK__IMPLEMENTATION:
+ getImplementation().clear();
+ return;
+ case BPMNProfilePackage.GLOBAL_USER_TASK__RENDERINGS:
+ getRenderings().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.GLOBAL_USER_TASK__IMPLEMENTATION:
+ return implementation != null && !implementation.isEmpty();
+ case BPMNProfilePackage.GLOBAL_USER_TASK__RENDERINGS:
+ return renderings != null && !renderings.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.GLOBAL_USER_TASK___GLOBAL_USER_TASKRENDERINGS__DIAGNOSTICCHAIN_MAP:
+ return GlobalUserTaskrenderings((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.GLOBAL_USER_TASK___GLOBAL_USER_TASKIMPLEMENTATION__DIAGNOSTICCHAIN_MAP:
+ return GlobalUserTaskimplementation((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (implementation: ");
+ result.append(implementation);
+ result.append(')');
+ return result.toString();
+ }
+
+} //GlobalUserTaskImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GroupImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GroupImpl.java
new file mode 100644
index 00000000000..b60458a7643
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/GroupImpl.java
@@ -0,0 +1,218 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CategoryValue;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Group;
+
+import org.eclipse.uml2.uml.ActivityPartition;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Group</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.GroupImpl#getBase_ActivityPartition <em>Base Activity Partition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.GroupImpl#get_categoryValueRef <em>category Value Ref</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class GroupImpl extends BPMNArtifactImpl implements Group {
+ /**
+ * The cached value of the '{@link #getBase_ActivityPartition() <em>Base Activity Partition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_ActivityPartition()
+ * @generated
+ * @ordered
+ */
+ protected ActivityPartition base_ActivityPartition;
+
+ /**
+ * The cached value of the '{@link #get_categoryValueRef() <em>category Value Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #get_categoryValueRef()
+ * @generated
+ * @ordered
+ */
+ protected CategoryValue _categoryValueRef;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GroupImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getGroup();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityPartition getBase_ActivityPartition() {
+ if (base_ActivityPartition != null && base_ActivityPartition.eIsProxy()) {
+ InternalEObject oldBase_ActivityPartition = (InternalEObject)base_ActivityPartition;
+ base_ActivityPartition = (ActivityPartition)eResolveProxy(oldBase_ActivityPartition);
+ if (base_ActivityPartition != oldBase_ActivityPartition) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.GROUP__BASE_ACTIVITY_PARTITION, oldBase_ActivityPartition, base_ActivityPartition));
+ }
+ }
+ return base_ActivityPartition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityPartition basicGetBase_ActivityPartition() {
+ return base_ActivityPartition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_ActivityPartition(ActivityPartition newBase_ActivityPartition) {
+ ActivityPartition oldBase_ActivityPartition = base_ActivityPartition;
+ base_ActivityPartition = newBase_ActivityPartition;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.GROUP__BASE_ACTIVITY_PARTITION, oldBase_ActivityPartition, base_ActivityPartition));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CategoryValue get_categoryValueRef() {
+ if (_categoryValueRef != null && _categoryValueRef.eIsProxy()) {
+ InternalEObject old_categoryValueRef = (InternalEObject)_categoryValueRef;
+ _categoryValueRef = (CategoryValue)eResolveProxy(old_categoryValueRef);
+ if (_categoryValueRef != old_categoryValueRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.GROUP__CATEGORY_VALUE_REF, old_categoryValueRef, _categoryValueRef));
+ }
+ }
+ return _categoryValueRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CategoryValue basicGet_categoryValueRef() {
+ return _categoryValueRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void set_categoryValueRef(CategoryValue new_categoryValueRef) {
+ CategoryValue old_categoryValueRef = _categoryValueRef;
+ _categoryValueRef = new_categoryValueRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.GROUP__CATEGORY_VALUE_REF, old_categoryValueRef, _categoryValueRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.GROUP__BASE_ACTIVITY_PARTITION:
+ if (resolve) return getBase_ActivityPartition();
+ return basicGetBase_ActivityPartition();
+ case BPMNProfilePackage.GROUP__CATEGORY_VALUE_REF:
+ if (resolve) return get_categoryValueRef();
+ return basicGet_categoryValueRef();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.GROUP__BASE_ACTIVITY_PARTITION:
+ setBase_ActivityPartition((ActivityPartition)newValue);
+ return;
+ case BPMNProfilePackage.GROUP__CATEGORY_VALUE_REF:
+ set_categoryValueRef((CategoryValue)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.GROUP__BASE_ACTIVITY_PARTITION:
+ setBase_ActivityPartition((ActivityPartition)null);
+ return;
+ case BPMNProfilePackage.GROUP__CATEGORY_VALUE_REF:
+ set_categoryValueRef((CategoryValue)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.GROUP__BASE_ACTIVITY_PARTITION:
+ return base_ActivityPartition != null;
+ case BPMNProfilePackage.GROUP__CATEGORY_VALUE_REF:
+ return _categoryValueRef != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //GroupImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/HumanPerformerImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/HumanPerformerImpl.java
new file mode 100644
index 00000000000..02fd3fd7d90
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/HumanPerformerImpl.java
@@ -0,0 +1,37 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.HumanPerformer;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Human Performer</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class HumanPerformerImpl extends PerformerImpl implements HumanPerformer {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HumanPerformerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getHumanPerformer();
+ }
+
+} //HumanPerformerImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ImplicitThrowEventImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ImplicitThrowEventImpl.java
new file mode 100644
index 00000000000..42dfae66a28
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ImplicitThrowEventImpl.java
@@ -0,0 +1,37 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ImplicitThrowEvent;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Implicit Throw Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ImplicitThrowEventImpl extends ThrowEventImpl implements ImplicitThrowEvent {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImplicitThrowEventImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getImplicitThrowEvent();
+ }
+
+} //ImplicitThrowEventImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ImportImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ImportImpl.java
new file mode 100644
index 00000000000..d42fa46f283
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ImportImpl.java
@@ -0,0 +1,395 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Definitions;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Import;
+
+import org.eclipse.uml2.uml.PackageImport;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Import</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ImportImpl#getBase_PackageImport <em>Base Package Import</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ImportImpl#getImportType <em>Import Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ImportImpl#getLocation <em>Location</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ImportImpl#getNamespace <em>Namespace</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ImportImpl#getDefinitions <em>Definitions</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ImportImpl extends MinimalEObjectImpl.Container implements Import {
+ /**
+ * The cached value of the '{@link #getBase_PackageImport() <em>Base Package Import</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_PackageImport()
+ * @generated
+ * @ordered
+ */
+ protected PackageImport base_PackageImport;
+
+ /**
+ * The default value of the '{@link #getImportType() <em>Import Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImportType()
+ * @generated
+ * @ordered
+ */
+ protected static final String IMPORT_TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getImportType() <em>Import Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImportType()
+ * @generated
+ * @ordered
+ */
+ protected String importType = IMPORT_TYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getLocation() <em>Location</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLocation()
+ * @generated
+ * @ordered
+ */
+ protected static final String LOCATION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLocation() <em>Location</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLocation()
+ * @generated
+ * @ordered
+ */
+ protected String location = LOCATION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getNamespace() <em>Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNamespace()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAMESPACE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getNamespace() <em>Namespace</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNamespace()
+ * @generated
+ * @ordered
+ */
+ protected String namespace = NAMESPACE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getDefinitions() <em>Definitions</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefinitions()
+ * @generated
+ * @ordered
+ */
+ protected Definitions definitions;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImportImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getImport();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageImport getBase_PackageImport() {
+ if (base_PackageImport != null && base_PackageImport.eIsProxy()) {
+ InternalEObject oldBase_PackageImport = (InternalEObject)base_PackageImport;
+ base_PackageImport = (PackageImport)eResolveProxy(oldBase_PackageImport);
+ if (base_PackageImport != oldBase_PackageImport) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.IMPORT__BASE_PACKAGE_IMPORT, oldBase_PackageImport, base_PackageImport));
+ }
+ }
+ return base_PackageImport;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageImport basicGetBase_PackageImport() {
+ return base_PackageImport;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_PackageImport(PackageImport newBase_PackageImport) {
+ PackageImport oldBase_PackageImport = base_PackageImport;
+ base_PackageImport = newBase_PackageImport;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.IMPORT__BASE_PACKAGE_IMPORT, oldBase_PackageImport, base_PackageImport));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getImportType() {
+ return importType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setImportType(String newImportType) {
+ String oldImportType = importType;
+ importType = newImportType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.IMPORT__IMPORT_TYPE, oldImportType, importType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLocation() {
+ return location;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLocation(String newLocation) {
+ String oldLocation = location;
+ location = newLocation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.IMPORT__LOCATION, oldLocation, location));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getNamespace() {
+ return namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNamespace(String newNamespace) {
+ String oldNamespace = namespace;
+ namespace = newNamespace;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.IMPORT__NAMESPACE, oldNamespace, namespace));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Definitions getDefinitions() {
+ if (definitions != null && definitions.eIsProxy()) {
+ InternalEObject oldDefinitions = (InternalEObject)definitions;
+ definitions = (Definitions)eResolveProxy(oldDefinitions);
+ if (definitions != oldDefinitions) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.IMPORT__DEFINITIONS, oldDefinitions, definitions));
+ }
+ }
+ return definitions;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Definitions basicGetDefinitions() {
+ return definitions;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDefinitions(Definitions newDefinitions) {
+ Definitions oldDefinitions = definitions;
+ definitions = newDefinitions;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.IMPORT__DEFINITIONS, oldDefinitions, definitions));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.IMPORT__BASE_PACKAGE_IMPORT:
+ if (resolve) return getBase_PackageImport();
+ return basicGetBase_PackageImport();
+ case BPMNProfilePackage.IMPORT__IMPORT_TYPE:
+ return getImportType();
+ case BPMNProfilePackage.IMPORT__LOCATION:
+ return getLocation();
+ case BPMNProfilePackage.IMPORT__NAMESPACE:
+ return getNamespace();
+ case BPMNProfilePackage.IMPORT__DEFINITIONS:
+ if (resolve) return getDefinitions();
+ return basicGetDefinitions();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.IMPORT__BASE_PACKAGE_IMPORT:
+ setBase_PackageImport((PackageImport)newValue);
+ return;
+ case BPMNProfilePackage.IMPORT__IMPORT_TYPE:
+ setImportType((String)newValue);
+ return;
+ case BPMNProfilePackage.IMPORT__LOCATION:
+ setLocation((String)newValue);
+ return;
+ case BPMNProfilePackage.IMPORT__NAMESPACE:
+ setNamespace((String)newValue);
+ return;
+ case BPMNProfilePackage.IMPORT__DEFINITIONS:
+ setDefinitions((Definitions)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.IMPORT__BASE_PACKAGE_IMPORT:
+ setBase_PackageImport((PackageImport)null);
+ return;
+ case BPMNProfilePackage.IMPORT__IMPORT_TYPE:
+ setImportType(IMPORT_TYPE_EDEFAULT);
+ return;
+ case BPMNProfilePackage.IMPORT__LOCATION:
+ setLocation(LOCATION_EDEFAULT);
+ return;
+ case BPMNProfilePackage.IMPORT__NAMESPACE:
+ setNamespace(NAMESPACE_EDEFAULT);
+ return;
+ case BPMNProfilePackage.IMPORT__DEFINITIONS:
+ setDefinitions((Definitions)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.IMPORT__BASE_PACKAGE_IMPORT:
+ return base_PackageImport != null;
+ case BPMNProfilePackage.IMPORT__IMPORT_TYPE:
+ return IMPORT_TYPE_EDEFAULT == null ? importType != null : !IMPORT_TYPE_EDEFAULT.equals(importType);
+ case BPMNProfilePackage.IMPORT__LOCATION:
+ return LOCATION_EDEFAULT == null ? location != null : !LOCATION_EDEFAULT.equals(location);
+ case BPMNProfilePackage.IMPORT__NAMESPACE:
+ return NAMESPACE_EDEFAULT == null ? namespace != null : !NAMESPACE_EDEFAULT.equals(namespace);
+ case BPMNProfilePackage.IMPORT__DEFINITIONS:
+ return definitions != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (importType: ");
+ result.append(importType);
+ result.append(", location: ");
+ result.append(location);
+ result.append(", namespace: ");
+ result.append(namespace);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ImportImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/InclusiveGatewayImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/InclusiveGatewayImpl.java
new file mode 100644
index 00000000000..f2d8cd0ec92
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/InclusiveGatewayImpl.java
@@ -0,0 +1,209 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InclusiveGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Inclusive Gateway</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.InclusiveGatewayImpl#getDefault <em>Default</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class InclusiveGatewayImpl extends NonExclusiveGatewayImpl implements InclusiveGateway {
+ /**
+ * The cached value of the '{@link #getDefault() <em>Default</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefault()
+ * @generated
+ * @ordered
+ */
+ protected SequenceFlow default_;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InclusiveGatewayImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getInclusiveGateway();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SequenceFlow getDefault() {
+ if (default_ != null && default_.eIsProxy()) {
+ InternalEObject oldDefault = (InternalEObject)default_;
+ default_ = (SequenceFlow)eResolveProxy(oldDefault);
+ if (default_ != oldDefault) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.INCLUSIVE_GATEWAY__DEFAULT, oldDefault, default_));
+ }
+ }
+ return default_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SequenceFlow basicGetDefault() {
+ return default_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDefault(SequenceFlow newDefault) {
+ SequenceFlow oldDefault = default_;
+ default_ = newDefault;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.INCLUSIVE_GATEWAY__DEFAULT, oldDefault, default_));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean inclusiveGatewaydefault(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.INCLUSIVE_GATEWAY__INCLUSIVE_GATEWAYDEFAULT,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "inclusiveGatewaydefault", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.INCLUSIVE_GATEWAY__DEFAULT:
+ if (resolve) return getDefault();
+ return basicGetDefault();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.INCLUSIVE_GATEWAY__DEFAULT:
+ setDefault((SequenceFlow)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.INCLUSIVE_GATEWAY__DEFAULT:
+ setDefault((SequenceFlow)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.INCLUSIVE_GATEWAY__DEFAULT:
+ return default_ != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.INCLUSIVE_GATEWAY___INCLUSIVE_GATEWAYDEFAULT__DIAGNOSTICCHAIN_MAP:
+ return inclusiveGatewaydefault((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //InclusiveGatewayImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/InputOutputBindingImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/InputOutputBindingImpl.java
new file mode 100644
index 00000000000..a8ebf48f40f
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/InputOutputBindingImpl.java
@@ -0,0 +1,337 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputBinding;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InputSet;
+import org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet;
+
+import org.eclipse.uml2.uml.Dependency;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Input Output Binding</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.InputOutputBindingImpl#getInputDataRef <em>Input Data Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.InputOutputBindingImpl#getOutputDataRef <em>Output Data Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.InputOutputBindingImpl#getOperationRef <em>Operation Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.InputOutputBindingImpl#getBase_Dependency <em>Base Dependency</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class InputOutputBindingImpl extends BaseElementImpl implements InputOutputBinding {
+ /**
+ * The cached value of the '{@link #getInputDataRef() <em>Input Data Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputDataRef()
+ * @generated
+ * @ordered
+ */
+ protected InputSet inputDataRef;
+ /**
+ * The cached value of the '{@link #getOutputDataRef() <em>Output Data Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutputDataRef()
+ * @generated
+ * @ordered
+ */
+ protected OutputSet outputDataRef;
+ /**
+ * The cached value of the '{@link #getOperationRef() <em>Operation Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOperationRef()
+ * @generated
+ * @ordered
+ */
+ protected BPMNOperation operationRef;
+ /**
+ * The cached value of the '{@link #getBase_Dependency() <em>Base Dependency</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Dependency()
+ * @generated
+ * @ordered
+ */
+ protected Dependency base_Dependency;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InputOutputBindingImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getInputOutputBinding();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputSet getInputDataRef() {
+ if (inputDataRef != null && inputDataRef.eIsProxy()) {
+ InternalEObject oldInputDataRef = (InternalEObject)inputDataRef;
+ inputDataRef = (InputSet)eResolveProxy(oldInputDataRef);
+ if (inputDataRef != oldInputDataRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.INPUT_OUTPUT_BINDING__INPUT_DATA_REF, oldInputDataRef, inputDataRef));
+ }
+ }
+ return inputDataRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputSet basicGetInputDataRef() {
+ return inputDataRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInputDataRef(InputSet newInputDataRef) {
+ InputSet oldInputDataRef = inputDataRef;
+ inputDataRef = newInputDataRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.INPUT_OUTPUT_BINDING__INPUT_DATA_REF, oldInputDataRef, inputDataRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputSet getOutputDataRef() {
+ if (outputDataRef != null && outputDataRef.eIsProxy()) {
+ InternalEObject oldOutputDataRef = (InternalEObject)outputDataRef;
+ outputDataRef = (OutputSet)eResolveProxy(oldOutputDataRef);
+ if (outputDataRef != oldOutputDataRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.INPUT_OUTPUT_BINDING__OUTPUT_DATA_REF, oldOutputDataRef, outputDataRef));
+ }
+ }
+ return outputDataRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OutputSet basicGetOutputDataRef() {
+ return outputDataRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOutputDataRef(OutputSet newOutputDataRef) {
+ OutputSet oldOutputDataRef = outputDataRef;
+ outputDataRef = newOutputDataRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.INPUT_OUTPUT_BINDING__OUTPUT_DATA_REF, oldOutputDataRef, outputDataRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNOperation getOperationRef() {
+ if (operationRef != null && operationRef.eIsProxy()) {
+ InternalEObject oldOperationRef = (InternalEObject)operationRef;
+ operationRef = (BPMNOperation)eResolveProxy(oldOperationRef);
+ if (operationRef != oldOperationRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.INPUT_OUTPUT_BINDING__OPERATION_REF, oldOperationRef, operationRef));
+ }
+ }
+ return operationRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNOperation basicGetOperationRef() {
+ return operationRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOperationRef(BPMNOperation newOperationRef) {
+ BPMNOperation oldOperationRef = operationRef;
+ operationRef = newOperationRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.INPUT_OUTPUT_BINDING__OPERATION_REF, oldOperationRef, operationRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency getBase_Dependency() {
+ if (base_Dependency != null && base_Dependency.eIsProxy()) {
+ InternalEObject oldBase_Dependency = (InternalEObject)base_Dependency;
+ base_Dependency = (Dependency)eResolveProxy(oldBase_Dependency);
+ if (base_Dependency != oldBase_Dependency) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.INPUT_OUTPUT_BINDING__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+ }
+ }
+ return base_Dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency basicGetBase_Dependency() {
+ return base_Dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Dependency(Dependency newBase_Dependency) {
+ Dependency oldBase_Dependency = base_Dependency;
+ base_Dependency = newBase_Dependency;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.INPUT_OUTPUT_BINDING__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.INPUT_OUTPUT_BINDING__INPUT_DATA_REF:
+ if (resolve) return getInputDataRef();
+ return basicGetInputDataRef();
+ case BPMNProfilePackage.INPUT_OUTPUT_BINDING__OUTPUT_DATA_REF:
+ if (resolve) return getOutputDataRef();
+ return basicGetOutputDataRef();
+ case BPMNProfilePackage.INPUT_OUTPUT_BINDING__OPERATION_REF:
+ if (resolve) return getOperationRef();
+ return basicGetOperationRef();
+ case BPMNProfilePackage.INPUT_OUTPUT_BINDING__BASE_DEPENDENCY:
+ if (resolve) return getBase_Dependency();
+ return basicGetBase_Dependency();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.INPUT_OUTPUT_BINDING__INPUT_DATA_REF:
+ setInputDataRef((InputSet)newValue);
+ return;
+ case BPMNProfilePackage.INPUT_OUTPUT_BINDING__OUTPUT_DATA_REF:
+ setOutputDataRef((OutputSet)newValue);
+ return;
+ case BPMNProfilePackage.INPUT_OUTPUT_BINDING__OPERATION_REF:
+ setOperationRef((BPMNOperation)newValue);
+ return;
+ case BPMNProfilePackage.INPUT_OUTPUT_BINDING__BASE_DEPENDENCY:
+ setBase_Dependency((Dependency)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.INPUT_OUTPUT_BINDING__INPUT_DATA_REF:
+ setInputDataRef((InputSet)null);
+ return;
+ case BPMNProfilePackage.INPUT_OUTPUT_BINDING__OUTPUT_DATA_REF:
+ setOutputDataRef((OutputSet)null);
+ return;
+ case BPMNProfilePackage.INPUT_OUTPUT_BINDING__OPERATION_REF:
+ setOperationRef((BPMNOperation)null);
+ return;
+ case BPMNProfilePackage.INPUT_OUTPUT_BINDING__BASE_DEPENDENCY:
+ setBase_Dependency((Dependency)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.INPUT_OUTPUT_BINDING__INPUT_DATA_REF:
+ return inputDataRef != null;
+ case BPMNProfilePackage.INPUT_OUTPUT_BINDING__OUTPUT_DATA_REF:
+ return outputDataRef != null;
+ case BPMNProfilePackage.INPUT_OUTPUT_BINDING__OPERATION_REF:
+ return operationRef != null;
+ case BPMNProfilePackage.INPUT_OUTPUT_BINDING__BASE_DEPENDENCY:
+ return base_Dependency != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //InputOutputBindingImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/InputOutputSpecificationImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/InputOutputSpecificationImpl.java
new file mode 100644
index 00000000000..fe160e7a6ba
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/InputOutputSpecificationImpl.java
@@ -0,0 +1,364 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataInput;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InputSet;
+import org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet;
+
+import org.eclipse.uml2.uml.Action;
+import org.eclipse.uml2.uml.Behavior;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Input Output Specification</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.InputOutputSpecificationImpl#getBase_Behavior <em>Base Behavior</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.InputOutputSpecificationImpl#getBase_Action <em>Base Action</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.InputOutputSpecificationImpl#getDataInputs <em>Data Inputs</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.InputOutputSpecificationImpl#getDataOutputs <em>Data Outputs</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.InputOutputSpecificationImpl#getInputSets <em>Input Sets</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.InputOutputSpecificationImpl#getOutputSets <em>Output Sets</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class InputOutputSpecificationImpl extends BaseElementImpl implements InputOutputSpecification {
+ /**
+ * The cached value of the '{@link #getBase_Behavior() <em>Base Behavior</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Behavior()
+ * @generated
+ * @ordered
+ */
+ protected Behavior base_Behavior;
+
+ /**
+ * The cached value of the '{@link #getBase_Action() <em>Base Action</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Action()
+ * @generated
+ * @ordered
+ */
+ protected Action base_Action;
+
+ /**
+ * The cached value of the '{@link #getDataInputs() <em>Data Inputs</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDataInputs()
+ * @generated
+ * @ordered
+ */
+ protected EList<DataInput> dataInputs;
+
+ /**
+ * The cached value of the '{@link #getDataOutputs() <em>Data Outputs</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDataOutputs()
+ * @generated
+ * @ordered
+ */
+ protected EList<DataOutput> dataOutputs;
+
+ /**
+ * The cached value of the '{@link #getInputSets() <em>Input Sets</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputSets()
+ * @generated
+ * @ordered
+ */
+ protected EList<InputSet> inputSets;
+
+ /**
+ * The cached value of the '{@link #getOutputSets() <em>Output Sets</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutputSets()
+ * @generated
+ * @ordered
+ */
+ protected EList<OutputSet> outputSets;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InputOutputSpecificationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getInputOutputSpecification();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getBase_Behavior() {
+ if (base_Behavior != null && base_Behavior.eIsProxy()) {
+ InternalEObject oldBase_Behavior = (InternalEObject)base_Behavior;
+ base_Behavior = (Behavior)eResolveProxy(oldBase_Behavior);
+ if (base_Behavior != oldBase_Behavior) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__BASE_BEHAVIOR, oldBase_Behavior, base_Behavior));
+ }
+ }
+ return base_Behavior;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior basicGetBase_Behavior() {
+ return base_Behavior;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Behavior(Behavior newBase_Behavior) {
+ Behavior oldBase_Behavior = base_Behavior;
+ base_Behavior = newBase_Behavior;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__BASE_BEHAVIOR, oldBase_Behavior, base_Behavior));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Action getBase_Action() {
+ if (base_Action != null && base_Action.eIsProxy()) {
+ InternalEObject oldBase_Action = (InternalEObject)base_Action;
+ base_Action = (Action)eResolveProxy(oldBase_Action);
+ if (base_Action != oldBase_Action) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__BASE_ACTION, oldBase_Action, base_Action));
+ }
+ }
+ return base_Action;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Action basicGetBase_Action() {
+ return base_Action;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Action(Action newBase_Action) {
+ Action oldBase_Action = base_Action;
+ base_Action = newBase_Action;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__BASE_ACTION, oldBase_Action, base_Action));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DataInput> getDataInputs() {
+ if (dataInputs == null) {
+ dataInputs = new EObjectResolvingEList<DataInput>(DataInput.class, this, BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__DATA_INPUTS);
+ }
+ return dataInputs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DataOutput> getDataOutputs() {
+ if (dataOutputs == null) {
+ dataOutputs = new EObjectResolvingEList<DataOutput>(DataOutput.class, this, BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__DATA_OUTPUTS);
+ }
+ return dataOutputs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<InputSet> getInputSets() {
+ if (inputSets == null) {
+ inputSets = new EObjectResolvingEList<InputSet>(InputSet.class, this, BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__INPUT_SETS);
+ }
+ return inputSets;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<OutputSet> getOutputSets() {
+ if (outputSets == null) {
+ outputSets = new EObjectResolvingEList<OutputSet>(OutputSet.class, this, BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__OUTPUT_SETS);
+ }
+ return outputSets;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__BASE_BEHAVIOR:
+ if (resolve) return getBase_Behavior();
+ return basicGetBase_Behavior();
+ case BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__BASE_ACTION:
+ if (resolve) return getBase_Action();
+ return basicGetBase_Action();
+ case BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__DATA_INPUTS:
+ return getDataInputs();
+ case BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__DATA_OUTPUTS:
+ return getDataOutputs();
+ case BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__INPUT_SETS:
+ return getInputSets();
+ case BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__OUTPUT_SETS:
+ return getOutputSets();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__BASE_BEHAVIOR:
+ setBase_Behavior((Behavior)newValue);
+ return;
+ case BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__BASE_ACTION:
+ setBase_Action((Action)newValue);
+ return;
+ case BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__DATA_INPUTS:
+ getDataInputs().clear();
+ getDataInputs().addAll((Collection<? extends DataInput>)newValue);
+ return;
+ case BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__DATA_OUTPUTS:
+ getDataOutputs().clear();
+ getDataOutputs().addAll((Collection<? extends DataOutput>)newValue);
+ return;
+ case BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__INPUT_SETS:
+ getInputSets().clear();
+ getInputSets().addAll((Collection<? extends InputSet>)newValue);
+ return;
+ case BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__OUTPUT_SETS:
+ getOutputSets().clear();
+ getOutputSets().addAll((Collection<? extends OutputSet>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__BASE_BEHAVIOR:
+ setBase_Behavior((Behavior)null);
+ return;
+ case BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__BASE_ACTION:
+ setBase_Action((Action)null);
+ return;
+ case BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__DATA_INPUTS:
+ getDataInputs().clear();
+ return;
+ case BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__DATA_OUTPUTS:
+ getDataOutputs().clear();
+ return;
+ case BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__INPUT_SETS:
+ getInputSets().clear();
+ return;
+ case BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__OUTPUT_SETS:
+ getOutputSets().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__BASE_BEHAVIOR:
+ return base_Behavior != null;
+ case BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__BASE_ACTION:
+ return base_Action != null;
+ case BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__DATA_INPUTS:
+ return dataInputs != null && !dataInputs.isEmpty();
+ case BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__DATA_OUTPUTS:
+ return dataOutputs != null && !dataOutputs.isEmpty();
+ case BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__INPUT_SETS:
+ return inputSets != null && !inputSets.isEmpty();
+ case BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION__OUTPUT_SETS:
+ return outputSets != null && !outputSets.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //InputOutputSpecificationImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/InputSetImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/InputSetImpl.java
new file mode 100644
index 00000000000..0c35162ebb5
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/InputSetImpl.java
@@ -0,0 +1,409 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataInput;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InputSet;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.ParameterSet;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Input Set</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.InputSetImpl#getBase_ParameterSet <em>Base Parameter Set</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.InputSetImpl#getOptionalInputRefs <em>Optional Input Refs</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.InputSetImpl#getWhileExecutingInputRefs <em>While Executing Input Refs</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.InputSetImpl#getDataInputRefs <em>Data Input Refs</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class InputSetImpl extends BaseElementImpl implements InputSet {
+ /**
+ * The cached value of the '{@link #getBase_ParameterSet() <em>Base Parameter Set</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_ParameterSet()
+ * @generated
+ * @ordered
+ */
+ protected ParameterSet base_ParameterSet;
+
+ /**
+ * The cached value of the '{@link #getOptionalInputRefs() <em>Optional Input Refs</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOptionalInputRefs()
+ * @generated
+ * @ordered
+ */
+ protected EList<DataInput> optionalInputRefs;
+ /**
+ * The cached value of the '{@link #getWhileExecutingInputRefs() <em>While Executing Input Refs</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWhileExecutingInputRefs()
+ * @generated
+ * @ordered
+ */
+ protected EList<DataInput> whileExecutingInputRefs;
+ /**
+ * The cached value of the '{@link #getDataInputRefs() <em>Data Input Refs</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDataInputRefs()
+ * @generated
+ * @ordered
+ */
+ protected EList<DataInput> dataInputRefs;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InputSetImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getInputSet();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterSet getBase_ParameterSet() {
+ if (base_ParameterSet != null && base_ParameterSet.eIsProxy()) {
+ InternalEObject oldBase_ParameterSet = (InternalEObject)base_ParameterSet;
+ base_ParameterSet = (ParameterSet)eResolveProxy(oldBase_ParameterSet);
+ if (base_ParameterSet != oldBase_ParameterSet) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.INPUT_SET__BASE_PARAMETER_SET, oldBase_ParameterSet, base_ParameterSet));
+ }
+ }
+ return base_ParameterSet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterSet basicGetBase_ParameterSet() {
+ return base_ParameterSet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_ParameterSet(ParameterSet newBase_ParameterSet) {
+ ParameterSet oldBase_ParameterSet = base_ParameterSet;
+ base_ParameterSet = newBase_ParameterSet;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.INPUT_SET__BASE_PARAMETER_SET, oldBase_ParameterSet, base_ParameterSet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DataInput> getOptionalInputRefs() {
+ if (optionalInputRefs == null) {
+ optionalInputRefs = new EObjectWithInverseResolvingEList.ManyInverse<DataInput>(DataInput.class, this, BPMNProfilePackage.INPUT_SET__OPTIONAL_INPUT_REFS, BPMNProfilePackage.DATA_INPUT__INPUT_SET_WITH_OPTIONAL);
+ }
+ return optionalInputRefs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DataInput> getWhileExecutingInputRefs() {
+ if (whileExecutingInputRefs == null) {
+ whileExecutingInputRefs = new EObjectWithInverseResolvingEList.ManyInverse<DataInput>(DataInput.class, this, BPMNProfilePackage.INPUT_SET__WHILE_EXECUTING_INPUT_REFS, BPMNProfilePackage.DATA_INPUT__INPUT_SET_WITH_WHILE_EXECUTING);
+ }
+ return whileExecutingInputRefs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DataInput> getDataInputRefs() {
+ if (dataInputRefs == null) {
+ dataInputRefs = new EObjectWithInverseResolvingEList.ManyInverse<DataInput>(DataInput.class, this, BPMNProfilePackage.INPUT_SET__DATA_INPUT_REFS, BPMNProfilePackage.DATA_INPUT__INPUT_SET_REFS);
+ }
+ return dataInputRefs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean InputSetdataInputRefs(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.INPUT_SET__INPUT_SETDATA_INPUT_REFS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "InputSetdataInputRefs", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean InputSetoptionalInputRefs(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.INPUT_SET__INPUT_SETOPTIONAL_INPUT_REFS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "InputSetoptionalInputRefs", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean InputSetwhileExecutingInputRefs(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.INPUT_SET__INPUT_SETWHILE_EXECUTING_INPUT_REFS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "InputSetwhileExecutingInputRefs", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.INPUT_SET__OPTIONAL_INPUT_REFS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getOptionalInputRefs()).basicAdd(otherEnd, msgs);
+ case BPMNProfilePackage.INPUT_SET__WHILE_EXECUTING_INPUT_REFS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getWhileExecutingInputRefs()).basicAdd(otherEnd, msgs);
+ case BPMNProfilePackage.INPUT_SET__DATA_INPUT_REFS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getDataInputRefs()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.INPUT_SET__OPTIONAL_INPUT_REFS:
+ return ((InternalEList<?>)getOptionalInputRefs()).basicRemove(otherEnd, msgs);
+ case BPMNProfilePackage.INPUT_SET__WHILE_EXECUTING_INPUT_REFS:
+ return ((InternalEList<?>)getWhileExecutingInputRefs()).basicRemove(otherEnd, msgs);
+ case BPMNProfilePackage.INPUT_SET__DATA_INPUT_REFS:
+ return ((InternalEList<?>)getDataInputRefs()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.INPUT_SET__BASE_PARAMETER_SET:
+ if (resolve) return getBase_ParameterSet();
+ return basicGetBase_ParameterSet();
+ case BPMNProfilePackage.INPUT_SET__OPTIONAL_INPUT_REFS:
+ return getOptionalInputRefs();
+ case BPMNProfilePackage.INPUT_SET__WHILE_EXECUTING_INPUT_REFS:
+ return getWhileExecutingInputRefs();
+ case BPMNProfilePackage.INPUT_SET__DATA_INPUT_REFS:
+ return getDataInputRefs();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.INPUT_SET__BASE_PARAMETER_SET:
+ setBase_ParameterSet((ParameterSet)newValue);
+ return;
+ case BPMNProfilePackage.INPUT_SET__OPTIONAL_INPUT_REFS:
+ getOptionalInputRefs().clear();
+ getOptionalInputRefs().addAll((Collection<? extends DataInput>)newValue);
+ return;
+ case BPMNProfilePackage.INPUT_SET__WHILE_EXECUTING_INPUT_REFS:
+ getWhileExecutingInputRefs().clear();
+ getWhileExecutingInputRefs().addAll((Collection<? extends DataInput>)newValue);
+ return;
+ case BPMNProfilePackage.INPUT_SET__DATA_INPUT_REFS:
+ getDataInputRefs().clear();
+ getDataInputRefs().addAll((Collection<? extends DataInput>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.INPUT_SET__BASE_PARAMETER_SET:
+ setBase_ParameterSet((ParameterSet)null);
+ return;
+ case BPMNProfilePackage.INPUT_SET__OPTIONAL_INPUT_REFS:
+ getOptionalInputRefs().clear();
+ return;
+ case BPMNProfilePackage.INPUT_SET__WHILE_EXECUTING_INPUT_REFS:
+ getWhileExecutingInputRefs().clear();
+ return;
+ case BPMNProfilePackage.INPUT_SET__DATA_INPUT_REFS:
+ getDataInputRefs().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.INPUT_SET__BASE_PARAMETER_SET:
+ return base_ParameterSet != null;
+ case BPMNProfilePackage.INPUT_SET__OPTIONAL_INPUT_REFS:
+ return optionalInputRefs != null && !optionalInputRefs.isEmpty();
+ case BPMNProfilePackage.INPUT_SET__WHILE_EXECUTING_INPUT_REFS:
+ return whileExecutingInputRefs != null && !whileExecutingInputRefs.isEmpty();
+ case BPMNProfilePackage.INPUT_SET__DATA_INPUT_REFS:
+ return dataInputRefs != null && !dataInputRefs.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.INPUT_SET___INPUT_SETDATA_INPUT_REFS__DIAGNOSTICCHAIN_MAP:
+ return InputSetdataInputRefs((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.INPUT_SET___INPUT_SETOPTIONAL_INPUT_REFS__DIAGNOSTICCHAIN_MAP:
+ return InputSetoptionalInputRefs((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.INPUT_SET___INPUT_SETWHILE_EXECUTING_INPUT_REFS__DIAGNOSTICCHAIN_MAP:
+ return InputSetwhileExecutingInputRefs((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //InputSetImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/InteractionNodeImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/InteractionNodeImpl.java
new file mode 100644
index 00000000000..7e6f0c8fdf4
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/InteractionNodeImpl.java
@@ -0,0 +1,317 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode;
+
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Interaction Node</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.InteractionNodeImpl#getBase_Element <em>Base Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.InteractionNodeImpl#getOutgoingConversationLinks <em>Outgoing Conversation Links</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.InteractionNodeImpl#getIncomingConversationLinks <em>Incoming Conversation Links</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class InteractionNodeImpl extends MinimalEObjectImpl.Container implements InteractionNode {
+ /**
+ * The cached value of the '{@link #getBase_Element() <em>Base Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Element()
+ * @generated
+ * @ordered
+ */
+ protected Element base_Element;
+
+ /**
+ * The cached value of the '{@link #getOutgoingConversationLinks() <em>Outgoing Conversation Links</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutgoingConversationLinks()
+ * @generated
+ * @ordered
+ */
+ protected EList<ConversationLink> outgoingConversationLinks;
+ /**
+ * The cached value of the '{@link #getIncomingConversationLinks() <em>Incoming Conversation Links</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIncomingConversationLinks()
+ * @generated
+ * @ordered
+ */
+ protected ConversationLink incomingConversationLinks;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InteractionNodeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getInteractionNode();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element getBase_Element() {
+ if (base_Element != null && base_Element.eIsProxy()) {
+ InternalEObject oldBase_Element = (InternalEObject)base_Element;
+ base_Element = (Element)eResolveProxy(oldBase_Element);
+ if (base_Element != oldBase_Element) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.INTERACTION_NODE__BASE_ELEMENT, oldBase_Element, base_Element));
+ }
+ }
+ return base_Element;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element basicGetBase_Element() {
+ return base_Element;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Element(Element newBase_Element) {
+ Element oldBase_Element = base_Element;
+ base_Element = newBase_Element;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.INTERACTION_NODE__BASE_ELEMENT, oldBase_Element, base_Element));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ConversationLink> getOutgoingConversationLinks() {
+ if (outgoingConversationLinks == null) {
+ outgoingConversationLinks = new EObjectWithInverseResolvingEList<ConversationLink>(ConversationLink.class, this, BPMNProfilePackage.INTERACTION_NODE__OUTGOING_CONVERSATION_LINKS, BPMNProfilePackage.CONVERSATION_LINK__SOURCE_REF);
+ }
+ return outgoingConversationLinks;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConversationLink getIncomingConversationLinks() {
+ if (incomingConversationLinks != null && incomingConversationLinks.eIsProxy()) {
+ InternalEObject oldIncomingConversationLinks = (InternalEObject)incomingConversationLinks;
+ incomingConversationLinks = (ConversationLink)eResolveProxy(oldIncomingConversationLinks);
+ if (incomingConversationLinks != oldIncomingConversationLinks) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.INTERACTION_NODE__INCOMING_CONVERSATION_LINKS, oldIncomingConversationLinks, incomingConversationLinks));
+ }
+ }
+ return incomingConversationLinks;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConversationLink basicGetIncomingConversationLinks() {
+ return incomingConversationLinks;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetIncomingConversationLinks(ConversationLink newIncomingConversationLinks, NotificationChain msgs) {
+ ConversationLink oldIncomingConversationLinks = incomingConversationLinks;
+ incomingConversationLinks = newIncomingConversationLinks;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.INTERACTION_NODE__INCOMING_CONVERSATION_LINKS, oldIncomingConversationLinks, newIncomingConversationLinks);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIncomingConversationLinks(ConversationLink newIncomingConversationLinks) {
+ if (newIncomingConversationLinks != incomingConversationLinks) {
+ NotificationChain msgs = null;
+ if (incomingConversationLinks != null)
+ msgs = ((InternalEObject)incomingConversationLinks).eInverseRemove(this, BPMNProfilePackage.CONVERSATION_LINK__TARGET_REF, ConversationLink.class, msgs);
+ if (newIncomingConversationLinks != null)
+ msgs = ((InternalEObject)newIncomingConversationLinks).eInverseAdd(this, BPMNProfilePackage.CONVERSATION_LINK__TARGET_REF, ConversationLink.class, msgs);
+ msgs = basicSetIncomingConversationLinks(newIncomingConversationLinks, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.INTERACTION_NODE__INCOMING_CONVERSATION_LINKS, newIncomingConversationLinks, newIncomingConversationLinks));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.INTERACTION_NODE__OUTGOING_CONVERSATION_LINKS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getOutgoingConversationLinks()).basicAdd(otherEnd, msgs);
+ case BPMNProfilePackage.INTERACTION_NODE__INCOMING_CONVERSATION_LINKS:
+ if (incomingConversationLinks != null)
+ msgs = ((InternalEObject)incomingConversationLinks).eInverseRemove(this, BPMNProfilePackage.CONVERSATION_LINK__TARGET_REF, ConversationLink.class, msgs);
+ return basicSetIncomingConversationLinks((ConversationLink)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.INTERACTION_NODE__OUTGOING_CONVERSATION_LINKS:
+ return ((InternalEList<?>)getOutgoingConversationLinks()).basicRemove(otherEnd, msgs);
+ case BPMNProfilePackage.INTERACTION_NODE__INCOMING_CONVERSATION_LINKS:
+ return basicSetIncomingConversationLinks(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.INTERACTION_NODE__BASE_ELEMENT:
+ if (resolve) return getBase_Element();
+ return basicGetBase_Element();
+ case BPMNProfilePackage.INTERACTION_NODE__OUTGOING_CONVERSATION_LINKS:
+ return getOutgoingConversationLinks();
+ case BPMNProfilePackage.INTERACTION_NODE__INCOMING_CONVERSATION_LINKS:
+ if (resolve) return getIncomingConversationLinks();
+ return basicGetIncomingConversationLinks();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.INTERACTION_NODE__BASE_ELEMENT:
+ setBase_Element((Element)newValue);
+ return;
+ case BPMNProfilePackage.INTERACTION_NODE__OUTGOING_CONVERSATION_LINKS:
+ getOutgoingConversationLinks().clear();
+ getOutgoingConversationLinks().addAll((Collection<? extends ConversationLink>)newValue);
+ return;
+ case BPMNProfilePackage.INTERACTION_NODE__INCOMING_CONVERSATION_LINKS:
+ setIncomingConversationLinks((ConversationLink)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.INTERACTION_NODE__BASE_ELEMENT:
+ setBase_Element((Element)null);
+ return;
+ case BPMNProfilePackage.INTERACTION_NODE__OUTGOING_CONVERSATION_LINKS:
+ getOutgoingConversationLinks().clear();
+ return;
+ case BPMNProfilePackage.INTERACTION_NODE__INCOMING_CONVERSATION_LINKS:
+ setIncomingConversationLinks((ConversationLink)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.INTERACTION_NODE__BASE_ELEMENT:
+ return base_Element != null;
+ case BPMNProfilePackage.INTERACTION_NODE__OUTGOING_CONVERSATION_LINKS:
+ return outgoingConversationLinks != null && !outgoingConversationLinks.isEmpty();
+ case BPMNProfilePackage.INTERACTION_NODE__INCOMING_CONVERSATION_LINKS:
+ return incomingConversationLinks != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //InteractionNodeImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/IntermediateCatchEventImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/IntermediateCatchEventImpl.java
new file mode 100644
index 00000000000..262e2c6be2c
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/IntermediateCatchEventImpl.java
@@ -0,0 +1,37 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.IntermediateCatchEvent;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Intermediate Catch Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class IntermediateCatchEventImpl extends CatchEventImpl implements IntermediateCatchEvent {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IntermediateCatchEventImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getIntermediateCatchEvent();
+ }
+
+} //IntermediateCatchEventImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/IntermediateThrowEventImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/IntermediateThrowEventImpl.java
new file mode 100644
index 00000000000..514b6443d26
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/IntermediateThrowEventImpl.java
@@ -0,0 +1,157 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.IntermediateThrowEvent;
+
+import org.eclipse.uml2.uml.SendObjectAction;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Intermediate Throw Event</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.IntermediateThrowEventImpl#getBase_SendObjectAction <em>Base Send Object Action</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class IntermediateThrowEventImpl extends ThrowEventImpl implements IntermediateThrowEvent {
+ /**
+ * The cached value of the '{@link #getBase_SendObjectAction() <em>Base Send Object Action</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_SendObjectAction()
+ * @generated
+ * @ordered
+ */
+ protected SendObjectAction base_SendObjectAction;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IntermediateThrowEventImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getIntermediateThrowEvent();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SendObjectAction getBase_SendObjectAction() {
+ if (base_SendObjectAction != null && base_SendObjectAction.eIsProxy()) {
+ InternalEObject oldBase_SendObjectAction = (InternalEObject)base_SendObjectAction;
+ base_SendObjectAction = (SendObjectAction)eResolveProxy(oldBase_SendObjectAction);
+ if (base_SendObjectAction != oldBase_SendObjectAction) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.INTERMEDIATE_THROW_EVENT__BASE_SEND_OBJECT_ACTION, oldBase_SendObjectAction, base_SendObjectAction));
+ }
+ }
+ return base_SendObjectAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SendObjectAction basicGetBase_SendObjectAction() {
+ return base_SendObjectAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_SendObjectAction(SendObjectAction newBase_SendObjectAction) {
+ SendObjectAction oldBase_SendObjectAction = base_SendObjectAction;
+ base_SendObjectAction = newBase_SendObjectAction;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.INTERMEDIATE_THROW_EVENT__BASE_SEND_OBJECT_ACTION, oldBase_SendObjectAction, base_SendObjectAction));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.INTERMEDIATE_THROW_EVENT__BASE_SEND_OBJECT_ACTION:
+ if (resolve) return getBase_SendObjectAction();
+ return basicGetBase_SendObjectAction();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.INTERMEDIATE_THROW_EVENT__BASE_SEND_OBJECT_ACTION:
+ setBase_SendObjectAction((SendObjectAction)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.INTERMEDIATE_THROW_EVENT__BASE_SEND_OBJECT_ACTION:
+ setBase_SendObjectAction((SendObjectAction)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.INTERMEDIATE_THROW_EVENT__BASE_SEND_OBJECT_ACTION:
+ return base_SendObjectAction != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //IntermediateThrowEventImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ItemAwareElementImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ItemAwareElementImpl.java
new file mode 100644
index 00000000000..1952bddd123
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ItemAwareElementImpl.java
@@ -0,0 +1,311 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataState;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ItemAwareElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Item Aware Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ItemAwareElementImpl#getDataState <em>Data State</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ItemAwareElementImpl#getBase_TypedElement <em>Base Typed Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ItemAwareElementImpl#getItemSubjectRef <em>Item Subject Ref</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ItemAwareElementImpl extends BaseElementImpl implements ItemAwareElement {
+ /**
+ * The cached value of the '{@link #getDataState() <em>Data State</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDataState()
+ * @generated
+ * @ordered
+ */
+ protected EList<DataState> dataState;
+
+ /**
+ * The cached value of the '{@link #getBase_TypedElement() <em>Base Typed Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_TypedElement()
+ * @generated
+ * @ordered
+ */
+ protected TypedElement base_TypedElement;
+
+ /**
+ * The cached value of the '{@link #getItemSubjectRef() <em>Item Subject Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getItemSubjectRef()
+ * @generated
+ * @ordered
+ */
+ protected ItemDefinition itemSubjectRef;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ItemAwareElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getItemAwareElement();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DataState> getDataState() {
+ if (dataState == null) {
+ dataState = new EObjectResolvingEList<DataState>(DataState.class, this, BPMNProfilePackage.ITEM_AWARE_ELEMENT__DATA_STATE);
+ }
+ return dataState;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypedElement getBase_TypedElement() {
+ if (base_TypedElement != null && base_TypedElement.eIsProxy()) {
+ InternalEObject oldBase_TypedElement = (InternalEObject)base_TypedElement;
+ base_TypedElement = (TypedElement)eResolveProxy(oldBase_TypedElement);
+ if (base_TypedElement != oldBase_TypedElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.ITEM_AWARE_ELEMENT__BASE_TYPED_ELEMENT, oldBase_TypedElement, base_TypedElement));
+ }
+ }
+ return base_TypedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypedElement basicGetBase_TypedElement() {
+ return base_TypedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_TypedElement(TypedElement newBase_TypedElement) {
+ TypedElement oldBase_TypedElement = base_TypedElement;
+ base_TypedElement = newBase_TypedElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.ITEM_AWARE_ELEMENT__BASE_TYPED_ELEMENT, oldBase_TypedElement, base_TypedElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemDefinition getItemSubjectRef() {
+ if (itemSubjectRef != null && itemSubjectRef.eIsProxy()) {
+ InternalEObject oldItemSubjectRef = (InternalEObject)itemSubjectRef;
+ itemSubjectRef = (ItemDefinition)eResolveProxy(oldItemSubjectRef);
+ if (itemSubjectRef != oldItemSubjectRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.ITEM_AWARE_ELEMENT__ITEM_SUBJECT_REF, oldItemSubjectRef, itemSubjectRef));
+ }
+ }
+ return itemSubjectRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemDefinition basicGetItemSubjectRef() {
+ return itemSubjectRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setItemSubjectRef(ItemDefinition newItemSubjectRef) {
+ ItemDefinition oldItemSubjectRef = itemSubjectRef;
+ itemSubjectRef = newItemSubjectRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.ITEM_AWARE_ELEMENT__ITEM_SUBJECT_REF, oldItemSubjectRef, itemSubjectRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ItemAwareElementdataState(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.ITEM_AWARE_ELEMENT__ITEM_AWARE_ELEMENTDATA_STATE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ItemAwareElementdataState", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.ITEM_AWARE_ELEMENT__DATA_STATE:
+ return getDataState();
+ case BPMNProfilePackage.ITEM_AWARE_ELEMENT__BASE_TYPED_ELEMENT:
+ if (resolve) return getBase_TypedElement();
+ return basicGetBase_TypedElement();
+ case BPMNProfilePackage.ITEM_AWARE_ELEMENT__ITEM_SUBJECT_REF:
+ if (resolve) return getItemSubjectRef();
+ return basicGetItemSubjectRef();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.ITEM_AWARE_ELEMENT__DATA_STATE:
+ getDataState().clear();
+ getDataState().addAll((Collection<? extends DataState>)newValue);
+ return;
+ case BPMNProfilePackage.ITEM_AWARE_ELEMENT__BASE_TYPED_ELEMENT:
+ setBase_TypedElement((TypedElement)newValue);
+ return;
+ case BPMNProfilePackage.ITEM_AWARE_ELEMENT__ITEM_SUBJECT_REF:
+ setItemSubjectRef((ItemDefinition)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.ITEM_AWARE_ELEMENT__DATA_STATE:
+ getDataState().clear();
+ return;
+ case BPMNProfilePackage.ITEM_AWARE_ELEMENT__BASE_TYPED_ELEMENT:
+ setBase_TypedElement((TypedElement)null);
+ return;
+ case BPMNProfilePackage.ITEM_AWARE_ELEMENT__ITEM_SUBJECT_REF:
+ setItemSubjectRef((ItemDefinition)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.ITEM_AWARE_ELEMENT__DATA_STATE:
+ return dataState != null && !dataState.isEmpty();
+ case BPMNProfilePackage.ITEM_AWARE_ELEMENT__BASE_TYPED_ELEMENT:
+ return base_TypedElement != null;
+ case BPMNProfilePackage.ITEM_AWARE_ELEMENT__ITEM_SUBJECT_REF:
+ return itemSubjectRef != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.ITEM_AWARE_ELEMENT___ITEM_AWARE_ELEMENTDATA_STATE__DIAGNOSTICCHAIN_MAP:
+ return ItemAwareElementdataState((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //ItemAwareElementImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ItemDefinitionImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ItemDefinitionImpl.java
new file mode 100644
index 00000000000..eae1bef435d
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ItemDefinitionImpl.java
@@ -0,0 +1,456 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Import;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ItemKind;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Item Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ItemDefinitionImpl#getItemKind <em>Item Kind</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ItemDefinitionImpl#isCollection <em>Is Collection</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ItemDefinitionImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ItemDefinitionImpl#getStructureRef <em>Structure Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ItemDefinitionImpl#getImport <em>Import</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ItemDefinitionImpl extends RootElementImpl implements ItemDefinition {
+ /**
+ * The default value of the '{@link #getItemKind() <em>Item Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getItemKind()
+ * @generated
+ * @ordered
+ */
+ protected static final ItemKind ITEM_KIND_EDEFAULT = ItemKind.INFORMATION;
+
+ /**
+ * The cached value of the '{@link #getItemKind() <em>Item Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getItemKind()
+ * @generated
+ * @ordered
+ */
+ protected ItemKind itemKind = ITEM_KIND_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isCollection() <em>Is Collection</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCollection()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_COLLECTION_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isCollection() <em>Is Collection</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isCollection()
+ * @generated
+ * @ordered
+ */
+ protected boolean isCollection = IS_COLLECTION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBase_Class() <em>Base Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Class()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.uml2.uml.Class base_Class;
+
+ /**
+ * The cached value of the '{@link #getStructureRef() <em>Structure Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStructureRef()
+ * @generated
+ * @ordered
+ */
+ protected Element structureRef;
+
+ /**
+ * The cached value of the '{@link #getImport() <em>Import</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImport()
+ * @generated
+ * @ordered
+ */
+ protected Import import_;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ItemDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getItemDefinition();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemKind getItemKind() {
+ return itemKind;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setItemKind(ItemKind newItemKind) {
+ ItemKind oldItemKind = itemKind;
+ itemKind = newItemKind == null ? ITEM_KIND_EDEFAULT : newItemKind;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.ITEM_DEFINITION__ITEM_KIND, oldItemKind, itemKind));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isCollection() {
+ return isCollection;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsCollection(boolean newIsCollection) {
+ boolean oldIsCollection = isCollection;
+ isCollection = newIsCollection;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.ITEM_DEFINITION__IS_COLLECTION, oldIsCollection, isCollection));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class getBase_Class() {
+ if (base_Class != null && base_Class.eIsProxy()) {
+ InternalEObject oldBase_Class = (InternalEObject)base_Class;
+ base_Class = (org.eclipse.uml2.uml.Class)eResolveProxy(oldBase_Class);
+ if (base_Class != oldBase_Class) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.ITEM_DEFINITION__BASE_CLASS, oldBase_Class, base_Class));
+ }
+ }
+ return base_Class;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+ return base_Class;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+ org.eclipse.uml2.uml.Class oldBase_Class = base_Class;
+ base_Class = newBase_Class;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.ITEM_DEFINITION__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element getStructureRef() {
+ if (structureRef != null && structureRef.eIsProxy()) {
+ InternalEObject oldStructureRef = (InternalEObject)structureRef;
+ structureRef = (Element)eResolveProxy(oldStructureRef);
+ if (structureRef != oldStructureRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.ITEM_DEFINITION__STRUCTURE_REF, oldStructureRef, structureRef));
+ }
+ }
+ return structureRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element basicGetStructureRef() {
+ return structureRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStructureRef(Element newStructureRef) {
+ Element oldStructureRef = structureRef;
+ structureRef = newStructureRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.ITEM_DEFINITION__STRUCTURE_REF, oldStructureRef, structureRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Import getImport() {
+ if (import_ != null && import_.eIsProxy()) {
+ InternalEObject oldImport = (InternalEObject)import_;
+ import_ = (Import)eResolveProxy(oldImport);
+ if (import_ != oldImport) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.ITEM_DEFINITION__IMPORT, oldImport, import_));
+ }
+ }
+ return import_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Import basicGetImport() {
+ return import_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setImport(Import newImport) {
+ Import oldImport = import_;
+ import_ = newImport;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.ITEM_DEFINITION__IMPORT, oldImport, import_));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ItemDefinitionstructureRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.ITEM_DEFINITION__ITEM_DEFINITIONSTRUCTURE_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ItemDefinitionstructureRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.ITEM_DEFINITION__ITEM_KIND:
+ return getItemKind();
+ case BPMNProfilePackage.ITEM_DEFINITION__IS_COLLECTION:
+ return isCollection();
+ case BPMNProfilePackage.ITEM_DEFINITION__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case BPMNProfilePackage.ITEM_DEFINITION__STRUCTURE_REF:
+ if (resolve) return getStructureRef();
+ return basicGetStructureRef();
+ case BPMNProfilePackage.ITEM_DEFINITION__IMPORT:
+ if (resolve) return getImport();
+ return basicGetImport();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.ITEM_DEFINITION__ITEM_KIND:
+ setItemKind((ItemKind)newValue);
+ return;
+ case BPMNProfilePackage.ITEM_DEFINITION__IS_COLLECTION:
+ setIsCollection((Boolean)newValue);
+ return;
+ case BPMNProfilePackage.ITEM_DEFINITION__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case BPMNProfilePackage.ITEM_DEFINITION__STRUCTURE_REF:
+ setStructureRef((Element)newValue);
+ return;
+ case BPMNProfilePackage.ITEM_DEFINITION__IMPORT:
+ setImport((Import)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.ITEM_DEFINITION__ITEM_KIND:
+ setItemKind(ITEM_KIND_EDEFAULT);
+ return;
+ case BPMNProfilePackage.ITEM_DEFINITION__IS_COLLECTION:
+ setIsCollection(IS_COLLECTION_EDEFAULT);
+ return;
+ case BPMNProfilePackage.ITEM_DEFINITION__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case BPMNProfilePackage.ITEM_DEFINITION__STRUCTURE_REF:
+ setStructureRef((Element)null);
+ return;
+ case BPMNProfilePackage.ITEM_DEFINITION__IMPORT:
+ setImport((Import)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.ITEM_DEFINITION__ITEM_KIND:
+ return itemKind != ITEM_KIND_EDEFAULT;
+ case BPMNProfilePackage.ITEM_DEFINITION__IS_COLLECTION:
+ return isCollection != IS_COLLECTION_EDEFAULT;
+ case BPMNProfilePackage.ITEM_DEFINITION__BASE_CLASS:
+ return base_Class != null;
+ case BPMNProfilePackage.ITEM_DEFINITION__STRUCTURE_REF:
+ return structureRef != null;
+ case BPMNProfilePackage.ITEM_DEFINITION__IMPORT:
+ return import_ != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.ITEM_DEFINITION___ITEM_DEFINITIONSTRUCTURE_REF__DIAGNOSTICCHAIN_MAP:
+ return ItemDefinitionstructureRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (itemKind: ");
+ result.append(itemKind);
+ result.append(", isCollection: ");
+ result.append(isCollection);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ItemDefinitionImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/LaneImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/LaneImpl.java
new file mode 100644
index 00000000000..ea7ec3af87b
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/LaneImpl.java
@@ -0,0 +1,627 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FlowNode;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Lane;
+import org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Lane</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.LaneImpl#getBase_ActivityPartition <em>Base Activity Partition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.LaneImpl#get_partitionElement <em>partition Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.LaneImpl#getFlowNodeRefs <em>Flow Node Refs</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.LaneImpl#getPartitionElementRef <em>Partition Element Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.LaneImpl#getChildLaneSet <em>Child Lane Set</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.LaneImpl#getLaneSet <em>Lane Set</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LaneImpl extends BaseElementImpl implements Lane {
+ /**
+ * The cached value of the '{@link #getBase_ActivityPartition() <em>Base Activity Partition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_ActivityPartition()
+ * @generated
+ * @ordered
+ */
+ protected ActivityPartition base_ActivityPartition;
+
+ /**
+ * The cached value of the '{@link #get_partitionElement() <em>partition Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #get_partitionElement()
+ * @generated
+ * @ordered
+ */
+ protected Element _partitionElement;
+
+ /**
+ * The cached value of the '{@link #getFlowNodeRefs() <em>Flow Node Refs</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFlowNodeRefs()
+ * @generated
+ * @ordered
+ */
+ protected EList<FlowNode> flowNodeRefs;
+
+ /**
+ * The cached value of the '{@link #getPartitionElementRef() <em>Partition Element Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPartitionElementRef()
+ * @generated
+ * @ordered
+ */
+ protected BaseElement partitionElementRef;
+
+ /**
+ * The cached value of the '{@link #getChildLaneSet() <em>Child Lane Set</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getChildLaneSet()
+ * @generated
+ * @ordered
+ */
+ protected LaneSet childLaneSet;
+
+ /**
+ * The cached value of the '{@link #getLaneSet() <em>Lane Set</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLaneSet()
+ * @generated
+ * @ordered
+ */
+ protected LaneSet laneSet;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LaneImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getLane();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityPartition getBase_ActivityPartition() {
+ if (base_ActivityPartition != null && base_ActivityPartition.eIsProxy()) {
+ InternalEObject oldBase_ActivityPartition = (InternalEObject)base_ActivityPartition;
+ base_ActivityPartition = (ActivityPartition)eResolveProxy(oldBase_ActivityPartition);
+ if (base_ActivityPartition != oldBase_ActivityPartition) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.LANE__BASE_ACTIVITY_PARTITION, oldBase_ActivityPartition, base_ActivityPartition));
+ }
+ }
+ return base_ActivityPartition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityPartition basicGetBase_ActivityPartition() {
+ return base_ActivityPartition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_ActivityPartition(ActivityPartition newBase_ActivityPartition) {
+ ActivityPartition oldBase_ActivityPartition = base_ActivityPartition;
+ base_ActivityPartition = newBase_ActivityPartition;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.LANE__BASE_ACTIVITY_PARTITION, oldBase_ActivityPartition, base_ActivityPartition));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element get_partitionElement() {
+ if (_partitionElement != null && _partitionElement.eIsProxy()) {
+ InternalEObject old_partitionElement = (InternalEObject)_partitionElement;
+ _partitionElement = (Element)eResolveProxy(old_partitionElement);
+ if (_partitionElement != old_partitionElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.LANE__PARTITION_ELEMENT, old_partitionElement, _partitionElement));
+ }
+ }
+ return _partitionElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Element basicGet_partitionElement() {
+ return _partitionElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void set_partitionElement(Element new_partitionElement) {
+ Element old_partitionElement = _partitionElement;
+ _partitionElement = new_partitionElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.LANE__PARTITION_ELEMENT, old_partitionElement, _partitionElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FlowNode> getFlowNodeRefs() {
+ if (flowNodeRefs == null) {
+ flowNodeRefs = new EObjectResolvingEList<FlowNode>(FlowNode.class, this, BPMNProfilePackage.LANE__FLOW_NODE_REFS);
+ }
+ return flowNodeRefs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BaseElement getPartitionElementRef() {
+ if (partitionElementRef != null && partitionElementRef.eIsProxy()) {
+ InternalEObject oldPartitionElementRef = (InternalEObject)partitionElementRef;
+ partitionElementRef = (BaseElement)eResolveProxy(oldPartitionElementRef);
+ if (partitionElementRef != oldPartitionElementRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.LANE__PARTITION_ELEMENT_REF, oldPartitionElementRef, partitionElementRef));
+ }
+ }
+ return partitionElementRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BaseElement basicGetPartitionElementRef() {
+ return partitionElementRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPartitionElementRef(BaseElement newPartitionElementRef) {
+ BaseElement oldPartitionElementRef = partitionElementRef;
+ partitionElementRef = newPartitionElementRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.LANE__PARTITION_ELEMENT_REF, oldPartitionElementRef, partitionElementRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LaneSet getChildLaneSet() {
+ if (childLaneSet != null && childLaneSet.eIsProxy()) {
+ InternalEObject oldChildLaneSet = (InternalEObject)childLaneSet;
+ childLaneSet = (LaneSet)eResolveProxy(oldChildLaneSet);
+ if (childLaneSet != oldChildLaneSet) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.LANE__CHILD_LANE_SET, oldChildLaneSet, childLaneSet));
+ }
+ }
+ return childLaneSet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LaneSet basicGetChildLaneSet() {
+ return childLaneSet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setChildLaneSet(LaneSet newChildLaneSet) {
+ LaneSet oldChildLaneSet = childLaneSet;
+ childLaneSet = newChildLaneSet;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.LANE__CHILD_LANE_SET, oldChildLaneSet, childLaneSet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LaneSet getLaneSet() {
+ if (laneSet != null && laneSet.eIsProxy()) {
+ InternalEObject oldLaneSet = (InternalEObject)laneSet;
+ laneSet = (LaneSet)eResolveProxy(oldLaneSet);
+ if (laneSet != oldLaneSet) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.LANE__LANE_SET, oldLaneSet, laneSet));
+ }
+ }
+ return laneSet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LaneSet basicGetLaneSet() {
+ return laneSet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLaneSet(LaneSet newLaneSet, NotificationChain msgs) {
+ LaneSet oldLaneSet = laneSet;
+ laneSet = newLaneSet;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.LANE__LANE_SET, oldLaneSet, newLaneSet);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLaneSet(LaneSet newLaneSet) {
+ if (newLaneSet != laneSet) {
+ NotificationChain msgs = null;
+ if (laneSet != null)
+ msgs = ((InternalEObject)laneSet).eInverseRemove(this, BPMNProfilePackage.LANE_SET__LANES, LaneSet.class, msgs);
+ if (newLaneSet != null)
+ msgs = ((InternalEObject)newLaneSet).eInverseAdd(this, BPMNProfilePackage.LANE_SET__LANES, LaneSet.class, msgs);
+ msgs = basicSetLaneSet(newLaneSet, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.LANE__LANE_SET, newLaneSet, newLaneSet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean LanelaneSet(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.LANE__LANELANE_SET,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "LanelaneSet", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean LanechildLaneSet(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.LANE__LANECHILD_LANE_SET,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "LanechildLaneSet", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean LanepartitionElementRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.LANE__LANEPARTITION_ELEMENT_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "LanepartitionElementRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean LaneflowNodeRefs(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.LANE__LANEFLOW_NODE_REFS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "LaneflowNodeRefs", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.LANE__LANE_SET:
+ if (laneSet != null)
+ msgs = ((InternalEObject)laneSet).eInverseRemove(this, BPMNProfilePackage.LANE_SET__LANES, LaneSet.class, msgs);
+ return basicSetLaneSet((LaneSet)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.LANE__LANE_SET:
+ return basicSetLaneSet(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.LANE__BASE_ACTIVITY_PARTITION:
+ if (resolve) return getBase_ActivityPartition();
+ return basicGetBase_ActivityPartition();
+ case BPMNProfilePackage.LANE__PARTITION_ELEMENT:
+ if (resolve) return get_partitionElement();
+ return basicGet_partitionElement();
+ case BPMNProfilePackage.LANE__FLOW_NODE_REFS:
+ return getFlowNodeRefs();
+ case BPMNProfilePackage.LANE__PARTITION_ELEMENT_REF:
+ if (resolve) return getPartitionElementRef();
+ return basicGetPartitionElementRef();
+ case BPMNProfilePackage.LANE__CHILD_LANE_SET:
+ if (resolve) return getChildLaneSet();
+ return basicGetChildLaneSet();
+ case BPMNProfilePackage.LANE__LANE_SET:
+ if (resolve) return getLaneSet();
+ return basicGetLaneSet();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.LANE__BASE_ACTIVITY_PARTITION:
+ setBase_ActivityPartition((ActivityPartition)newValue);
+ return;
+ case BPMNProfilePackage.LANE__PARTITION_ELEMENT:
+ set_partitionElement((Element)newValue);
+ return;
+ case BPMNProfilePackage.LANE__FLOW_NODE_REFS:
+ getFlowNodeRefs().clear();
+ getFlowNodeRefs().addAll((Collection<? extends FlowNode>)newValue);
+ return;
+ case BPMNProfilePackage.LANE__PARTITION_ELEMENT_REF:
+ setPartitionElementRef((BaseElement)newValue);
+ return;
+ case BPMNProfilePackage.LANE__CHILD_LANE_SET:
+ setChildLaneSet((LaneSet)newValue);
+ return;
+ case BPMNProfilePackage.LANE__LANE_SET:
+ setLaneSet((LaneSet)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.LANE__BASE_ACTIVITY_PARTITION:
+ setBase_ActivityPartition((ActivityPartition)null);
+ return;
+ case BPMNProfilePackage.LANE__PARTITION_ELEMENT:
+ set_partitionElement((Element)null);
+ return;
+ case BPMNProfilePackage.LANE__FLOW_NODE_REFS:
+ getFlowNodeRefs().clear();
+ return;
+ case BPMNProfilePackage.LANE__PARTITION_ELEMENT_REF:
+ setPartitionElementRef((BaseElement)null);
+ return;
+ case BPMNProfilePackage.LANE__CHILD_LANE_SET:
+ setChildLaneSet((LaneSet)null);
+ return;
+ case BPMNProfilePackage.LANE__LANE_SET:
+ setLaneSet((LaneSet)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.LANE__BASE_ACTIVITY_PARTITION:
+ return base_ActivityPartition != null;
+ case BPMNProfilePackage.LANE__PARTITION_ELEMENT:
+ return _partitionElement != null;
+ case BPMNProfilePackage.LANE__FLOW_NODE_REFS:
+ return flowNodeRefs != null && !flowNodeRefs.isEmpty();
+ case BPMNProfilePackage.LANE__PARTITION_ELEMENT_REF:
+ return partitionElementRef != null;
+ case BPMNProfilePackage.LANE__CHILD_LANE_SET:
+ return childLaneSet != null;
+ case BPMNProfilePackage.LANE__LANE_SET:
+ return laneSet != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.LANE___LANELANE_SET__DIAGNOSTICCHAIN_MAP:
+ return LanelaneSet((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.LANE___LANECHILD_LANE_SET__DIAGNOSTICCHAIN_MAP:
+ return LanechildLaneSet((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.LANE___LANEPARTITION_ELEMENT_REF__DIAGNOSTICCHAIN_MAP:
+ return LanepartitionElementRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.LANE___LANEFLOW_NODE_REFS__DIAGNOSTICCHAIN_MAP:
+ return LaneflowNodeRefs((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //LaneImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/LaneSetImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/LaneSetImpl.java
new file mode 100644
index 00000000000..f1aaba3f99c
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/LaneSetImpl.java
@@ -0,0 +1,484 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FlowElementsContainer;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Lane;
+import org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.ActivityPartition;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Lane Set</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.LaneSetImpl#getBase_ActivityPartition <em>Base Activity Partition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.LaneSetImpl#getLanes <em>Lanes</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.LaneSetImpl#getParentLane <em>Parent Lane</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.LaneSetImpl#getFlowElementsContainer <em>Flow Elements Container</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LaneSetImpl extends BaseElementImpl implements LaneSet {
+ /**
+ * The cached value of the '{@link #getBase_ActivityPartition() <em>Base Activity Partition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_ActivityPartition()
+ * @generated
+ * @ordered
+ */
+ protected ActivityPartition base_ActivityPartition;
+
+ /**
+ * The cached value of the '{@link #getLanes() <em>Lanes</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLanes()
+ * @generated
+ * @ordered
+ */
+ protected EList<Lane> lanes;
+ /**
+ * The cached value of the '{@link #getParentLane() <em>Parent Lane</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParentLane()
+ * @generated
+ * @ordered
+ */
+ protected EList<Lane> parentLane;
+ /**
+ * The cached value of the '{@link #getFlowElementsContainer() <em>Flow Elements Container</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFlowElementsContainer()
+ * @generated
+ * @ordered
+ */
+ protected FlowElementsContainer flowElementsContainer;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LaneSetImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getLaneSet();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityPartition getBase_ActivityPartition() {
+ if (base_ActivityPartition != null && base_ActivityPartition.eIsProxy()) {
+ InternalEObject oldBase_ActivityPartition = (InternalEObject)base_ActivityPartition;
+ base_ActivityPartition = (ActivityPartition)eResolveProxy(oldBase_ActivityPartition);
+ if (base_ActivityPartition != oldBase_ActivityPartition) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.LANE_SET__BASE_ACTIVITY_PARTITION, oldBase_ActivityPartition, base_ActivityPartition));
+ }
+ }
+ return base_ActivityPartition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityPartition basicGetBase_ActivityPartition() {
+ return base_ActivityPartition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_ActivityPartition(ActivityPartition newBase_ActivityPartition) {
+ ActivityPartition oldBase_ActivityPartition = base_ActivityPartition;
+ base_ActivityPartition = newBase_ActivityPartition;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.LANE_SET__BASE_ACTIVITY_PARTITION, oldBase_ActivityPartition, base_ActivityPartition));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Lane> getLanes() {
+ if (lanes == null) {
+ lanes = new EObjectWithInverseResolvingEList<Lane>(Lane.class, this, BPMNProfilePackage.LANE_SET__LANES, BPMNProfilePackage.LANE__LANE_SET);
+ }
+ return lanes;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Lane> getParentLane() {
+ if (parentLane == null) {
+ parentLane = new EObjectResolvingEList<Lane>(Lane.class, this, BPMNProfilePackage.LANE_SET__PARENT_LANE);
+ }
+ return parentLane;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FlowElementsContainer getFlowElementsContainer() {
+ if (flowElementsContainer != null && flowElementsContainer.eIsProxy()) {
+ InternalEObject oldFlowElementsContainer = (InternalEObject)flowElementsContainer;
+ flowElementsContainer = (FlowElementsContainer)eResolveProxy(oldFlowElementsContainer);
+ if (flowElementsContainer != oldFlowElementsContainer) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.LANE_SET__FLOW_ELEMENTS_CONTAINER, oldFlowElementsContainer, flowElementsContainer));
+ }
+ }
+ return flowElementsContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FlowElementsContainer basicGetFlowElementsContainer() {
+ return flowElementsContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetFlowElementsContainer(FlowElementsContainer newFlowElementsContainer, NotificationChain msgs) {
+ FlowElementsContainer oldFlowElementsContainer = flowElementsContainer;
+ flowElementsContainer = newFlowElementsContainer;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.LANE_SET__FLOW_ELEMENTS_CONTAINER, oldFlowElementsContainer, newFlowElementsContainer);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFlowElementsContainer(FlowElementsContainer newFlowElementsContainer) {
+ if (newFlowElementsContainer != flowElementsContainer) {
+ NotificationChain msgs = null;
+ if (flowElementsContainer != null)
+ msgs = ((InternalEObject)flowElementsContainer).eInverseRemove(this, BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER__LANE_SETS, FlowElementsContainer.class, msgs);
+ if (newFlowElementsContainer != null)
+ msgs = ((InternalEObject)newFlowElementsContainer).eInverseAdd(this, BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER__LANE_SETS, FlowElementsContainer.class, msgs);
+ msgs = basicSetFlowElementsContainer(newFlowElementsContainer, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.LANE_SET__FLOW_ELEMENTS_CONTAINER, newFlowElementsContainer, newFlowElementsContainer));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean LaneSetlanes(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.LANE_SET__LANE_SETLANES,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "LaneSetlanes", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean LaneSetparentLane(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.LANE_SET__LANE_SETPARENT_LANE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "LaneSetparentLane", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean LaneSetflowElementsContainer(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.LANE_SET__LANE_SETFLOW_ELEMENTS_CONTAINER,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "LaneSetflowElementsContainer", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean LaneSet(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.LANE_SET__LANE_SET,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "LaneSet", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.LANE_SET__LANES:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getLanes()).basicAdd(otherEnd, msgs);
+ case BPMNProfilePackage.LANE_SET__FLOW_ELEMENTS_CONTAINER:
+ if (flowElementsContainer != null)
+ msgs = ((InternalEObject)flowElementsContainer).eInverseRemove(this, BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER__LANE_SETS, FlowElementsContainer.class, msgs);
+ return basicSetFlowElementsContainer((FlowElementsContainer)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.LANE_SET__LANES:
+ return ((InternalEList<?>)getLanes()).basicRemove(otherEnd, msgs);
+ case BPMNProfilePackage.LANE_SET__FLOW_ELEMENTS_CONTAINER:
+ return basicSetFlowElementsContainer(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.LANE_SET__BASE_ACTIVITY_PARTITION:
+ if (resolve) return getBase_ActivityPartition();
+ return basicGetBase_ActivityPartition();
+ case BPMNProfilePackage.LANE_SET__LANES:
+ return getLanes();
+ case BPMNProfilePackage.LANE_SET__PARENT_LANE:
+ return getParentLane();
+ case BPMNProfilePackage.LANE_SET__FLOW_ELEMENTS_CONTAINER:
+ if (resolve) return getFlowElementsContainer();
+ return basicGetFlowElementsContainer();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.LANE_SET__BASE_ACTIVITY_PARTITION:
+ setBase_ActivityPartition((ActivityPartition)newValue);
+ return;
+ case BPMNProfilePackage.LANE_SET__LANES:
+ getLanes().clear();
+ getLanes().addAll((Collection<? extends Lane>)newValue);
+ return;
+ case BPMNProfilePackage.LANE_SET__PARENT_LANE:
+ getParentLane().clear();
+ getParentLane().addAll((Collection<? extends Lane>)newValue);
+ return;
+ case BPMNProfilePackage.LANE_SET__FLOW_ELEMENTS_CONTAINER:
+ setFlowElementsContainer((FlowElementsContainer)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.LANE_SET__BASE_ACTIVITY_PARTITION:
+ setBase_ActivityPartition((ActivityPartition)null);
+ return;
+ case BPMNProfilePackage.LANE_SET__LANES:
+ getLanes().clear();
+ return;
+ case BPMNProfilePackage.LANE_SET__PARENT_LANE:
+ getParentLane().clear();
+ return;
+ case BPMNProfilePackage.LANE_SET__FLOW_ELEMENTS_CONTAINER:
+ setFlowElementsContainer((FlowElementsContainer)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.LANE_SET__BASE_ACTIVITY_PARTITION:
+ return base_ActivityPartition != null;
+ case BPMNProfilePackage.LANE_SET__LANES:
+ return lanes != null && !lanes.isEmpty();
+ case BPMNProfilePackage.LANE_SET__PARENT_LANE:
+ return parentLane != null && !parentLane.isEmpty();
+ case BPMNProfilePackage.LANE_SET__FLOW_ELEMENTS_CONTAINER:
+ return flowElementsContainer != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.LANE_SET___LANE_SETLANES__DIAGNOSTICCHAIN_MAP:
+ return LaneSetlanes((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.LANE_SET___LANE_SETPARENT_LANE__DIAGNOSTICCHAIN_MAP:
+ return LaneSetparentLane((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.LANE_SET___LANE_SETFLOW_ELEMENTS_CONTAINER__DIAGNOSTICCHAIN_MAP:
+ return LaneSetflowElementsContainer((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.LANE_SET___LANE_SET__DIAGNOSTICCHAIN_MAP:
+ return LaneSet((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //LaneSetImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/LinkEventDefinitionImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/LinkEventDefinitionImpl.java
new file mode 100644
index 00000000000..4d693c310f0
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/LinkEventDefinitionImpl.java
@@ -0,0 +1,317 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.LinkEventDefinition;
+
+import org.eclipse.uml2.uml.CallEvent;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Link Event Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.LinkEventDefinitionImpl#get_target <em>target</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.LinkEventDefinitionImpl#getSource <em>Source</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.LinkEventDefinitionImpl#getBase_CallEvent <em>Base Call Event</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class LinkEventDefinitionImpl extends EventDefinitionImpl implements LinkEventDefinition {
+ /**
+ * The cached value of the '{@link #get_target() <em>target</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #get_target()
+ * @generated
+ * @ordered
+ */
+ protected LinkEventDefinition _target;
+
+ /**
+ * The cached value of the '{@link #getSource() <em>Source</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSource()
+ * @generated
+ * @ordered
+ */
+ protected EList<LinkEventDefinition> source;
+
+ /**
+ * The cached value of the '{@link #getBase_CallEvent() <em>Base Call Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_CallEvent()
+ * @generated
+ * @ordered
+ */
+ protected CallEvent base_CallEvent;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LinkEventDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getLinkEventDefinition();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LinkEventDefinition get_target() {
+ if (_target != null && _target.eIsProxy()) {
+ InternalEObject old_target = (InternalEObject)_target;
+ _target = (LinkEventDefinition)eResolveProxy(old_target);
+ if (_target != old_target) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.LINK_EVENT_DEFINITION__TARGET, old_target, _target));
+ }
+ }
+ return _target;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LinkEventDefinition basicGet_target() {
+ return _target;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSet_target(LinkEventDefinition new_target, NotificationChain msgs) {
+ LinkEventDefinition old_target = _target;
+ _target = new_target;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.LINK_EVENT_DEFINITION__TARGET, old_target, new_target);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void set_target(LinkEventDefinition new_target) {
+ if (new_target != _target) {
+ NotificationChain msgs = null;
+ if (_target != null)
+ msgs = ((InternalEObject)_target).eInverseRemove(this, BPMNProfilePackage.LINK_EVENT_DEFINITION__SOURCE, LinkEventDefinition.class, msgs);
+ if (new_target != null)
+ msgs = ((InternalEObject)new_target).eInverseAdd(this, BPMNProfilePackage.LINK_EVENT_DEFINITION__SOURCE, LinkEventDefinition.class, msgs);
+ msgs = basicSet_target(new_target, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.LINK_EVENT_DEFINITION__TARGET, new_target, new_target));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<LinkEventDefinition> getSource() {
+ if (source == null) {
+ source = new EObjectWithInverseResolvingEList<LinkEventDefinition>(LinkEventDefinition.class, this, BPMNProfilePackage.LINK_EVENT_DEFINITION__SOURCE, BPMNProfilePackage.LINK_EVENT_DEFINITION__TARGET);
+ }
+ return source;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallEvent getBase_CallEvent() {
+ if (base_CallEvent != null && base_CallEvent.eIsProxy()) {
+ InternalEObject oldBase_CallEvent = (InternalEObject)base_CallEvent;
+ base_CallEvent = (CallEvent)eResolveProxy(oldBase_CallEvent);
+ if (base_CallEvent != oldBase_CallEvent) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.LINK_EVENT_DEFINITION__BASE_CALL_EVENT, oldBase_CallEvent, base_CallEvent));
+ }
+ }
+ return base_CallEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallEvent basicGetBase_CallEvent() {
+ return base_CallEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_CallEvent(CallEvent newBase_CallEvent) {
+ CallEvent oldBase_CallEvent = base_CallEvent;
+ base_CallEvent = newBase_CallEvent;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.LINK_EVENT_DEFINITION__BASE_CALL_EVENT, oldBase_CallEvent, base_CallEvent));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.LINK_EVENT_DEFINITION__TARGET:
+ if (_target != null)
+ msgs = ((InternalEObject)_target).eInverseRemove(this, BPMNProfilePackage.LINK_EVENT_DEFINITION__SOURCE, LinkEventDefinition.class, msgs);
+ return basicSet_target((LinkEventDefinition)otherEnd, msgs);
+ case BPMNProfilePackage.LINK_EVENT_DEFINITION__SOURCE:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getSource()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.LINK_EVENT_DEFINITION__TARGET:
+ return basicSet_target(null, msgs);
+ case BPMNProfilePackage.LINK_EVENT_DEFINITION__SOURCE:
+ return ((InternalEList<?>)getSource()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.LINK_EVENT_DEFINITION__TARGET:
+ if (resolve) return get_target();
+ return basicGet_target();
+ case BPMNProfilePackage.LINK_EVENT_DEFINITION__SOURCE:
+ return getSource();
+ case BPMNProfilePackage.LINK_EVENT_DEFINITION__BASE_CALL_EVENT:
+ if (resolve) return getBase_CallEvent();
+ return basicGetBase_CallEvent();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.LINK_EVENT_DEFINITION__TARGET:
+ set_target((LinkEventDefinition)newValue);
+ return;
+ case BPMNProfilePackage.LINK_EVENT_DEFINITION__SOURCE:
+ getSource().clear();
+ getSource().addAll((Collection<? extends LinkEventDefinition>)newValue);
+ return;
+ case BPMNProfilePackage.LINK_EVENT_DEFINITION__BASE_CALL_EVENT:
+ setBase_CallEvent((CallEvent)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.LINK_EVENT_DEFINITION__TARGET:
+ set_target((LinkEventDefinition)null);
+ return;
+ case BPMNProfilePackage.LINK_EVENT_DEFINITION__SOURCE:
+ getSource().clear();
+ return;
+ case BPMNProfilePackage.LINK_EVENT_DEFINITION__BASE_CALL_EVENT:
+ setBase_CallEvent((CallEvent)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.LINK_EVENT_DEFINITION__TARGET:
+ return _target != null;
+ case BPMNProfilePackage.LINK_EVENT_DEFINITION__SOURCE:
+ return source != null && !source.isEmpty();
+ case BPMNProfilePackage.LINK_EVENT_DEFINITION__BASE_CALL_EVENT:
+ return base_CallEvent != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //LinkEventDefinitionImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/LoopCharacteristicsImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/LoopCharacteristicsImpl.java
new file mode 100644
index 00000000000..838fdefb2ec
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/LoopCharacteristicsImpl.java
@@ -0,0 +1,157 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.LoopCharacteristics;
+
+import org.eclipse.uml2.uml.StructuredActivityNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Loop Characteristics</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.LoopCharacteristicsImpl#getBase_StructuredActivityNode <em>Base Structured Activity Node</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class LoopCharacteristicsImpl extends BaseElementImpl implements LoopCharacteristics {
+ /**
+ * The cached value of the '{@link #getBase_StructuredActivityNode() <em>Base Structured Activity Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_StructuredActivityNode()
+ * @generated
+ * @ordered
+ */
+ protected StructuredActivityNode base_StructuredActivityNode;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LoopCharacteristicsImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getLoopCharacteristics();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StructuredActivityNode getBase_StructuredActivityNode() {
+ if (base_StructuredActivityNode != null && base_StructuredActivityNode.eIsProxy()) {
+ InternalEObject oldBase_StructuredActivityNode = (InternalEObject)base_StructuredActivityNode;
+ base_StructuredActivityNode = (StructuredActivityNode)eResolveProxy(oldBase_StructuredActivityNode);
+ if (base_StructuredActivityNode != oldBase_StructuredActivityNode) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.LOOP_CHARACTERISTICS__BASE_STRUCTURED_ACTIVITY_NODE, oldBase_StructuredActivityNode, base_StructuredActivityNode));
+ }
+ }
+ return base_StructuredActivityNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StructuredActivityNode basicGetBase_StructuredActivityNode() {
+ return base_StructuredActivityNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_StructuredActivityNode(StructuredActivityNode newBase_StructuredActivityNode) {
+ StructuredActivityNode oldBase_StructuredActivityNode = base_StructuredActivityNode;
+ base_StructuredActivityNode = newBase_StructuredActivityNode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.LOOP_CHARACTERISTICS__BASE_STRUCTURED_ACTIVITY_NODE, oldBase_StructuredActivityNode, base_StructuredActivityNode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.LOOP_CHARACTERISTICS__BASE_STRUCTURED_ACTIVITY_NODE:
+ if (resolve) return getBase_StructuredActivityNode();
+ return basicGetBase_StructuredActivityNode();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.LOOP_CHARACTERISTICS__BASE_STRUCTURED_ACTIVITY_NODE:
+ setBase_StructuredActivityNode((StructuredActivityNode)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.LOOP_CHARACTERISTICS__BASE_STRUCTURED_ACTIVITY_NODE:
+ setBase_StructuredActivityNode((StructuredActivityNode)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.LOOP_CHARACTERISTICS__BASE_STRUCTURED_ACTIVITY_NODE:
+ return base_StructuredActivityNode != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //LoopCharacteristicsImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ManualTaskImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ManualTaskImpl.java
new file mode 100644
index 00000000000..bc5b380a954
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ManualTaskImpl.java
@@ -0,0 +1,157 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ManualTask;
+
+import org.eclipse.uml2.uml.OpaqueAction;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Manual Task</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ManualTaskImpl#getBase_OpaqueAction <em>Base Opaque Action</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ManualTaskImpl extends TaskImpl implements ManualTask {
+ /**
+ * The cached value of the '{@link #getBase_OpaqueAction() <em>Base Opaque Action</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_OpaqueAction()
+ * @generated
+ * @ordered
+ */
+ protected OpaqueAction base_OpaqueAction;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ManualTaskImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getManualTask();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpaqueAction getBase_OpaqueAction() {
+ if (base_OpaqueAction != null && base_OpaqueAction.eIsProxy()) {
+ InternalEObject oldBase_OpaqueAction = (InternalEObject)base_OpaqueAction;
+ base_OpaqueAction = (OpaqueAction)eResolveProxy(oldBase_OpaqueAction);
+ if (base_OpaqueAction != oldBase_OpaqueAction) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.MANUAL_TASK__BASE_OPAQUE_ACTION, oldBase_OpaqueAction, base_OpaqueAction));
+ }
+ }
+ return base_OpaqueAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpaqueAction basicGetBase_OpaqueAction() {
+ return base_OpaqueAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_OpaqueAction(OpaqueAction newBase_OpaqueAction) {
+ OpaqueAction oldBase_OpaqueAction = base_OpaqueAction;
+ base_OpaqueAction = newBase_OpaqueAction;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.MANUAL_TASK__BASE_OPAQUE_ACTION, oldBase_OpaqueAction, base_OpaqueAction));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.MANUAL_TASK__BASE_OPAQUE_ACTION:
+ if (resolve) return getBase_OpaqueAction();
+ return basicGetBase_OpaqueAction();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.MANUAL_TASK__BASE_OPAQUE_ACTION:
+ setBase_OpaqueAction((OpaqueAction)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.MANUAL_TASK__BASE_OPAQUE_ACTION:
+ setBase_OpaqueAction((OpaqueAction)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.MANUAL_TASK__BASE_OPAQUE_ACTION:
+ return base_OpaqueAction != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ManualTaskImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/MessageEventDefinitionImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/MessageEventDefinitionImpl.java
new file mode 100644
index 00000000000..044837c3fa5
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/MessageEventDefinitionImpl.java
@@ -0,0 +1,279 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNMessage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MessageEventDefinition;
+
+import org.eclipse.uml2.uml.CallEvent;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Message Event Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.MessageEventDefinitionImpl#getMessageRef <em>Message Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.MessageEventDefinitionImpl#getOperationRef <em>Operation Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.MessageEventDefinitionImpl#getBase_CallEvent <em>Base Call Event</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class MessageEventDefinitionImpl extends EventDefinitionImpl implements MessageEventDefinition {
+ /**
+ * The cached value of the '{@link #getMessageRef() <em>Message Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMessageRef()
+ * @generated
+ * @ordered
+ */
+ protected BPMNMessage messageRef;
+
+ /**
+ * The cached value of the '{@link #getOperationRef() <em>Operation Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOperationRef()
+ * @generated
+ * @ordered
+ */
+ protected BPMNOperation operationRef;
+
+ /**
+ * The cached value of the '{@link #getBase_CallEvent() <em>Base Call Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_CallEvent()
+ * @generated
+ * @ordered
+ */
+ protected CallEvent base_CallEvent;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MessageEventDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getMessageEventDefinition();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNMessage getMessageRef() {
+ if (messageRef != null && messageRef.eIsProxy()) {
+ InternalEObject oldMessageRef = (InternalEObject)messageRef;
+ messageRef = (BPMNMessage)eResolveProxy(oldMessageRef);
+ if (messageRef != oldMessageRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.MESSAGE_EVENT_DEFINITION__MESSAGE_REF, oldMessageRef, messageRef));
+ }
+ }
+ return messageRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNMessage basicGetMessageRef() {
+ return messageRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMessageRef(BPMNMessage newMessageRef) {
+ BPMNMessage oldMessageRef = messageRef;
+ messageRef = newMessageRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.MESSAGE_EVENT_DEFINITION__MESSAGE_REF, oldMessageRef, messageRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNOperation getOperationRef() {
+ if (operationRef != null && operationRef.eIsProxy()) {
+ InternalEObject oldOperationRef = (InternalEObject)operationRef;
+ operationRef = (BPMNOperation)eResolveProxy(oldOperationRef);
+ if (operationRef != oldOperationRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.MESSAGE_EVENT_DEFINITION__OPERATION_REF, oldOperationRef, operationRef));
+ }
+ }
+ return operationRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNOperation basicGetOperationRef() {
+ return operationRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOperationRef(BPMNOperation newOperationRef) {
+ BPMNOperation oldOperationRef = operationRef;
+ operationRef = newOperationRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.MESSAGE_EVENT_DEFINITION__OPERATION_REF, oldOperationRef, operationRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallEvent getBase_CallEvent() {
+ if (base_CallEvent != null && base_CallEvent.eIsProxy()) {
+ InternalEObject oldBase_CallEvent = (InternalEObject)base_CallEvent;
+ base_CallEvent = (CallEvent)eResolveProxy(oldBase_CallEvent);
+ if (base_CallEvent != oldBase_CallEvent) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.MESSAGE_EVENT_DEFINITION__BASE_CALL_EVENT, oldBase_CallEvent, base_CallEvent));
+ }
+ }
+ return base_CallEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallEvent basicGetBase_CallEvent() {
+ return base_CallEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_CallEvent(CallEvent newBase_CallEvent) {
+ CallEvent oldBase_CallEvent = base_CallEvent;
+ base_CallEvent = newBase_CallEvent;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.MESSAGE_EVENT_DEFINITION__BASE_CALL_EVENT, oldBase_CallEvent, base_CallEvent));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.MESSAGE_EVENT_DEFINITION__MESSAGE_REF:
+ if (resolve) return getMessageRef();
+ return basicGetMessageRef();
+ case BPMNProfilePackage.MESSAGE_EVENT_DEFINITION__OPERATION_REF:
+ if (resolve) return getOperationRef();
+ return basicGetOperationRef();
+ case BPMNProfilePackage.MESSAGE_EVENT_DEFINITION__BASE_CALL_EVENT:
+ if (resolve) return getBase_CallEvent();
+ return basicGetBase_CallEvent();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.MESSAGE_EVENT_DEFINITION__MESSAGE_REF:
+ setMessageRef((BPMNMessage)newValue);
+ return;
+ case BPMNProfilePackage.MESSAGE_EVENT_DEFINITION__OPERATION_REF:
+ setOperationRef((BPMNOperation)newValue);
+ return;
+ case BPMNProfilePackage.MESSAGE_EVENT_DEFINITION__BASE_CALL_EVENT:
+ setBase_CallEvent((CallEvent)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.MESSAGE_EVENT_DEFINITION__MESSAGE_REF:
+ setMessageRef((BPMNMessage)null);
+ return;
+ case BPMNProfilePackage.MESSAGE_EVENT_DEFINITION__OPERATION_REF:
+ setOperationRef((BPMNOperation)null);
+ return;
+ case BPMNProfilePackage.MESSAGE_EVENT_DEFINITION__BASE_CALL_EVENT:
+ setBase_CallEvent((CallEvent)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.MESSAGE_EVENT_DEFINITION__MESSAGE_REF:
+ return messageRef != null;
+ case BPMNProfilePackage.MESSAGE_EVENT_DEFINITION__OPERATION_REF:
+ return operationRef != null;
+ case BPMNProfilePackage.MESSAGE_EVENT_DEFINITION__BASE_CALL_EVENT:
+ return base_CallEvent != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //MessageEventDefinitionImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/MessageFlowAssociationImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/MessageFlowAssociationImpl.java
new file mode 100644
index 00000000000..3b88c81c15c
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/MessageFlowAssociationImpl.java
@@ -0,0 +1,359 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlowAssociation;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.Dependency;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Message Flow Association</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.MessageFlowAssociationImpl#getBase_Dependency <em>Base Dependency</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.MessageFlowAssociationImpl#getInnerMessageFlowRef <em>Inner Message Flow Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.MessageFlowAssociationImpl#getOuterMessageFlowRef <em>Outer Message Flow Ref</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class MessageFlowAssociationImpl extends BaseElementImpl implements MessageFlowAssociation {
+ /**
+ * The cached value of the '{@link #getBase_Dependency() <em>Base Dependency</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Dependency()
+ * @generated
+ * @ordered
+ */
+ protected Dependency base_Dependency;
+
+ /**
+ * The cached value of the '{@link #getInnerMessageFlowRef() <em>Inner Message Flow Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInnerMessageFlowRef()
+ * @generated
+ * @ordered
+ */
+ protected MessageFlow innerMessageFlowRef;
+ /**
+ * The cached value of the '{@link #getOuterMessageFlowRef() <em>Outer Message Flow Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOuterMessageFlowRef()
+ * @generated
+ * @ordered
+ */
+ protected MessageFlow outerMessageFlowRef;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MessageFlowAssociationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getMessageFlowAssociation();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency getBase_Dependency() {
+ if (base_Dependency != null && base_Dependency.eIsProxy()) {
+ InternalEObject oldBase_Dependency = (InternalEObject)base_Dependency;
+ base_Dependency = (Dependency)eResolveProxy(oldBase_Dependency);
+ if (base_Dependency != oldBase_Dependency) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.MESSAGE_FLOW_ASSOCIATION__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+ }
+ }
+ return base_Dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency basicGetBase_Dependency() {
+ return base_Dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Dependency(Dependency newBase_Dependency) {
+ Dependency oldBase_Dependency = base_Dependency;
+ base_Dependency = newBase_Dependency;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.MESSAGE_FLOW_ASSOCIATION__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MessageFlow getInnerMessageFlowRef() {
+ if (innerMessageFlowRef != null && innerMessageFlowRef.eIsProxy()) {
+ InternalEObject oldInnerMessageFlowRef = (InternalEObject)innerMessageFlowRef;
+ innerMessageFlowRef = (MessageFlow)eResolveProxy(oldInnerMessageFlowRef);
+ if (innerMessageFlowRef != oldInnerMessageFlowRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.MESSAGE_FLOW_ASSOCIATION__INNER_MESSAGE_FLOW_REF, oldInnerMessageFlowRef, innerMessageFlowRef));
+ }
+ }
+ return innerMessageFlowRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MessageFlow basicGetInnerMessageFlowRef() {
+ return innerMessageFlowRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInnerMessageFlowRef(MessageFlow newInnerMessageFlowRef) {
+ MessageFlow oldInnerMessageFlowRef = innerMessageFlowRef;
+ innerMessageFlowRef = newInnerMessageFlowRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.MESSAGE_FLOW_ASSOCIATION__INNER_MESSAGE_FLOW_REF, oldInnerMessageFlowRef, innerMessageFlowRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MessageFlow getOuterMessageFlowRef() {
+ if (outerMessageFlowRef != null && outerMessageFlowRef.eIsProxy()) {
+ InternalEObject oldOuterMessageFlowRef = (InternalEObject)outerMessageFlowRef;
+ outerMessageFlowRef = (MessageFlow)eResolveProxy(oldOuterMessageFlowRef);
+ if (outerMessageFlowRef != oldOuterMessageFlowRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.MESSAGE_FLOW_ASSOCIATION__OUTER_MESSAGE_FLOW_REF, oldOuterMessageFlowRef, outerMessageFlowRef));
+ }
+ }
+ return outerMessageFlowRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MessageFlow basicGetOuterMessageFlowRef() {
+ return outerMessageFlowRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOuterMessageFlowRef(MessageFlow newOuterMessageFlowRef) {
+ MessageFlow oldOuterMessageFlowRef = outerMessageFlowRef;
+ outerMessageFlowRef = newOuterMessageFlowRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.MESSAGE_FLOW_ASSOCIATION__OUTER_MESSAGE_FLOW_REF, oldOuterMessageFlowRef, outerMessageFlowRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean MessageFlowAssociationinnerMessageFlowRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.MESSAGE_FLOW_ASSOCIATION__MESSAGE_FLOW_ASSOCIATIONINNER_MESSAGE_FLOW_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "MessageFlowAssociationinnerMessageFlowRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean MessageFlowAssociationouterMessageFlowRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.MESSAGE_FLOW_ASSOCIATION__MESSAGE_FLOW_ASSOCIATIONOUTER_MESSAGE_FLOW_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "MessageFlowAssociationouterMessageFlowRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.MESSAGE_FLOW_ASSOCIATION__BASE_DEPENDENCY:
+ if (resolve) return getBase_Dependency();
+ return basicGetBase_Dependency();
+ case BPMNProfilePackage.MESSAGE_FLOW_ASSOCIATION__INNER_MESSAGE_FLOW_REF:
+ if (resolve) return getInnerMessageFlowRef();
+ return basicGetInnerMessageFlowRef();
+ case BPMNProfilePackage.MESSAGE_FLOW_ASSOCIATION__OUTER_MESSAGE_FLOW_REF:
+ if (resolve) return getOuterMessageFlowRef();
+ return basicGetOuterMessageFlowRef();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.MESSAGE_FLOW_ASSOCIATION__BASE_DEPENDENCY:
+ setBase_Dependency((Dependency)newValue);
+ return;
+ case BPMNProfilePackage.MESSAGE_FLOW_ASSOCIATION__INNER_MESSAGE_FLOW_REF:
+ setInnerMessageFlowRef((MessageFlow)newValue);
+ return;
+ case BPMNProfilePackage.MESSAGE_FLOW_ASSOCIATION__OUTER_MESSAGE_FLOW_REF:
+ setOuterMessageFlowRef((MessageFlow)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.MESSAGE_FLOW_ASSOCIATION__BASE_DEPENDENCY:
+ setBase_Dependency((Dependency)null);
+ return;
+ case BPMNProfilePackage.MESSAGE_FLOW_ASSOCIATION__INNER_MESSAGE_FLOW_REF:
+ setInnerMessageFlowRef((MessageFlow)null);
+ return;
+ case BPMNProfilePackage.MESSAGE_FLOW_ASSOCIATION__OUTER_MESSAGE_FLOW_REF:
+ setOuterMessageFlowRef((MessageFlow)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.MESSAGE_FLOW_ASSOCIATION__BASE_DEPENDENCY:
+ return base_Dependency != null;
+ case BPMNProfilePackage.MESSAGE_FLOW_ASSOCIATION__INNER_MESSAGE_FLOW_REF:
+ return innerMessageFlowRef != null;
+ case BPMNProfilePackage.MESSAGE_FLOW_ASSOCIATION__OUTER_MESSAGE_FLOW_REF:
+ return outerMessageFlowRef != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.MESSAGE_FLOW_ASSOCIATION___MESSAGE_FLOW_ASSOCIATIONINNER_MESSAGE_FLOW_REF__DIAGNOSTICCHAIN_MAP:
+ return MessageFlowAssociationinnerMessageFlowRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.MESSAGE_FLOW_ASSOCIATION___MESSAGE_FLOW_ASSOCIATIONOUTER_MESSAGE_FLOW_REF__DIAGNOSTICCHAIN_MAP:
+ return MessageFlowAssociationouterMessageFlowRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //MessageFlowAssociationImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/MessageFlowImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/MessageFlowImpl.java
new file mode 100644
index 00000000000..edc742c0d29
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/MessageFlowImpl.java
@@ -0,0 +1,446 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNMessage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.InformationFlow;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Message Flow</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.MessageFlowImpl#getBase_InformationFlow <em>Base Information Flow</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.MessageFlowImpl#getSourceRef <em>Source Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.MessageFlowImpl#getTargetRef <em>Target Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.MessageFlowImpl#getMessageRef <em>Message Ref</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class MessageFlowImpl extends BaseElementImpl implements MessageFlow {
+ /**
+ * The cached value of the '{@link #getBase_InformationFlow() <em>Base Information Flow</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_InformationFlow()
+ * @generated
+ * @ordered
+ */
+ protected InformationFlow base_InformationFlow;
+
+ /**
+ * The cached value of the '{@link #getSourceRef() <em>Source Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSourceRef()
+ * @generated
+ * @ordered
+ */
+ protected InteractionNode sourceRef;
+ /**
+ * The cached value of the '{@link #getTargetRef() <em>Target Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargetRef()
+ * @generated
+ * @ordered
+ */
+ protected InteractionNode targetRef;
+ /**
+ * The cached value of the '{@link #getMessageRef() <em>Message Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMessageRef()
+ * @generated
+ * @ordered
+ */
+ protected BPMNMessage messageRef;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MessageFlowImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getMessageFlow();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InformationFlow getBase_InformationFlow() {
+ if (base_InformationFlow != null && base_InformationFlow.eIsProxy()) {
+ InternalEObject oldBase_InformationFlow = (InternalEObject)base_InformationFlow;
+ base_InformationFlow = (InformationFlow)eResolveProxy(oldBase_InformationFlow);
+ if (base_InformationFlow != oldBase_InformationFlow) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.MESSAGE_FLOW__BASE_INFORMATION_FLOW, oldBase_InformationFlow, base_InformationFlow));
+ }
+ }
+ return base_InformationFlow;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InformationFlow basicGetBase_InformationFlow() {
+ return base_InformationFlow;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_InformationFlow(InformationFlow newBase_InformationFlow) {
+ InformationFlow oldBase_InformationFlow = base_InformationFlow;
+ base_InformationFlow = newBase_InformationFlow;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.MESSAGE_FLOW__BASE_INFORMATION_FLOW, oldBase_InformationFlow, base_InformationFlow));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionNode getSourceRef() {
+ if (sourceRef != null && sourceRef.eIsProxy()) {
+ InternalEObject oldSourceRef = (InternalEObject)sourceRef;
+ sourceRef = (InteractionNode)eResolveProxy(oldSourceRef);
+ if (sourceRef != oldSourceRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.MESSAGE_FLOW__SOURCE_REF, oldSourceRef, sourceRef));
+ }
+ }
+ return sourceRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionNode basicGetSourceRef() {
+ return sourceRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSourceRef(InteractionNode newSourceRef) {
+ InteractionNode oldSourceRef = sourceRef;
+ sourceRef = newSourceRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.MESSAGE_FLOW__SOURCE_REF, oldSourceRef, sourceRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionNode getTargetRef() {
+ if (targetRef != null && targetRef.eIsProxy()) {
+ InternalEObject oldTargetRef = (InternalEObject)targetRef;
+ targetRef = (InteractionNode)eResolveProxy(oldTargetRef);
+ if (targetRef != oldTargetRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.MESSAGE_FLOW__TARGET_REF, oldTargetRef, targetRef));
+ }
+ }
+ return targetRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InteractionNode basicGetTargetRef() {
+ return targetRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTargetRef(InteractionNode newTargetRef) {
+ InteractionNode oldTargetRef = targetRef;
+ targetRef = newTargetRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.MESSAGE_FLOW__TARGET_REF, oldTargetRef, targetRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNMessage getMessageRef() {
+ if (messageRef != null && messageRef.eIsProxy()) {
+ InternalEObject oldMessageRef = (InternalEObject)messageRef;
+ messageRef = (BPMNMessage)eResolveProxy(oldMessageRef);
+ if (messageRef != oldMessageRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.MESSAGE_FLOW__MESSAGE_REF, oldMessageRef, messageRef));
+ }
+ }
+ return messageRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNMessage basicGetMessageRef() {
+ return messageRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMessageRef(BPMNMessage newMessageRef) {
+ BPMNMessage oldMessageRef = messageRef;
+ messageRef = newMessageRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.MESSAGE_FLOW__MESSAGE_REF, oldMessageRef, messageRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean MessageFlowsourceRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.MESSAGE_FLOW__MESSAGE_FLOWSOURCE_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "MessageFlowsourceRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean MessageFlowtargetRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.MESSAGE_FLOW__MESSAGE_FLOWTARGET_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "MessageFlowtargetRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean MessageFlowmessageRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.MESSAGE_FLOW__MESSAGE_FLOWMESSAGE_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "MessageFlowmessageRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.MESSAGE_FLOW__BASE_INFORMATION_FLOW:
+ if (resolve) return getBase_InformationFlow();
+ return basicGetBase_InformationFlow();
+ case BPMNProfilePackage.MESSAGE_FLOW__SOURCE_REF:
+ if (resolve) return getSourceRef();
+ return basicGetSourceRef();
+ case BPMNProfilePackage.MESSAGE_FLOW__TARGET_REF:
+ if (resolve) return getTargetRef();
+ return basicGetTargetRef();
+ case BPMNProfilePackage.MESSAGE_FLOW__MESSAGE_REF:
+ if (resolve) return getMessageRef();
+ return basicGetMessageRef();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.MESSAGE_FLOW__BASE_INFORMATION_FLOW:
+ setBase_InformationFlow((InformationFlow)newValue);
+ return;
+ case BPMNProfilePackage.MESSAGE_FLOW__SOURCE_REF:
+ setSourceRef((InteractionNode)newValue);
+ return;
+ case BPMNProfilePackage.MESSAGE_FLOW__TARGET_REF:
+ setTargetRef((InteractionNode)newValue);
+ return;
+ case BPMNProfilePackage.MESSAGE_FLOW__MESSAGE_REF:
+ setMessageRef((BPMNMessage)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.MESSAGE_FLOW__BASE_INFORMATION_FLOW:
+ setBase_InformationFlow((InformationFlow)null);
+ return;
+ case BPMNProfilePackage.MESSAGE_FLOW__SOURCE_REF:
+ setSourceRef((InteractionNode)null);
+ return;
+ case BPMNProfilePackage.MESSAGE_FLOW__TARGET_REF:
+ setTargetRef((InteractionNode)null);
+ return;
+ case BPMNProfilePackage.MESSAGE_FLOW__MESSAGE_REF:
+ setMessageRef((BPMNMessage)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.MESSAGE_FLOW__BASE_INFORMATION_FLOW:
+ return base_InformationFlow != null;
+ case BPMNProfilePackage.MESSAGE_FLOW__SOURCE_REF:
+ return sourceRef != null;
+ case BPMNProfilePackage.MESSAGE_FLOW__TARGET_REF:
+ return targetRef != null;
+ case BPMNProfilePackage.MESSAGE_FLOW__MESSAGE_REF:
+ return messageRef != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.MESSAGE_FLOW___MESSAGE_FLOWSOURCE_REF__DIAGNOSTICCHAIN_MAP:
+ return MessageFlowsourceRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.MESSAGE_FLOW___MESSAGE_FLOWTARGET_REF__DIAGNOSTICCHAIN_MAP:
+ return MessageFlowtargetRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.MESSAGE_FLOW___MESSAGE_FLOWMESSAGE_REF__DIAGNOSTICCHAIN_MAP:
+ return MessageFlowmessageRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //MessageFlowImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/MonitoringImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/MonitoringImpl.java
new file mode 100644
index 00000000000..fc737aecd05
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/MonitoringImpl.java
@@ -0,0 +1,155 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Monitoring;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Monitoring</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.MonitoringImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class MonitoringImpl extends BaseElementImpl implements Monitoring {
+ /**
+ * The cached value of the '{@link #getBase_Class() <em>Base Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Class()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.uml2.uml.Class base_Class;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MonitoringImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getMonitoring();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class getBase_Class() {
+ if (base_Class != null && base_Class.eIsProxy()) {
+ InternalEObject oldBase_Class = (InternalEObject)base_Class;
+ base_Class = (org.eclipse.uml2.uml.Class)eResolveProxy(oldBase_Class);
+ if (base_Class != oldBase_Class) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.MONITORING__BASE_CLASS, oldBase_Class, base_Class));
+ }
+ }
+ return base_Class;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+ return base_Class;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+ org.eclipse.uml2.uml.Class oldBase_Class = base_Class;
+ base_Class = newBase_Class;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.MONITORING__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.MONITORING__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.MONITORING__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.MONITORING__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.MONITORING__BASE_CLASS:
+ return base_Class != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //MonitoringImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/MultiInstanceLoopCharacteristicsImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/MultiInstanceLoopCharacteristicsImpl.java
new file mode 100644
index 00000000000..bcebd5506f3
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/MultiInstanceLoopCharacteristicsImpl.java
@@ -0,0 +1,858 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ComplexBehaviorDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataInput;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput;
+import org.eclipse.papyrus.bpmn.BPMNProfile.EventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ItemAwareElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceBehavior;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.ExpansionRegion;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Multi Instance Loop Characteristics</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.MultiInstanceLoopCharacteristicsImpl#getBehavior <em>Behavior</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.MultiInstanceLoopCharacteristicsImpl#getLoopCardinality <em>Loop Cardinality</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.MultiInstanceLoopCharacteristicsImpl#getCompletionCondition <em>Completion Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.MultiInstanceLoopCharacteristicsImpl#getBase_ExpansionRegion <em>Base Expansion Region</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.MultiInstanceLoopCharacteristicsImpl#isSequential <em>Is Sequential</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.MultiInstanceLoopCharacteristicsImpl#getLoopDataInputRef <em>Loop Data Input Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.MultiInstanceLoopCharacteristicsImpl#getLoopDataOutputRef <em>Loop Data Output Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.MultiInstanceLoopCharacteristicsImpl#getOutputDataItem <em>Output Data Item</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.MultiInstanceLoopCharacteristicsImpl#getInputDataItem <em>Input Data Item</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.MultiInstanceLoopCharacteristicsImpl#getOneBehaviorEventRef <em>One Behavior Event Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.MultiInstanceLoopCharacteristicsImpl#getNoneBehaviorEventRef <em>None Behavior Event Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.MultiInstanceLoopCharacteristicsImpl#getComplexBehaviorDefinition <em>Complex Behavior Definition</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class MultiInstanceLoopCharacteristicsImpl extends LoopCharacteristicsImpl implements MultiInstanceLoopCharacteristics {
+ /**
+ * The default value of the '{@link #getBehavior() <em>Behavior</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBehavior()
+ * @generated
+ * @ordered
+ */
+ protected static final MultiInstanceBehavior BEHAVIOR_EDEFAULT = MultiInstanceBehavior.ALL;
+
+ /**
+ * The cached value of the '{@link #getBehavior() <em>Behavior</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBehavior()
+ * @generated
+ * @ordered
+ */
+ protected MultiInstanceBehavior behavior = BEHAVIOR_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getLoopCardinality() <em>Loop Cardinality</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLoopCardinality()
+ * @generated
+ * @ordered
+ */
+ protected BPMNExpression loopCardinality;
+
+ /**
+ * The cached value of the '{@link #getCompletionCondition() <em>Completion Condition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCompletionCondition()
+ * @generated
+ * @ordered
+ */
+ protected BPMNExpression completionCondition;
+
+ /**
+ * The cached value of the '{@link #getBase_ExpansionRegion() <em>Base Expansion Region</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_ExpansionRegion()
+ * @generated
+ * @ordered
+ */
+ protected ExpansionRegion base_ExpansionRegion;
+
+ /**
+ * The default value of the '{@link #isSequential() <em>Is Sequential</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSequential()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_SEQUENTIAL_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isSequential() <em>Is Sequential</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSequential()
+ * @generated
+ * @ordered
+ */
+ protected boolean isSequential = IS_SEQUENTIAL_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getLoopDataInputRef() <em>Loop Data Input Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLoopDataInputRef()
+ * @generated
+ * @ordered
+ */
+ protected ItemAwareElement loopDataInputRef;
+
+ /**
+ * The cached value of the '{@link #getLoopDataOutputRef() <em>Loop Data Output Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLoopDataOutputRef()
+ * @generated
+ * @ordered
+ */
+ protected ItemAwareElement loopDataOutputRef;
+
+ /**
+ * The cached value of the '{@link #getOutputDataItem() <em>Output Data Item</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOutputDataItem()
+ * @generated
+ * @ordered
+ */
+ protected DataOutput outputDataItem;
+
+ /**
+ * The cached value of the '{@link #getInputDataItem() <em>Input Data Item</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputDataItem()
+ * @generated
+ * @ordered
+ */
+ protected DataInput inputDataItem;
+
+ /**
+ * The cached value of the '{@link #getOneBehaviorEventRef() <em>One Behavior Event Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOneBehaviorEventRef()
+ * @generated
+ * @ordered
+ */
+ protected EventDefinition oneBehaviorEventRef;
+
+ /**
+ * The cached value of the '{@link #getNoneBehaviorEventRef() <em>None Behavior Event Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNoneBehaviorEventRef()
+ * @generated
+ * @ordered
+ */
+ protected EventDefinition noneBehaviorEventRef;
+
+ /**
+ * The cached value of the '{@link #getComplexBehaviorDefinition() <em>Complex Behavior Definition</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getComplexBehaviorDefinition()
+ * @generated
+ * @ordered
+ */
+ protected EList<ComplexBehaviorDefinition> complexBehaviorDefinition;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MultiInstanceLoopCharacteristicsImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getMultiInstanceLoopCharacteristics();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MultiInstanceBehavior getBehavior() {
+ return behavior;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBehavior(MultiInstanceBehavior newBehavior) {
+ MultiInstanceBehavior oldBehavior = behavior;
+ behavior = newBehavior == null ? BEHAVIOR_EDEFAULT : newBehavior;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__BEHAVIOR, oldBehavior, behavior));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExpression getLoopCardinality() {
+ if (loopCardinality != null && loopCardinality.eIsProxy()) {
+ InternalEObject oldLoopCardinality = (InternalEObject)loopCardinality;
+ loopCardinality = (BPMNExpression)eResolveProxy(oldLoopCardinality);
+ if (loopCardinality != oldLoopCardinality) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__LOOP_CARDINALITY, oldLoopCardinality, loopCardinality));
+ }
+ }
+ return loopCardinality;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExpression basicGetLoopCardinality() {
+ return loopCardinality;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLoopCardinality(BPMNExpression newLoopCardinality) {
+ BPMNExpression oldLoopCardinality = loopCardinality;
+ loopCardinality = newLoopCardinality;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__LOOP_CARDINALITY, oldLoopCardinality, loopCardinality));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExpression getCompletionCondition() {
+ if (completionCondition != null && completionCondition.eIsProxy()) {
+ InternalEObject oldCompletionCondition = (InternalEObject)completionCondition;
+ completionCondition = (BPMNExpression)eResolveProxy(oldCompletionCondition);
+ if (completionCondition != oldCompletionCondition) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__COMPLETION_CONDITION, oldCompletionCondition, completionCondition));
+ }
+ }
+ return completionCondition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExpression basicGetCompletionCondition() {
+ return completionCondition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCompletionCondition(BPMNExpression newCompletionCondition) {
+ BPMNExpression oldCompletionCondition = completionCondition;
+ completionCondition = newCompletionCondition;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__COMPLETION_CONDITION, oldCompletionCondition, completionCondition));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpansionRegion getBase_ExpansionRegion() {
+ if (base_ExpansionRegion != null && base_ExpansionRegion.eIsProxy()) {
+ InternalEObject oldBase_ExpansionRegion = (InternalEObject)base_ExpansionRegion;
+ base_ExpansionRegion = (ExpansionRegion)eResolveProxy(oldBase_ExpansionRegion);
+ if (base_ExpansionRegion != oldBase_ExpansionRegion) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__BASE_EXPANSION_REGION, oldBase_ExpansionRegion, base_ExpansionRegion));
+ }
+ }
+ return base_ExpansionRegion;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpansionRegion basicGetBase_ExpansionRegion() {
+ return base_ExpansionRegion;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_ExpansionRegion(ExpansionRegion newBase_ExpansionRegion) {
+ ExpansionRegion oldBase_ExpansionRegion = base_ExpansionRegion;
+ base_ExpansionRegion = newBase_ExpansionRegion;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__BASE_EXPANSION_REGION, oldBase_ExpansionRegion, base_ExpansionRegion));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSequential() {
+ return isSequential;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsSequential(boolean newIsSequential) {
+ boolean oldIsSequential = isSequential;
+ isSequential = newIsSequential;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__IS_SEQUENTIAL, oldIsSequential, isSequential));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemAwareElement getLoopDataInputRef() {
+ if (loopDataInputRef != null && loopDataInputRef.eIsProxy()) {
+ InternalEObject oldLoopDataInputRef = (InternalEObject)loopDataInputRef;
+ loopDataInputRef = (ItemAwareElement)eResolveProxy(oldLoopDataInputRef);
+ if (loopDataInputRef != oldLoopDataInputRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__LOOP_DATA_INPUT_REF, oldLoopDataInputRef, loopDataInputRef));
+ }
+ }
+ return loopDataInputRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemAwareElement basicGetLoopDataInputRef() {
+ return loopDataInputRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLoopDataInputRef(ItemAwareElement newLoopDataInputRef) {
+ ItemAwareElement oldLoopDataInputRef = loopDataInputRef;
+ loopDataInputRef = newLoopDataInputRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__LOOP_DATA_INPUT_REF, oldLoopDataInputRef, loopDataInputRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemAwareElement getLoopDataOutputRef() {
+ if (loopDataOutputRef != null && loopDataOutputRef.eIsProxy()) {
+ InternalEObject oldLoopDataOutputRef = (InternalEObject)loopDataOutputRef;
+ loopDataOutputRef = (ItemAwareElement)eResolveProxy(oldLoopDataOutputRef);
+ if (loopDataOutputRef != oldLoopDataOutputRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__LOOP_DATA_OUTPUT_REF, oldLoopDataOutputRef, loopDataOutputRef));
+ }
+ }
+ return loopDataOutputRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemAwareElement basicGetLoopDataOutputRef() {
+ return loopDataOutputRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLoopDataOutputRef(ItemAwareElement newLoopDataOutputRef) {
+ ItemAwareElement oldLoopDataOutputRef = loopDataOutputRef;
+ loopDataOutputRef = newLoopDataOutputRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__LOOP_DATA_OUTPUT_REF, oldLoopDataOutputRef, loopDataOutputRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataOutput getOutputDataItem() {
+ if (outputDataItem != null && outputDataItem.eIsProxy()) {
+ InternalEObject oldOutputDataItem = (InternalEObject)outputDataItem;
+ outputDataItem = (DataOutput)eResolveProxy(oldOutputDataItem);
+ if (outputDataItem != oldOutputDataItem) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__OUTPUT_DATA_ITEM, oldOutputDataItem, outputDataItem));
+ }
+ }
+ return outputDataItem;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataOutput basicGetOutputDataItem() {
+ return outputDataItem;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOutputDataItem(DataOutput newOutputDataItem) {
+ DataOutput oldOutputDataItem = outputDataItem;
+ outputDataItem = newOutputDataItem;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__OUTPUT_DATA_ITEM, oldOutputDataItem, outputDataItem));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataInput getInputDataItem() {
+ if (inputDataItem != null && inputDataItem.eIsProxy()) {
+ InternalEObject oldInputDataItem = (InternalEObject)inputDataItem;
+ inputDataItem = (DataInput)eResolveProxy(oldInputDataItem);
+ if (inputDataItem != oldInputDataItem) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__INPUT_DATA_ITEM, oldInputDataItem, inputDataItem));
+ }
+ }
+ return inputDataItem;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataInput basicGetInputDataItem() {
+ return inputDataItem;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInputDataItem(DataInput newInputDataItem) {
+ DataInput oldInputDataItem = inputDataItem;
+ inputDataItem = newInputDataItem;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__INPUT_DATA_ITEM, oldInputDataItem, inputDataItem));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EventDefinition getOneBehaviorEventRef() {
+ if (oneBehaviorEventRef != null && oneBehaviorEventRef.eIsProxy()) {
+ InternalEObject oldOneBehaviorEventRef = (InternalEObject)oneBehaviorEventRef;
+ oneBehaviorEventRef = (EventDefinition)eResolveProxy(oldOneBehaviorEventRef);
+ if (oneBehaviorEventRef != oldOneBehaviorEventRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__ONE_BEHAVIOR_EVENT_REF, oldOneBehaviorEventRef, oneBehaviorEventRef));
+ }
+ }
+ return oneBehaviorEventRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EventDefinition basicGetOneBehaviorEventRef() {
+ return oneBehaviorEventRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOneBehaviorEventRef(EventDefinition newOneBehaviorEventRef) {
+ EventDefinition oldOneBehaviorEventRef = oneBehaviorEventRef;
+ oneBehaviorEventRef = newOneBehaviorEventRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__ONE_BEHAVIOR_EVENT_REF, oldOneBehaviorEventRef, oneBehaviorEventRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EventDefinition getNoneBehaviorEventRef() {
+ if (noneBehaviorEventRef != null && noneBehaviorEventRef.eIsProxy()) {
+ InternalEObject oldNoneBehaviorEventRef = (InternalEObject)noneBehaviorEventRef;
+ noneBehaviorEventRef = (EventDefinition)eResolveProxy(oldNoneBehaviorEventRef);
+ if (noneBehaviorEventRef != oldNoneBehaviorEventRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__NONE_BEHAVIOR_EVENT_REF, oldNoneBehaviorEventRef, noneBehaviorEventRef));
+ }
+ }
+ return noneBehaviorEventRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EventDefinition basicGetNoneBehaviorEventRef() {
+ return noneBehaviorEventRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNoneBehaviorEventRef(EventDefinition newNoneBehaviorEventRef) {
+ EventDefinition oldNoneBehaviorEventRef = noneBehaviorEventRef;
+ noneBehaviorEventRef = newNoneBehaviorEventRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__NONE_BEHAVIOR_EVENT_REF, oldNoneBehaviorEventRef, noneBehaviorEventRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ComplexBehaviorDefinition> getComplexBehaviorDefinition() {
+ if (complexBehaviorDefinition == null) {
+ complexBehaviorDefinition = new EObjectResolvingEList<ComplexBehaviorDefinition>(ComplexBehaviorDefinition.class, this, BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__COMPLEX_BEHAVIOR_DEFINITION);
+ }
+ return complexBehaviorDefinition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean MultiinstanceLoopCharacteristicstarget(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.MULTI_INSTANCE_LOOP_CHARACTERISTICS__MULTIINSTANCE_LOOP_CHARACTERISTICSTARGET,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "MultiinstanceLoopCharacteristicstarget", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__BEHAVIOR:
+ return getBehavior();
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__LOOP_CARDINALITY:
+ if (resolve) return getLoopCardinality();
+ return basicGetLoopCardinality();
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__COMPLETION_CONDITION:
+ if (resolve) return getCompletionCondition();
+ return basicGetCompletionCondition();
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__BASE_EXPANSION_REGION:
+ if (resolve) return getBase_ExpansionRegion();
+ return basicGetBase_ExpansionRegion();
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__IS_SEQUENTIAL:
+ return isSequential();
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__LOOP_DATA_INPUT_REF:
+ if (resolve) return getLoopDataInputRef();
+ return basicGetLoopDataInputRef();
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__LOOP_DATA_OUTPUT_REF:
+ if (resolve) return getLoopDataOutputRef();
+ return basicGetLoopDataOutputRef();
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__OUTPUT_DATA_ITEM:
+ if (resolve) return getOutputDataItem();
+ return basicGetOutputDataItem();
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__INPUT_DATA_ITEM:
+ if (resolve) return getInputDataItem();
+ return basicGetInputDataItem();
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__ONE_BEHAVIOR_EVENT_REF:
+ if (resolve) return getOneBehaviorEventRef();
+ return basicGetOneBehaviorEventRef();
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__NONE_BEHAVIOR_EVENT_REF:
+ if (resolve) return getNoneBehaviorEventRef();
+ return basicGetNoneBehaviorEventRef();
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__COMPLEX_BEHAVIOR_DEFINITION:
+ return getComplexBehaviorDefinition();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__BEHAVIOR:
+ setBehavior((MultiInstanceBehavior)newValue);
+ return;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__LOOP_CARDINALITY:
+ setLoopCardinality((BPMNExpression)newValue);
+ return;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__COMPLETION_CONDITION:
+ setCompletionCondition((BPMNExpression)newValue);
+ return;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__BASE_EXPANSION_REGION:
+ setBase_ExpansionRegion((ExpansionRegion)newValue);
+ return;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__IS_SEQUENTIAL:
+ setIsSequential((Boolean)newValue);
+ return;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__LOOP_DATA_INPUT_REF:
+ setLoopDataInputRef((ItemAwareElement)newValue);
+ return;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__LOOP_DATA_OUTPUT_REF:
+ setLoopDataOutputRef((ItemAwareElement)newValue);
+ return;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__OUTPUT_DATA_ITEM:
+ setOutputDataItem((DataOutput)newValue);
+ return;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__INPUT_DATA_ITEM:
+ setInputDataItem((DataInput)newValue);
+ return;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__ONE_BEHAVIOR_EVENT_REF:
+ setOneBehaviorEventRef((EventDefinition)newValue);
+ return;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__NONE_BEHAVIOR_EVENT_REF:
+ setNoneBehaviorEventRef((EventDefinition)newValue);
+ return;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__COMPLEX_BEHAVIOR_DEFINITION:
+ getComplexBehaviorDefinition().clear();
+ getComplexBehaviorDefinition().addAll((Collection<? extends ComplexBehaviorDefinition>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__BEHAVIOR:
+ setBehavior(BEHAVIOR_EDEFAULT);
+ return;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__LOOP_CARDINALITY:
+ setLoopCardinality((BPMNExpression)null);
+ return;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__COMPLETION_CONDITION:
+ setCompletionCondition((BPMNExpression)null);
+ return;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__BASE_EXPANSION_REGION:
+ setBase_ExpansionRegion((ExpansionRegion)null);
+ return;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__IS_SEQUENTIAL:
+ setIsSequential(IS_SEQUENTIAL_EDEFAULT);
+ return;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__LOOP_DATA_INPUT_REF:
+ setLoopDataInputRef((ItemAwareElement)null);
+ return;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__LOOP_DATA_OUTPUT_REF:
+ setLoopDataOutputRef((ItemAwareElement)null);
+ return;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__OUTPUT_DATA_ITEM:
+ setOutputDataItem((DataOutput)null);
+ return;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__INPUT_DATA_ITEM:
+ setInputDataItem((DataInput)null);
+ return;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__ONE_BEHAVIOR_EVENT_REF:
+ setOneBehaviorEventRef((EventDefinition)null);
+ return;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__NONE_BEHAVIOR_EVENT_REF:
+ setNoneBehaviorEventRef((EventDefinition)null);
+ return;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__COMPLEX_BEHAVIOR_DEFINITION:
+ getComplexBehaviorDefinition().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__BEHAVIOR:
+ return behavior != BEHAVIOR_EDEFAULT;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__LOOP_CARDINALITY:
+ return loopCardinality != null;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__COMPLETION_CONDITION:
+ return completionCondition != null;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__BASE_EXPANSION_REGION:
+ return base_ExpansionRegion != null;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__IS_SEQUENTIAL:
+ return isSequential != IS_SEQUENTIAL_EDEFAULT;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__LOOP_DATA_INPUT_REF:
+ return loopDataInputRef != null;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__LOOP_DATA_OUTPUT_REF:
+ return loopDataOutputRef != null;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__OUTPUT_DATA_ITEM:
+ return outputDataItem != null;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__INPUT_DATA_ITEM:
+ return inputDataItem != null;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__ONE_BEHAVIOR_EVENT_REF:
+ return oneBehaviorEventRef != null;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__NONE_BEHAVIOR_EVENT_REF:
+ return noneBehaviorEventRef != null;
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS__COMPLEX_BEHAVIOR_DEFINITION:
+ return complexBehaviorDefinition != null && !complexBehaviorDefinition.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS___MULTIINSTANCE_LOOP_CHARACTERISTICSTARGET__DIAGNOSTICCHAIN_MAP:
+ return MultiinstanceLoopCharacteristicstarget((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (behavior: ");
+ result.append(behavior);
+ result.append(", isSequential: ");
+ result.append(isSequential);
+ result.append(')');
+ return result.toString();
+ }
+
+} //MultiInstanceLoopCharacteristicsImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/NonExclusiveGatewayImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/NonExclusiveGatewayImpl.java
new file mode 100644
index 00000000000..aa754e33b99
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/NonExclusiveGatewayImpl.java
@@ -0,0 +1,218 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.NonExclusiveGateway;
+
+import org.eclipse.uml2.uml.ForkNode;
+import org.eclipse.uml2.uml.JoinNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Non Exclusive Gateway</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.NonExclusiveGatewayImpl#getBase_JoinNode <em>Base Join Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.NonExclusiveGatewayImpl#getBase_ForkNode <em>Base Fork Node</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class NonExclusiveGatewayImpl extends GatewayImpl implements NonExclusiveGateway {
+ /**
+ * The cached value of the '{@link #getBase_JoinNode() <em>Base Join Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_JoinNode()
+ * @generated
+ * @ordered
+ */
+ protected JoinNode base_JoinNode;
+
+ /**
+ * The cached value of the '{@link #getBase_ForkNode() <em>Base Fork Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_ForkNode()
+ * @generated
+ * @ordered
+ */
+ protected ForkNode base_ForkNode;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NonExclusiveGatewayImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getNonExclusiveGateway();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public JoinNode getBase_JoinNode() {
+ if (base_JoinNode != null && base_JoinNode.eIsProxy()) {
+ InternalEObject oldBase_JoinNode = (InternalEObject)base_JoinNode;
+ base_JoinNode = (JoinNode)eResolveProxy(oldBase_JoinNode);
+ if (base_JoinNode != oldBase_JoinNode) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.NON_EXCLUSIVE_GATEWAY__BASE_JOIN_NODE, oldBase_JoinNode, base_JoinNode));
+ }
+ }
+ return base_JoinNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public JoinNode basicGetBase_JoinNode() {
+ return base_JoinNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_JoinNode(JoinNode newBase_JoinNode) {
+ JoinNode oldBase_JoinNode = base_JoinNode;
+ base_JoinNode = newBase_JoinNode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.NON_EXCLUSIVE_GATEWAY__BASE_JOIN_NODE, oldBase_JoinNode, base_JoinNode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ForkNode getBase_ForkNode() {
+ if (base_ForkNode != null && base_ForkNode.eIsProxy()) {
+ InternalEObject oldBase_ForkNode = (InternalEObject)base_ForkNode;
+ base_ForkNode = (ForkNode)eResolveProxy(oldBase_ForkNode);
+ if (base_ForkNode != oldBase_ForkNode) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.NON_EXCLUSIVE_GATEWAY__BASE_FORK_NODE, oldBase_ForkNode, base_ForkNode));
+ }
+ }
+ return base_ForkNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ForkNode basicGetBase_ForkNode() {
+ return base_ForkNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_ForkNode(ForkNode newBase_ForkNode) {
+ ForkNode oldBase_ForkNode = base_ForkNode;
+ base_ForkNode = newBase_ForkNode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.NON_EXCLUSIVE_GATEWAY__BASE_FORK_NODE, oldBase_ForkNode, base_ForkNode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.NON_EXCLUSIVE_GATEWAY__BASE_JOIN_NODE:
+ if (resolve) return getBase_JoinNode();
+ return basicGetBase_JoinNode();
+ case BPMNProfilePackage.NON_EXCLUSIVE_GATEWAY__BASE_FORK_NODE:
+ if (resolve) return getBase_ForkNode();
+ return basicGetBase_ForkNode();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.NON_EXCLUSIVE_GATEWAY__BASE_JOIN_NODE:
+ setBase_JoinNode((JoinNode)newValue);
+ return;
+ case BPMNProfilePackage.NON_EXCLUSIVE_GATEWAY__BASE_FORK_NODE:
+ setBase_ForkNode((ForkNode)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.NON_EXCLUSIVE_GATEWAY__BASE_JOIN_NODE:
+ setBase_JoinNode((JoinNode)null);
+ return;
+ case BPMNProfilePackage.NON_EXCLUSIVE_GATEWAY__BASE_FORK_NODE:
+ setBase_ForkNode((ForkNode)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.NON_EXCLUSIVE_GATEWAY__BASE_JOIN_NODE:
+ return base_JoinNode != null;
+ case BPMNProfilePackage.NON_EXCLUSIVE_GATEWAY__BASE_FORK_NODE:
+ return base_ForkNode != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //NonExclusiveGatewayImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/OutputSetImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/OutputSetImpl.java
new file mode 100644
index 00000000000..a324db5cd55
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/OutputSetImpl.java
@@ -0,0 +1,402 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput;
+import org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.ParameterSet;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Output Set</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.OutputSetImpl#getBase_ParameterSet <em>Base Parameter Set</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.OutputSetImpl#getOptionalOutputRefs <em>Optional Output Refs</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.OutputSetImpl#getWhileExecutingOutputRefs <em>While Executing Output Refs</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.OutputSetImpl#getDataOutputRefs <em>Data Output Refs</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class OutputSetImpl extends BaseElementImpl implements OutputSet {
+ /**
+ * The cached value of the '{@link #getBase_ParameterSet() <em>Base Parameter Set</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_ParameterSet()
+ * @generated
+ * @ordered
+ */
+ protected ParameterSet base_ParameterSet;
+
+ /**
+ * The cached value of the '{@link #getOptionalOutputRefs() <em>Optional Output Refs</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOptionalOutputRefs()
+ * @generated
+ * @ordered
+ */
+ protected EList<DataOutput> optionalOutputRefs;
+ /**
+ * The cached value of the '{@link #getWhileExecutingOutputRefs() <em>While Executing Output Refs</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWhileExecutingOutputRefs()
+ * @generated
+ * @ordered
+ */
+ protected EList<DataOutput> whileExecutingOutputRefs;
+ /**
+ * The cached value of the '{@link #getDataOutputRefs() <em>Data Output Refs</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDataOutputRefs()
+ * @generated
+ * @ordered
+ */
+ protected EList<DataOutput> dataOutputRefs;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OutputSetImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getOutputSet();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterSet getBase_ParameterSet() {
+ if (base_ParameterSet != null && base_ParameterSet.eIsProxy()) {
+ InternalEObject oldBase_ParameterSet = (InternalEObject)base_ParameterSet;
+ base_ParameterSet = (ParameterSet)eResolveProxy(oldBase_ParameterSet);
+ if (base_ParameterSet != oldBase_ParameterSet) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.OUTPUT_SET__BASE_PARAMETER_SET, oldBase_ParameterSet, base_ParameterSet));
+ }
+ }
+ return base_ParameterSet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterSet basicGetBase_ParameterSet() {
+ return base_ParameterSet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_ParameterSet(ParameterSet newBase_ParameterSet) {
+ ParameterSet oldBase_ParameterSet = base_ParameterSet;
+ base_ParameterSet = newBase_ParameterSet;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.OUTPUT_SET__BASE_PARAMETER_SET, oldBase_ParameterSet, base_ParameterSet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DataOutput> getOptionalOutputRefs() {
+ if (optionalOutputRefs == null) {
+ optionalOutputRefs = new EObjectResolvingEList<DataOutput>(DataOutput.class, this, BPMNProfilePackage.OUTPUT_SET__OPTIONAL_OUTPUT_REFS);
+ }
+ return optionalOutputRefs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DataOutput> getWhileExecutingOutputRefs() {
+ if (whileExecutingOutputRefs == null) {
+ whileExecutingOutputRefs = new EObjectResolvingEList<DataOutput>(DataOutput.class, this, BPMNProfilePackage.OUTPUT_SET__WHILE_EXECUTING_OUTPUT_REFS);
+ }
+ return whileExecutingOutputRefs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DataOutput> getDataOutputRefs() {
+ if (dataOutputRefs == null) {
+ dataOutputRefs = new EObjectWithInverseResolvingEList.ManyInverse<DataOutput>(DataOutput.class, this, BPMNProfilePackage.OUTPUT_SET__DATA_OUTPUT_REFS, BPMNProfilePackage.DATA_OUTPUT__OUTPUT_SET_REFS);
+ }
+ return dataOutputRefs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean OutputSetdataOutputRefs(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.OUTPUT_SET__OUTPUT_SETDATA_OUTPUT_REFS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "OutputSetdataOutputRefs", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean OutputSetoptionalOutputRefs(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.OUTPUT_SET__OUTPUT_SETOPTIONAL_OUTPUT_REFS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "OutputSetoptionalOutputRefs", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean OutputSetwhileExecutingOutputRefs(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.OUTPUT_SET__OUTPUT_SETWHILE_EXECUTING_OUTPUT_REFS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "OutputSetwhileExecutingOutputRefs", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.OUTPUT_SET__DATA_OUTPUT_REFS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getDataOutputRefs()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.OUTPUT_SET__DATA_OUTPUT_REFS:
+ return ((InternalEList<?>)getDataOutputRefs()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.OUTPUT_SET__BASE_PARAMETER_SET:
+ if (resolve) return getBase_ParameterSet();
+ return basicGetBase_ParameterSet();
+ case BPMNProfilePackage.OUTPUT_SET__OPTIONAL_OUTPUT_REFS:
+ return getOptionalOutputRefs();
+ case BPMNProfilePackage.OUTPUT_SET__WHILE_EXECUTING_OUTPUT_REFS:
+ return getWhileExecutingOutputRefs();
+ case BPMNProfilePackage.OUTPUT_SET__DATA_OUTPUT_REFS:
+ return getDataOutputRefs();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.OUTPUT_SET__BASE_PARAMETER_SET:
+ setBase_ParameterSet((ParameterSet)newValue);
+ return;
+ case BPMNProfilePackage.OUTPUT_SET__OPTIONAL_OUTPUT_REFS:
+ getOptionalOutputRefs().clear();
+ getOptionalOutputRefs().addAll((Collection<? extends DataOutput>)newValue);
+ return;
+ case BPMNProfilePackage.OUTPUT_SET__WHILE_EXECUTING_OUTPUT_REFS:
+ getWhileExecutingOutputRefs().clear();
+ getWhileExecutingOutputRefs().addAll((Collection<? extends DataOutput>)newValue);
+ return;
+ case BPMNProfilePackage.OUTPUT_SET__DATA_OUTPUT_REFS:
+ getDataOutputRefs().clear();
+ getDataOutputRefs().addAll((Collection<? extends DataOutput>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.OUTPUT_SET__BASE_PARAMETER_SET:
+ setBase_ParameterSet((ParameterSet)null);
+ return;
+ case BPMNProfilePackage.OUTPUT_SET__OPTIONAL_OUTPUT_REFS:
+ getOptionalOutputRefs().clear();
+ return;
+ case BPMNProfilePackage.OUTPUT_SET__WHILE_EXECUTING_OUTPUT_REFS:
+ getWhileExecutingOutputRefs().clear();
+ return;
+ case BPMNProfilePackage.OUTPUT_SET__DATA_OUTPUT_REFS:
+ getDataOutputRefs().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.OUTPUT_SET__BASE_PARAMETER_SET:
+ return base_ParameterSet != null;
+ case BPMNProfilePackage.OUTPUT_SET__OPTIONAL_OUTPUT_REFS:
+ return optionalOutputRefs != null && !optionalOutputRefs.isEmpty();
+ case BPMNProfilePackage.OUTPUT_SET__WHILE_EXECUTING_OUTPUT_REFS:
+ return whileExecutingOutputRefs != null && !whileExecutingOutputRefs.isEmpty();
+ case BPMNProfilePackage.OUTPUT_SET__DATA_OUTPUT_REFS:
+ return dataOutputRefs != null && !dataOutputRefs.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.OUTPUT_SET___OUTPUT_SETDATA_OUTPUT_REFS__DIAGNOSTICCHAIN_MAP:
+ return OutputSetdataOutputRefs((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.OUTPUT_SET___OUTPUT_SETOPTIONAL_OUTPUT_REFS__DIAGNOSTICCHAIN_MAP:
+ return OutputSetoptionalOutputRefs((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.OUTPUT_SET___OUTPUT_SETWHILE_EXECUTING_OUTPUT_REFS__DIAGNOSTICCHAIN_MAP:
+ return OutputSetwhileExecutingOutputRefs((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //OutputSetImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ParallelGatewayImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ParallelGatewayImpl.java
new file mode 100644
index 00000000000..f21630866fa
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ParallelGatewayImpl.java
@@ -0,0 +1,37 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ParallelGateway;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Parallel Gateway</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ParallelGatewayImpl extends NonExclusiveGatewayImpl implements ParallelGateway {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ParallelGatewayImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getParallelGateway();
+ }
+
+} //ParallelGatewayImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ParticipantAssociationImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ParticipantAssociationImpl.java
new file mode 100644
index 00000000000..9c1786b3a1c
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ParticipantAssociationImpl.java
@@ -0,0 +1,359 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Participant;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.Dependency;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Participant Association</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ParticipantAssociationImpl#getBase_Dependency <em>Base Dependency</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ParticipantAssociationImpl#getInnerParticipantRef <em>Inner Participant Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ParticipantAssociationImpl#getOuterParticipantRef <em>Outer Participant Ref</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ParticipantAssociationImpl extends BaseElementImpl implements ParticipantAssociation {
+ /**
+ * The cached value of the '{@link #getBase_Dependency() <em>Base Dependency</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Dependency()
+ * @generated
+ * @ordered
+ */
+ protected Dependency base_Dependency;
+
+ /**
+ * The cached value of the '{@link #getInnerParticipantRef() <em>Inner Participant Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInnerParticipantRef()
+ * @generated
+ * @ordered
+ */
+ protected Participant innerParticipantRef;
+ /**
+ * The cached value of the '{@link #getOuterParticipantRef() <em>Outer Participant Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOuterParticipantRef()
+ * @generated
+ * @ordered
+ */
+ protected Participant outerParticipantRef;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ParticipantAssociationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getParticipantAssociation();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency getBase_Dependency() {
+ if (base_Dependency != null && base_Dependency.eIsProxy()) {
+ InternalEObject oldBase_Dependency = (InternalEObject)base_Dependency;
+ base_Dependency = (Dependency)eResolveProxy(oldBase_Dependency);
+ if (base_Dependency != oldBase_Dependency) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.PARTICIPANT_ASSOCIATION__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+ }
+ }
+ return base_Dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Dependency basicGetBase_Dependency() {
+ return base_Dependency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Dependency(Dependency newBase_Dependency) {
+ Dependency oldBase_Dependency = base_Dependency;
+ base_Dependency = newBase_Dependency;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.PARTICIPANT_ASSOCIATION__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Participant getInnerParticipantRef() {
+ if (innerParticipantRef != null && innerParticipantRef.eIsProxy()) {
+ InternalEObject oldInnerParticipantRef = (InternalEObject)innerParticipantRef;
+ innerParticipantRef = (Participant)eResolveProxy(oldInnerParticipantRef);
+ if (innerParticipantRef != oldInnerParticipantRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.PARTICIPANT_ASSOCIATION__INNER_PARTICIPANT_REF, oldInnerParticipantRef, innerParticipantRef));
+ }
+ }
+ return innerParticipantRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Participant basicGetInnerParticipantRef() {
+ return innerParticipantRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInnerParticipantRef(Participant newInnerParticipantRef) {
+ Participant oldInnerParticipantRef = innerParticipantRef;
+ innerParticipantRef = newInnerParticipantRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.PARTICIPANT_ASSOCIATION__INNER_PARTICIPANT_REF, oldInnerParticipantRef, innerParticipantRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Participant getOuterParticipantRef() {
+ if (outerParticipantRef != null && outerParticipantRef.eIsProxy()) {
+ InternalEObject oldOuterParticipantRef = (InternalEObject)outerParticipantRef;
+ outerParticipantRef = (Participant)eResolveProxy(oldOuterParticipantRef);
+ if (outerParticipantRef != oldOuterParticipantRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.PARTICIPANT_ASSOCIATION__OUTER_PARTICIPANT_REF, oldOuterParticipantRef, outerParticipantRef));
+ }
+ }
+ return outerParticipantRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Participant basicGetOuterParticipantRef() {
+ return outerParticipantRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOuterParticipantRef(Participant newOuterParticipantRef) {
+ Participant oldOuterParticipantRef = outerParticipantRef;
+ outerParticipantRef = newOuterParticipantRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.PARTICIPANT_ASSOCIATION__OUTER_PARTICIPANT_REF, oldOuterParticipantRef, outerParticipantRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ParticipantAssociationinnerParticipantRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.PARTICIPANT_ASSOCIATION__PARTICIPANT_ASSOCIATIONINNER_PARTICIPANT_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ParticipantAssociationinnerParticipantRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ParticipantAssociationouterParticipantRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.PARTICIPANT_ASSOCIATION__PARTICIPANT_ASSOCIATIONOUTER_PARTICIPANT_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ParticipantAssociationouterParticipantRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.PARTICIPANT_ASSOCIATION__BASE_DEPENDENCY:
+ if (resolve) return getBase_Dependency();
+ return basicGetBase_Dependency();
+ case BPMNProfilePackage.PARTICIPANT_ASSOCIATION__INNER_PARTICIPANT_REF:
+ if (resolve) return getInnerParticipantRef();
+ return basicGetInnerParticipantRef();
+ case BPMNProfilePackage.PARTICIPANT_ASSOCIATION__OUTER_PARTICIPANT_REF:
+ if (resolve) return getOuterParticipantRef();
+ return basicGetOuterParticipantRef();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.PARTICIPANT_ASSOCIATION__BASE_DEPENDENCY:
+ setBase_Dependency((Dependency)newValue);
+ return;
+ case BPMNProfilePackage.PARTICIPANT_ASSOCIATION__INNER_PARTICIPANT_REF:
+ setInnerParticipantRef((Participant)newValue);
+ return;
+ case BPMNProfilePackage.PARTICIPANT_ASSOCIATION__OUTER_PARTICIPANT_REF:
+ setOuterParticipantRef((Participant)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.PARTICIPANT_ASSOCIATION__BASE_DEPENDENCY:
+ setBase_Dependency((Dependency)null);
+ return;
+ case BPMNProfilePackage.PARTICIPANT_ASSOCIATION__INNER_PARTICIPANT_REF:
+ setInnerParticipantRef((Participant)null);
+ return;
+ case BPMNProfilePackage.PARTICIPANT_ASSOCIATION__OUTER_PARTICIPANT_REF:
+ setOuterParticipantRef((Participant)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.PARTICIPANT_ASSOCIATION__BASE_DEPENDENCY:
+ return base_Dependency != null;
+ case BPMNProfilePackage.PARTICIPANT_ASSOCIATION__INNER_PARTICIPANT_REF:
+ return innerParticipantRef != null;
+ case BPMNProfilePackage.PARTICIPANT_ASSOCIATION__OUTER_PARTICIPANT_REF:
+ return outerParticipantRef != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.PARTICIPANT_ASSOCIATION___PARTICIPANT_ASSOCIATIONINNER_PARTICIPANT_REF__DIAGNOSTICCHAIN_MAP:
+ return ParticipantAssociationinnerParticipantRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.PARTICIPANT_ASSOCIATION___PARTICIPANT_ASSOCIATIONOUTER_PARTICIPANT_REF__DIAGNOSTICCHAIN_MAP:
+ return ParticipantAssociationouterParticipantRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //ParticipantAssociationImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ParticipantImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ParticipantImpl.java
new file mode 100644
index 00000000000..9348dc27468
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ParticipantImpl.java
@@ -0,0 +1,690 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Participant;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantMultiplicity;
+import org.eclipse.papyrus.bpmn.BPMNProfile.PartnerEntity;
+import org.eclipse.papyrus.bpmn.BPMNProfile.PartnerRole;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Participant</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ParticipantImpl#getBase_Property <em>Base Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ParticipantImpl#getProcessRef <em>Process Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ParticipantImpl#getParticipantMultiplicity <em>Participant Multiplicity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ParticipantImpl#getPartnerEntityRef <em>Partner Entity Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ParticipantImpl#getPartnerRoleRef <em>Partner Role Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ParticipantImpl#getInterfaceRefs <em>Interface Refs</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ParticipantImpl extends BaseElementImpl implements Participant {
+ /**
+ * The cached value of the '{@link #getBase_Property() <em>Base Property</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Property()
+ * @generated
+ * @ordered
+ */
+ protected Property base_Property;
+
+ /**
+ * The cached value of the '{@link #getProcessRef() <em>Process Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProcessRef()
+ * @generated
+ * @ordered
+ */
+ protected BPMNProcess processRef;
+ /**
+ * The cached value of the '{@link #getParticipantMultiplicity() <em>Participant Multiplicity</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParticipantMultiplicity()
+ * @generated
+ * @ordered
+ */
+ protected ParticipantMultiplicity participantMultiplicity;
+ /**
+ * The cached value of the '{@link #getPartnerEntityRef() <em>Partner Entity Ref</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPartnerEntityRef()
+ * @generated
+ * @ordered
+ */
+ protected EList<PartnerEntity> partnerEntityRef;
+ /**
+ * The cached value of the '{@link #getPartnerRoleRef() <em>Partner Role Ref</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPartnerRoleRef()
+ * @generated
+ * @ordered
+ */
+ protected EList<PartnerRole> partnerRoleRef;
+ /**
+ * The cached value of the '{@link #getInterfaceRefs() <em>Interface Refs</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInterfaceRefs()
+ * @generated
+ * @ordered
+ */
+ protected EList<BPMNInterface> interfaceRefs;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ParticipantImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getParticipant();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getBase_Property() {
+ if (base_Property != null && base_Property.eIsProxy()) {
+ InternalEObject oldBase_Property = (InternalEObject)base_Property;
+ base_Property = (Property)eResolveProxy(oldBase_Property);
+ if (base_Property != oldBase_Property) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.PARTICIPANT__BASE_PROPERTY, oldBase_Property, base_Property));
+ }
+ }
+ return base_Property;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetBase_Property() {
+ return base_Property;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Property(Property newBase_Property) {
+ Property oldBase_Property = base_Property;
+ base_Property = newBase_Property;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.PARTICIPANT__BASE_PROPERTY, oldBase_Property, base_Property));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNProcess getProcessRef() {
+ if (processRef != null && processRef.eIsProxy()) {
+ InternalEObject oldProcessRef = (InternalEObject)processRef;
+ processRef = (BPMNProcess)eResolveProxy(oldProcessRef);
+ if (processRef != oldProcessRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.PARTICIPANT__PROCESS_REF, oldProcessRef, processRef));
+ }
+ }
+ return processRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNProcess basicGetProcessRef() {
+ return processRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setProcessRef(BPMNProcess newProcessRef) {
+ BPMNProcess oldProcessRef = processRef;
+ processRef = newProcessRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.PARTICIPANT__PROCESS_REF, oldProcessRef, processRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParticipantMultiplicity getParticipantMultiplicity() {
+ if (participantMultiplicity != null && participantMultiplicity.eIsProxy()) {
+ InternalEObject oldParticipantMultiplicity = (InternalEObject)participantMultiplicity;
+ participantMultiplicity = (ParticipantMultiplicity)eResolveProxy(oldParticipantMultiplicity);
+ if (participantMultiplicity != oldParticipantMultiplicity) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.PARTICIPANT__PARTICIPANT_MULTIPLICITY, oldParticipantMultiplicity, participantMultiplicity));
+ }
+ }
+ return participantMultiplicity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParticipantMultiplicity basicGetParticipantMultiplicity() {
+ return participantMultiplicity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParticipantMultiplicity(ParticipantMultiplicity newParticipantMultiplicity) {
+ ParticipantMultiplicity oldParticipantMultiplicity = participantMultiplicity;
+ participantMultiplicity = newParticipantMultiplicity;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.PARTICIPANT__PARTICIPANT_MULTIPLICITY, oldParticipantMultiplicity, participantMultiplicity));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<PartnerEntity> getPartnerEntityRef() {
+ if (partnerEntityRef == null) {
+ partnerEntityRef = new EObjectWithInverseResolvingEList.ManyInverse<PartnerEntity>(PartnerEntity.class, this, BPMNProfilePackage.PARTICIPANT__PARTNER_ENTITY_REF, BPMNProfilePackage.PARTNER_ENTITY__PARTICIPANT_REF);
+ }
+ return partnerEntityRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<PartnerRole> getPartnerRoleRef() {
+ if (partnerRoleRef == null) {
+ partnerRoleRef = new EObjectWithInverseResolvingEList.ManyInverse<PartnerRole>(PartnerRole.class, this, BPMNProfilePackage.PARTICIPANT__PARTNER_ROLE_REF, BPMNProfilePackage.PARTNER_ROLE__PARTICIPANT_REF);
+ }
+ return partnerRoleRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BPMNInterface> getInterfaceRefs() {
+ if (interfaceRefs == null) {
+ interfaceRefs = new EObjectResolvingEList<BPMNInterface>(BPMNInterface.class, this, BPMNProfilePackage.PARTICIPANT__INTERFACE_REFS);
+ }
+ return interfaceRefs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean Participantownership(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.PARTICIPANT__PARTICIPANTOWNERSHIP,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "Participantownership", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean Participanttype(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.PARTICIPANT__PARTICIPANTTYPE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "Participanttype", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ParticipantmultiplicityMinimum(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.PARTICIPANT__PARTICIPANTMULTIPLICITY_MINIMUM,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ParticipantmultiplicityMinimum", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean Participantrealizationsupplier(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.PARTICIPANT__PARTICIPANTREALIZATIONSUPPLIER,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "Participantrealizationsupplier", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ParticipantprocessRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.PARTICIPANT__PARTICIPANTPROCESS_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ParticipantprocessRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ParticipantmultiplicityMaximum(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.PARTICIPANT__PARTICIPANTMULTIPLICITY_MAXIMUM,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ParticipantmultiplicityMaximum", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean participantpartnerEntityRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.PARTICIPANT__PARTICIPANTPARTNER_ENTITY_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "participantpartnerEntityRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean participantpartnerRoleRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.PARTICIPANT__PARTICIPANTPARTNER_ROLE_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "participantpartnerRoleRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ParticipantinterfaceRefs(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.PARTICIPANT__PARTICIPANTINTERFACE_REFS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ParticipantinterfaceRefs", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.PARTICIPANT__PARTNER_ENTITY_REF:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getPartnerEntityRef()).basicAdd(otherEnd, msgs);
+ case BPMNProfilePackage.PARTICIPANT__PARTNER_ROLE_REF:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getPartnerRoleRef()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.PARTICIPANT__PARTNER_ENTITY_REF:
+ return ((InternalEList<?>)getPartnerEntityRef()).basicRemove(otherEnd, msgs);
+ case BPMNProfilePackage.PARTICIPANT__PARTNER_ROLE_REF:
+ return ((InternalEList<?>)getPartnerRoleRef()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.PARTICIPANT__BASE_PROPERTY:
+ if (resolve) return getBase_Property();
+ return basicGetBase_Property();
+ case BPMNProfilePackage.PARTICIPANT__PROCESS_REF:
+ if (resolve) return getProcessRef();
+ return basicGetProcessRef();
+ case BPMNProfilePackage.PARTICIPANT__PARTICIPANT_MULTIPLICITY:
+ if (resolve) return getParticipantMultiplicity();
+ return basicGetParticipantMultiplicity();
+ case BPMNProfilePackage.PARTICIPANT__PARTNER_ENTITY_REF:
+ return getPartnerEntityRef();
+ case BPMNProfilePackage.PARTICIPANT__PARTNER_ROLE_REF:
+ return getPartnerRoleRef();
+ case BPMNProfilePackage.PARTICIPANT__INTERFACE_REFS:
+ return getInterfaceRefs();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.PARTICIPANT__BASE_PROPERTY:
+ setBase_Property((Property)newValue);
+ return;
+ case BPMNProfilePackage.PARTICIPANT__PROCESS_REF:
+ setProcessRef((BPMNProcess)newValue);
+ return;
+ case BPMNProfilePackage.PARTICIPANT__PARTICIPANT_MULTIPLICITY:
+ setParticipantMultiplicity((ParticipantMultiplicity)newValue);
+ return;
+ case BPMNProfilePackage.PARTICIPANT__PARTNER_ENTITY_REF:
+ getPartnerEntityRef().clear();
+ getPartnerEntityRef().addAll((Collection<? extends PartnerEntity>)newValue);
+ return;
+ case BPMNProfilePackage.PARTICIPANT__PARTNER_ROLE_REF:
+ getPartnerRoleRef().clear();
+ getPartnerRoleRef().addAll((Collection<? extends PartnerRole>)newValue);
+ return;
+ case BPMNProfilePackage.PARTICIPANT__INTERFACE_REFS:
+ getInterfaceRefs().clear();
+ getInterfaceRefs().addAll((Collection<? extends BPMNInterface>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.PARTICIPANT__BASE_PROPERTY:
+ setBase_Property((Property)null);
+ return;
+ case BPMNProfilePackage.PARTICIPANT__PROCESS_REF:
+ setProcessRef((BPMNProcess)null);
+ return;
+ case BPMNProfilePackage.PARTICIPANT__PARTICIPANT_MULTIPLICITY:
+ setParticipantMultiplicity((ParticipantMultiplicity)null);
+ return;
+ case BPMNProfilePackage.PARTICIPANT__PARTNER_ENTITY_REF:
+ getPartnerEntityRef().clear();
+ return;
+ case BPMNProfilePackage.PARTICIPANT__PARTNER_ROLE_REF:
+ getPartnerRoleRef().clear();
+ return;
+ case BPMNProfilePackage.PARTICIPANT__INTERFACE_REFS:
+ getInterfaceRefs().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.PARTICIPANT__BASE_PROPERTY:
+ return base_Property != null;
+ case BPMNProfilePackage.PARTICIPANT__PROCESS_REF:
+ return processRef != null;
+ case BPMNProfilePackage.PARTICIPANT__PARTICIPANT_MULTIPLICITY:
+ return participantMultiplicity != null;
+ case BPMNProfilePackage.PARTICIPANT__PARTNER_ENTITY_REF:
+ return partnerEntityRef != null && !partnerEntityRef.isEmpty();
+ case BPMNProfilePackage.PARTICIPANT__PARTNER_ROLE_REF:
+ return partnerRoleRef != null && !partnerRoleRef.isEmpty();
+ case BPMNProfilePackage.PARTICIPANT__INTERFACE_REFS:
+ return interfaceRefs != null && !interfaceRefs.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.PARTICIPANT___PARTICIPANTOWNERSHIP__DIAGNOSTICCHAIN_MAP:
+ return Participantownership((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.PARTICIPANT___PARTICIPANTTYPE__DIAGNOSTICCHAIN_MAP:
+ return Participanttype((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.PARTICIPANT___PARTICIPANTMULTIPLICITY_MINIMUM__DIAGNOSTICCHAIN_MAP:
+ return ParticipantmultiplicityMinimum((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.PARTICIPANT___PARTICIPANTREALIZATIONSUPPLIER__DIAGNOSTICCHAIN_MAP:
+ return Participantrealizationsupplier((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.PARTICIPANT___PARTICIPANTPROCESS_REF__DIAGNOSTICCHAIN_MAP:
+ return ParticipantprocessRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.PARTICIPANT___PARTICIPANTMULTIPLICITY_MAXIMUM__DIAGNOSTICCHAIN_MAP:
+ return ParticipantmultiplicityMaximum((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.PARTICIPANT___PARTICIPANTPARTNER_ENTITY_REF__DIAGNOSTICCHAIN_MAP:
+ return participantpartnerEntityRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.PARTICIPANT___PARTICIPANTPARTNER_ROLE_REF__DIAGNOSTICCHAIN_MAP:
+ return participantpartnerRoleRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.PARTICIPANT___PARTICIPANTINTERFACE_REFS__DIAGNOSTICCHAIN_MAP:
+ return ParticipantinterfaceRefs((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //ParticipantImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ParticipantMultiplicityImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ParticipantMultiplicityImpl.java
new file mode 100644
index 00000000000..4b7642c2b3e
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ParticipantMultiplicityImpl.java
@@ -0,0 +1,279 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantMultiplicity;
+
+import org.eclipse.uml2.uml.MultiplicityElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Participant Multiplicity</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ParticipantMultiplicityImpl#getBase_MultiplicityElement <em>Base Multiplicity Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ParticipantMultiplicityImpl#getMinimum <em>Minimum</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ParticipantMultiplicityImpl#getMaximum <em>Maximum</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ParticipantMultiplicityImpl extends BaseElementImpl implements ParticipantMultiplicity {
+ /**
+ * The cached value of the '{@link #getBase_MultiplicityElement() <em>Base Multiplicity Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_MultiplicityElement()
+ * @generated
+ * @ordered
+ */
+ protected MultiplicityElement base_MultiplicityElement;
+
+ /**
+ * The default value of the '{@link #getMinimum() <em>Minimum</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMinimum()
+ * @generated
+ * @ordered
+ */
+ protected static final int MINIMUM_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getMinimum() <em>Minimum</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMinimum()
+ * @generated
+ * @ordered
+ */
+ protected int minimum = MINIMUM_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getMaximum() <em>Maximum</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMaximum()
+ * @generated
+ * @ordered
+ */
+ protected static final int MAXIMUM_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getMaximum() <em>Maximum</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMaximum()
+ * @generated
+ * @ordered
+ */
+ protected int maximum = MAXIMUM_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ParticipantMultiplicityImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getParticipantMultiplicity();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MultiplicityElement getBase_MultiplicityElement() {
+ if (base_MultiplicityElement != null && base_MultiplicityElement.eIsProxy()) {
+ InternalEObject oldBase_MultiplicityElement = (InternalEObject)base_MultiplicityElement;
+ base_MultiplicityElement = (MultiplicityElement)eResolveProxy(oldBase_MultiplicityElement);
+ if (base_MultiplicityElement != oldBase_MultiplicityElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.PARTICIPANT_MULTIPLICITY__BASE_MULTIPLICITY_ELEMENT, oldBase_MultiplicityElement, base_MultiplicityElement));
+ }
+ }
+ return base_MultiplicityElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MultiplicityElement basicGetBase_MultiplicityElement() {
+ return base_MultiplicityElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_MultiplicityElement(MultiplicityElement newBase_MultiplicityElement) {
+ MultiplicityElement oldBase_MultiplicityElement = base_MultiplicityElement;
+ base_MultiplicityElement = newBase_MultiplicityElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.PARTICIPANT_MULTIPLICITY__BASE_MULTIPLICITY_ELEMENT, oldBase_MultiplicityElement, base_MultiplicityElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getMinimum() {
+ return minimum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMinimum(int newMinimum) {
+ int oldMinimum = minimum;
+ minimum = newMinimum;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.PARTICIPANT_MULTIPLICITY__MINIMUM, oldMinimum, minimum));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getMaximum() {
+ return maximum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMaximum(int newMaximum) {
+ int oldMaximum = maximum;
+ maximum = newMaximum;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.PARTICIPANT_MULTIPLICITY__MAXIMUM, oldMaximum, maximum));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.PARTICIPANT_MULTIPLICITY__BASE_MULTIPLICITY_ELEMENT:
+ if (resolve) return getBase_MultiplicityElement();
+ return basicGetBase_MultiplicityElement();
+ case BPMNProfilePackage.PARTICIPANT_MULTIPLICITY__MINIMUM:
+ return getMinimum();
+ case BPMNProfilePackage.PARTICIPANT_MULTIPLICITY__MAXIMUM:
+ return getMaximum();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.PARTICIPANT_MULTIPLICITY__BASE_MULTIPLICITY_ELEMENT:
+ setBase_MultiplicityElement((MultiplicityElement)newValue);
+ return;
+ case BPMNProfilePackage.PARTICIPANT_MULTIPLICITY__MINIMUM:
+ setMinimum((Integer)newValue);
+ return;
+ case BPMNProfilePackage.PARTICIPANT_MULTIPLICITY__MAXIMUM:
+ setMaximum((Integer)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.PARTICIPANT_MULTIPLICITY__BASE_MULTIPLICITY_ELEMENT:
+ setBase_MultiplicityElement((MultiplicityElement)null);
+ return;
+ case BPMNProfilePackage.PARTICIPANT_MULTIPLICITY__MINIMUM:
+ setMinimum(MINIMUM_EDEFAULT);
+ return;
+ case BPMNProfilePackage.PARTICIPANT_MULTIPLICITY__MAXIMUM:
+ setMaximum(MAXIMUM_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.PARTICIPANT_MULTIPLICITY__BASE_MULTIPLICITY_ELEMENT:
+ return base_MultiplicityElement != null;
+ case BPMNProfilePackage.PARTICIPANT_MULTIPLICITY__MINIMUM:
+ return minimum != MINIMUM_EDEFAULT;
+ case BPMNProfilePackage.PARTICIPANT_MULTIPLICITY__MAXIMUM:
+ return maximum != MAXIMUM_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (minimum: ");
+ result.append(minimum);
+ result.append(", maximum: ");
+ result.append(maximum);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ParticipantMultiplicityImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/PartnerEntityImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/PartnerEntityImpl.java
new file mode 100644
index 00000000000..980ee5bd0ed
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/PartnerEntityImpl.java
@@ -0,0 +1,281 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Participant;
+import org.eclipse.papyrus.bpmn.BPMNProfile.PartnerEntity;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.InstanceSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Partner Entity</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.PartnerEntityImpl#getBase_InstanceSpecification <em>Base Instance Specification</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.PartnerEntityImpl#getParticipantRef <em>Participant Ref</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PartnerEntityImpl extends RootElementImpl implements PartnerEntity {
+ /**
+ * The cached value of the '{@link #getBase_InstanceSpecification() <em>Base Instance Specification</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_InstanceSpecification()
+ * @generated
+ * @ordered
+ */
+ protected InstanceSpecification base_InstanceSpecification;
+
+ /**
+ * The cached value of the '{@link #getParticipantRef() <em>Participant Ref</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParticipantRef()
+ * @generated
+ * @ordered
+ */
+ protected EList<Participant> participantRef;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PartnerEntityImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getPartnerEntity();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InstanceSpecification getBase_InstanceSpecification() {
+ if (base_InstanceSpecification != null && base_InstanceSpecification.eIsProxy()) {
+ InternalEObject oldBase_InstanceSpecification = (InternalEObject)base_InstanceSpecification;
+ base_InstanceSpecification = (InstanceSpecification)eResolveProxy(oldBase_InstanceSpecification);
+ if (base_InstanceSpecification != oldBase_InstanceSpecification) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.PARTNER_ENTITY__BASE_INSTANCE_SPECIFICATION, oldBase_InstanceSpecification, base_InstanceSpecification));
+ }
+ }
+ return base_InstanceSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InstanceSpecification basicGetBase_InstanceSpecification() {
+ return base_InstanceSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_InstanceSpecification(InstanceSpecification newBase_InstanceSpecification) {
+ InstanceSpecification oldBase_InstanceSpecification = base_InstanceSpecification;
+ base_InstanceSpecification = newBase_InstanceSpecification;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.PARTNER_ENTITY__BASE_INSTANCE_SPECIFICATION, oldBase_InstanceSpecification, base_InstanceSpecification));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Participant> getParticipantRef() {
+ if (participantRef == null) {
+ participantRef = new EObjectWithInverseResolvingEList.ManyInverse<Participant>(Participant.class, this, BPMNProfilePackage.PARTNER_ENTITY__PARTICIPANT_REF, BPMNProfilePackage.PARTICIPANT__PARTNER_ENTITY_REF);
+ }
+ return participantRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean PartnerEntityparticipantRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.PARTNER_ENTITY__PARTNER_ENTITYPARTICIPANT_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "PartnerEntityparticipantRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.PARTNER_ENTITY__PARTICIPANT_REF:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getParticipantRef()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.PARTNER_ENTITY__PARTICIPANT_REF:
+ return ((InternalEList<?>)getParticipantRef()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.PARTNER_ENTITY__BASE_INSTANCE_SPECIFICATION:
+ if (resolve) return getBase_InstanceSpecification();
+ return basicGetBase_InstanceSpecification();
+ case BPMNProfilePackage.PARTNER_ENTITY__PARTICIPANT_REF:
+ return getParticipantRef();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.PARTNER_ENTITY__BASE_INSTANCE_SPECIFICATION:
+ setBase_InstanceSpecification((InstanceSpecification)newValue);
+ return;
+ case BPMNProfilePackage.PARTNER_ENTITY__PARTICIPANT_REF:
+ getParticipantRef().clear();
+ getParticipantRef().addAll((Collection<? extends Participant>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.PARTNER_ENTITY__BASE_INSTANCE_SPECIFICATION:
+ setBase_InstanceSpecification((InstanceSpecification)null);
+ return;
+ case BPMNProfilePackage.PARTNER_ENTITY__PARTICIPANT_REF:
+ getParticipantRef().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.PARTNER_ENTITY__BASE_INSTANCE_SPECIFICATION:
+ return base_InstanceSpecification != null;
+ case BPMNProfilePackage.PARTNER_ENTITY__PARTICIPANT_REF:
+ return participantRef != null && !participantRef.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.PARTNER_ENTITY___PARTNER_ENTITYPARTICIPANT_REF__DIAGNOSTICCHAIN_MAP:
+ return PartnerEntityparticipantRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //PartnerEntityImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/PartnerRoleImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/PartnerRoleImpl.java
new file mode 100644
index 00000000000..98e6ac889c4
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/PartnerRoleImpl.java
@@ -0,0 +1,279 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Participant;
+import org.eclipse.papyrus.bpmn.BPMNProfile.PartnerRole;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Partner Role</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.PartnerRoleImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.PartnerRoleImpl#getParticipantRef <em>Participant Ref</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class PartnerRoleImpl extends RootElementImpl implements PartnerRole {
+ /**
+ * The cached value of the '{@link #getBase_Class() <em>Base Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Class()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.uml2.uml.Class base_Class;
+
+ /**
+ * The cached value of the '{@link #getParticipantRef() <em>Participant Ref</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParticipantRef()
+ * @generated
+ * @ordered
+ */
+ protected EList<Participant> participantRef;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PartnerRoleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getPartnerRole();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class getBase_Class() {
+ if (base_Class != null && base_Class.eIsProxy()) {
+ InternalEObject oldBase_Class = (InternalEObject)base_Class;
+ base_Class = (org.eclipse.uml2.uml.Class)eResolveProxy(oldBase_Class);
+ if (base_Class != oldBase_Class) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.PARTNER_ROLE__BASE_CLASS, oldBase_Class, base_Class));
+ }
+ }
+ return base_Class;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+ return base_Class;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+ org.eclipse.uml2.uml.Class oldBase_Class = base_Class;
+ base_Class = newBase_Class;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.PARTNER_ROLE__BASE_CLASS, oldBase_Class, base_Class));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Participant> getParticipantRef() {
+ if (participantRef == null) {
+ participantRef = new EObjectWithInverseResolvingEList.ManyInverse<Participant>(Participant.class, this, BPMNProfilePackage.PARTNER_ROLE__PARTICIPANT_REF, BPMNProfilePackage.PARTICIPANT__PARTNER_ROLE_REF);
+ }
+ return participantRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean PartnerRoleparticipantRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.PARTNER_ROLE__PARTNER_ROLEPARTICIPANT_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "PartnerRoleparticipantRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.PARTNER_ROLE__PARTICIPANT_REF:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getParticipantRef()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.PARTNER_ROLE__PARTICIPANT_REF:
+ return ((InternalEList<?>)getParticipantRef()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.PARTNER_ROLE__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
+ case BPMNProfilePackage.PARTNER_ROLE__PARTICIPANT_REF:
+ return getParticipantRef();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.PARTNER_ROLE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
+ case BPMNProfilePackage.PARTNER_ROLE__PARTICIPANT_REF:
+ getParticipantRef().clear();
+ getParticipantRef().addAll((Collection<? extends Participant>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.PARTNER_ROLE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
+ case BPMNProfilePackage.PARTNER_ROLE__PARTICIPANT_REF:
+ getParticipantRef().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.PARTNER_ROLE__BASE_CLASS:
+ return base_Class != null;
+ case BPMNProfilePackage.PARTNER_ROLE__PARTICIPANT_REF:
+ return participantRef != null && !participantRef.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.PARTNER_ROLE___PARTNER_ROLEPARTICIPANT_REF__DIAGNOSTICCHAIN_MAP:
+ return PartnerRoleparticipantRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //PartnerRoleImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/PerformerImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/PerformerImpl.java
new file mode 100644
index 00000000000..29ee914e5ae
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/PerformerImpl.java
@@ -0,0 +1,37 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Performer;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Performer</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class PerformerImpl extends ResourceRoleImpl implements Performer {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PerformerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getPerformer();
+ }
+
+} //PerformerImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/PotentialOwnerImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/PotentialOwnerImpl.java
new file mode 100644
index 00000000000..c4a94772be5
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/PotentialOwnerImpl.java
@@ -0,0 +1,37 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.PotentialOwner;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Potential Owner</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class PotentialOwnerImpl extends HumanPerformerImpl implements PotentialOwner {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PotentialOwnerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getPotentialOwner();
+ }
+
+} //PotentialOwnerImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ReceiveTaskImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ReceiveTaskImpl.java
new file mode 100644
index 00000000000..04841cf0a73
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ReceiveTaskImpl.java
@@ -0,0 +1,456 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNMessage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.AcceptEventAction;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Receive Task</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ReceiveTaskImpl#getMessageRef <em>Message Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ReceiveTaskImpl#getBase_AcceptEventAction <em>Base Accept Event Action</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ReceiveTaskImpl#getImplementation <em>Implementation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ReceiveTaskImpl#isInstantiate <em>Instantiate</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ReceiveTaskImpl#getOperationRef <em>Operation Ref</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ReceiveTaskImpl extends TaskImpl implements ReceiveTask {
+ /**
+ * The cached value of the '{@link #getMessageRef() <em>Message Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMessageRef()
+ * @generated
+ * @ordered
+ */
+ protected BPMNMessage messageRef;
+
+ /**
+ * The cached value of the '{@link #getBase_AcceptEventAction() <em>Base Accept Event Action</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_AcceptEventAction()
+ * @generated
+ * @ordered
+ */
+ protected AcceptEventAction base_AcceptEventAction;
+
+ /**
+ * The default value of the '{@link #getImplementation() <em>Implementation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImplementation()
+ * @generated
+ * @ordered
+ */
+ protected static final String IMPLEMENTATION_EDEFAULT = "##webService";
+
+ /**
+ * The cached value of the '{@link #getImplementation() <em>Implementation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImplementation()
+ * @generated
+ * @ordered
+ */
+ protected String implementation = IMPLEMENTATION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isInstantiate() <em>Instantiate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isInstantiate()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean INSTANTIATE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isInstantiate() <em>Instantiate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isInstantiate()
+ * @generated
+ * @ordered
+ */
+ protected boolean instantiate = INSTANTIATE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getOperationRef() <em>Operation Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOperationRef()
+ * @generated
+ * @ordered
+ */
+ protected BPMNOperation operationRef;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReceiveTaskImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getReceiveTask();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNMessage getMessageRef() {
+ if (messageRef != null && messageRef.eIsProxy()) {
+ InternalEObject oldMessageRef = (InternalEObject)messageRef;
+ messageRef = (BPMNMessage)eResolveProxy(oldMessageRef);
+ if (messageRef != oldMessageRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.RECEIVE_TASK__MESSAGE_REF, oldMessageRef, messageRef));
+ }
+ }
+ return messageRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNMessage basicGetMessageRef() {
+ return messageRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMessageRef(BPMNMessage newMessageRef) {
+ BPMNMessage oldMessageRef = messageRef;
+ messageRef = newMessageRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.RECEIVE_TASK__MESSAGE_REF, oldMessageRef, messageRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AcceptEventAction getBase_AcceptEventAction() {
+ if (base_AcceptEventAction != null && base_AcceptEventAction.eIsProxy()) {
+ InternalEObject oldBase_AcceptEventAction = (InternalEObject)base_AcceptEventAction;
+ base_AcceptEventAction = (AcceptEventAction)eResolveProxy(oldBase_AcceptEventAction);
+ if (base_AcceptEventAction != oldBase_AcceptEventAction) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.RECEIVE_TASK__BASE_ACCEPT_EVENT_ACTION, oldBase_AcceptEventAction, base_AcceptEventAction));
+ }
+ }
+ return base_AcceptEventAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AcceptEventAction basicGetBase_AcceptEventAction() {
+ return base_AcceptEventAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_AcceptEventAction(AcceptEventAction newBase_AcceptEventAction) {
+ AcceptEventAction oldBase_AcceptEventAction = base_AcceptEventAction;
+ base_AcceptEventAction = newBase_AcceptEventAction;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.RECEIVE_TASK__BASE_ACCEPT_EVENT_ACTION, oldBase_AcceptEventAction, base_AcceptEventAction));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getImplementation() {
+ return implementation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setImplementation(String newImplementation) {
+ String oldImplementation = implementation;
+ implementation = newImplementation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.RECEIVE_TASK__IMPLEMENTATION, oldImplementation, implementation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isInstantiate() {
+ return instantiate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInstantiate(boolean newInstantiate) {
+ boolean oldInstantiate = instantiate;
+ instantiate = newInstantiate;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.RECEIVE_TASK__INSTANTIATE, oldInstantiate, instantiate));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNOperation getOperationRef() {
+ if (operationRef != null && operationRef.eIsProxy()) {
+ InternalEObject oldOperationRef = (InternalEObject)operationRef;
+ operationRef = (BPMNOperation)eResolveProxy(oldOperationRef);
+ if (operationRef != oldOperationRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.RECEIVE_TASK__OPERATION_REF, oldOperationRef, operationRef));
+ }
+ }
+ return operationRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNOperation basicGetOperationRef() {
+ return operationRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOperationRef(BPMNOperation newOperationRef) {
+ BPMNOperation oldOperationRef = operationRef;
+ operationRef = newOperationRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.RECEIVE_TASK__OPERATION_REF, oldOperationRef, operationRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ReceiveTaskoperationRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.RECEIVE_TASK__RECEIVE_TASKOPERATION_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ReceiveTaskoperationRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.RECEIVE_TASK__MESSAGE_REF:
+ if (resolve) return getMessageRef();
+ return basicGetMessageRef();
+ case BPMNProfilePackage.RECEIVE_TASK__BASE_ACCEPT_EVENT_ACTION:
+ if (resolve) return getBase_AcceptEventAction();
+ return basicGetBase_AcceptEventAction();
+ case BPMNProfilePackage.RECEIVE_TASK__IMPLEMENTATION:
+ return getImplementation();
+ case BPMNProfilePackage.RECEIVE_TASK__INSTANTIATE:
+ return isInstantiate();
+ case BPMNProfilePackage.RECEIVE_TASK__OPERATION_REF:
+ if (resolve) return getOperationRef();
+ return basicGetOperationRef();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.RECEIVE_TASK__MESSAGE_REF:
+ setMessageRef((BPMNMessage)newValue);
+ return;
+ case BPMNProfilePackage.RECEIVE_TASK__BASE_ACCEPT_EVENT_ACTION:
+ setBase_AcceptEventAction((AcceptEventAction)newValue);
+ return;
+ case BPMNProfilePackage.RECEIVE_TASK__IMPLEMENTATION:
+ setImplementation((String)newValue);
+ return;
+ case BPMNProfilePackage.RECEIVE_TASK__INSTANTIATE:
+ setInstantiate((Boolean)newValue);
+ return;
+ case BPMNProfilePackage.RECEIVE_TASK__OPERATION_REF:
+ setOperationRef((BPMNOperation)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.RECEIVE_TASK__MESSAGE_REF:
+ setMessageRef((BPMNMessage)null);
+ return;
+ case BPMNProfilePackage.RECEIVE_TASK__BASE_ACCEPT_EVENT_ACTION:
+ setBase_AcceptEventAction((AcceptEventAction)null);
+ return;
+ case BPMNProfilePackage.RECEIVE_TASK__IMPLEMENTATION:
+ setImplementation(IMPLEMENTATION_EDEFAULT);
+ return;
+ case BPMNProfilePackage.RECEIVE_TASK__INSTANTIATE:
+ setInstantiate(INSTANTIATE_EDEFAULT);
+ return;
+ case BPMNProfilePackage.RECEIVE_TASK__OPERATION_REF:
+ setOperationRef((BPMNOperation)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.RECEIVE_TASK__MESSAGE_REF:
+ return messageRef != null;
+ case BPMNProfilePackage.RECEIVE_TASK__BASE_ACCEPT_EVENT_ACTION:
+ return base_AcceptEventAction != null;
+ case BPMNProfilePackage.RECEIVE_TASK__IMPLEMENTATION:
+ return IMPLEMENTATION_EDEFAULT == null ? implementation != null : !IMPLEMENTATION_EDEFAULT.equals(implementation);
+ case BPMNProfilePackage.RECEIVE_TASK__INSTANTIATE:
+ return instantiate != INSTANTIATE_EDEFAULT;
+ case BPMNProfilePackage.RECEIVE_TASK__OPERATION_REF:
+ return operationRef != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.RECEIVE_TASK___RECEIVE_TASKOPERATION_REF__DIAGNOSTICCHAIN_MAP:
+ return ReceiveTaskoperationRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (implementation: ");
+ result.append(implementation);
+ result.append(", instantiate: ");
+ result.append(instantiate);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ReceiveTaskImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/RenderingImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/RenderingImpl.java
new file mode 100644
index 00000000000..f5c80c9b143
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/RenderingImpl.java
@@ -0,0 +1,157 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Rendering;
+
+import org.eclipse.uml2.uml.Image;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Rendering</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.RenderingImpl#getBase_Image <em>Base Image</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class RenderingImpl extends BaseElementImpl implements Rendering {
+ /**
+ * The cached value of the '{@link #getBase_Image() <em>Base Image</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Image()
+ * @generated
+ * @ordered
+ */
+ protected Image base_Image;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RenderingImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getRendering();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Image getBase_Image() {
+ if (base_Image != null && base_Image.eIsProxy()) {
+ InternalEObject oldBase_Image = (InternalEObject)base_Image;
+ base_Image = (Image)eResolveProxy(oldBase_Image);
+ if (base_Image != oldBase_Image) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.RENDERING__BASE_IMAGE, oldBase_Image, base_Image));
+ }
+ }
+ return base_Image;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Image basicGetBase_Image() {
+ return base_Image;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Image(Image newBase_Image) {
+ Image oldBase_Image = base_Image;
+ base_Image = newBase_Image;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.RENDERING__BASE_IMAGE, oldBase_Image, base_Image));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.RENDERING__BASE_IMAGE:
+ if (resolve) return getBase_Image();
+ return basicGetBase_Image();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.RENDERING__BASE_IMAGE:
+ setBase_Image((Image)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.RENDERING__BASE_IMAGE:
+ setBase_Image((Image)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.RENDERING__BASE_IMAGE:
+ return base_Image != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //RenderingImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ResourceAssignmentExpressionImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ResourceAssignmentExpressionImpl.java
new file mode 100644
index 00000000000..1204c0c9ed3
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ResourceAssignmentExpressionImpl.java
@@ -0,0 +1,209 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceAssignmentExpression;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Resource Assignment Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ResourceAssignmentExpressionImpl#getExpression <em>Expression</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ResourceAssignmentExpressionImpl extends BPMNExpressionImpl implements ResourceAssignmentExpression {
+ /**
+ * The cached value of the '{@link #getExpression() <em>Expression</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExpression()
+ * @generated
+ * @ordered
+ */
+ protected BPMNExpression expression;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ResourceAssignmentExpressionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getResourceAssignmentExpression();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExpression getExpression() {
+ if (expression != null && expression.eIsProxy()) {
+ InternalEObject oldExpression = (InternalEObject)expression;
+ expression = (BPMNExpression)eResolveProxy(oldExpression);
+ if (expression != oldExpression) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.RESOURCE_ASSIGNMENT_EXPRESSION__EXPRESSION, oldExpression, expression));
+ }
+ }
+ return expression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExpression basicGetExpression() {
+ return expression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExpression(BPMNExpression newExpression) {
+ BPMNExpression oldExpression = expression;
+ expression = newExpression;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.RESOURCE_ASSIGNMENT_EXPRESSION__EXPRESSION, oldExpression, expression));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ResourceAssignmentExpressionexpression(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.RESOURCE_ASSIGNMENT_EXPRESSION__RESOURCE_ASSIGNMENT_EXPRESSIONEXPRESSION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ResourceAssignmentExpressionexpression", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.RESOURCE_ASSIGNMENT_EXPRESSION__EXPRESSION:
+ if (resolve) return getExpression();
+ return basicGetExpression();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.RESOURCE_ASSIGNMENT_EXPRESSION__EXPRESSION:
+ setExpression((BPMNExpression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.RESOURCE_ASSIGNMENT_EXPRESSION__EXPRESSION:
+ setExpression((BPMNExpression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.RESOURCE_ASSIGNMENT_EXPRESSION__EXPRESSION:
+ return expression != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.RESOURCE_ASSIGNMENT_EXPRESSION___RESOURCE_ASSIGNMENT_EXPRESSIONEXPRESSION__DIAGNOSTICCHAIN_MAP:
+ return ResourceAssignmentExpressionexpression((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //ResourceAssignmentExpressionImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ResourceImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ResourceImpl.java
new file mode 100644
index 00000000000..fbb446784b1
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ResourceImpl.java
@@ -0,0 +1,183 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Resource;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ResourceImpl#getResourceParameters <em>Resource Parameters</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ResourceImpl extends ItemDefinitionImpl implements Resource {
+ /**
+ * The cached value of the '{@link #getResourceParameters() <em>Resource Parameters</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getResourceParameters()
+ * @generated
+ * @ordered
+ */
+ protected EList<ResourceParameter> resourceParameters;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getResource();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ResourceParameter> getResourceParameters() {
+ if (resourceParameters == null) {
+ resourceParameters = new EObjectResolvingEList<ResourceParameter>(ResourceParameter.class, this, BPMNProfilePackage.RESOURCE__RESOURCE_PARAMETERS);
+ }
+ return resourceParameters;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ResourceresourceParameters(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.RESOURCE__RESOURCERESOURCE_PARAMETERS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ResourceresourceParameters", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.RESOURCE__RESOURCE_PARAMETERS:
+ return getResourceParameters();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.RESOURCE__RESOURCE_PARAMETERS:
+ getResourceParameters().clear();
+ getResourceParameters().addAll((Collection<? extends ResourceParameter>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.RESOURCE__RESOURCE_PARAMETERS:
+ getResourceParameters().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.RESOURCE__RESOURCE_PARAMETERS:
+ return resourceParameters != null && !resourceParameters.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.RESOURCE___RESOURCERESOURCE_PARAMETERS__DIAGNOSTICCHAIN_MAP:
+ return ResourceresourceParameters((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //ResourceImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ResourceParameterBindingImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ResourceParameterBindingImpl.java
new file mode 100644
index 00000000000..b8a9bf86eb8
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ResourceParameterBindingImpl.java
@@ -0,0 +1,360 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameterBinding;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.Slot;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Resource Parameter Binding</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ResourceParameterBindingImpl#getBase_Slot <em>Base Slot</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ResourceParameterBindingImpl#getParameterRef <em>Parameter Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ResourceParameterBindingImpl#getExpression <em>Expression</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ResourceParameterBindingImpl extends BaseElementImpl implements ResourceParameterBinding {
+ /**
+ * The cached value of the '{@link #getBase_Slot() <em>Base Slot</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Slot()
+ * @generated
+ * @ordered
+ */
+ protected Slot base_Slot;
+
+ /**
+ * The cached value of the '{@link #getParameterRef() <em>Parameter Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParameterRef()
+ * @generated
+ * @ordered
+ */
+ protected ResourceParameter parameterRef;
+ /**
+ * The cached value of the '{@link #getExpression() <em>Expression</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExpression()
+ * @generated
+ * @ordered
+ */
+ protected BPMNExpression expression;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ResourceParameterBindingImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getResourceParameterBinding();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Slot getBase_Slot() {
+ if (base_Slot != null && base_Slot.eIsProxy()) {
+ InternalEObject oldBase_Slot = (InternalEObject)base_Slot;
+ base_Slot = (Slot)eResolveProxy(oldBase_Slot);
+ if (base_Slot != oldBase_Slot) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.RESOURCE_PARAMETER_BINDING__BASE_SLOT, oldBase_Slot, base_Slot));
+ }
+ }
+ return base_Slot;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Slot basicGetBase_Slot() {
+ return base_Slot;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Slot(Slot newBase_Slot) {
+ Slot oldBase_Slot = base_Slot;
+ base_Slot = newBase_Slot;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.RESOURCE_PARAMETER_BINDING__BASE_SLOT, oldBase_Slot, base_Slot));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceParameter getParameterRef() {
+ if (parameterRef != null && parameterRef.eIsProxy()) {
+ InternalEObject oldParameterRef = (InternalEObject)parameterRef;
+ parameterRef = (ResourceParameter)eResolveProxy(oldParameterRef);
+ if (parameterRef != oldParameterRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.RESOURCE_PARAMETER_BINDING__PARAMETER_REF, oldParameterRef, parameterRef));
+ }
+ }
+ return parameterRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceParameter basicGetParameterRef() {
+ return parameterRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParameterRef(ResourceParameter newParameterRef) {
+ ResourceParameter oldParameterRef = parameterRef;
+ parameterRef = newParameterRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.RESOURCE_PARAMETER_BINDING__PARAMETER_REF, oldParameterRef, parameterRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExpression getExpression() {
+ if (expression != null && expression.eIsProxy()) {
+ InternalEObject oldExpression = (InternalEObject)expression;
+ expression = (BPMNExpression)eResolveProxy(oldExpression);
+ if (expression != oldExpression) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.RESOURCE_PARAMETER_BINDING__EXPRESSION, oldExpression, expression));
+ }
+ }
+ return expression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExpression basicGetExpression() {
+ return expression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExpression(BPMNExpression newExpression) {
+ BPMNExpression oldExpression = expression;
+ expression = newExpression;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.RESOURCE_PARAMETER_BINDING__EXPRESSION, oldExpression, expression));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ResourceParameterBindingexpression(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.RESOURCE_PARAMETER_BINDING__RESOURCE_PARAMETER_BINDINGEXPRESSION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ResourceParameterBindingexpression", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ResourceParameterBindingparameterRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.RESOURCE_PARAMETER_BINDING__RESOURCE_PARAMETER_BINDINGPARAMETER_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ResourceParameterBindingparameterRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.RESOURCE_PARAMETER_BINDING__BASE_SLOT:
+ if (resolve) return getBase_Slot();
+ return basicGetBase_Slot();
+ case BPMNProfilePackage.RESOURCE_PARAMETER_BINDING__PARAMETER_REF:
+ if (resolve) return getParameterRef();
+ return basicGetParameterRef();
+ case BPMNProfilePackage.RESOURCE_PARAMETER_BINDING__EXPRESSION:
+ if (resolve) return getExpression();
+ return basicGetExpression();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.RESOURCE_PARAMETER_BINDING__BASE_SLOT:
+ setBase_Slot((Slot)newValue);
+ return;
+ case BPMNProfilePackage.RESOURCE_PARAMETER_BINDING__PARAMETER_REF:
+ setParameterRef((ResourceParameter)newValue);
+ return;
+ case BPMNProfilePackage.RESOURCE_PARAMETER_BINDING__EXPRESSION:
+ setExpression((BPMNExpression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.RESOURCE_PARAMETER_BINDING__BASE_SLOT:
+ setBase_Slot((Slot)null);
+ return;
+ case BPMNProfilePackage.RESOURCE_PARAMETER_BINDING__PARAMETER_REF:
+ setParameterRef((ResourceParameter)null);
+ return;
+ case BPMNProfilePackage.RESOURCE_PARAMETER_BINDING__EXPRESSION:
+ setExpression((BPMNExpression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.RESOURCE_PARAMETER_BINDING__BASE_SLOT:
+ return base_Slot != null;
+ case BPMNProfilePackage.RESOURCE_PARAMETER_BINDING__PARAMETER_REF:
+ return parameterRef != null;
+ case BPMNProfilePackage.RESOURCE_PARAMETER_BINDING__EXPRESSION:
+ return expression != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.RESOURCE_PARAMETER_BINDING___RESOURCE_PARAMETER_BINDINGEXPRESSION__DIAGNOSTICCHAIN_MAP:
+ return ResourceParameterBindingexpression((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.RESOURCE_PARAMETER_BINDING___RESOURCE_PARAMETER_BINDINGPARAMETER_REF__DIAGNOSTICCHAIN_MAP:
+ return ResourceParameterBindingparameterRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //ResourceParameterBindingImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ResourceParameterImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ResourceParameterImpl.java
new file mode 100644
index 00000000000..e419aa7809e
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ResourceParameterImpl.java
@@ -0,0 +1,395 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Resource Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ResourceParameterImpl#getBase_Property <em>Base Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ResourceParameterImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ResourceParameterImpl#isRequired <em>Is Required</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ResourceParameterImpl extends BaseElementImpl implements ResourceParameter {
+ /**
+ * The cached value of the '{@link #getBase_Property() <em>Base Property</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Property()
+ * @generated
+ * @ordered
+ */
+ protected Property base_Property;
+
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected ItemDefinition type;
+
+ /**
+ * The default value of the '{@link #isRequired() <em>Is Required</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isRequired()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_REQUIRED_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isRequired() <em>Is Required</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isRequired()
+ * @generated
+ * @ordered
+ */
+ protected boolean isRequired = IS_REQUIRED_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ResourceParameterImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getResourceParameter();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getBase_Property() {
+ if (base_Property != null && base_Property.eIsProxy()) {
+ InternalEObject oldBase_Property = (InternalEObject)base_Property;
+ base_Property = (Property)eResolveProxy(oldBase_Property);
+ if (base_Property != oldBase_Property) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.RESOURCE_PARAMETER__BASE_PROPERTY, oldBase_Property, base_Property));
+ }
+ }
+ return base_Property;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetBase_Property() {
+ return base_Property;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Property(Property newBase_Property) {
+ Property oldBase_Property = base_Property;
+ base_Property = newBase_Property;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.RESOURCE_PARAMETER__BASE_PROPERTY, oldBase_Property, base_Property));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemDefinition getType() {
+ if (type != null && type.eIsProxy()) {
+ InternalEObject oldType = (InternalEObject)type;
+ type = (ItemDefinition)eResolveProxy(oldType);
+ if (type != oldType) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.RESOURCE_PARAMETER__TYPE, oldType, type));
+ }
+ }
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemDefinition basicGetType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(ItemDefinition newType) {
+ ItemDefinition oldType = type;
+ type = newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.RESOURCE_PARAMETER__TYPE, oldType, type));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isRequired() {
+ return isRequired;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsRequired(boolean newIsRequired) {
+ boolean oldIsRequired = isRequired;
+ isRequired = newIsRequired;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.RESOURCE_PARAMETER__IS_REQUIRED, oldIsRequired, isRequired));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ResourceParameterowner(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.RESOURCE_PARAMETER__RESOURCE_PARAMETEROWNER,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ResourceParameterowner", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ResourceParametertype(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.RESOURCE_PARAMETER__RESOURCE_PARAMETERTYPE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ResourceParametertype", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ResourceParameterisRequired(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.RESOURCE_PARAMETER__RESOURCE_PARAMETERIS_REQUIRED,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ResourceParameterisRequired", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.RESOURCE_PARAMETER__BASE_PROPERTY:
+ if (resolve) return getBase_Property();
+ return basicGetBase_Property();
+ case BPMNProfilePackage.RESOURCE_PARAMETER__TYPE:
+ if (resolve) return getType();
+ return basicGetType();
+ case BPMNProfilePackage.RESOURCE_PARAMETER__IS_REQUIRED:
+ return isRequired();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.RESOURCE_PARAMETER__BASE_PROPERTY:
+ setBase_Property((Property)newValue);
+ return;
+ case BPMNProfilePackage.RESOURCE_PARAMETER__TYPE:
+ setType((ItemDefinition)newValue);
+ return;
+ case BPMNProfilePackage.RESOURCE_PARAMETER__IS_REQUIRED:
+ setIsRequired((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.RESOURCE_PARAMETER__BASE_PROPERTY:
+ setBase_Property((Property)null);
+ return;
+ case BPMNProfilePackage.RESOURCE_PARAMETER__TYPE:
+ setType((ItemDefinition)null);
+ return;
+ case BPMNProfilePackage.RESOURCE_PARAMETER__IS_REQUIRED:
+ setIsRequired(IS_REQUIRED_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.RESOURCE_PARAMETER__BASE_PROPERTY:
+ return base_Property != null;
+ case BPMNProfilePackage.RESOURCE_PARAMETER__TYPE:
+ return type != null;
+ case BPMNProfilePackage.RESOURCE_PARAMETER__IS_REQUIRED:
+ return isRequired != IS_REQUIRED_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.RESOURCE_PARAMETER___RESOURCE_PARAMETEROWNER__DIAGNOSTICCHAIN_MAP:
+ return ResourceParameterowner((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.RESOURCE_PARAMETER___RESOURCE_PARAMETERTYPE__DIAGNOSTICCHAIN_MAP:
+ return ResourceParametertype((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.RESOURCE_PARAMETER___RESOURCE_PARAMETERIS_REQUIRED__DIAGNOSTICCHAIN_MAP:
+ return ResourceParameterisRequired((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (isRequired: ");
+ result.append(isRequired);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ResourceParameterImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ResourceRoleImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ResourceRoleImpl.java
new file mode 100644
index 00000000000..67d21eed25d
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ResourceRoleImpl.java
@@ -0,0 +1,594 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Resource;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceAssignmentExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameterBinding;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Resource Role</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ResourceRoleImpl#getBase_Property <em>Base Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ResourceRoleImpl#getResourceAssignmentExpression <em>Resource Assignment Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ResourceRoleImpl#getResourceRef <em>Resource Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ResourceRoleImpl#getResourceParameterBindings <em>Resource Parameter Bindings</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ResourceRoleImpl#getProcess <em>Process</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ResourceRoleImpl extends BaseElementImpl implements ResourceRole {
+ /**
+ * The cached value of the '{@link #getBase_Property() <em>Base Property</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Property()
+ * @generated
+ * @ordered
+ */
+ protected Property base_Property;
+
+ /**
+ * The cached value of the '{@link #getResourceAssignmentExpression() <em>Resource Assignment Expression</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getResourceAssignmentExpression()
+ * @generated
+ * @ordered
+ */
+ protected ResourceAssignmentExpression resourceAssignmentExpression;
+
+ /**
+ * The cached value of the '{@link #getResourceRef() <em>Resource Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getResourceRef()
+ * @generated
+ * @ordered
+ */
+ protected Resource resourceRef;
+
+ /**
+ * The cached value of the '{@link #getResourceParameterBindings() <em>Resource Parameter Bindings</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getResourceParameterBindings()
+ * @generated
+ * @ordered
+ */
+ protected EList<ResourceParameterBinding> resourceParameterBindings;
+
+ /**
+ * The cached value of the '{@link #getProcess() <em>Process</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProcess()
+ * @generated
+ * @ordered
+ */
+ protected BPMNProcess process;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ResourceRoleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getResourceRole();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getBase_Property() {
+ if (base_Property != null && base_Property.eIsProxy()) {
+ InternalEObject oldBase_Property = (InternalEObject)base_Property;
+ base_Property = (Property)eResolveProxy(oldBase_Property);
+ if (base_Property != oldBase_Property) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.RESOURCE_ROLE__BASE_PROPERTY, oldBase_Property, base_Property));
+ }
+ }
+ return base_Property;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetBase_Property() {
+ return base_Property;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Property(Property newBase_Property) {
+ Property oldBase_Property = base_Property;
+ base_Property = newBase_Property;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.RESOURCE_ROLE__BASE_PROPERTY, oldBase_Property, base_Property));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceAssignmentExpression getResourceAssignmentExpression() {
+ if (resourceAssignmentExpression != null && resourceAssignmentExpression.eIsProxy()) {
+ InternalEObject oldResourceAssignmentExpression = (InternalEObject)resourceAssignmentExpression;
+ resourceAssignmentExpression = (ResourceAssignmentExpression)eResolveProxy(oldResourceAssignmentExpression);
+ if (resourceAssignmentExpression != oldResourceAssignmentExpression) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.RESOURCE_ROLE__RESOURCE_ASSIGNMENT_EXPRESSION, oldResourceAssignmentExpression, resourceAssignmentExpression));
+ }
+ }
+ return resourceAssignmentExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceAssignmentExpression basicGetResourceAssignmentExpression() {
+ return resourceAssignmentExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setResourceAssignmentExpression(ResourceAssignmentExpression newResourceAssignmentExpression) {
+ ResourceAssignmentExpression oldResourceAssignmentExpression = resourceAssignmentExpression;
+ resourceAssignmentExpression = newResourceAssignmentExpression;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.RESOURCE_ROLE__RESOURCE_ASSIGNMENT_EXPRESSION, oldResourceAssignmentExpression, resourceAssignmentExpression));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Resource getResourceRef() {
+ if (resourceRef != null && resourceRef.eIsProxy()) {
+ InternalEObject oldResourceRef = (InternalEObject)resourceRef;
+ resourceRef = (Resource)eResolveProxy(oldResourceRef);
+ if (resourceRef != oldResourceRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.RESOURCE_ROLE__RESOURCE_REF, oldResourceRef, resourceRef));
+ }
+ }
+ return resourceRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Resource basicGetResourceRef() {
+ return resourceRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setResourceRef(Resource newResourceRef) {
+ Resource oldResourceRef = resourceRef;
+ resourceRef = newResourceRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.RESOURCE_ROLE__RESOURCE_REF, oldResourceRef, resourceRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ResourceParameterBinding> getResourceParameterBindings() {
+ if (resourceParameterBindings == null) {
+ resourceParameterBindings = new EObjectResolvingEList<ResourceParameterBinding>(ResourceParameterBinding.class, this, BPMNProfilePackage.RESOURCE_ROLE__RESOURCE_PARAMETER_BINDINGS);
+ }
+ return resourceParameterBindings;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNProcess getProcess() {
+ if (process != null && process.eIsProxy()) {
+ InternalEObject oldProcess = (InternalEObject)process;
+ process = (BPMNProcess)eResolveProxy(oldProcess);
+ if (process != oldProcess) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.RESOURCE_ROLE__PROCESS, oldProcess, process));
+ }
+ }
+ return process;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNProcess basicGetProcess() {
+ return process;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetProcess(BPMNProcess newProcess, NotificationChain msgs) {
+ BPMNProcess oldProcess = process;
+ process = newProcess;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.RESOURCE_ROLE__PROCESS, oldProcess, newProcess);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setProcess(BPMNProcess newProcess) {
+ if (newProcess != process) {
+ NotificationChain msgs = null;
+ if (process != null)
+ msgs = ((InternalEObject)process).eInverseRemove(this, BPMNProfilePackage.BPMN_PROCESS__RESOURCES, BPMNProcess.class, msgs);
+ if (newProcess != null)
+ msgs = ((InternalEObject)newProcess).eInverseAdd(this, BPMNProfilePackage.BPMN_PROCESS__RESOURCES, BPMNProcess.class, msgs);
+ msgs = basicSetProcess(newProcess, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.RESOURCE_ROLE__PROCESS, newProcess, newProcess));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ResourceRoleowner(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.RESOURCE_ROLE__RESOURCE_ROLEOWNER,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ResourceRoleowner", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ResourceRoleresourceRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.RESOURCE_ROLE__RESOURCE_ROLERESOURCE_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ResourceRoleresourceRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ResourceRoleisRequired(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.RESOURCE_ROLE__RESOURCE_ROLEIS_REQUIRED,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ResourceRoleisRequired", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ResourceRoleprocess(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.RESOURCE_ROLE__RESOURCE_ROLEPROCESS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ResourceRoleprocess", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ResourceRoleresourceParameterBindings(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.RESOURCE_ROLE__RESOURCE_ROLERESOURCE_PARAMETER_BINDINGS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ResourceRoleresourceParameterBindings", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.RESOURCE_ROLE__PROCESS:
+ if (process != null)
+ msgs = ((InternalEObject)process).eInverseRemove(this, BPMNProfilePackage.BPMN_PROCESS__RESOURCES, BPMNProcess.class, msgs);
+ return basicSetProcess((BPMNProcess)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.RESOURCE_ROLE__PROCESS:
+ return basicSetProcess(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.RESOURCE_ROLE__BASE_PROPERTY:
+ if (resolve) return getBase_Property();
+ return basicGetBase_Property();
+ case BPMNProfilePackage.RESOURCE_ROLE__RESOURCE_ASSIGNMENT_EXPRESSION:
+ if (resolve) return getResourceAssignmentExpression();
+ return basicGetResourceAssignmentExpression();
+ case BPMNProfilePackage.RESOURCE_ROLE__RESOURCE_REF:
+ if (resolve) return getResourceRef();
+ return basicGetResourceRef();
+ case BPMNProfilePackage.RESOURCE_ROLE__RESOURCE_PARAMETER_BINDINGS:
+ return getResourceParameterBindings();
+ case BPMNProfilePackage.RESOURCE_ROLE__PROCESS:
+ if (resolve) return getProcess();
+ return basicGetProcess();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.RESOURCE_ROLE__BASE_PROPERTY:
+ setBase_Property((Property)newValue);
+ return;
+ case BPMNProfilePackage.RESOURCE_ROLE__RESOURCE_ASSIGNMENT_EXPRESSION:
+ setResourceAssignmentExpression((ResourceAssignmentExpression)newValue);
+ return;
+ case BPMNProfilePackage.RESOURCE_ROLE__RESOURCE_REF:
+ setResourceRef((Resource)newValue);
+ return;
+ case BPMNProfilePackage.RESOURCE_ROLE__RESOURCE_PARAMETER_BINDINGS:
+ getResourceParameterBindings().clear();
+ getResourceParameterBindings().addAll((Collection<? extends ResourceParameterBinding>)newValue);
+ return;
+ case BPMNProfilePackage.RESOURCE_ROLE__PROCESS:
+ setProcess((BPMNProcess)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.RESOURCE_ROLE__BASE_PROPERTY:
+ setBase_Property((Property)null);
+ return;
+ case BPMNProfilePackage.RESOURCE_ROLE__RESOURCE_ASSIGNMENT_EXPRESSION:
+ setResourceAssignmentExpression((ResourceAssignmentExpression)null);
+ return;
+ case BPMNProfilePackage.RESOURCE_ROLE__RESOURCE_REF:
+ setResourceRef((Resource)null);
+ return;
+ case BPMNProfilePackage.RESOURCE_ROLE__RESOURCE_PARAMETER_BINDINGS:
+ getResourceParameterBindings().clear();
+ return;
+ case BPMNProfilePackage.RESOURCE_ROLE__PROCESS:
+ setProcess((BPMNProcess)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.RESOURCE_ROLE__BASE_PROPERTY:
+ return base_Property != null;
+ case BPMNProfilePackage.RESOURCE_ROLE__RESOURCE_ASSIGNMENT_EXPRESSION:
+ return resourceAssignmentExpression != null;
+ case BPMNProfilePackage.RESOURCE_ROLE__RESOURCE_REF:
+ return resourceRef != null;
+ case BPMNProfilePackage.RESOURCE_ROLE__RESOURCE_PARAMETER_BINDINGS:
+ return resourceParameterBindings != null && !resourceParameterBindings.isEmpty();
+ case BPMNProfilePackage.RESOURCE_ROLE__PROCESS:
+ return process != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.RESOURCE_ROLE___RESOURCE_ROLEOWNER__DIAGNOSTICCHAIN_MAP:
+ return ResourceRoleowner((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.RESOURCE_ROLE___RESOURCE_ROLERESOURCE_REF__DIAGNOSTICCHAIN_MAP:
+ return ResourceRoleresourceRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.RESOURCE_ROLE___RESOURCE_ROLEIS_REQUIRED__DIAGNOSTICCHAIN_MAP:
+ return ResourceRoleisRequired((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.RESOURCE_ROLE___RESOURCE_ROLEPROCESS__DIAGNOSTICCHAIN_MAP:
+ return ResourceRoleprocess((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.RESOURCE_ROLE___RESOURCE_ROLERESOURCE_PARAMETER_BINDINGS__DIAGNOSTICCHAIN_MAP:
+ return ResourceRoleresourceParameterBindings((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //ResourceRoleImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/RootElementImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/RootElementImpl.java
new file mode 100644
index 00000000000..139044e6fc9
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/RootElementImpl.java
@@ -0,0 +1,271 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Definitions;
+import org.eclipse.papyrus.bpmn.BPMNProfile.RootElement;
+
+import org.eclipse.uml2.uml.PackageableElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Root Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.RootElementImpl#getBase_PackageableElement <em>Base Packageable Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.RootElementImpl#getDefinition <em>Definition</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class RootElementImpl extends BaseElementImpl implements RootElement {
+ /**
+ * The cached value of the '{@link #getBase_PackageableElement() <em>Base Packageable Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_PackageableElement()
+ * @generated
+ * @ordered
+ */
+ protected PackageableElement base_PackageableElement;
+
+ /**
+ * The cached value of the '{@link #getDefinition() <em>Definition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefinition()
+ * @generated
+ * @ordered
+ */
+ protected Definitions definition;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RootElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getRootElement();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageableElement getBase_PackageableElement() {
+ if (base_PackageableElement != null && base_PackageableElement.eIsProxy()) {
+ InternalEObject oldBase_PackageableElement = (InternalEObject)base_PackageableElement;
+ base_PackageableElement = (PackageableElement)eResolveProxy(oldBase_PackageableElement);
+ if (base_PackageableElement != oldBase_PackageableElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.ROOT_ELEMENT__BASE_PACKAGEABLE_ELEMENT, oldBase_PackageableElement, base_PackageableElement));
+ }
+ }
+ return base_PackageableElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PackageableElement basicGetBase_PackageableElement() {
+ return base_PackageableElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_PackageableElement(PackageableElement newBase_PackageableElement) {
+ PackageableElement oldBase_PackageableElement = base_PackageableElement;
+ base_PackageableElement = newBase_PackageableElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.ROOT_ELEMENT__BASE_PACKAGEABLE_ELEMENT, oldBase_PackageableElement, base_PackageableElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Definitions getDefinition() {
+ if (definition != null && definition.eIsProxy()) {
+ InternalEObject oldDefinition = (InternalEObject)definition;
+ definition = (Definitions)eResolveProxy(oldDefinition);
+ if (definition != oldDefinition) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.ROOT_ELEMENT__DEFINITION, oldDefinition, definition));
+ }
+ }
+ return definition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Definitions basicGetDefinition() {
+ return definition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetDefinition(Definitions newDefinition, NotificationChain msgs) {
+ Definitions oldDefinition = definition;
+ definition = newDefinition;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.ROOT_ELEMENT__DEFINITION, oldDefinition, newDefinition);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDefinition(Definitions newDefinition) {
+ if (newDefinition != definition) {
+ NotificationChain msgs = null;
+ if (definition != null)
+ msgs = ((InternalEObject)definition).eInverseRemove(this, BPMNProfilePackage.DEFINITIONS__ROOT_ELEMENTS, Definitions.class, msgs);
+ if (newDefinition != null)
+ msgs = ((InternalEObject)newDefinition).eInverseAdd(this, BPMNProfilePackage.DEFINITIONS__ROOT_ELEMENTS, Definitions.class, msgs);
+ msgs = basicSetDefinition(newDefinition, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.ROOT_ELEMENT__DEFINITION, newDefinition, newDefinition));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.ROOT_ELEMENT__DEFINITION:
+ if (definition != null)
+ msgs = ((InternalEObject)definition).eInverseRemove(this, BPMNProfilePackage.DEFINITIONS__ROOT_ELEMENTS, Definitions.class, msgs);
+ return basicSetDefinition((Definitions)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.ROOT_ELEMENT__DEFINITION:
+ return basicSetDefinition(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.ROOT_ELEMENT__BASE_PACKAGEABLE_ELEMENT:
+ if (resolve) return getBase_PackageableElement();
+ return basicGetBase_PackageableElement();
+ case BPMNProfilePackage.ROOT_ELEMENT__DEFINITION:
+ if (resolve) return getDefinition();
+ return basicGetDefinition();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.ROOT_ELEMENT__BASE_PACKAGEABLE_ELEMENT:
+ setBase_PackageableElement((PackageableElement)newValue);
+ return;
+ case BPMNProfilePackage.ROOT_ELEMENT__DEFINITION:
+ setDefinition((Definitions)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.ROOT_ELEMENT__BASE_PACKAGEABLE_ELEMENT:
+ setBase_PackageableElement((PackageableElement)null);
+ return;
+ case BPMNProfilePackage.ROOT_ELEMENT__DEFINITION:
+ setDefinition((Definitions)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.ROOT_ELEMENT__BASE_PACKAGEABLE_ELEMENT:
+ return base_PackageableElement != null;
+ case BPMNProfilePackage.ROOT_ELEMENT__DEFINITION:
+ return definition != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //RootElementImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ScriptTaskImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ScriptTaskImpl.java
new file mode 100644
index 00000000000..256450ecee3
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ScriptTaskImpl.java
@@ -0,0 +1,361 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ScriptTask;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.OpaqueAction;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Script Task</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ScriptTaskImpl#getBase_OpaqueAction <em>Base Opaque Action</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ScriptTaskImpl#getScriptFormat <em>Script Format</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ScriptTaskImpl#getScript <em>Script</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ScriptTaskImpl extends TaskImpl implements ScriptTask {
+ /**
+ * The cached value of the '{@link #getBase_OpaqueAction() <em>Base Opaque Action</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_OpaqueAction()
+ * @generated
+ * @ordered
+ */
+ protected OpaqueAction base_OpaqueAction;
+
+ /**
+ * The default value of the '{@link #getScriptFormat() <em>Script Format</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getScriptFormat()
+ * @generated
+ * @ordered
+ */
+ protected static final String SCRIPT_FORMAT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getScriptFormat() <em>Script Format</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getScriptFormat()
+ * @generated
+ * @ordered
+ */
+ protected String scriptFormat = SCRIPT_FORMAT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getScript() <em>Script</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getScript()
+ * @generated
+ * @ordered
+ */
+ protected static final String SCRIPT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getScript() <em>Script</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getScript()
+ * @generated
+ * @ordered
+ */
+ protected String script = SCRIPT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ScriptTaskImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getScriptTask();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpaqueAction getBase_OpaqueAction() {
+ if (base_OpaqueAction != null && base_OpaqueAction.eIsProxy()) {
+ InternalEObject oldBase_OpaqueAction = (InternalEObject)base_OpaqueAction;
+ base_OpaqueAction = (OpaqueAction)eResolveProxy(oldBase_OpaqueAction);
+ if (base_OpaqueAction != oldBase_OpaqueAction) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.SCRIPT_TASK__BASE_OPAQUE_ACTION, oldBase_OpaqueAction, base_OpaqueAction));
+ }
+ }
+ return base_OpaqueAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpaqueAction basicGetBase_OpaqueAction() {
+ return base_OpaqueAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_OpaqueAction(OpaqueAction newBase_OpaqueAction) {
+ OpaqueAction oldBase_OpaqueAction = base_OpaqueAction;
+ base_OpaqueAction = newBase_OpaqueAction;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.SCRIPT_TASK__BASE_OPAQUE_ACTION, oldBase_OpaqueAction, base_OpaqueAction));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getScriptFormat() {
+ return scriptFormat;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setScriptFormat(String newScriptFormat) {
+ String oldScriptFormat = scriptFormat;
+ scriptFormat = newScriptFormat;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.SCRIPT_TASK__SCRIPT_FORMAT, oldScriptFormat, scriptFormat));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getScript() {
+ return script;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setScript(String newScript) {
+ String oldScript = script;
+ script = newScript;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.SCRIPT_TASK__SCRIPT, oldScript, script));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ScriptTaskscriptFormat(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.SCRIPT_TASK__SCRIPT_TASKSCRIPT_FORMAT,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ScriptTaskscriptFormat", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ScriptTaskscript(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.SCRIPT_TASK__SCRIPT_TASKSCRIPT,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ScriptTaskscript", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.SCRIPT_TASK__BASE_OPAQUE_ACTION:
+ if (resolve) return getBase_OpaqueAction();
+ return basicGetBase_OpaqueAction();
+ case BPMNProfilePackage.SCRIPT_TASK__SCRIPT_FORMAT:
+ return getScriptFormat();
+ case BPMNProfilePackage.SCRIPT_TASK__SCRIPT:
+ return getScript();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.SCRIPT_TASK__BASE_OPAQUE_ACTION:
+ setBase_OpaqueAction((OpaqueAction)newValue);
+ return;
+ case BPMNProfilePackage.SCRIPT_TASK__SCRIPT_FORMAT:
+ setScriptFormat((String)newValue);
+ return;
+ case BPMNProfilePackage.SCRIPT_TASK__SCRIPT:
+ setScript((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.SCRIPT_TASK__BASE_OPAQUE_ACTION:
+ setBase_OpaqueAction((OpaqueAction)null);
+ return;
+ case BPMNProfilePackage.SCRIPT_TASK__SCRIPT_FORMAT:
+ setScriptFormat(SCRIPT_FORMAT_EDEFAULT);
+ return;
+ case BPMNProfilePackage.SCRIPT_TASK__SCRIPT:
+ setScript(SCRIPT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.SCRIPT_TASK__BASE_OPAQUE_ACTION:
+ return base_OpaqueAction != null;
+ case BPMNProfilePackage.SCRIPT_TASK__SCRIPT_FORMAT:
+ return SCRIPT_FORMAT_EDEFAULT == null ? scriptFormat != null : !SCRIPT_FORMAT_EDEFAULT.equals(scriptFormat);
+ case BPMNProfilePackage.SCRIPT_TASK__SCRIPT:
+ return SCRIPT_EDEFAULT == null ? script != null : !SCRIPT_EDEFAULT.equals(script);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.SCRIPT_TASK___SCRIPT_TASKSCRIPT_FORMAT__DIAGNOSTICCHAIN_MAP:
+ return ScriptTaskscriptFormat((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.SCRIPT_TASK___SCRIPT_TASKSCRIPT__DIAGNOSTICCHAIN_MAP:
+ return ScriptTaskscript((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (scriptFormat: ");
+ result.append(scriptFormat);
+ result.append(", script: ");
+ result.append(script);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ScriptTaskImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/SendTaskImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/SendTaskImpl.java
new file mode 100644
index 00000000000..2daa7aa619d
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/SendTaskImpl.java
@@ -0,0 +1,402 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNMessage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SendTask;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.CallOperationAction;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Send Task</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.SendTaskImpl#getMessageRef <em>Message Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.SendTaskImpl#getBase_CallOperationAction <em>Base Call Operation Action</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.SendTaskImpl#getImplementation <em>Implementation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.SendTaskImpl#getOperationRef <em>Operation Ref</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SendTaskImpl extends TaskImpl implements SendTask {
+ /**
+ * The cached value of the '{@link #getMessageRef() <em>Message Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMessageRef()
+ * @generated
+ * @ordered
+ */
+ protected BPMNMessage messageRef;
+
+ /**
+ * The cached value of the '{@link #getBase_CallOperationAction() <em>Base Call Operation Action</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_CallOperationAction()
+ * @generated
+ * @ordered
+ */
+ protected CallOperationAction base_CallOperationAction;
+
+ /**
+ * The default value of the '{@link #getImplementation() <em>Implementation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImplementation()
+ * @generated
+ * @ordered
+ */
+ protected static final String IMPLEMENTATION_EDEFAULT = "##webService";
+
+ /**
+ * The cached value of the '{@link #getImplementation() <em>Implementation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImplementation()
+ * @generated
+ * @ordered
+ */
+ protected String implementation = IMPLEMENTATION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getOperationRef() <em>Operation Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOperationRef()
+ * @generated
+ * @ordered
+ */
+ protected BPMNOperation operationRef;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SendTaskImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getSendTask();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNMessage getMessageRef() {
+ if (messageRef != null && messageRef.eIsProxy()) {
+ InternalEObject oldMessageRef = (InternalEObject)messageRef;
+ messageRef = (BPMNMessage)eResolveProxy(oldMessageRef);
+ if (messageRef != oldMessageRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.SEND_TASK__MESSAGE_REF, oldMessageRef, messageRef));
+ }
+ }
+ return messageRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNMessage basicGetMessageRef() {
+ return messageRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMessageRef(BPMNMessage newMessageRef) {
+ BPMNMessage oldMessageRef = messageRef;
+ messageRef = newMessageRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.SEND_TASK__MESSAGE_REF, oldMessageRef, messageRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallOperationAction getBase_CallOperationAction() {
+ if (base_CallOperationAction != null && base_CallOperationAction.eIsProxy()) {
+ InternalEObject oldBase_CallOperationAction = (InternalEObject)base_CallOperationAction;
+ base_CallOperationAction = (CallOperationAction)eResolveProxy(oldBase_CallOperationAction);
+ if (base_CallOperationAction != oldBase_CallOperationAction) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.SEND_TASK__BASE_CALL_OPERATION_ACTION, oldBase_CallOperationAction, base_CallOperationAction));
+ }
+ }
+ return base_CallOperationAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallOperationAction basicGetBase_CallOperationAction() {
+ return base_CallOperationAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_CallOperationAction(CallOperationAction newBase_CallOperationAction) {
+ CallOperationAction oldBase_CallOperationAction = base_CallOperationAction;
+ base_CallOperationAction = newBase_CallOperationAction;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.SEND_TASK__BASE_CALL_OPERATION_ACTION, oldBase_CallOperationAction, base_CallOperationAction));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getImplementation() {
+ return implementation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setImplementation(String newImplementation) {
+ String oldImplementation = implementation;
+ implementation = newImplementation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.SEND_TASK__IMPLEMENTATION, oldImplementation, implementation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNOperation getOperationRef() {
+ if (operationRef != null && operationRef.eIsProxy()) {
+ InternalEObject oldOperationRef = (InternalEObject)operationRef;
+ operationRef = (BPMNOperation)eResolveProxy(oldOperationRef);
+ if (operationRef != oldOperationRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.SEND_TASK__OPERATION_REF, oldOperationRef, operationRef));
+ }
+ }
+ return operationRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNOperation basicGetOperationRef() {
+ return operationRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOperationRef(BPMNOperation newOperationRef) {
+ BPMNOperation oldOperationRef = operationRef;
+ operationRef = newOperationRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.SEND_TASK__OPERATION_REF, oldOperationRef, operationRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean SendTaskoperationRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.SEND_TASK__SEND_TASKOPERATION_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "SendTaskoperationRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.SEND_TASK__MESSAGE_REF:
+ if (resolve) return getMessageRef();
+ return basicGetMessageRef();
+ case BPMNProfilePackage.SEND_TASK__BASE_CALL_OPERATION_ACTION:
+ if (resolve) return getBase_CallOperationAction();
+ return basicGetBase_CallOperationAction();
+ case BPMNProfilePackage.SEND_TASK__IMPLEMENTATION:
+ return getImplementation();
+ case BPMNProfilePackage.SEND_TASK__OPERATION_REF:
+ if (resolve) return getOperationRef();
+ return basicGetOperationRef();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.SEND_TASK__MESSAGE_REF:
+ setMessageRef((BPMNMessage)newValue);
+ return;
+ case BPMNProfilePackage.SEND_TASK__BASE_CALL_OPERATION_ACTION:
+ setBase_CallOperationAction((CallOperationAction)newValue);
+ return;
+ case BPMNProfilePackage.SEND_TASK__IMPLEMENTATION:
+ setImplementation((String)newValue);
+ return;
+ case BPMNProfilePackage.SEND_TASK__OPERATION_REF:
+ setOperationRef((BPMNOperation)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.SEND_TASK__MESSAGE_REF:
+ setMessageRef((BPMNMessage)null);
+ return;
+ case BPMNProfilePackage.SEND_TASK__BASE_CALL_OPERATION_ACTION:
+ setBase_CallOperationAction((CallOperationAction)null);
+ return;
+ case BPMNProfilePackage.SEND_TASK__IMPLEMENTATION:
+ setImplementation(IMPLEMENTATION_EDEFAULT);
+ return;
+ case BPMNProfilePackage.SEND_TASK__OPERATION_REF:
+ setOperationRef((BPMNOperation)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.SEND_TASK__MESSAGE_REF:
+ return messageRef != null;
+ case BPMNProfilePackage.SEND_TASK__BASE_CALL_OPERATION_ACTION:
+ return base_CallOperationAction != null;
+ case BPMNProfilePackage.SEND_TASK__IMPLEMENTATION:
+ return IMPLEMENTATION_EDEFAULT == null ? implementation != null : !IMPLEMENTATION_EDEFAULT.equals(implementation);
+ case BPMNProfilePackage.SEND_TASK__OPERATION_REF:
+ return operationRef != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.SEND_TASK___SEND_TASKOPERATION_REF__DIAGNOSTICCHAIN_MAP:
+ return SendTaskoperationRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (implementation: ");
+ result.append(implementation);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SendTaskImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/SequenceFlowImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/SequenceFlowImpl.java
new file mode 100644
index 00000000000..e74f248864f
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/SequenceFlowImpl.java
@@ -0,0 +1,395 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.ControlFlow;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sequence Flow</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.SequenceFlowImpl#getBase_ControlFlow <em>Base Control Flow</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.SequenceFlowImpl#isImmediate <em>Is Immediate</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.SequenceFlowImpl#getConditionExpression <em>Condition Expression</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SequenceFlowImpl extends FlowElementImpl implements SequenceFlow {
+ /**
+ * The cached value of the '{@link #getBase_ControlFlow() <em>Base Control Flow</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_ControlFlow()
+ * @generated
+ * @ordered
+ */
+ protected ControlFlow base_ControlFlow;
+
+ /**
+ * The default value of the '{@link #isImmediate() <em>Is Immediate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isImmediate()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_IMMEDIATE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isImmediate() <em>Is Immediate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isImmediate()
+ * @generated
+ * @ordered
+ */
+ protected boolean isImmediate = IS_IMMEDIATE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getConditionExpression() <em>Condition Expression</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConditionExpression()
+ * @generated
+ * @ordered
+ */
+ protected BPMNExpression conditionExpression;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SequenceFlowImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getSequenceFlow();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ControlFlow getBase_ControlFlow() {
+ if (base_ControlFlow != null && base_ControlFlow.eIsProxy()) {
+ InternalEObject oldBase_ControlFlow = (InternalEObject)base_ControlFlow;
+ base_ControlFlow = (ControlFlow)eResolveProxy(oldBase_ControlFlow);
+ if (base_ControlFlow != oldBase_ControlFlow) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.SEQUENCE_FLOW__BASE_CONTROL_FLOW, oldBase_ControlFlow, base_ControlFlow));
+ }
+ }
+ return base_ControlFlow;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ControlFlow basicGetBase_ControlFlow() {
+ return base_ControlFlow;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_ControlFlow(ControlFlow newBase_ControlFlow) {
+ ControlFlow oldBase_ControlFlow = base_ControlFlow;
+ base_ControlFlow = newBase_ControlFlow;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.SEQUENCE_FLOW__BASE_CONTROL_FLOW, oldBase_ControlFlow, base_ControlFlow));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isImmediate() {
+ return isImmediate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsImmediate(boolean newIsImmediate) {
+ boolean oldIsImmediate = isImmediate;
+ isImmediate = newIsImmediate;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.SEQUENCE_FLOW__IS_IMMEDIATE, oldIsImmediate, isImmediate));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExpression getConditionExpression() {
+ if (conditionExpression != null && conditionExpression.eIsProxy()) {
+ InternalEObject oldConditionExpression = (InternalEObject)conditionExpression;
+ conditionExpression = (BPMNExpression)eResolveProxy(oldConditionExpression);
+ if (conditionExpression != oldConditionExpression) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.SEQUENCE_FLOW__CONDITION_EXPRESSION, oldConditionExpression, conditionExpression));
+ }
+ }
+ return conditionExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExpression basicGetConditionExpression() {
+ return conditionExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setConditionExpression(BPMNExpression newConditionExpression) {
+ BPMNExpression oldConditionExpression = conditionExpression;
+ conditionExpression = newConditionExpression;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.SEQUENCE_FLOW__CONDITION_EXPRESSION, oldConditionExpression, conditionExpression));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean SequenceFlowconditionExpression(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.SEQUENCE_FLOW__SEQUENCE_FLOWCONDITION_EXPRESSION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "SequenceFlowconditionExpression", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean SequenceFlowsourceRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.SEQUENCE_FLOW__SEQUENCE_FLOWSOURCE_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "SequenceFlowsourceRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean SequenceFlowtargetRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.SEQUENCE_FLOW__SEQUENCE_FLOWTARGET_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "SequenceFlowtargetRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.SEQUENCE_FLOW__BASE_CONTROL_FLOW:
+ if (resolve) return getBase_ControlFlow();
+ return basicGetBase_ControlFlow();
+ case BPMNProfilePackage.SEQUENCE_FLOW__IS_IMMEDIATE:
+ return isImmediate();
+ case BPMNProfilePackage.SEQUENCE_FLOW__CONDITION_EXPRESSION:
+ if (resolve) return getConditionExpression();
+ return basicGetConditionExpression();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.SEQUENCE_FLOW__BASE_CONTROL_FLOW:
+ setBase_ControlFlow((ControlFlow)newValue);
+ return;
+ case BPMNProfilePackage.SEQUENCE_FLOW__IS_IMMEDIATE:
+ setIsImmediate((Boolean)newValue);
+ return;
+ case BPMNProfilePackage.SEQUENCE_FLOW__CONDITION_EXPRESSION:
+ setConditionExpression((BPMNExpression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.SEQUENCE_FLOW__BASE_CONTROL_FLOW:
+ setBase_ControlFlow((ControlFlow)null);
+ return;
+ case BPMNProfilePackage.SEQUENCE_FLOW__IS_IMMEDIATE:
+ setIsImmediate(IS_IMMEDIATE_EDEFAULT);
+ return;
+ case BPMNProfilePackage.SEQUENCE_FLOW__CONDITION_EXPRESSION:
+ setConditionExpression((BPMNExpression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.SEQUENCE_FLOW__BASE_CONTROL_FLOW:
+ return base_ControlFlow != null;
+ case BPMNProfilePackage.SEQUENCE_FLOW__IS_IMMEDIATE:
+ return isImmediate != IS_IMMEDIATE_EDEFAULT;
+ case BPMNProfilePackage.SEQUENCE_FLOW__CONDITION_EXPRESSION:
+ return conditionExpression != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.SEQUENCE_FLOW___SEQUENCE_FLOWCONDITION_EXPRESSION__DIAGNOSTICCHAIN_MAP:
+ return SequenceFlowconditionExpression((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.SEQUENCE_FLOW___SEQUENCE_FLOWSOURCE_REF__DIAGNOSTICCHAIN_MAP:
+ return SequenceFlowsourceRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.SEQUENCE_FLOW___SEQUENCE_FLOWTARGET_REF__DIAGNOSTICCHAIN_MAP:
+ return SequenceFlowtargetRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (isImmediate: ");
+ result.append(isImmediate);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SequenceFlowImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ServiceTaskImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ServiceTaskImpl.java
new file mode 100644
index 00000000000..842b69a03fe
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ServiceTaskImpl.java
@@ -0,0 +1,395 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ServiceTask;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.CallOperationAction;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Service Task</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ServiceTaskImpl#getBase_CallOperationAction <em>Base Call Operation Action</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ServiceTaskImpl#getImplementation <em>Implementation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ServiceTaskImpl#getOperationRef <em>Operation Ref</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ServiceTaskImpl extends TaskImpl implements ServiceTask {
+ /**
+ * The cached value of the '{@link #getBase_CallOperationAction() <em>Base Call Operation Action</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_CallOperationAction()
+ * @generated
+ * @ordered
+ */
+ protected CallOperationAction base_CallOperationAction;
+
+ /**
+ * The default value of the '{@link #getImplementation() <em>Implementation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImplementation()
+ * @generated
+ * @ordered
+ */
+ protected static final String IMPLEMENTATION_EDEFAULT = "##webService";
+
+ /**
+ * The cached value of the '{@link #getImplementation() <em>Implementation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImplementation()
+ * @generated
+ * @ordered
+ */
+ protected String implementation = IMPLEMENTATION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getOperationRef() <em>Operation Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOperationRef()
+ * @generated
+ * @ordered
+ */
+ protected BPMNOperation operationRef;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ServiceTaskImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getServiceTask();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallOperationAction getBase_CallOperationAction() {
+ if (base_CallOperationAction != null && base_CallOperationAction.eIsProxy()) {
+ InternalEObject oldBase_CallOperationAction = (InternalEObject)base_CallOperationAction;
+ base_CallOperationAction = (CallOperationAction)eResolveProxy(oldBase_CallOperationAction);
+ if (base_CallOperationAction != oldBase_CallOperationAction) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.SERVICE_TASK__BASE_CALL_OPERATION_ACTION, oldBase_CallOperationAction, base_CallOperationAction));
+ }
+ }
+ return base_CallOperationAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallOperationAction basicGetBase_CallOperationAction() {
+ return base_CallOperationAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_CallOperationAction(CallOperationAction newBase_CallOperationAction) {
+ CallOperationAction oldBase_CallOperationAction = base_CallOperationAction;
+ base_CallOperationAction = newBase_CallOperationAction;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.SERVICE_TASK__BASE_CALL_OPERATION_ACTION, oldBase_CallOperationAction, base_CallOperationAction));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getImplementation() {
+ return implementation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setImplementation(String newImplementation) {
+ String oldImplementation = implementation;
+ implementation = newImplementation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.SERVICE_TASK__IMPLEMENTATION, oldImplementation, implementation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNOperation getOperationRef() {
+ if (operationRef != null && operationRef.eIsProxy()) {
+ InternalEObject oldOperationRef = (InternalEObject)operationRef;
+ operationRef = (BPMNOperation)eResolveProxy(oldOperationRef);
+ if (operationRef != oldOperationRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.SERVICE_TASK__OPERATION_REF, oldOperationRef, operationRef));
+ }
+ }
+ return operationRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNOperation basicGetOperationRef() {
+ return operationRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOperationRef(BPMNOperation newOperationRef) {
+ BPMNOperation oldOperationRef = operationRef;
+ operationRef = newOperationRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.SERVICE_TASK__OPERATION_REF, oldOperationRef, operationRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ServiceTaskinputSet(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.SERVICE_TASK__SERVICE_TASKINPUT_SET,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ServiceTaskinputSet", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ServiceTaskoutputSet(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.SERVICE_TASK__SERVICE_TASKOUTPUT_SET,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ServiceTaskoutputSet", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ServiceTaskoperationRef(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.SERVICE_TASK__SERVICE_TASKOPERATION_REF,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ServiceTaskoperationRef", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.SERVICE_TASK__BASE_CALL_OPERATION_ACTION:
+ if (resolve) return getBase_CallOperationAction();
+ return basicGetBase_CallOperationAction();
+ case BPMNProfilePackage.SERVICE_TASK__IMPLEMENTATION:
+ return getImplementation();
+ case BPMNProfilePackage.SERVICE_TASK__OPERATION_REF:
+ if (resolve) return getOperationRef();
+ return basicGetOperationRef();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.SERVICE_TASK__BASE_CALL_OPERATION_ACTION:
+ setBase_CallOperationAction((CallOperationAction)newValue);
+ return;
+ case BPMNProfilePackage.SERVICE_TASK__IMPLEMENTATION:
+ setImplementation((String)newValue);
+ return;
+ case BPMNProfilePackage.SERVICE_TASK__OPERATION_REF:
+ setOperationRef((BPMNOperation)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.SERVICE_TASK__BASE_CALL_OPERATION_ACTION:
+ setBase_CallOperationAction((CallOperationAction)null);
+ return;
+ case BPMNProfilePackage.SERVICE_TASK__IMPLEMENTATION:
+ setImplementation(IMPLEMENTATION_EDEFAULT);
+ return;
+ case BPMNProfilePackage.SERVICE_TASK__OPERATION_REF:
+ setOperationRef((BPMNOperation)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.SERVICE_TASK__BASE_CALL_OPERATION_ACTION:
+ return base_CallOperationAction != null;
+ case BPMNProfilePackage.SERVICE_TASK__IMPLEMENTATION:
+ return IMPLEMENTATION_EDEFAULT == null ? implementation != null : !IMPLEMENTATION_EDEFAULT.equals(implementation);
+ case BPMNProfilePackage.SERVICE_TASK__OPERATION_REF:
+ return operationRef != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.SERVICE_TASK___SERVICE_TASKINPUT_SET__DIAGNOSTICCHAIN_MAP:
+ return ServiceTaskinputSet((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.SERVICE_TASK___SERVICE_TASKOUTPUT_SET__DIAGNOSTICCHAIN_MAP:
+ return ServiceTaskoutputSet((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.SERVICE_TASK___SERVICE_TASKOPERATION_REF__DIAGNOSTICCHAIN_MAP:
+ return ServiceTaskoperationRef((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (implementation: ");
+ result.append(implementation);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ServiceTaskImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/SignalEventDefinitionImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/SignalEventDefinitionImpl.java
new file mode 100644
index 00000000000..19c1d0ada19
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/SignalEventDefinitionImpl.java
@@ -0,0 +1,218 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNSignal;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SignalEventDefinition;
+
+import org.eclipse.uml2.uml.CallEvent;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Signal Event Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.SignalEventDefinitionImpl#getSignalRef <em>Signal Ref</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.SignalEventDefinitionImpl#getBase_CallEvent <em>Base Call Event</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SignalEventDefinitionImpl extends EventDefinitionImpl implements SignalEventDefinition {
+ /**
+ * The cached value of the '{@link #getSignalRef() <em>Signal Ref</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSignalRef()
+ * @generated
+ * @ordered
+ */
+ protected BPMNSignal signalRef;
+
+ /**
+ * The cached value of the '{@link #getBase_CallEvent() <em>Base Call Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_CallEvent()
+ * @generated
+ * @ordered
+ */
+ protected CallEvent base_CallEvent;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SignalEventDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getSignalEventDefinition();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNSignal getSignalRef() {
+ if (signalRef != null && signalRef.eIsProxy()) {
+ InternalEObject oldSignalRef = (InternalEObject)signalRef;
+ signalRef = (BPMNSignal)eResolveProxy(oldSignalRef);
+ if (signalRef != oldSignalRef) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.SIGNAL_EVENT_DEFINITION__SIGNAL_REF, oldSignalRef, signalRef));
+ }
+ }
+ return signalRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNSignal basicGetSignalRef() {
+ return signalRef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSignalRef(BPMNSignal newSignalRef) {
+ BPMNSignal oldSignalRef = signalRef;
+ signalRef = newSignalRef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.SIGNAL_EVENT_DEFINITION__SIGNAL_REF, oldSignalRef, signalRef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallEvent getBase_CallEvent() {
+ if (base_CallEvent != null && base_CallEvent.eIsProxy()) {
+ InternalEObject oldBase_CallEvent = (InternalEObject)base_CallEvent;
+ base_CallEvent = (CallEvent)eResolveProxy(oldBase_CallEvent);
+ if (base_CallEvent != oldBase_CallEvent) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.SIGNAL_EVENT_DEFINITION__BASE_CALL_EVENT, oldBase_CallEvent, base_CallEvent));
+ }
+ }
+ return base_CallEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallEvent basicGetBase_CallEvent() {
+ return base_CallEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_CallEvent(CallEvent newBase_CallEvent) {
+ CallEvent oldBase_CallEvent = base_CallEvent;
+ base_CallEvent = newBase_CallEvent;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.SIGNAL_EVENT_DEFINITION__BASE_CALL_EVENT, oldBase_CallEvent, base_CallEvent));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.SIGNAL_EVENT_DEFINITION__SIGNAL_REF:
+ if (resolve) return getSignalRef();
+ return basicGetSignalRef();
+ case BPMNProfilePackage.SIGNAL_EVENT_DEFINITION__BASE_CALL_EVENT:
+ if (resolve) return getBase_CallEvent();
+ return basicGetBase_CallEvent();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.SIGNAL_EVENT_DEFINITION__SIGNAL_REF:
+ setSignalRef((BPMNSignal)newValue);
+ return;
+ case BPMNProfilePackage.SIGNAL_EVENT_DEFINITION__BASE_CALL_EVENT:
+ setBase_CallEvent((CallEvent)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.SIGNAL_EVENT_DEFINITION__SIGNAL_REF:
+ setSignalRef((BPMNSignal)null);
+ return;
+ case BPMNProfilePackage.SIGNAL_EVENT_DEFINITION__BASE_CALL_EVENT:
+ setBase_CallEvent((CallEvent)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.SIGNAL_EVENT_DEFINITION__SIGNAL_REF:
+ return signalRef != null;
+ case BPMNProfilePackage.SIGNAL_EVENT_DEFINITION__BASE_CALL_EVENT:
+ return base_CallEvent != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //SignalEventDefinitionImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/StandardLoopCharacteristicsImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/StandardLoopCharacteristicsImpl.java
new file mode 100644
index 00000000000..cbdd545f87d
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/StandardLoopCharacteristicsImpl.java
@@ -0,0 +1,422 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.LoopNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Standard Loop Characteristics</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.StandardLoopCharacteristicsImpl#getLoopMaximum <em>Loop Maximum</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.StandardLoopCharacteristicsImpl#getBase_LoopNode <em>Base Loop Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.StandardLoopCharacteristicsImpl#isTestBefore <em>Test Before</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.StandardLoopCharacteristicsImpl#getLoopCondition <em>Loop Condition</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class StandardLoopCharacteristicsImpl extends LoopCharacteristicsImpl implements StandardLoopCharacteristics {
+ /**
+ * The default value of the '{@link #getLoopMaximum() <em>Loop Maximum</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLoopMaximum()
+ * @generated
+ * @ordered
+ */
+ protected static final int LOOP_MAXIMUM_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getLoopMaximum() <em>Loop Maximum</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLoopMaximum()
+ * @generated
+ * @ordered
+ */
+ protected int loopMaximum = LOOP_MAXIMUM_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBase_LoopNode() <em>Base Loop Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_LoopNode()
+ * @generated
+ * @ordered
+ */
+ protected LoopNode base_LoopNode;
+
+ /**
+ * The default value of the '{@link #isTestBefore() <em>Test Before</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isTestBefore()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean TEST_BEFORE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isTestBefore() <em>Test Before</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isTestBefore()
+ * @generated
+ * @ordered
+ */
+ protected boolean testBefore = TEST_BEFORE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getLoopCondition() <em>Loop Condition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLoopCondition()
+ * @generated
+ * @ordered
+ */
+ protected BPMNExpression loopCondition;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StandardLoopCharacteristicsImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getStandardLoopCharacteristics();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getLoopMaximum() {
+ return loopMaximum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLoopMaximum(int newLoopMaximum) {
+ int oldLoopMaximum = loopMaximum;
+ loopMaximum = newLoopMaximum;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.STANDARD_LOOP_CHARACTERISTICS__LOOP_MAXIMUM, oldLoopMaximum, loopMaximum));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LoopNode getBase_LoopNode() {
+ if (base_LoopNode != null && base_LoopNode.eIsProxy()) {
+ InternalEObject oldBase_LoopNode = (InternalEObject)base_LoopNode;
+ base_LoopNode = (LoopNode)eResolveProxy(oldBase_LoopNode);
+ if (base_LoopNode != oldBase_LoopNode) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.STANDARD_LOOP_CHARACTERISTICS__BASE_LOOP_NODE, oldBase_LoopNode, base_LoopNode));
+ }
+ }
+ return base_LoopNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LoopNode basicGetBase_LoopNode() {
+ return base_LoopNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_LoopNode(LoopNode newBase_LoopNode) {
+ LoopNode oldBase_LoopNode = base_LoopNode;
+ base_LoopNode = newBase_LoopNode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.STANDARD_LOOP_CHARACTERISTICS__BASE_LOOP_NODE, oldBase_LoopNode, base_LoopNode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isTestBefore() {
+ return testBefore;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTestBefore(boolean newTestBefore) {
+ boolean oldTestBefore = testBefore;
+ testBefore = newTestBefore;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.STANDARD_LOOP_CHARACTERISTICS__TEST_BEFORE, oldTestBefore, testBefore));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExpression getLoopCondition() {
+ if (loopCondition != null && loopCondition.eIsProxy()) {
+ InternalEObject oldLoopCondition = (InternalEObject)loopCondition;
+ loopCondition = (BPMNExpression)eResolveProxy(oldLoopCondition);
+ if (loopCondition != oldLoopCondition) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.STANDARD_LOOP_CHARACTERISTICS__LOOP_CONDITION, oldLoopCondition, loopCondition));
+ }
+ }
+ return loopCondition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExpression basicGetLoopCondition() {
+ return loopCondition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLoopCondition(BPMNExpression newLoopCondition) {
+ BPMNExpression oldLoopCondition = loopCondition;
+ loopCondition = newLoopCondition;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.STANDARD_LOOP_CHARACTERISTICS__LOOP_CONDITION, oldLoopCondition, loopCondition));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean StandardLoopCharacteristicstestBefore(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.STANDARD_LOOP_CHARACTERISTICS__STANDARD_LOOP_CHARACTERISTICSTEST_BEFORE,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "StandardLoopCharacteristicstestBefore", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean StandardLoopCharacteristicsloopCondition(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.STANDARD_LOOP_CHARACTERISTICS__STANDARD_LOOP_CHARACTERISTICSLOOP_CONDITION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "StandardLoopCharacteristicsloopCondition", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.STANDARD_LOOP_CHARACTERISTICS__LOOP_MAXIMUM:
+ return getLoopMaximum();
+ case BPMNProfilePackage.STANDARD_LOOP_CHARACTERISTICS__BASE_LOOP_NODE:
+ if (resolve) return getBase_LoopNode();
+ return basicGetBase_LoopNode();
+ case BPMNProfilePackage.STANDARD_LOOP_CHARACTERISTICS__TEST_BEFORE:
+ return isTestBefore();
+ case BPMNProfilePackage.STANDARD_LOOP_CHARACTERISTICS__LOOP_CONDITION:
+ if (resolve) return getLoopCondition();
+ return basicGetLoopCondition();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.STANDARD_LOOP_CHARACTERISTICS__LOOP_MAXIMUM:
+ setLoopMaximum((Integer)newValue);
+ return;
+ case BPMNProfilePackage.STANDARD_LOOP_CHARACTERISTICS__BASE_LOOP_NODE:
+ setBase_LoopNode((LoopNode)newValue);
+ return;
+ case BPMNProfilePackage.STANDARD_LOOP_CHARACTERISTICS__TEST_BEFORE:
+ setTestBefore((Boolean)newValue);
+ return;
+ case BPMNProfilePackage.STANDARD_LOOP_CHARACTERISTICS__LOOP_CONDITION:
+ setLoopCondition((BPMNExpression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.STANDARD_LOOP_CHARACTERISTICS__LOOP_MAXIMUM:
+ setLoopMaximum(LOOP_MAXIMUM_EDEFAULT);
+ return;
+ case BPMNProfilePackage.STANDARD_LOOP_CHARACTERISTICS__BASE_LOOP_NODE:
+ setBase_LoopNode((LoopNode)null);
+ return;
+ case BPMNProfilePackage.STANDARD_LOOP_CHARACTERISTICS__TEST_BEFORE:
+ setTestBefore(TEST_BEFORE_EDEFAULT);
+ return;
+ case BPMNProfilePackage.STANDARD_LOOP_CHARACTERISTICS__LOOP_CONDITION:
+ setLoopCondition((BPMNExpression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.STANDARD_LOOP_CHARACTERISTICS__LOOP_MAXIMUM:
+ return loopMaximum != LOOP_MAXIMUM_EDEFAULT;
+ case BPMNProfilePackage.STANDARD_LOOP_CHARACTERISTICS__BASE_LOOP_NODE:
+ return base_LoopNode != null;
+ case BPMNProfilePackage.STANDARD_LOOP_CHARACTERISTICS__TEST_BEFORE:
+ return testBefore != TEST_BEFORE_EDEFAULT;
+ case BPMNProfilePackage.STANDARD_LOOP_CHARACTERISTICS__LOOP_CONDITION:
+ return loopCondition != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.STANDARD_LOOP_CHARACTERISTICS___STANDARD_LOOP_CHARACTERISTICSTEST_BEFORE__DIAGNOSTICCHAIN_MAP:
+ return StandardLoopCharacteristicstestBefore((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.STANDARD_LOOP_CHARACTERISTICS___STANDARD_LOOP_CHARACTERISTICSLOOP_CONDITION__DIAGNOSTICCHAIN_MAP:
+ return StandardLoopCharacteristicsloopCondition((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (loopMaximum: ");
+ result.append(loopMaximum);
+ result.append(", testBefore: ");
+ result.append(testBefore);
+ result.append(')');
+ return result.toString();
+ }
+
+} //StandardLoopCharacteristicsImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/StartEventImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/StartEventImpl.java
new file mode 100644
index 00000000000..33eabb53b3b
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/StartEventImpl.java
@@ -0,0 +1,162 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.StartEvent;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Start Event</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.StartEventImpl#isInterrupting <em>Is Interrupting</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class StartEventImpl extends CatchEventImpl implements StartEvent {
+ /**
+ * The default value of the '{@link #isInterrupting() <em>Is Interrupting</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isInterrupting()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_INTERRUPTING_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isInterrupting() <em>Is Interrupting</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isInterrupting()
+ * @generated
+ * @ordered
+ */
+ protected boolean isInterrupting = IS_INTERRUPTING_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StartEventImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getStartEvent();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isInterrupting() {
+ return isInterrupting;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsInterrupting(boolean newIsInterrupting) {
+ boolean oldIsInterrupting = isInterrupting;
+ isInterrupting = newIsInterrupting;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.START_EVENT__IS_INTERRUPTING, oldIsInterrupting, isInterrupting));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.START_EVENT__IS_INTERRUPTING:
+ return isInterrupting();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.START_EVENT__IS_INTERRUPTING:
+ setIsInterrupting((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.START_EVENT__IS_INTERRUPTING:
+ setIsInterrupting(IS_INTERRUPTING_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.START_EVENT__IS_INTERRUPTING:
+ return isInterrupting != IS_INTERRUPTING_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (isInterrupting: ");
+ result.append(isInterrupting);
+ result.append(')');
+ return result.toString();
+ }
+
+} //StartEventImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/SubConversationImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/SubConversationImpl.java
new file mode 100644
index 00000000000..490bb5f3af1
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/SubConversationImpl.java
@@ -0,0 +1,183 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ConversationNode;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SubConversation;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sub Conversation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.SubConversationImpl#getConversationNodes <em>Conversation Nodes</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SubConversationImpl extends ConversationNodeImpl implements SubConversation {
+ /**
+ * The cached value of the '{@link #getConversationNodes() <em>Conversation Nodes</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConversationNodes()
+ * @generated
+ * @ordered
+ */
+ protected EList<ConversationNode> conversationNodes;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SubConversationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getSubConversation();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ConversationNode> getConversationNodes() {
+ if (conversationNodes == null) {
+ conversationNodes = new EObjectResolvingEList<ConversationNode>(ConversationNode.class, this, BPMNProfilePackage.SUB_CONVERSATION__CONVERSATION_NODES);
+ }
+ return conversationNodes;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean SubConversationconnectedelements(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.SUB_CONVERSATION__SUB_CONVERSATIONCONNECTEDELEMENTS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "SubConversationconnectedelements", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.SUB_CONVERSATION__CONVERSATION_NODES:
+ return getConversationNodes();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.SUB_CONVERSATION__CONVERSATION_NODES:
+ getConversationNodes().clear();
+ getConversationNodes().addAll((Collection<? extends ConversationNode>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.SUB_CONVERSATION__CONVERSATION_NODES:
+ getConversationNodes().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.SUB_CONVERSATION__CONVERSATION_NODES:
+ return conversationNodes != null && !conversationNodes.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.SUB_CONVERSATION___SUB_CONVERSATIONCONNECTEDELEMENTS__DIAGNOSTICCHAIN_MAP:
+ return SubConversationconnectedelements((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //SubConversationImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/SubProcessImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/SubProcessImpl.java
new file mode 100644
index 00000000000..f2821600fc9
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/SubProcessImpl.java
@@ -0,0 +1,458 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FlowElementsContainer;
+import org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SubProcess;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.StructuredActivityNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sub Process</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.SubProcessImpl#getLaneSets <em>Lane Sets</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.SubProcessImpl#getFlowElements <em>Flow Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.SubProcessImpl#isTriggeredByEvent <em>Triggered By Event</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.SubProcessImpl#getBase_StructuredActivityNode <em>Base Structured Activity Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.SubProcessImpl#getHasLaneSets <em>Has Lane Sets</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class SubProcessImpl extends BPMNActivityImpl implements SubProcess {
+ /**
+ * The cached value of the '{@link #getLaneSets() <em>Lane Sets</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLaneSets()
+ * @generated
+ * @ordered
+ */
+ protected EList<LaneSet> laneSets;
+
+ /**
+ * The cached value of the '{@link #getFlowElements() <em>Flow Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFlowElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<FlowElement> flowElements;
+
+ /**
+ * The default value of the '{@link #isTriggeredByEvent() <em>Triggered By Event</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isTriggeredByEvent()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean TRIGGERED_BY_EVENT_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isTriggeredByEvent() <em>Triggered By Event</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isTriggeredByEvent()
+ * @generated
+ * @ordered
+ */
+ protected boolean triggeredByEvent = TRIGGERED_BY_EVENT_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBase_StructuredActivityNode() <em>Base Structured Activity Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_StructuredActivityNode()
+ * @generated
+ * @ordered
+ */
+ protected StructuredActivityNode base_StructuredActivityNode;
+
+ /**
+ * The cached value of the '{@link #getHasLaneSets() <em>Has Lane Sets</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHasLaneSets()
+ * @generated
+ * @ordered
+ */
+ protected EList<LaneSet> hasLaneSets;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SubProcessImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getSubProcess();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<LaneSet> getLaneSets() {
+ if (laneSets == null) {
+ laneSets = new EObjectWithInverseResolvingEList<LaneSet>(LaneSet.class, this, BPMNProfilePackage.SUB_PROCESS__LANE_SETS, BPMNProfilePackage.LANE_SET__FLOW_ELEMENTS_CONTAINER);
+ }
+ return laneSets;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<FlowElement> getFlowElements() {
+ if (flowElements == null) {
+ flowElements = new EObjectWithInverseResolvingEList<FlowElement>(FlowElement.class, this, BPMNProfilePackage.SUB_PROCESS__FLOW_ELEMENTS, BPMNProfilePackage.FLOW_ELEMENT__CONTAINER);
+ }
+ return flowElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isTriggeredByEvent() {
+ return triggeredByEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTriggeredByEvent(boolean newTriggeredByEvent) {
+ boolean oldTriggeredByEvent = triggeredByEvent;
+ triggeredByEvent = newTriggeredByEvent;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.SUB_PROCESS__TRIGGERED_BY_EVENT, oldTriggeredByEvent, triggeredByEvent));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StructuredActivityNode getBase_StructuredActivityNode() {
+ if (base_StructuredActivityNode != null && base_StructuredActivityNode.eIsProxy()) {
+ InternalEObject oldBase_StructuredActivityNode = (InternalEObject)base_StructuredActivityNode;
+ base_StructuredActivityNode = (StructuredActivityNode)eResolveProxy(oldBase_StructuredActivityNode);
+ if (base_StructuredActivityNode != oldBase_StructuredActivityNode) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.SUB_PROCESS__BASE_STRUCTURED_ACTIVITY_NODE, oldBase_StructuredActivityNode, base_StructuredActivityNode));
+ }
+ }
+ return base_StructuredActivityNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StructuredActivityNode basicGetBase_StructuredActivityNode() {
+ return base_StructuredActivityNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_StructuredActivityNode(StructuredActivityNode newBase_StructuredActivityNode) {
+ StructuredActivityNode oldBase_StructuredActivityNode = base_StructuredActivityNode;
+ base_StructuredActivityNode = newBase_StructuredActivityNode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.SUB_PROCESS__BASE_STRUCTURED_ACTIVITY_NODE, oldBase_StructuredActivityNode, base_StructuredActivityNode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<LaneSet> getHasLaneSets() {
+ if (hasLaneSets == null) {
+ hasLaneSets = new EObjectResolvingEList<LaneSet>(LaneSet.class, this, BPMNProfilePackage.SUB_PROCESS__HAS_LANE_SETS);
+ }
+ return hasLaneSets;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean SubProcesstriggeredByEvent(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.SUB_PROCESS__SUB_PROCESSTRIGGERED_BY_EVENT,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "SubProcesstriggeredByEvent", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.SUB_PROCESS__LANE_SETS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getLaneSets()).basicAdd(otherEnd, msgs);
+ case BPMNProfilePackage.SUB_PROCESS__FLOW_ELEMENTS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getFlowElements()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case BPMNProfilePackage.SUB_PROCESS__LANE_SETS:
+ return ((InternalEList<?>)getLaneSets()).basicRemove(otherEnd, msgs);
+ case BPMNProfilePackage.SUB_PROCESS__FLOW_ELEMENTS:
+ return ((InternalEList<?>)getFlowElements()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.SUB_PROCESS__LANE_SETS:
+ return getLaneSets();
+ case BPMNProfilePackage.SUB_PROCESS__FLOW_ELEMENTS:
+ return getFlowElements();
+ case BPMNProfilePackage.SUB_PROCESS__TRIGGERED_BY_EVENT:
+ return isTriggeredByEvent();
+ case BPMNProfilePackage.SUB_PROCESS__BASE_STRUCTURED_ACTIVITY_NODE:
+ if (resolve) return getBase_StructuredActivityNode();
+ return basicGetBase_StructuredActivityNode();
+ case BPMNProfilePackage.SUB_PROCESS__HAS_LANE_SETS:
+ return getHasLaneSets();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.SUB_PROCESS__LANE_SETS:
+ getLaneSets().clear();
+ getLaneSets().addAll((Collection<? extends LaneSet>)newValue);
+ return;
+ case BPMNProfilePackage.SUB_PROCESS__FLOW_ELEMENTS:
+ getFlowElements().clear();
+ getFlowElements().addAll((Collection<? extends FlowElement>)newValue);
+ return;
+ case BPMNProfilePackage.SUB_PROCESS__TRIGGERED_BY_EVENT:
+ setTriggeredByEvent((Boolean)newValue);
+ return;
+ case BPMNProfilePackage.SUB_PROCESS__BASE_STRUCTURED_ACTIVITY_NODE:
+ setBase_StructuredActivityNode((StructuredActivityNode)newValue);
+ return;
+ case BPMNProfilePackage.SUB_PROCESS__HAS_LANE_SETS:
+ getHasLaneSets().clear();
+ getHasLaneSets().addAll((Collection<? extends LaneSet>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.SUB_PROCESS__LANE_SETS:
+ getLaneSets().clear();
+ return;
+ case BPMNProfilePackage.SUB_PROCESS__FLOW_ELEMENTS:
+ getFlowElements().clear();
+ return;
+ case BPMNProfilePackage.SUB_PROCESS__TRIGGERED_BY_EVENT:
+ setTriggeredByEvent(TRIGGERED_BY_EVENT_EDEFAULT);
+ return;
+ case BPMNProfilePackage.SUB_PROCESS__BASE_STRUCTURED_ACTIVITY_NODE:
+ setBase_StructuredActivityNode((StructuredActivityNode)null);
+ return;
+ case BPMNProfilePackage.SUB_PROCESS__HAS_LANE_SETS:
+ getHasLaneSets().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.SUB_PROCESS__LANE_SETS:
+ return laneSets != null && !laneSets.isEmpty();
+ case BPMNProfilePackage.SUB_PROCESS__FLOW_ELEMENTS:
+ return flowElements != null && !flowElements.isEmpty();
+ case BPMNProfilePackage.SUB_PROCESS__TRIGGERED_BY_EVENT:
+ return triggeredByEvent != TRIGGERED_BY_EVENT_EDEFAULT;
+ case BPMNProfilePackage.SUB_PROCESS__BASE_STRUCTURED_ACTIVITY_NODE:
+ return base_StructuredActivityNode != null;
+ case BPMNProfilePackage.SUB_PROCESS__HAS_LANE_SETS:
+ return hasLaneSets != null && !hasLaneSets.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == FlowElementsContainer.class) {
+ switch (derivedFeatureID) {
+ case BPMNProfilePackage.SUB_PROCESS__LANE_SETS: return BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER__LANE_SETS;
+ case BPMNProfilePackage.SUB_PROCESS__FLOW_ELEMENTS: return BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER__FLOW_ELEMENTS;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == FlowElementsContainer.class) {
+ switch (baseFeatureID) {
+ case BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER__LANE_SETS: return BPMNProfilePackage.SUB_PROCESS__LANE_SETS;
+ case BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER__FLOW_ELEMENTS: return BPMNProfilePackage.SUB_PROCESS__FLOW_ELEMENTS;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.SUB_PROCESS___SUB_PROCESSTRIGGERED_BY_EVENT__DIAGNOSTICCHAIN_MAP:
+ return SubProcesstriggeredByEvent((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (triggeredByEvent: ");
+ result.append(triggeredByEvent);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SubProcessImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/TaskImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/TaskImpl.java
new file mode 100644
index 00000000000..57ae7fe3336
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/TaskImpl.java
@@ -0,0 +1,154 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Task;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Task</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.TaskImpl#getIoSpecification <em>Io Specification</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TaskImpl extends BPMNActivityImpl implements Task {
+ /**
+ * The cached value of the '{@link #getIoSpecification() <em>Io Specification</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIoSpecification()
+ * @generated
+ * @ordered
+ */
+ protected InputOutputSpecification ioSpecification;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TaskImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getTask();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputOutputSpecification getIoSpecification() {
+ if (ioSpecification != null && ioSpecification.eIsProxy()) {
+ InternalEObject oldIoSpecification = (InternalEObject)ioSpecification;
+ ioSpecification = (InputOutputSpecification)eResolveProxy(oldIoSpecification);
+ if (ioSpecification != oldIoSpecification) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.TASK__IO_SPECIFICATION, oldIoSpecification, ioSpecification));
+ }
+ }
+ return ioSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InputOutputSpecification basicGetIoSpecification() {
+ return ioSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIoSpecification(InputOutputSpecification newIoSpecification) {
+ InputOutputSpecification oldIoSpecification = ioSpecification;
+ ioSpecification = newIoSpecification;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.TASK__IO_SPECIFICATION, oldIoSpecification, ioSpecification));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.TASK__IO_SPECIFICATION:
+ if (resolve) return getIoSpecification();
+ return basicGetIoSpecification();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.TASK__IO_SPECIFICATION:
+ setIoSpecification((InputOutputSpecification)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.TASK__IO_SPECIFICATION:
+ setIoSpecification((InputOutputSpecification)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.TASK__IO_SPECIFICATION:
+ return ioSpecification != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //TaskImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/TerminateEventDefinitionImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/TerminateEventDefinitionImpl.java
new file mode 100644
index 00000000000..4a6b1bac6bb
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/TerminateEventDefinitionImpl.java
@@ -0,0 +1,157 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.TerminateEventDefinition;
+
+import org.eclipse.uml2.uml.CallEvent;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Terminate Event Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.TerminateEventDefinitionImpl#getBase_CallEvent <em>Base Call Event</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TerminateEventDefinitionImpl extends EventDefinitionImpl implements TerminateEventDefinition {
+ /**
+ * The cached value of the '{@link #getBase_CallEvent() <em>Base Call Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_CallEvent()
+ * @generated
+ * @ordered
+ */
+ protected CallEvent base_CallEvent;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TerminateEventDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getTerminateEventDefinition();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallEvent getBase_CallEvent() {
+ if (base_CallEvent != null && base_CallEvent.eIsProxy()) {
+ InternalEObject oldBase_CallEvent = (InternalEObject)base_CallEvent;
+ base_CallEvent = (CallEvent)eResolveProxy(oldBase_CallEvent);
+ if (base_CallEvent != oldBase_CallEvent) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.TERMINATE_EVENT_DEFINITION__BASE_CALL_EVENT, oldBase_CallEvent, base_CallEvent));
+ }
+ }
+ return base_CallEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallEvent basicGetBase_CallEvent() {
+ return base_CallEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_CallEvent(CallEvent newBase_CallEvent) {
+ CallEvent oldBase_CallEvent = base_CallEvent;
+ base_CallEvent = newBase_CallEvent;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.TERMINATE_EVENT_DEFINITION__BASE_CALL_EVENT, oldBase_CallEvent, base_CallEvent));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.TERMINATE_EVENT_DEFINITION__BASE_CALL_EVENT:
+ if (resolve) return getBase_CallEvent();
+ return basicGetBase_CallEvent();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.TERMINATE_EVENT_DEFINITION__BASE_CALL_EVENT:
+ setBase_CallEvent((CallEvent)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.TERMINATE_EVENT_DEFINITION__BASE_CALL_EVENT:
+ setBase_CallEvent((CallEvent)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.TERMINATE_EVENT_DEFINITION__BASE_CALL_EVENT:
+ return base_CallEvent != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //TerminateEventDefinitionImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/TextAnnotationImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/TextAnnotationImpl.java
new file mode 100644
index 00000000000..cf7ffe059c8
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/TextAnnotationImpl.java
@@ -0,0 +1,279 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.TextAnnotation;
+
+import org.eclipse.uml2.uml.Comment;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Text Annotation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.TextAnnotationImpl#getBase_Comment <em>Base Comment</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.TextAnnotationImpl#getTextFormat <em>Text Format</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.TextAnnotationImpl#getText <em>Text</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TextAnnotationImpl extends BPMNArtifactImpl implements TextAnnotation {
+ /**
+ * The cached value of the '{@link #getBase_Comment() <em>Base Comment</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Comment()
+ * @generated
+ * @ordered
+ */
+ protected Comment base_Comment;
+
+ /**
+ * The default value of the '{@link #getTextFormat() <em>Text Format</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTextFormat()
+ * @generated
+ * @ordered
+ */
+ protected static final String TEXT_FORMAT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTextFormat() <em>Text Format</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTextFormat()
+ * @generated
+ * @ordered
+ */
+ protected String textFormat = TEXT_FORMAT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getText() <em>Text</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getText()
+ * @generated
+ * @ordered
+ */
+ protected static final String TEXT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getText() <em>Text</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getText()
+ * @generated
+ * @ordered
+ */
+ protected String text = TEXT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TextAnnotationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getTextAnnotation();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Comment getBase_Comment() {
+ if (base_Comment != null && base_Comment.eIsProxy()) {
+ InternalEObject oldBase_Comment = (InternalEObject)base_Comment;
+ base_Comment = (Comment)eResolveProxy(oldBase_Comment);
+ if (base_Comment != oldBase_Comment) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.TEXT_ANNOTATION__BASE_COMMENT, oldBase_Comment, base_Comment));
+ }
+ }
+ return base_Comment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Comment basicGetBase_Comment() {
+ return base_Comment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Comment(Comment newBase_Comment) {
+ Comment oldBase_Comment = base_Comment;
+ base_Comment = newBase_Comment;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.TEXT_ANNOTATION__BASE_COMMENT, oldBase_Comment, base_Comment));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTextFormat() {
+ return textFormat;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTextFormat(String newTextFormat) {
+ String oldTextFormat = textFormat;
+ textFormat = newTextFormat;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.TEXT_ANNOTATION__TEXT_FORMAT, oldTextFormat, textFormat));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText() {
+ return text;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setText(String newText) {
+ String oldText = text;
+ text = newText;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.TEXT_ANNOTATION__TEXT, oldText, text));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.TEXT_ANNOTATION__BASE_COMMENT:
+ if (resolve) return getBase_Comment();
+ return basicGetBase_Comment();
+ case BPMNProfilePackage.TEXT_ANNOTATION__TEXT_FORMAT:
+ return getTextFormat();
+ case BPMNProfilePackage.TEXT_ANNOTATION__TEXT:
+ return getText();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.TEXT_ANNOTATION__BASE_COMMENT:
+ setBase_Comment((Comment)newValue);
+ return;
+ case BPMNProfilePackage.TEXT_ANNOTATION__TEXT_FORMAT:
+ setTextFormat((String)newValue);
+ return;
+ case BPMNProfilePackage.TEXT_ANNOTATION__TEXT:
+ setText((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.TEXT_ANNOTATION__BASE_COMMENT:
+ setBase_Comment((Comment)null);
+ return;
+ case BPMNProfilePackage.TEXT_ANNOTATION__TEXT_FORMAT:
+ setTextFormat(TEXT_FORMAT_EDEFAULT);
+ return;
+ case BPMNProfilePackage.TEXT_ANNOTATION__TEXT:
+ setText(TEXT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.TEXT_ANNOTATION__BASE_COMMENT:
+ return base_Comment != null;
+ case BPMNProfilePackage.TEXT_ANNOTATION__TEXT_FORMAT:
+ return TEXT_FORMAT_EDEFAULT == null ? textFormat != null : !TEXT_FORMAT_EDEFAULT.equals(textFormat);
+ case BPMNProfilePackage.TEXT_ANNOTATION__TEXT:
+ return TEXT_EDEFAULT == null ? text != null : !TEXT_EDEFAULT.equals(text);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (textFormat: ");
+ result.append(textFormat);
+ result.append(", text: ");
+ result.append(text);
+ result.append(')');
+ return result.toString();
+ }
+
+} //TextAnnotationImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ThrowEventImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ThrowEventImpl.java
new file mode 100644
index 00000000000..b1b52a44f64
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/ThrowEventImpl.java
@@ -0,0 +1,311 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataInputAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ThrowEvent;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.CallOperationAction;
+import org.eclipse.uml2.uml.FlowFinalNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Throw Event</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ThrowEventImpl#getBase_CallOperationAction <em>Base Call Operation Action</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ThrowEventImpl#getBase_FlowFinalNode <em>Base Flow Final Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.ThrowEventImpl#getDataInputAssociation <em>Data Input Association</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ThrowEventImpl extends BPMNEventImpl implements ThrowEvent {
+ /**
+ * The cached value of the '{@link #getBase_CallOperationAction() <em>Base Call Operation Action</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_CallOperationAction()
+ * @generated
+ * @ordered
+ */
+ protected CallOperationAction base_CallOperationAction;
+
+ /**
+ * The cached value of the '{@link #getBase_FlowFinalNode() <em>Base Flow Final Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_FlowFinalNode()
+ * @generated
+ * @ordered
+ */
+ protected FlowFinalNode base_FlowFinalNode;
+
+ /**
+ * The cached value of the '{@link #getDataInputAssociation() <em>Data Input Association</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDataInputAssociation()
+ * @generated
+ * @ordered
+ */
+ protected EList<DataInputAssociation> dataInputAssociation;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ThrowEventImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getThrowEvent();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallOperationAction getBase_CallOperationAction() {
+ if (base_CallOperationAction != null && base_CallOperationAction.eIsProxy()) {
+ InternalEObject oldBase_CallOperationAction = (InternalEObject)base_CallOperationAction;
+ base_CallOperationAction = (CallOperationAction)eResolveProxy(oldBase_CallOperationAction);
+ if (base_CallOperationAction != oldBase_CallOperationAction) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.THROW_EVENT__BASE_CALL_OPERATION_ACTION, oldBase_CallOperationAction, base_CallOperationAction));
+ }
+ }
+ return base_CallOperationAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CallOperationAction basicGetBase_CallOperationAction() {
+ return base_CallOperationAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_CallOperationAction(CallOperationAction newBase_CallOperationAction) {
+ CallOperationAction oldBase_CallOperationAction = base_CallOperationAction;
+ base_CallOperationAction = newBase_CallOperationAction;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.THROW_EVENT__BASE_CALL_OPERATION_ACTION, oldBase_CallOperationAction, base_CallOperationAction));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FlowFinalNode getBase_FlowFinalNode() {
+ if (base_FlowFinalNode != null && base_FlowFinalNode.eIsProxy()) {
+ InternalEObject oldBase_FlowFinalNode = (InternalEObject)base_FlowFinalNode;
+ base_FlowFinalNode = (FlowFinalNode)eResolveProxy(oldBase_FlowFinalNode);
+ if (base_FlowFinalNode != oldBase_FlowFinalNode) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.THROW_EVENT__BASE_FLOW_FINAL_NODE, oldBase_FlowFinalNode, base_FlowFinalNode));
+ }
+ }
+ return base_FlowFinalNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FlowFinalNode basicGetBase_FlowFinalNode() {
+ return base_FlowFinalNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_FlowFinalNode(FlowFinalNode newBase_FlowFinalNode) {
+ FlowFinalNode oldBase_FlowFinalNode = base_FlowFinalNode;
+ base_FlowFinalNode = newBase_FlowFinalNode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.THROW_EVENT__BASE_FLOW_FINAL_NODE, oldBase_FlowFinalNode, base_FlowFinalNode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DataInputAssociation> getDataInputAssociation() {
+ if (dataInputAssociation == null) {
+ dataInputAssociation = new EObjectResolvingEList<DataInputAssociation>(DataInputAssociation.class, this, BPMNProfilePackage.THROW_EVENT__DATA_INPUT_ASSOCIATION);
+ }
+ return dataInputAssociation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean ThrowEventeventDefinitionRefs(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.THROW_EVENT__THROW_EVENTEVENT_DEFINITION_REFS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ThrowEventeventDefinitionRefs", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.THROW_EVENT__BASE_CALL_OPERATION_ACTION:
+ if (resolve) return getBase_CallOperationAction();
+ return basicGetBase_CallOperationAction();
+ case BPMNProfilePackage.THROW_EVENT__BASE_FLOW_FINAL_NODE:
+ if (resolve) return getBase_FlowFinalNode();
+ return basicGetBase_FlowFinalNode();
+ case BPMNProfilePackage.THROW_EVENT__DATA_INPUT_ASSOCIATION:
+ return getDataInputAssociation();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.THROW_EVENT__BASE_CALL_OPERATION_ACTION:
+ setBase_CallOperationAction((CallOperationAction)newValue);
+ return;
+ case BPMNProfilePackage.THROW_EVENT__BASE_FLOW_FINAL_NODE:
+ setBase_FlowFinalNode((FlowFinalNode)newValue);
+ return;
+ case BPMNProfilePackage.THROW_EVENT__DATA_INPUT_ASSOCIATION:
+ getDataInputAssociation().clear();
+ getDataInputAssociation().addAll((Collection<? extends DataInputAssociation>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.THROW_EVENT__BASE_CALL_OPERATION_ACTION:
+ setBase_CallOperationAction((CallOperationAction)null);
+ return;
+ case BPMNProfilePackage.THROW_EVENT__BASE_FLOW_FINAL_NODE:
+ setBase_FlowFinalNode((FlowFinalNode)null);
+ return;
+ case BPMNProfilePackage.THROW_EVENT__DATA_INPUT_ASSOCIATION:
+ getDataInputAssociation().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.THROW_EVENT__BASE_CALL_OPERATION_ACTION:
+ return base_CallOperationAction != null;
+ case BPMNProfilePackage.THROW_EVENT__BASE_FLOW_FINAL_NODE:
+ return base_FlowFinalNode != null;
+ case BPMNProfilePackage.THROW_EVENT__DATA_INPUT_ASSOCIATION:
+ return dataInputAssociation != null && !dataInputAssociation.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.THROW_EVENT___THROW_EVENTEVENT_DEFINITION_REFS__DIAGNOSTICCHAIN_MAP:
+ return ThrowEventeventDefinitionRefs((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //ThrowEventImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/TimerEventDefinitionImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/TimerEventDefinitionImpl.java
new file mode 100644
index 00000000000..686c4879775
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/TimerEventDefinitionImpl.java
@@ -0,0 +1,338 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.TimerEventDefinition;
+
+import org.eclipse.uml2.uml.ChangeEvent;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Timer Event Definition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.TimerEventDefinitionImpl#getTimeCycle <em>Time Cycle</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.TimerEventDefinitionImpl#getTimeDate <em>Time Date</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.TimerEventDefinitionImpl#getTimeDuration <em>Time Duration</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.TimerEventDefinitionImpl#getBase_ChangeEvent <em>Base Change Event</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TimerEventDefinitionImpl extends EventDefinitionImpl implements TimerEventDefinition {
+ /**
+ * The cached value of the '{@link #getTimeCycle() <em>Time Cycle</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTimeCycle()
+ * @generated
+ * @ordered
+ */
+ protected BPMNExpression timeCycle;
+
+ /**
+ * The cached value of the '{@link #getTimeDate() <em>Time Date</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTimeDate()
+ * @generated
+ * @ordered
+ */
+ protected BPMNExpression timeDate;
+
+ /**
+ * The cached value of the '{@link #getTimeDuration() <em>Time Duration</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTimeDuration()
+ * @generated
+ * @ordered
+ */
+ protected BPMNExpression timeDuration;
+
+ /**
+ * The cached value of the '{@link #getBase_ChangeEvent() <em>Base Change Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_ChangeEvent()
+ * @generated
+ * @ordered
+ */
+ protected ChangeEvent base_ChangeEvent;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TimerEventDefinitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getTimerEventDefinition();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExpression getTimeCycle() {
+ if (timeCycle != null && timeCycle.eIsProxy()) {
+ InternalEObject oldTimeCycle = (InternalEObject)timeCycle;
+ timeCycle = (BPMNExpression)eResolveProxy(oldTimeCycle);
+ if (timeCycle != oldTimeCycle) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.TIMER_EVENT_DEFINITION__TIME_CYCLE, oldTimeCycle, timeCycle));
+ }
+ }
+ return timeCycle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExpression basicGetTimeCycle() {
+ return timeCycle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTimeCycle(BPMNExpression newTimeCycle) {
+ BPMNExpression oldTimeCycle = timeCycle;
+ timeCycle = newTimeCycle;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.TIMER_EVENT_DEFINITION__TIME_CYCLE, oldTimeCycle, timeCycle));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExpression getTimeDate() {
+ if (timeDate != null && timeDate.eIsProxy()) {
+ InternalEObject oldTimeDate = (InternalEObject)timeDate;
+ timeDate = (BPMNExpression)eResolveProxy(oldTimeDate);
+ if (timeDate != oldTimeDate) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.TIMER_EVENT_DEFINITION__TIME_DATE, oldTimeDate, timeDate));
+ }
+ }
+ return timeDate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExpression basicGetTimeDate() {
+ return timeDate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTimeDate(BPMNExpression newTimeDate) {
+ BPMNExpression oldTimeDate = timeDate;
+ timeDate = newTimeDate;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.TIMER_EVENT_DEFINITION__TIME_DATE, oldTimeDate, timeDate));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExpression getTimeDuration() {
+ if (timeDuration != null && timeDuration.eIsProxy()) {
+ InternalEObject oldTimeDuration = (InternalEObject)timeDuration;
+ timeDuration = (BPMNExpression)eResolveProxy(oldTimeDuration);
+ if (timeDuration != oldTimeDuration) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.TIMER_EVENT_DEFINITION__TIME_DURATION, oldTimeDuration, timeDuration));
+ }
+ }
+ return timeDuration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNExpression basicGetTimeDuration() {
+ return timeDuration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTimeDuration(BPMNExpression newTimeDuration) {
+ BPMNExpression oldTimeDuration = timeDuration;
+ timeDuration = newTimeDuration;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.TIMER_EVENT_DEFINITION__TIME_DURATION, oldTimeDuration, timeDuration));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ChangeEvent getBase_ChangeEvent() {
+ if (base_ChangeEvent != null && base_ChangeEvent.eIsProxy()) {
+ InternalEObject oldBase_ChangeEvent = (InternalEObject)base_ChangeEvent;
+ base_ChangeEvent = (ChangeEvent)eResolveProxy(oldBase_ChangeEvent);
+ if (base_ChangeEvent != oldBase_ChangeEvent) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.TIMER_EVENT_DEFINITION__BASE_CHANGE_EVENT, oldBase_ChangeEvent, base_ChangeEvent));
+ }
+ }
+ return base_ChangeEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ChangeEvent basicGetBase_ChangeEvent() {
+ return base_ChangeEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_ChangeEvent(ChangeEvent newBase_ChangeEvent) {
+ ChangeEvent oldBase_ChangeEvent = base_ChangeEvent;
+ base_ChangeEvent = newBase_ChangeEvent;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.TIMER_EVENT_DEFINITION__BASE_CHANGE_EVENT, oldBase_ChangeEvent, base_ChangeEvent));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.TIMER_EVENT_DEFINITION__TIME_CYCLE:
+ if (resolve) return getTimeCycle();
+ return basicGetTimeCycle();
+ case BPMNProfilePackage.TIMER_EVENT_DEFINITION__TIME_DATE:
+ if (resolve) return getTimeDate();
+ return basicGetTimeDate();
+ case BPMNProfilePackage.TIMER_EVENT_DEFINITION__TIME_DURATION:
+ if (resolve) return getTimeDuration();
+ return basicGetTimeDuration();
+ case BPMNProfilePackage.TIMER_EVENT_DEFINITION__BASE_CHANGE_EVENT:
+ if (resolve) return getBase_ChangeEvent();
+ return basicGetBase_ChangeEvent();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.TIMER_EVENT_DEFINITION__TIME_CYCLE:
+ setTimeCycle((BPMNExpression)newValue);
+ return;
+ case BPMNProfilePackage.TIMER_EVENT_DEFINITION__TIME_DATE:
+ setTimeDate((BPMNExpression)newValue);
+ return;
+ case BPMNProfilePackage.TIMER_EVENT_DEFINITION__TIME_DURATION:
+ setTimeDuration((BPMNExpression)newValue);
+ return;
+ case BPMNProfilePackage.TIMER_EVENT_DEFINITION__BASE_CHANGE_EVENT:
+ setBase_ChangeEvent((ChangeEvent)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.TIMER_EVENT_DEFINITION__TIME_CYCLE:
+ setTimeCycle((BPMNExpression)null);
+ return;
+ case BPMNProfilePackage.TIMER_EVENT_DEFINITION__TIME_DATE:
+ setTimeDate((BPMNExpression)null);
+ return;
+ case BPMNProfilePackage.TIMER_EVENT_DEFINITION__TIME_DURATION:
+ setTimeDuration((BPMNExpression)null);
+ return;
+ case BPMNProfilePackage.TIMER_EVENT_DEFINITION__BASE_CHANGE_EVENT:
+ setBase_ChangeEvent((ChangeEvent)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.TIMER_EVENT_DEFINITION__TIME_CYCLE:
+ return timeCycle != null;
+ case BPMNProfilePackage.TIMER_EVENT_DEFINITION__TIME_DATE:
+ return timeDate != null;
+ case BPMNProfilePackage.TIMER_EVENT_DEFINITION__TIME_DURATION:
+ return timeDuration != null;
+ case BPMNProfilePackage.TIMER_EVENT_DEFINITION__BASE_CHANGE_EVENT:
+ return base_ChangeEvent != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //TimerEventDefinitionImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/TransactionImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/TransactionImpl.java
new file mode 100644
index 00000000000..838ce819839
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/TransactionImpl.java
@@ -0,0 +1,162 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Transaction;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Transaction</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.TransactionImpl#getMethod <em>Method</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class TransactionImpl extends SubProcessImpl implements Transaction {
+ /**
+ * The default value of the '{@link #getMethod() <em>Method</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMethod()
+ * @generated
+ * @ordered
+ */
+ protected static final String METHOD_EDEFAULT = "\"##compensate\"";
+
+ /**
+ * The cached value of the '{@link #getMethod() <em>Method</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMethod()
+ * @generated
+ * @ordered
+ */
+ protected String method = METHOD_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TransactionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getTransaction();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getMethod() {
+ return method;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMethod(String newMethod) {
+ String oldMethod = method;
+ method = newMethod;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.TRANSACTION__METHOD, oldMethod, method));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.TRANSACTION__METHOD:
+ return getMethod();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.TRANSACTION__METHOD:
+ setMethod((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.TRANSACTION__METHOD:
+ setMethod(METHOD_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.TRANSACTION__METHOD:
+ return METHOD_EDEFAULT == null ? method != null : !METHOD_EDEFAULT.equals(method);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (method: ");
+ result.append(method);
+ result.append(')');
+ return result.toString();
+ }
+
+} //TransactionImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/UserTaskImpl.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/UserTaskImpl.java
new file mode 100644
index 00000000000..33e712fbf31
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/impl/UserTaskImpl.java
@@ -0,0 +1,345 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Rendering;
+import org.eclipse.papyrus.bpmn.BPMNProfile.UserTask;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.util.BPMNProfileValidator;
+
+import org.eclipse.uml2.uml.OpaqueAction;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>User Task</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.UserTaskImpl#getBase_OpaqueAction <em>Base Opaque Action</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.UserTaskImpl#getImplementation <em>Implementation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.bpmn.BPMNProfile.impl.UserTaskImpl#getRenderings <em>Renderings</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class UserTaskImpl extends TaskImpl implements UserTask {
+ /**
+ * The cached value of the '{@link #getBase_OpaqueAction() <em>Base Opaque Action</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_OpaqueAction()
+ * @generated
+ * @ordered
+ */
+ protected OpaqueAction base_OpaqueAction;
+
+ /**
+ * The default value of the '{@link #getImplementation() <em>Implementation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImplementation()
+ * @generated
+ * @ordered
+ */
+ protected static final String IMPLEMENTATION_EDEFAULT = "##unspecified";
+
+ /**
+ * The cached value of the '{@link #getImplementation() <em>Implementation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImplementation()
+ * @generated
+ * @ordered
+ */
+ protected String implementation = IMPLEMENTATION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getRenderings() <em>Renderings</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRenderings()
+ * @generated
+ * @ordered
+ */
+ protected EList<Rendering> renderings;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UserTaskImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return BPMNProfilePackage.eINSTANCE.getUserTask();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpaqueAction getBase_OpaqueAction() {
+ if (base_OpaqueAction != null && base_OpaqueAction.eIsProxy()) {
+ InternalEObject oldBase_OpaqueAction = (InternalEObject)base_OpaqueAction;
+ base_OpaqueAction = (OpaqueAction)eResolveProxy(oldBase_OpaqueAction);
+ if (base_OpaqueAction != oldBase_OpaqueAction) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, BPMNProfilePackage.USER_TASK__BASE_OPAQUE_ACTION, oldBase_OpaqueAction, base_OpaqueAction));
+ }
+ }
+ return base_OpaqueAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OpaqueAction basicGetBase_OpaqueAction() {
+ return base_OpaqueAction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_OpaqueAction(OpaqueAction newBase_OpaqueAction) {
+ OpaqueAction oldBase_OpaqueAction = base_OpaqueAction;
+ base_OpaqueAction = newBase_OpaqueAction;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.USER_TASK__BASE_OPAQUE_ACTION, oldBase_OpaqueAction, base_OpaqueAction));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getImplementation() {
+ return implementation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setImplementation(String newImplementation) {
+ String oldImplementation = implementation;
+ implementation = newImplementation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, BPMNProfilePackage.USER_TASK__IMPLEMENTATION, oldImplementation, implementation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Rendering> getRenderings() {
+ if (renderings == null) {
+ renderings = new EObjectResolvingEList<Rendering>(Rendering.class, this, BPMNProfilePackage.USER_TASK__RENDERINGS);
+ }
+ return renderings;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean UserTaskimplementation(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.USER_TASK__USER_TASKIMPLEMENTATION,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "UserTaskimplementation", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean UserTaskrenderings(DiagnosticChain diagnostics, Map<Object, Object> context) {
+ // TODO: implement this method
+ // -> specify the condition that violates the invariant
+ // -> verify the details of the diagnostic, including severity and message
+ // Ensure that you remove @generated or mark it @generated NOT
+ if (false) {
+ if (diagnostics != null) {
+ diagnostics.add
+ (new BasicDiagnostic
+ (Diagnostic.ERROR,
+ BPMNProfileValidator.DIAGNOSTIC_SOURCE,
+ BPMNProfileValidator.USER_TASK__USER_TASKRENDERINGS,
+ EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "UserTaskrenderings", EObjectValidator.getObjectLabel(this, context) }),
+ new Object [] { this }));
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case BPMNProfilePackage.USER_TASK__BASE_OPAQUE_ACTION:
+ if (resolve) return getBase_OpaqueAction();
+ return basicGetBase_OpaqueAction();
+ case BPMNProfilePackage.USER_TASK__IMPLEMENTATION:
+ return getImplementation();
+ case BPMNProfilePackage.USER_TASK__RENDERINGS:
+ return getRenderings();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case BPMNProfilePackage.USER_TASK__BASE_OPAQUE_ACTION:
+ setBase_OpaqueAction((OpaqueAction)newValue);
+ return;
+ case BPMNProfilePackage.USER_TASK__IMPLEMENTATION:
+ setImplementation((String)newValue);
+ return;
+ case BPMNProfilePackage.USER_TASK__RENDERINGS:
+ getRenderings().clear();
+ getRenderings().addAll((Collection<? extends Rendering>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.USER_TASK__BASE_OPAQUE_ACTION:
+ setBase_OpaqueAction((OpaqueAction)null);
+ return;
+ case BPMNProfilePackage.USER_TASK__IMPLEMENTATION:
+ setImplementation(IMPLEMENTATION_EDEFAULT);
+ return;
+ case BPMNProfilePackage.USER_TASK__RENDERINGS:
+ getRenderings().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case BPMNProfilePackage.USER_TASK__BASE_OPAQUE_ACTION:
+ return base_OpaqueAction != null;
+ case BPMNProfilePackage.USER_TASK__IMPLEMENTATION:
+ return IMPLEMENTATION_EDEFAULT == null ? implementation != null : !IMPLEMENTATION_EDEFAULT.equals(implementation);
+ case BPMNProfilePackage.USER_TASK__RENDERINGS:
+ return renderings != null && !renderings.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case BPMNProfilePackage.USER_TASK___USER_TASKIMPLEMENTATION__DIAGNOSTICCHAIN_MAP:
+ return UserTaskimplementation((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ case BPMNProfilePackage.USER_TASK___USER_TASKRENDERINGS__DIAGNOSTICCHAIN_MAP:
+ return UserTaskrenderings((DiagnosticChain)arguments.get(0), (Map<Object, Object>)arguments.get(1));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (implementation: ");
+ result.append(implementation);
+ result.append(')');
+ return result.toString();
+ }
+
+} //UserTaskImpl
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/util/BPMNProfileAdapterFactory.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/util/BPMNProfileAdapterFactory.java
new file mode 100644
index 00000000000..ee10e5b1d2f
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/util/BPMNProfileAdapterFactory.java
@@ -0,0 +1,2571 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.AdHocSubProcess;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Assignment;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Auditing;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNArtifact;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExtension;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNMessage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNSignal;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BoundaryEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BusinessRuleTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CallActivity;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CallConversation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CancelEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CatchEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Category;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CategoryValue;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CompensateEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ComplexBehaviorDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ComplexGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ConditionalEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Conversation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ConversationNode;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationKey;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationProperty;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyBinding;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyRetrievalExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationSubscription;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataInput;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataInputAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataObject;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataObjectReference;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataOutputAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataState;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataStore;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataStoreReference;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Definitions;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Documentation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.EndEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ErrorEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Escalation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.EscalationEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.EventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ExclusiveGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeValue;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FlowElementsContainer;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FlowNode;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FormalExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Gateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalBusinessRuleTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalConversation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalManualTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalScriptTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalUserTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Group;
+import org.eclipse.papyrus.bpmn.BPMNProfile.HumanPerformer;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ImplicitThrowEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Import;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InclusiveGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputBinding;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InputSet;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode;
+import org.eclipse.papyrus.bpmn.BPMNProfile.IntermediateCatchEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.IntermediateThrowEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ItemAwareElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Lane;
+import org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet;
+import org.eclipse.papyrus.bpmn.BPMNProfile.LinkEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.LoopCharacteristics;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ManualTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MessageEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlowAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Monitoring;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics;
+import org.eclipse.papyrus.bpmn.BPMNProfile.NonExclusiveGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ParallelGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Participant;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantMultiplicity;
+import org.eclipse.papyrus.bpmn.BPMNProfile.PartnerEntity;
+import org.eclipse.papyrus.bpmn.BPMNProfile.PartnerRole;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Performer;
+import org.eclipse.papyrus.bpmn.BPMNProfile.PotentialOwner;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Rendering;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Resource;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceAssignmentExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameterBinding;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole;
+import org.eclipse.papyrus.bpmn.BPMNProfile.RootElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ScriptTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SendTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ServiceTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SignalEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics;
+import org.eclipse.papyrus.bpmn.BPMNProfile.StartEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SubConversation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SubProcess;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Task;
+import org.eclipse.papyrus.bpmn.BPMNProfile.TerminateEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.TextAnnotation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ThrowEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.TimerEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Transaction;
+import org.eclipse.papyrus.bpmn.BPMNProfile.UserTask;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage
+ * @generated
+ */
+public class BPMNProfileAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static BPMNProfilePackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNProfileAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = BPMNProfilePackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BPMNProfileSwitch<Adapter> modelSwitch =
+ new BPMNProfileSwitch<Adapter>() {
+ @Override
+ public Adapter caseInclusiveGateway(InclusiveGateway object) {
+ return createInclusiveGatewayAdapter();
+ }
+ @Override
+ public Adapter caseNonExclusiveGateway(NonExclusiveGateway object) {
+ return createNonExclusiveGatewayAdapter();
+ }
+ @Override
+ public Adapter caseGateway(Gateway object) {
+ return createGatewayAdapter();
+ }
+ @Override
+ public Adapter caseFlowNode(FlowNode object) {
+ return createFlowNodeAdapter();
+ }
+ @Override
+ public Adapter caseFlowElement(FlowElement object) {
+ return createFlowElementAdapter();
+ }
+ @Override
+ public Adapter caseBaseElement(BaseElement object) {
+ return createBaseElementAdapter();
+ }
+ @Override
+ public Adapter caseExtensionAttributeValue(ExtensionAttributeValue object) {
+ return createExtensionAttributeValueAdapter();
+ }
+ @Override
+ public Adapter caseExtensionAttributeDefinition(ExtensionAttributeDefinition object) {
+ return createExtensionAttributeDefinitionAdapter();
+ }
+ @Override
+ public Adapter caseDocumentation(Documentation object) {
+ return createDocumentationAdapter();
+ }
+ @Override
+ public Adapter caseExtensionDefinition(ExtensionDefinition object) {
+ return createExtensionDefinitionAdapter();
+ }
+ @Override
+ public Adapter caseBPMNAssociation(BPMNAssociation object) {
+ return createBPMNAssociationAdapter();
+ }
+ @Override
+ public Adapter caseBPMNArtifact(BPMNArtifact object) {
+ return createBPMNArtifactAdapter();
+ }
+ @Override
+ public Adapter caseAuditing(Auditing object) {
+ return createAuditingAdapter();
+ }
+ @Override
+ public Adapter caseMonitoring(Monitoring object) {
+ return createMonitoringAdapter();
+ }
+ @Override
+ public Adapter caseCategoryValue(CategoryValue object) {
+ return createCategoryValueAdapter();
+ }
+ @Override
+ public Adapter caseFlowElementsContainer(FlowElementsContainer object) {
+ return createFlowElementsContainerAdapter();
+ }
+ @Override
+ public Adapter caseLaneSet(LaneSet object) {
+ return createLaneSetAdapter();
+ }
+ @Override
+ public Adapter caseLane(Lane object) {
+ return createLaneAdapter();
+ }
+ @Override
+ public Adapter caseSequenceFlow(SequenceFlow object) {
+ return createSequenceFlowAdapter();
+ }
+ @Override
+ public Adapter caseBPMNExpression(BPMNExpression object) {
+ return createBPMNExpressionAdapter();
+ }
+ @Override
+ public Adapter caseEventBasedGateway(EventBasedGateway object) {
+ return createEventBasedGatewayAdapter();
+ }
+ @Override
+ public Adapter caseParallelGateway(ParallelGateway object) {
+ return createParallelGatewayAdapter();
+ }
+ @Override
+ public Adapter caseComplexGateway(ComplexGateway object) {
+ return createComplexGatewayAdapter();
+ }
+ @Override
+ public Adapter caseExclusiveGateway(ExclusiveGateway object) {
+ return createExclusiveGatewayAdapter();
+ }
+ @Override
+ public Adapter caseRootElement(RootElement object) {
+ return createRootElementAdapter();
+ }
+ @Override
+ public Adapter caseDefinitions(Definitions object) {
+ return createDefinitionsAdapter();
+ }
+ @Override
+ public Adapter caseBPMNExtension(BPMNExtension object) {
+ return createBPMNExtensionAdapter();
+ }
+ @Override
+ public Adapter caseImport(Import object) {
+ return createImportAdapter();
+ }
+ @Override
+ public Adapter caseBPMNRelationship(BPMNRelationship object) {
+ return createBPMNRelationshipAdapter();
+ }
+ @Override
+ public Adapter caseBPMNProcess(BPMNProcess object) {
+ return createBPMNProcessAdapter();
+ }
+ @Override
+ public Adapter caseCallableElement(CallableElement object) {
+ return createCallableElementAdapter();
+ }
+ @Override
+ public Adapter caseInputOutputSpecification(InputOutputSpecification object) {
+ return createInputOutputSpecificationAdapter();
+ }
+ @Override
+ public Adapter caseDataInput(DataInput object) {
+ return createDataInputAdapter();
+ }
+ @Override
+ public Adapter caseItemAwareElement(ItemAwareElement object) {
+ return createItemAwareElementAdapter();
+ }
+ @Override
+ public Adapter caseDataState(DataState object) {
+ return createDataStateAdapter();
+ }
+ @Override
+ public Adapter caseItemDefinition(ItemDefinition object) {
+ return createItemDefinitionAdapter();
+ }
+ @Override
+ public Adapter caseInputSet(InputSet object) {
+ return createInputSetAdapter();
+ }
+ @Override
+ public Adapter caseDataOutput(DataOutput object) {
+ return createDataOutputAdapter();
+ }
+ @Override
+ public Adapter caseOutputSet(OutputSet object) {
+ return createOutputSetAdapter();
+ }
+ @Override
+ public Adapter caseBPMNInterface(BPMNInterface object) {
+ return createBPMNInterfaceAdapter();
+ }
+ @Override
+ public Adapter caseBPMNOperation(BPMNOperation object) {
+ return createBPMNOperationAdapter();
+ }
+ @Override
+ public Adapter caseBPMNMessage(BPMNMessage object) {
+ return createBPMNMessageAdapter();
+ }
+ @Override
+ public Adapter caseError(org.eclipse.papyrus.bpmn.BPMNProfile.Error object) {
+ return createErrorAdapter();
+ }
+ @Override
+ public Adapter caseInputOutputBinding(InputOutputBinding object) {
+ return createInputOutputBindingAdapter();
+ }
+ @Override
+ public Adapter caseBPMNCollaboration(BPMNCollaboration object) {
+ return createBPMNCollaborationAdapter();
+ }
+ @Override
+ public Adapter caseParticipantAssociation(ParticipantAssociation object) {
+ return createParticipantAssociationAdapter();
+ }
+ @Override
+ public Adapter caseParticipant(Participant object) {
+ return createParticipantAdapter();
+ }
+ @Override
+ public Adapter caseInteractionNode(InteractionNode object) {
+ return createInteractionNodeAdapter();
+ }
+ @Override
+ public Adapter caseConversationLink(ConversationLink object) {
+ return createConversationLinkAdapter();
+ }
+ @Override
+ public Adapter caseParticipantMultiplicity(ParticipantMultiplicity object) {
+ return createParticipantMultiplicityAdapter();
+ }
+ @Override
+ public Adapter casePartnerEntity(PartnerEntity object) {
+ return createPartnerEntityAdapter();
+ }
+ @Override
+ public Adapter casePartnerRole(PartnerRole object) {
+ return createPartnerRoleAdapter();
+ }
+ @Override
+ public Adapter caseMessageFlowAssociation(MessageFlowAssociation object) {
+ return createMessageFlowAssociationAdapter();
+ }
+ @Override
+ public Adapter caseMessageFlow(MessageFlow object) {
+ return createMessageFlowAdapter();
+ }
+ @Override
+ public Adapter caseConversationNode(ConversationNode object) {
+ return createConversationNodeAdapter();
+ }
+ @Override
+ public Adapter caseCorrelationKey(CorrelationKey object) {
+ return createCorrelationKeyAdapter();
+ }
+ @Override
+ public Adapter caseCorrelationProperty(CorrelationProperty object) {
+ return createCorrelationPropertyAdapter();
+ }
+ @Override
+ public Adapter caseCorrelationPropertyRetrievalExpression(CorrelationPropertyRetrievalExpression object) {
+ return createCorrelationPropertyRetrievalExpressionAdapter();
+ }
+ @Override
+ public Adapter caseFormalExpression(FormalExpression object) {
+ return createFormalExpressionAdapter();
+ }
+ @Override
+ public Adapter caseCorrelationSubscription(CorrelationSubscription object) {
+ return createCorrelationSubscriptionAdapter();
+ }
+ @Override
+ public Adapter caseCorrelationPropertyBinding(CorrelationPropertyBinding object) {
+ return createCorrelationPropertyBindingAdapter();
+ }
+ @Override
+ public Adapter caseBPMNProperty(BPMNProperty object) {
+ return createBPMNPropertyAdapter();
+ }
+ @Override
+ public Adapter caseResourceRole(ResourceRole object) {
+ return createResourceRoleAdapter();
+ }
+ @Override
+ public Adapter caseResourceAssignmentExpression(ResourceAssignmentExpression object) {
+ return createResourceAssignmentExpressionAdapter();
+ }
+ @Override
+ public Adapter caseResource(Resource object) {
+ return createResourceAdapter();
+ }
+ @Override
+ public Adapter caseResourceParameter(ResourceParameter object) {
+ return createResourceParameterAdapter();
+ }
+ @Override
+ public Adapter caseResourceParameterBinding(ResourceParameterBinding object) {
+ return createResourceParameterBindingAdapter();
+ }
+ @Override
+ public Adapter caseGlobalScriptTask(GlobalScriptTask object) {
+ return createGlobalScriptTaskAdapter();
+ }
+ @Override
+ public Adapter caseGlobalTask(GlobalTask object) {
+ return createGlobalTaskAdapter();
+ }
+ @Override
+ public Adapter caseGlobalBusinessRuleTask(GlobalBusinessRuleTask object) {
+ return createGlobalBusinessRuleTaskAdapter();
+ }
+ @Override
+ public Adapter caseCompensateEventDefinition(CompensateEventDefinition object) {
+ return createCompensateEventDefinitionAdapter();
+ }
+ @Override
+ public Adapter caseEventDefinition(EventDefinition object) {
+ return createEventDefinitionAdapter();
+ }
+ @Override
+ public Adapter caseBPMNActivity(BPMNActivity object) {
+ return createBPMNActivityAdapter();
+ }
+ @Override
+ public Adapter caseBoundaryEvent(BoundaryEvent object) {
+ return createBoundaryEventAdapter();
+ }
+ @Override
+ public Adapter caseCatchEvent(CatchEvent object) {
+ return createCatchEventAdapter();
+ }
+ @Override
+ public Adapter caseBPMNEvent(BPMNEvent object) {
+ return createBPMNEventAdapter();
+ }
+ @Override
+ public Adapter caseDataOutputAssociation(DataOutputAssociation object) {
+ return createDataOutputAssociationAdapter();
+ }
+ @Override
+ public Adapter caseDataAssociation(DataAssociation object) {
+ return createDataAssociationAdapter();
+ }
+ @Override
+ public Adapter caseAssignment(Assignment object) {
+ return createAssignmentAdapter();
+ }
+ @Override
+ public Adapter caseDataInputAssociation(DataInputAssociation object) {
+ return createDataInputAssociationAdapter();
+ }
+ @Override
+ public Adapter caseLoopCharacteristics(LoopCharacteristics object) {
+ return createLoopCharacteristicsAdapter();
+ }
+ @Override
+ public Adapter caseEscalationEventDefinition(EscalationEventDefinition object) {
+ return createEscalationEventDefinitionAdapter();
+ }
+ @Override
+ public Adapter caseEscalation(Escalation object) {
+ return createEscalationAdapter();
+ }
+ @Override
+ public Adapter caseTimerEventDefinition(TimerEventDefinition object) {
+ return createTimerEventDefinitionAdapter();
+ }
+ @Override
+ public Adapter caseSignalEventDefinition(SignalEventDefinition object) {
+ return createSignalEventDefinitionAdapter();
+ }
+ @Override
+ public Adapter caseBPMNSignal(BPMNSignal object) {
+ return createBPMNSignalAdapter();
+ }
+ @Override
+ public Adapter caseEndEvent(EndEvent object) {
+ return createEndEventAdapter();
+ }
+ @Override
+ public Adapter caseThrowEvent(ThrowEvent object) {
+ return createThrowEventAdapter();
+ }
+ @Override
+ public Adapter caseMessageEventDefinition(MessageEventDefinition object) {
+ return createMessageEventDefinitionAdapter();
+ }
+ @Override
+ public Adapter caseStartEvent(StartEvent object) {
+ return createStartEventAdapter();
+ }
+ @Override
+ public Adapter caseConditionalEventDefinition(ConditionalEventDefinition object) {
+ return createConditionalEventDefinitionAdapter();
+ }
+ @Override
+ public Adapter caseLinkEventDefinition(LinkEventDefinition object) {
+ return createLinkEventDefinitionAdapter();
+ }
+ @Override
+ public Adapter caseErrorEventDefinition(ErrorEventDefinition object) {
+ return createErrorEventDefinitionAdapter();
+ }
+ @Override
+ public Adapter caseIntermediateCatchEvent(IntermediateCatchEvent object) {
+ return createIntermediateCatchEventAdapter();
+ }
+ @Override
+ public Adapter caseIntermediateThrowEvent(IntermediateThrowEvent object) {
+ return createIntermediateThrowEventAdapter();
+ }
+ @Override
+ public Adapter caseTerminateEventDefinition(TerminateEventDefinition object) {
+ return createTerminateEventDefinitionAdapter();
+ }
+ @Override
+ public Adapter caseImplicitThrowEvent(ImplicitThrowEvent object) {
+ return createImplicitThrowEventAdapter();
+ }
+ @Override
+ public Adapter caseCancelEventDefinition(CancelEventDefinition object) {
+ return createCancelEventDefinitionAdapter();
+ }
+ @Override
+ public Adapter caseTextAnnotation(TextAnnotation object) {
+ return createTextAnnotationAdapter();
+ }
+ @Override
+ public Adapter caseCategory(Category object) {
+ return createCategoryAdapter();
+ }
+ @Override
+ public Adapter caseGroup(Group object) {
+ return createGroupAdapter();
+ }
+ @Override
+ public Adapter caseDataObjectReference(DataObjectReference object) {
+ return createDataObjectReferenceAdapter();
+ }
+ @Override
+ public Adapter caseDataObject(DataObject object) {
+ return createDataObjectAdapter();
+ }
+ @Override
+ public Adapter caseDataStore(DataStore object) {
+ return createDataStoreAdapter();
+ }
+ @Override
+ public Adapter caseDataStoreReference(DataStoreReference object) {
+ return createDataStoreReferenceAdapter();
+ }
+ @Override
+ public Adapter caseUserTask(UserTask object) {
+ return createUserTaskAdapter();
+ }
+ @Override
+ public Adapter caseTask(Task object) {
+ return createTaskAdapter();
+ }
+ @Override
+ public Adapter caseRendering(Rendering object) {
+ return createRenderingAdapter();
+ }
+ @Override
+ public Adapter caseHumanPerformer(HumanPerformer object) {
+ return createHumanPerformerAdapter();
+ }
+ @Override
+ public Adapter casePerformer(Performer object) {
+ return createPerformerAdapter();
+ }
+ @Override
+ public Adapter caseGlobalUserTask(GlobalUserTask object) {
+ return createGlobalUserTaskAdapter();
+ }
+ @Override
+ public Adapter caseGlobalManualTask(GlobalManualTask object) {
+ return createGlobalManualTaskAdapter();
+ }
+ @Override
+ public Adapter caseManualTask(ManualTask object) {
+ return createManualTaskAdapter();
+ }
+ @Override
+ public Adapter casePotentialOwner(PotentialOwner object) {
+ return createPotentialOwnerAdapter();
+ }
+ @Override
+ public Adapter caseSubConversation(SubConversation object) {
+ return createSubConversationAdapter();
+ }
+ @Override
+ public Adapter caseGlobalConversation(GlobalConversation object) {
+ return createGlobalConversationAdapter();
+ }
+ @Override
+ public Adapter caseCallConversation(CallConversation object) {
+ return createCallConversationAdapter();
+ }
+ @Override
+ public Adapter caseConversation(Conversation object) {
+ return createConversationAdapter();
+ }
+ @Override
+ public Adapter caseSubProcess(SubProcess object) {
+ return createSubProcessAdapter();
+ }
+ @Override
+ public Adapter caseCallActivity(CallActivity object) {
+ return createCallActivityAdapter();
+ }
+ @Override
+ public Adapter caseBusinessRuleTask(BusinessRuleTask object) {
+ return createBusinessRuleTaskAdapter();
+ }
+ @Override
+ public Adapter caseComplexBehaviorDefinition(ComplexBehaviorDefinition object) {
+ return createComplexBehaviorDefinitionAdapter();
+ }
+ @Override
+ public Adapter caseAdHocSubProcess(AdHocSubProcess object) {
+ return createAdHocSubProcessAdapter();
+ }
+ @Override
+ public Adapter caseScriptTask(ScriptTask object) {
+ return createScriptTaskAdapter();
+ }
+ @Override
+ public Adapter caseSendTask(SendTask object) {
+ return createSendTaskAdapter();
+ }
+ @Override
+ public Adapter caseTransaction(Transaction object) {
+ return createTransactionAdapter();
+ }
+ @Override
+ public Adapter caseStandardLoopCharacteristics(StandardLoopCharacteristics object) {
+ return createStandardLoopCharacteristicsAdapter();
+ }
+ @Override
+ public Adapter caseReceiveTask(ReceiveTask object) {
+ return createReceiveTaskAdapter();
+ }
+ @Override
+ public Adapter caseServiceTask(ServiceTask object) {
+ return createServiceTaskAdapter();
+ }
+ @Override
+ public Adapter caseMultiInstanceLoopCharacteristics(MultiInstanceLoopCharacteristics object) {
+ return createMultiInstanceLoopCharacteristicsAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InclusiveGateway <em>Inclusive Gateway</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InclusiveGateway
+ * @generated
+ */
+ public Adapter createInclusiveGatewayAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.NonExclusiveGateway <em>Non Exclusive Gateway</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.NonExclusiveGateway
+ * @generated
+ */
+ public Adapter createNonExclusiveGatewayAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Gateway <em>Gateway</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Gateway
+ * @generated
+ */
+ public Adapter createGatewayAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowNode <em>Flow Node</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.FlowNode
+ * @generated
+ */
+ public Adapter createFlowNodeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement <em>Flow Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement
+ * @generated
+ */
+ public Adapter createFlowElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement <em>Base Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement
+ * @generated
+ */
+ public Adapter createBaseElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeValue <em>Extension Attribute Value</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeValue
+ * @generated
+ */
+ public Adapter createExtensionAttributeValueAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeDefinition <em>Extension Attribute Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeDefinition
+ * @generated
+ */
+ public Adapter createExtensionAttributeDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Documentation <em>Documentation</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Documentation
+ * @generated
+ */
+ public Adapter createDocumentationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionDefinition <em>Extension Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionDefinition
+ * @generated
+ */
+ public Adapter createExtensionDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation <em>BPMN Association</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation
+ * @generated
+ */
+ public Adapter createBPMNAssociationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNArtifact <em>BPMN Artifact</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNArtifact
+ * @generated
+ */
+ public Adapter createBPMNArtifactAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Auditing <em>Auditing</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Auditing
+ * @generated
+ */
+ public Adapter createAuditingAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Monitoring <em>Monitoring</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Monitoring
+ * @generated
+ */
+ public Adapter createMonitoringAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CategoryValue <em>Category Value</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CategoryValue
+ * @generated
+ */
+ public Adapter createCategoryValueAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.FlowElementsContainer <em>Flow Elements Container</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.FlowElementsContainer
+ * @generated
+ */
+ public Adapter createFlowElementsContainerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet <em>Lane Set</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet
+ * @generated
+ */
+ public Adapter createLaneSetAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Lane <em>Lane</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Lane
+ * @generated
+ */
+ public Adapter createLaneAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow <em>Sequence Flow</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow
+ * @generated
+ */
+ public Adapter createSequenceFlowAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExpression <em>BPMN Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExpression
+ * @generated
+ */
+ public Adapter createBPMNExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway <em>Event Based Gateway</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway
+ * @generated
+ */
+ public Adapter createEventBasedGatewayAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ParallelGateway <em>Parallel Gateway</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ParallelGateway
+ * @generated
+ */
+ public Adapter createParallelGatewayAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ComplexGateway <em>Complex Gateway</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ComplexGateway
+ * @generated
+ */
+ public Adapter createComplexGatewayAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ExclusiveGateway <em>Exclusive Gateway</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ExclusiveGateway
+ * @generated
+ */
+ public Adapter createExclusiveGatewayAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.RootElement <em>Root Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.RootElement
+ * @generated
+ */
+ public Adapter createRootElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Definitions <em>Definitions</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Definitions
+ * @generated
+ */
+ public Adapter createDefinitionsAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExtension <em>BPMN Extension</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExtension
+ * @generated
+ */
+ public Adapter createBPMNExtensionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Import <em>Import</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Import
+ * @generated
+ */
+ public Adapter createImportAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship <em>BPMN Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship
+ * @generated
+ */
+ public Adapter createBPMNRelationshipAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess <em>BPMN Process</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess
+ * @generated
+ */
+ public Adapter createBPMNProcessAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement <em>Callable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement
+ * @generated
+ */
+ public Adapter createCallableElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification <em>Input Output Specification</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification
+ * @generated
+ */
+ public Adapter createInputOutputSpecificationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInput <em>Data Input</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataInput
+ * @generated
+ */
+ public Adapter createDataInputAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemAwareElement <em>Item Aware Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ItemAwareElement
+ * @generated
+ */
+ public Adapter createItemAwareElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataState <em>Data State</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataState
+ * @generated
+ */
+ public Adapter createDataStateAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition <em>Item Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition
+ * @generated
+ */
+ public Adapter createItemDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputSet <em>Input Set</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InputSet
+ * @generated
+ */
+ public Adapter createInputSetAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput <em>Data Output</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput
+ * @generated
+ */
+ public Adapter createDataOutputAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet <em>Output Set</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet
+ * @generated
+ */
+ public Adapter createOutputSetAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface <em>BPMN Interface</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface
+ * @generated
+ */
+ public Adapter createBPMNInterfaceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation <em>BPMN Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation
+ * @generated
+ */
+ public Adapter createBPMNOperationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNMessage <em>BPMN Message</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNMessage
+ * @generated
+ */
+ public Adapter createBPMNMessageAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Error <em>Error</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Error
+ * @generated
+ */
+ public Adapter createErrorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputBinding <em>Input Output Binding</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputBinding
+ * @generated
+ */
+ public Adapter createInputOutputBindingAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration <em>BPMN Collaboration</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration
+ * @generated
+ */
+ public Adapter createBPMNCollaborationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation <em>Participant Association</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation
+ * @generated
+ */
+ public Adapter createParticipantAssociationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Participant <em>Participant</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Participant
+ * @generated
+ */
+ public Adapter createParticipantAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode <em>Interaction Node</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode
+ * @generated
+ */
+ public Adapter createInteractionNodeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink <em>Conversation Link</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink
+ * @generated
+ */
+ public Adapter createConversationLinkAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantMultiplicity <em>Participant Multiplicity</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantMultiplicity
+ * @generated
+ */
+ public Adapter createParticipantMultiplicityAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.PartnerEntity <em>Partner Entity</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.PartnerEntity
+ * @generated
+ */
+ public Adapter createPartnerEntityAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.PartnerRole <em>Partner Role</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.PartnerRole
+ * @generated
+ */
+ public Adapter createPartnerRoleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlowAssociation <em>Message Flow Association</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlowAssociation
+ * @generated
+ */
+ public Adapter createMessageFlowAssociationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow <em>Message Flow</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow
+ * @generated
+ */
+ public Adapter createMessageFlowAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConversationNode <em>Conversation Node</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ConversationNode
+ * @generated
+ */
+ public Adapter createConversationNodeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationKey <em>Correlation Key</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationKey
+ * @generated
+ */
+ public Adapter createCorrelationKeyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationProperty <em>Correlation Property</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationProperty
+ * @generated
+ */
+ public Adapter createCorrelationPropertyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyRetrievalExpression <em>Correlation Property Retrieval Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyRetrievalExpression
+ * @generated
+ */
+ public Adapter createCorrelationPropertyRetrievalExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.FormalExpression <em>Formal Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.FormalExpression
+ * @generated
+ */
+ public Adapter createFormalExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationSubscription <em>Correlation Subscription</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationSubscription
+ * @generated
+ */
+ public Adapter createCorrelationSubscriptionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyBinding <em>Correlation Property Binding</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyBinding
+ * @generated
+ */
+ public Adapter createCorrelationPropertyBindingAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty <em>BPMN Property</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty
+ * @generated
+ */
+ public Adapter createBPMNPropertyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole <em>Resource Role</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole
+ * @generated
+ */
+ public Adapter createResourceRoleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceAssignmentExpression <em>Resource Assignment Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceAssignmentExpression
+ * @generated
+ */
+ public Adapter createResourceAssignmentExpressionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Resource <em>Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Resource
+ * @generated
+ */
+ public Adapter createResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter <em>Resource Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter
+ * @generated
+ */
+ public Adapter createResourceParameterAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameterBinding <em>Resource Parameter Binding</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameterBinding
+ * @generated
+ */
+ public Adapter createResourceParameterBindingAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalScriptTask <em>Global Script Task</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.GlobalScriptTask
+ * @generated
+ */
+ public Adapter createGlobalScriptTaskAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalTask <em>Global Task</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.GlobalTask
+ * @generated
+ */
+ public Adapter createGlobalTaskAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalBusinessRuleTask <em>Global Business Rule Task</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.GlobalBusinessRuleTask
+ * @generated
+ */
+ public Adapter createGlobalBusinessRuleTaskAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CompensateEventDefinition <em>Compensate Event Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CompensateEventDefinition
+ * @generated
+ */
+ public Adapter createCompensateEventDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.EventDefinition <em>Event Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.EventDefinition
+ * @generated
+ */
+ public Adapter createEventDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity <em>BPMN Activity</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity
+ * @generated
+ */
+ public Adapter createBPMNActivityAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BoundaryEvent <em>Boundary Event</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BoundaryEvent
+ * @generated
+ */
+ public Adapter createBoundaryEventAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CatchEvent <em>Catch Event</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CatchEvent
+ * @generated
+ */
+ public Adapter createCatchEventAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNEvent <em>BPMN Event</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNEvent
+ * @generated
+ */
+ public Adapter createBPMNEventAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataOutputAssociation <em>Data Output Association</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataOutputAssociation
+ * @generated
+ */
+ public Adapter createDataOutputAssociationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation <em>Data Association</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation
+ * @generated
+ */
+ public Adapter createDataAssociationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Assignment <em>Assignment</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Assignment
+ * @generated
+ */
+ public Adapter createAssignmentAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataInputAssociation <em>Data Input Association</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataInputAssociation
+ * @generated
+ */
+ public Adapter createDataInputAssociationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.LoopCharacteristics <em>Loop Characteristics</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.LoopCharacteristics
+ * @generated
+ */
+ public Adapter createLoopCharacteristicsAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.EscalationEventDefinition <em>Escalation Event Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.EscalationEventDefinition
+ * @generated
+ */
+ public Adapter createEscalationEventDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Escalation <em>Escalation</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Escalation
+ * @generated
+ */
+ public Adapter createEscalationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.TimerEventDefinition <em>Timer Event Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.TimerEventDefinition
+ * @generated
+ */
+ public Adapter createTimerEventDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SignalEventDefinition <em>Signal Event Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SignalEventDefinition
+ * @generated
+ */
+ public Adapter createSignalEventDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BPMNSignal <em>BPMN Signal</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNSignal
+ * @generated
+ */
+ public Adapter createBPMNSignalAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.EndEvent <em>End Event</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.EndEvent
+ * @generated
+ */
+ public Adapter createEndEventAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ThrowEvent <em>Throw Event</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ThrowEvent
+ * @generated
+ */
+ public Adapter createThrowEventAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MessageEventDefinition <em>Message Event Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MessageEventDefinition
+ * @generated
+ */
+ public Adapter createMessageEventDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.StartEvent <em>Start Event</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.StartEvent
+ * @generated
+ */
+ public Adapter createStartEventAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ConditionalEventDefinition <em>Conditional Event Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ConditionalEventDefinition
+ * @generated
+ */
+ public Adapter createConditionalEventDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.LinkEventDefinition <em>Link Event Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.LinkEventDefinition
+ * @generated
+ */
+ public Adapter createLinkEventDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ErrorEventDefinition <em>Error Event Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ErrorEventDefinition
+ * @generated
+ */
+ public Adapter createErrorEventDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.IntermediateCatchEvent <em>Intermediate Catch Event</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.IntermediateCatchEvent
+ * @generated
+ */
+ public Adapter createIntermediateCatchEventAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.IntermediateThrowEvent <em>Intermediate Throw Event</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.IntermediateThrowEvent
+ * @generated
+ */
+ public Adapter createIntermediateThrowEventAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.TerminateEventDefinition <em>Terminate Event Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.TerminateEventDefinition
+ * @generated
+ */
+ public Adapter createTerminateEventDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ImplicitThrowEvent <em>Implicit Throw Event</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ImplicitThrowEvent
+ * @generated
+ */
+ public Adapter createImplicitThrowEventAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CancelEventDefinition <em>Cancel Event Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CancelEventDefinition
+ * @generated
+ */
+ public Adapter createCancelEventDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.TextAnnotation <em>Text Annotation</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.TextAnnotation
+ * @generated
+ */
+ public Adapter createTextAnnotationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Category <em>Category</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Category
+ * @generated
+ */
+ public Adapter createCategoryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Group <em>Group</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Group
+ * @generated
+ */
+ public Adapter createGroupAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataObjectReference <em>Data Object Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataObjectReference
+ * @generated
+ */
+ public Adapter createDataObjectReferenceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataObject <em>Data Object</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataObject
+ * @generated
+ */
+ public Adapter createDataObjectAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataStore <em>Data Store</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataStore
+ * @generated
+ */
+ public Adapter createDataStoreAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.DataStoreReference <em>Data Store Reference</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.DataStoreReference
+ * @generated
+ */
+ public Adapter createDataStoreReferenceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.UserTask <em>User Task</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.UserTask
+ * @generated
+ */
+ public Adapter createUserTaskAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Task <em>Task</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Task
+ * @generated
+ */
+ public Adapter createTaskAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Rendering <em>Rendering</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Rendering
+ * @generated
+ */
+ public Adapter createRenderingAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.HumanPerformer <em>Human Performer</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.HumanPerformer
+ * @generated
+ */
+ public Adapter createHumanPerformerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Performer <em>Performer</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Performer
+ * @generated
+ */
+ public Adapter createPerformerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalUserTask <em>Global User Task</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.GlobalUserTask
+ * @generated
+ */
+ public Adapter createGlobalUserTaskAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalManualTask <em>Global Manual Task</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.GlobalManualTask
+ * @generated
+ */
+ public Adapter createGlobalManualTaskAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ManualTask <em>Manual Task</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ManualTask
+ * @generated
+ */
+ public Adapter createManualTaskAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.PotentialOwner <em>Potential Owner</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.PotentialOwner
+ * @generated
+ */
+ public Adapter createPotentialOwnerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SubConversation <em>Sub Conversation</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SubConversation
+ * @generated
+ */
+ public Adapter createSubConversationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.GlobalConversation <em>Global Conversation</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.GlobalConversation
+ * @generated
+ */
+ public Adapter createGlobalConversationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallConversation <em>Call Conversation</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CallConversation
+ * @generated
+ */
+ public Adapter createCallConversationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Conversation <em>Conversation</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Conversation
+ * @generated
+ */
+ public Adapter createConversationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SubProcess <em>Sub Process</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SubProcess
+ * @generated
+ */
+ public Adapter createSubProcessAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.CallActivity <em>Call Activity</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.CallActivity
+ * @generated
+ */
+ public Adapter createCallActivityAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.BusinessRuleTask <em>Business Rule Task</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BusinessRuleTask
+ * @generated
+ */
+ public Adapter createBusinessRuleTaskAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ComplexBehaviorDefinition <em>Complex Behavior Definition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ComplexBehaviorDefinition
+ * @generated
+ */
+ public Adapter createComplexBehaviorDefinitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.AdHocSubProcess <em>Ad Hoc Sub Process</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.AdHocSubProcess
+ * @generated
+ */
+ public Adapter createAdHocSubProcessAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ScriptTask <em>Script Task</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ScriptTask
+ * @generated
+ */
+ public Adapter createScriptTaskAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.SendTask <em>Send Task</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.SendTask
+ * @generated
+ */
+ public Adapter createSendTaskAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.Transaction <em>Transaction</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.Transaction
+ * @generated
+ */
+ public Adapter createTransactionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics <em>Standard Loop Characteristics</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics
+ * @generated
+ */
+ public Adapter createStandardLoopCharacteristicsAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask <em>Receive Task</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask
+ * @generated
+ */
+ public Adapter createReceiveTaskAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.ServiceTask <em>Service Task</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.ServiceTask
+ * @generated
+ */
+ public Adapter createServiceTaskAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics <em>Multi Instance Loop Characteristics</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics
+ * @generated
+ */
+ public Adapter createMultiInstanceLoopCharacteristicsAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //BPMNProfileAdapterFactory
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/util/BPMNProfileSwitch.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/util/BPMNProfileSwitch.java
new file mode 100644
index 00000000000..99daed22af2
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/util/BPMNProfileSwitch.java
@@ -0,0 +1,3263 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.AdHocSubProcess;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Assignment;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Auditing;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNArtifact;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExtension;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNMessage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNSignal;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BoundaryEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BusinessRuleTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CallActivity;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CallConversation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CancelEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CatchEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Category;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CategoryValue;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CompensateEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ComplexBehaviorDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ComplexGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ConditionalEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Conversation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ConversationNode;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationKey;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationProperty;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyBinding;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyRetrievalExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationSubscription;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataInput;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataInputAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataObject;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataObjectReference;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataOutputAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataState;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataStore;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataStoreReference;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Definitions;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Documentation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.EndEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ErrorEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Escalation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.EscalationEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.EventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ExclusiveGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeValue;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FlowElementsContainer;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FlowNode;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FormalExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Gateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalBusinessRuleTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalConversation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalManualTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalScriptTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalUserTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Group;
+import org.eclipse.papyrus.bpmn.BPMNProfile.HumanPerformer;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ImplicitThrowEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Import;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InclusiveGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputBinding;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InputSet;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode;
+import org.eclipse.papyrus.bpmn.BPMNProfile.IntermediateCatchEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.IntermediateThrowEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ItemAwareElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Lane;
+import org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet;
+import org.eclipse.papyrus.bpmn.BPMNProfile.LinkEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.LoopCharacteristics;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ManualTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MessageEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlowAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Monitoring;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics;
+import org.eclipse.papyrus.bpmn.BPMNProfile.NonExclusiveGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ParallelGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Participant;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantMultiplicity;
+import org.eclipse.papyrus.bpmn.BPMNProfile.PartnerEntity;
+import org.eclipse.papyrus.bpmn.BPMNProfile.PartnerRole;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Performer;
+import org.eclipse.papyrus.bpmn.BPMNProfile.PotentialOwner;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Rendering;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Resource;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceAssignmentExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameterBinding;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole;
+import org.eclipse.papyrus.bpmn.BPMNProfile.RootElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ScriptTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SendTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ServiceTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SignalEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics;
+import org.eclipse.papyrus.bpmn.BPMNProfile.StartEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SubConversation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SubProcess;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Task;
+import org.eclipse.papyrus.bpmn.BPMNProfile.TerminateEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.TextAnnotation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ThrowEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.TimerEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Transaction;
+import org.eclipse.papyrus.bpmn.BPMNProfile.UserTask;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage
+ * @generated
+ */
+public class BPMNProfileSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static BPMNProfilePackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNProfileSwitch() {
+ if (modelPackage == null) {
+ modelPackage = BPMNProfilePackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case BPMNProfilePackage.INCLUSIVE_GATEWAY: {
+ InclusiveGateway inclusiveGateway = (InclusiveGateway)theEObject;
+ T result = caseInclusiveGateway(inclusiveGateway);
+ if (result == null) result = caseNonExclusiveGateway(inclusiveGateway);
+ if (result == null) result = caseGateway(inclusiveGateway);
+ if (result == null) result = caseFlowNode(inclusiveGateway);
+ if (result == null) result = caseFlowElement(inclusiveGateway);
+ if (result == null) result = caseBaseElement(inclusiveGateway);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.NON_EXCLUSIVE_GATEWAY: {
+ NonExclusiveGateway nonExclusiveGateway = (NonExclusiveGateway)theEObject;
+ T result = caseNonExclusiveGateway(nonExclusiveGateway);
+ if (result == null) result = caseGateway(nonExclusiveGateway);
+ if (result == null) result = caseFlowNode(nonExclusiveGateway);
+ if (result == null) result = caseFlowElement(nonExclusiveGateway);
+ if (result == null) result = caseBaseElement(nonExclusiveGateway);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.GATEWAY: {
+ Gateway gateway = (Gateway)theEObject;
+ T result = caseGateway(gateway);
+ if (result == null) result = caseFlowNode(gateway);
+ if (result == null) result = caseFlowElement(gateway);
+ if (result == null) result = caseBaseElement(gateway);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.FLOW_NODE: {
+ FlowNode flowNode = (FlowNode)theEObject;
+ T result = caseFlowNode(flowNode);
+ if (result == null) result = caseFlowElement(flowNode);
+ if (result == null) result = caseBaseElement(flowNode);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.FLOW_ELEMENT: {
+ FlowElement flowElement = (FlowElement)theEObject;
+ T result = caseFlowElement(flowElement);
+ if (result == null) result = caseBaseElement(flowElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.BASE_ELEMENT: {
+ BaseElement baseElement = (BaseElement)theEObject;
+ T result = caseBaseElement(baseElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_VALUE: {
+ ExtensionAttributeValue extensionAttributeValue = (ExtensionAttributeValue)theEObject;
+ T result = caseExtensionAttributeValue(extensionAttributeValue);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_DEFINITION: {
+ ExtensionAttributeDefinition extensionAttributeDefinition = (ExtensionAttributeDefinition)theEObject;
+ T result = caseExtensionAttributeDefinition(extensionAttributeDefinition);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.DOCUMENTATION: {
+ Documentation documentation = (Documentation)theEObject;
+ T result = caseDocumentation(documentation);
+ if (result == null) result = caseBaseElement(documentation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.EXTENSION_DEFINITION: {
+ ExtensionDefinition extensionDefinition = (ExtensionDefinition)theEObject;
+ T result = caseExtensionDefinition(extensionDefinition);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.BPMN_ASSOCIATION: {
+ BPMNAssociation bpmnAssociation = (BPMNAssociation)theEObject;
+ T result = caseBPMNAssociation(bpmnAssociation);
+ if (result == null) result = caseBPMNArtifact(bpmnAssociation);
+ if (result == null) result = caseBaseElement(bpmnAssociation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.BPMN_ARTIFACT: {
+ BPMNArtifact bpmnArtifact = (BPMNArtifact)theEObject;
+ T result = caseBPMNArtifact(bpmnArtifact);
+ if (result == null) result = caseBaseElement(bpmnArtifact);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.AUDITING: {
+ Auditing auditing = (Auditing)theEObject;
+ T result = caseAuditing(auditing);
+ if (result == null) result = caseBaseElement(auditing);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.MONITORING: {
+ Monitoring monitoring = (Monitoring)theEObject;
+ T result = caseMonitoring(monitoring);
+ if (result == null) result = caseBaseElement(monitoring);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.CATEGORY_VALUE: {
+ CategoryValue categoryValue = (CategoryValue)theEObject;
+ T result = caseCategoryValue(categoryValue);
+ if (result == null) result = caseBaseElement(categoryValue);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER: {
+ FlowElementsContainer flowElementsContainer = (FlowElementsContainer)theEObject;
+ T result = caseFlowElementsContainer(flowElementsContainer);
+ if (result == null) result = caseBaseElement(flowElementsContainer);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.LANE_SET: {
+ LaneSet laneSet = (LaneSet)theEObject;
+ T result = caseLaneSet(laneSet);
+ if (result == null) result = caseBaseElement(laneSet);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.LANE: {
+ Lane lane = (Lane)theEObject;
+ T result = caseLane(lane);
+ if (result == null) result = caseBaseElement(lane);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.SEQUENCE_FLOW: {
+ SequenceFlow sequenceFlow = (SequenceFlow)theEObject;
+ T result = caseSequenceFlow(sequenceFlow);
+ if (result == null) result = caseFlowElement(sequenceFlow);
+ if (result == null) result = caseBaseElement(sequenceFlow);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.BPMN_EXPRESSION: {
+ BPMNExpression bpmnExpression = (BPMNExpression)theEObject;
+ T result = caseBPMNExpression(bpmnExpression);
+ if (result == null) result = caseBaseElement(bpmnExpression);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.EVENT_BASED_GATEWAY: {
+ EventBasedGateway eventBasedGateway = (EventBasedGateway)theEObject;
+ T result = caseEventBasedGateway(eventBasedGateway);
+ if (result == null) result = caseGateway(eventBasedGateway);
+ if (result == null) result = caseFlowNode(eventBasedGateway);
+ if (result == null) result = caseFlowElement(eventBasedGateway);
+ if (result == null) result = caseBaseElement(eventBasedGateway);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.PARALLEL_GATEWAY: {
+ ParallelGateway parallelGateway = (ParallelGateway)theEObject;
+ T result = caseParallelGateway(parallelGateway);
+ if (result == null) result = caseNonExclusiveGateway(parallelGateway);
+ if (result == null) result = caseGateway(parallelGateway);
+ if (result == null) result = caseFlowNode(parallelGateway);
+ if (result == null) result = caseFlowElement(parallelGateway);
+ if (result == null) result = caseBaseElement(parallelGateway);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.COMPLEX_GATEWAY: {
+ ComplexGateway complexGateway = (ComplexGateway)theEObject;
+ T result = caseComplexGateway(complexGateway);
+ if (result == null) result = caseNonExclusiveGateway(complexGateway);
+ if (result == null) result = caseGateway(complexGateway);
+ if (result == null) result = caseFlowNode(complexGateway);
+ if (result == null) result = caseFlowElement(complexGateway);
+ if (result == null) result = caseBaseElement(complexGateway);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.EXCLUSIVE_GATEWAY: {
+ ExclusiveGateway exclusiveGateway = (ExclusiveGateway)theEObject;
+ T result = caseExclusiveGateway(exclusiveGateway);
+ if (result == null) result = caseGateway(exclusiveGateway);
+ if (result == null) result = caseFlowNode(exclusiveGateway);
+ if (result == null) result = caseFlowElement(exclusiveGateway);
+ if (result == null) result = caseBaseElement(exclusiveGateway);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.ROOT_ELEMENT: {
+ RootElement rootElement = (RootElement)theEObject;
+ T result = caseRootElement(rootElement);
+ if (result == null) result = caseBaseElement(rootElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.DEFINITIONS: {
+ Definitions definitions = (Definitions)theEObject;
+ T result = caseDefinitions(definitions);
+ if (result == null) result = caseBaseElement(definitions);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.BPMN_EXTENSION: {
+ BPMNExtension bpmnExtension = (BPMNExtension)theEObject;
+ T result = caseBPMNExtension(bpmnExtension);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.IMPORT: {
+ Import import_ = (Import)theEObject;
+ T result = caseImport(import_);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.BPMN_RELATIONSHIP: {
+ BPMNRelationship bpmnRelationship = (BPMNRelationship)theEObject;
+ T result = caseBPMNRelationship(bpmnRelationship);
+ if (result == null) result = caseBaseElement(bpmnRelationship);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.BPMN_PROCESS: {
+ BPMNProcess bpmnProcess = (BPMNProcess)theEObject;
+ T result = caseBPMNProcess(bpmnProcess);
+ if (result == null) result = caseCallableElement(bpmnProcess);
+ if (result == null) result = caseFlowElementsContainer(bpmnProcess);
+ if (result == null) result = caseRootElement(bpmnProcess);
+ if (result == null) result = caseBaseElement(bpmnProcess);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.CALLABLE_ELEMENT: {
+ CallableElement callableElement = (CallableElement)theEObject;
+ T result = caseCallableElement(callableElement);
+ if (result == null) result = caseRootElement(callableElement);
+ if (result == null) result = caseBaseElement(callableElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION: {
+ InputOutputSpecification inputOutputSpecification = (InputOutputSpecification)theEObject;
+ T result = caseInputOutputSpecification(inputOutputSpecification);
+ if (result == null) result = caseBaseElement(inputOutputSpecification);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.DATA_INPUT: {
+ DataInput dataInput = (DataInput)theEObject;
+ T result = caseDataInput(dataInput);
+ if (result == null) result = caseItemAwareElement(dataInput);
+ if (result == null) result = caseBaseElement(dataInput);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.ITEM_AWARE_ELEMENT: {
+ ItemAwareElement itemAwareElement = (ItemAwareElement)theEObject;
+ T result = caseItemAwareElement(itemAwareElement);
+ if (result == null) result = caseBaseElement(itemAwareElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.DATA_STATE: {
+ DataState dataState = (DataState)theEObject;
+ T result = caseDataState(dataState);
+ if (result == null) result = caseBaseElement(dataState);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.ITEM_DEFINITION: {
+ ItemDefinition itemDefinition = (ItemDefinition)theEObject;
+ T result = caseItemDefinition(itemDefinition);
+ if (result == null) result = caseRootElement(itemDefinition);
+ if (result == null) result = caseBaseElement(itemDefinition);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.INPUT_SET: {
+ InputSet inputSet = (InputSet)theEObject;
+ T result = caseInputSet(inputSet);
+ if (result == null) result = caseBaseElement(inputSet);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.DATA_OUTPUT: {
+ DataOutput dataOutput = (DataOutput)theEObject;
+ T result = caseDataOutput(dataOutput);
+ if (result == null) result = caseItemAwareElement(dataOutput);
+ if (result == null) result = caseBaseElement(dataOutput);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.OUTPUT_SET: {
+ OutputSet outputSet = (OutputSet)theEObject;
+ T result = caseOutputSet(outputSet);
+ if (result == null) result = caseBaseElement(outputSet);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.BPMN_INTERFACE: {
+ BPMNInterface bpmnInterface = (BPMNInterface)theEObject;
+ T result = caseBPMNInterface(bpmnInterface);
+ if (result == null) result = caseRootElement(bpmnInterface);
+ if (result == null) result = caseBaseElement(bpmnInterface);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.BPMN_OPERATION: {
+ BPMNOperation bpmnOperation = (BPMNOperation)theEObject;
+ T result = caseBPMNOperation(bpmnOperation);
+ if (result == null) result = caseBaseElement(bpmnOperation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.BPMN_MESSAGE: {
+ BPMNMessage bpmnMessage = (BPMNMessage)theEObject;
+ T result = caseBPMNMessage(bpmnMessage);
+ if (result == null) result = caseItemDefinition(bpmnMessage);
+ if (result == null) result = caseRootElement(bpmnMessage);
+ if (result == null) result = caseBaseElement(bpmnMessage);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.ERROR: {
+ org.eclipse.papyrus.bpmn.BPMNProfile.Error error = (org.eclipse.papyrus.bpmn.BPMNProfile.Error)theEObject;
+ T result = caseError(error);
+ if (result == null) result = caseItemDefinition(error);
+ if (result == null) result = caseRootElement(error);
+ if (result == null) result = caseBaseElement(error);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.INPUT_OUTPUT_BINDING: {
+ InputOutputBinding inputOutputBinding = (InputOutputBinding)theEObject;
+ T result = caseInputOutputBinding(inputOutputBinding);
+ if (result == null) result = caseBaseElement(inputOutputBinding);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.BPMN_COLLABORATION: {
+ BPMNCollaboration bpmnCollaboration = (BPMNCollaboration)theEObject;
+ T result = caseBPMNCollaboration(bpmnCollaboration);
+ if (result == null) result = caseRootElement(bpmnCollaboration);
+ if (result == null) result = caseBaseElement(bpmnCollaboration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.PARTICIPANT_ASSOCIATION: {
+ ParticipantAssociation participantAssociation = (ParticipantAssociation)theEObject;
+ T result = caseParticipantAssociation(participantAssociation);
+ if (result == null) result = caseBaseElement(participantAssociation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.PARTICIPANT: {
+ Participant participant = (Participant)theEObject;
+ T result = caseParticipant(participant);
+ if (result == null) result = caseBaseElement(participant);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.INTERACTION_NODE: {
+ InteractionNode interactionNode = (InteractionNode)theEObject;
+ T result = caseInteractionNode(interactionNode);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.CONVERSATION_LINK: {
+ ConversationLink conversationLink = (ConversationLink)theEObject;
+ T result = caseConversationLink(conversationLink);
+ if (result == null) result = caseBaseElement(conversationLink);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.PARTICIPANT_MULTIPLICITY: {
+ ParticipantMultiplicity participantMultiplicity = (ParticipantMultiplicity)theEObject;
+ T result = caseParticipantMultiplicity(participantMultiplicity);
+ if (result == null) result = caseBaseElement(participantMultiplicity);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.PARTNER_ENTITY: {
+ PartnerEntity partnerEntity = (PartnerEntity)theEObject;
+ T result = casePartnerEntity(partnerEntity);
+ if (result == null) result = caseRootElement(partnerEntity);
+ if (result == null) result = caseBaseElement(partnerEntity);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.PARTNER_ROLE: {
+ PartnerRole partnerRole = (PartnerRole)theEObject;
+ T result = casePartnerRole(partnerRole);
+ if (result == null) result = caseRootElement(partnerRole);
+ if (result == null) result = caseBaseElement(partnerRole);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.MESSAGE_FLOW_ASSOCIATION: {
+ MessageFlowAssociation messageFlowAssociation = (MessageFlowAssociation)theEObject;
+ T result = caseMessageFlowAssociation(messageFlowAssociation);
+ if (result == null) result = caseBaseElement(messageFlowAssociation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.MESSAGE_FLOW: {
+ MessageFlow messageFlow = (MessageFlow)theEObject;
+ T result = caseMessageFlow(messageFlow);
+ if (result == null) result = caseBaseElement(messageFlow);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.CONVERSATION_NODE: {
+ ConversationNode conversationNode = (ConversationNode)theEObject;
+ T result = caseConversationNode(conversationNode);
+ if (result == null) result = caseInteractionNode(conversationNode);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.CORRELATION_KEY: {
+ CorrelationKey correlationKey = (CorrelationKey)theEObject;
+ T result = caseCorrelationKey(correlationKey);
+ if (result == null) result = caseBaseElement(correlationKey);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.CORRELATION_PROPERTY: {
+ CorrelationProperty correlationProperty = (CorrelationProperty)theEObject;
+ T result = caseCorrelationProperty(correlationProperty);
+ if (result == null) result = caseBaseElement(correlationProperty);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION: {
+ CorrelationPropertyRetrievalExpression correlationPropertyRetrievalExpression = (CorrelationPropertyRetrievalExpression)theEObject;
+ T result = caseCorrelationPropertyRetrievalExpression(correlationPropertyRetrievalExpression);
+ if (result == null) result = caseBaseElement(correlationPropertyRetrievalExpression);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.FORMAL_EXPRESSION: {
+ FormalExpression formalExpression = (FormalExpression)theEObject;
+ T result = caseFormalExpression(formalExpression);
+ if (result == null) result = caseBPMNExpression(formalExpression);
+ if (result == null) result = caseBaseElement(formalExpression);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.CORRELATION_SUBSCRIPTION: {
+ CorrelationSubscription correlationSubscription = (CorrelationSubscription)theEObject;
+ T result = caseCorrelationSubscription(correlationSubscription);
+ if (result == null) result = caseBaseElement(correlationSubscription);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.CORRELATION_PROPERTY_BINDING: {
+ CorrelationPropertyBinding correlationPropertyBinding = (CorrelationPropertyBinding)theEObject;
+ T result = caseCorrelationPropertyBinding(correlationPropertyBinding);
+ if (result == null) result = caseBaseElement(correlationPropertyBinding);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.BPMN_PROPERTY: {
+ BPMNProperty bpmnProperty = (BPMNProperty)theEObject;
+ T result = caseBPMNProperty(bpmnProperty);
+ if (result == null) result = caseItemAwareElement(bpmnProperty);
+ if (result == null) result = caseBaseElement(bpmnProperty);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.RESOURCE_ROLE: {
+ ResourceRole resourceRole = (ResourceRole)theEObject;
+ T result = caseResourceRole(resourceRole);
+ if (result == null) result = caseBaseElement(resourceRole);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.RESOURCE_ASSIGNMENT_EXPRESSION: {
+ ResourceAssignmentExpression resourceAssignmentExpression = (ResourceAssignmentExpression)theEObject;
+ T result = caseResourceAssignmentExpression(resourceAssignmentExpression);
+ if (result == null) result = caseBPMNExpression(resourceAssignmentExpression);
+ if (result == null) result = caseBaseElement(resourceAssignmentExpression);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.RESOURCE: {
+ Resource resource = (Resource)theEObject;
+ T result = caseResource(resource);
+ if (result == null) result = caseItemDefinition(resource);
+ if (result == null) result = caseRootElement(resource);
+ if (result == null) result = caseBaseElement(resource);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.RESOURCE_PARAMETER: {
+ ResourceParameter resourceParameter = (ResourceParameter)theEObject;
+ T result = caseResourceParameter(resourceParameter);
+ if (result == null) result = caseBaseElement(resourceParameter);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.RESOURCE_PARAMETER_BINDING: {
+ ResourceParameterBinding resourceParameterBinding = (ResourceParameterBinding)theEObject;
+ T result = caseResourceParameterBinding(resourceParameterBinding);
+ if (result == null) result = caseBaseElement(resourceParameterBinding);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.GLOBAL_SCRIPT_TASK: {
+ GlobalScriptTask globalScriptTask = (GlobalScriptTask)theEObject;
+ T result = caseGlobalScriptTask(globalScriptTask);
+ if (result == null) result = caseGlobalTask(globalScriptTask);
+ if (result == null) result = caseCallableElement(globalScriptTask);
+ if (result == null) result = caseRootElement(globalScriptTask);
+ if (result == null) result = caseBaseElement(globalScriptTask);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.GLOBAL_TASK: {
+ GlobalTask globalTask = (GlobalTask)theEObject;
+ T result = caseGlobalTask(globalTask);
+ if (result == null) result = caseCallableElement(globalTask);
+ if (result == null) result = caseRootElement(globalTask);
+ if (result == null) result = caseBaseElement(globalTask);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.GLOBAL_BUSINESS_RULE_TASK: {
+ GlobalBusinessRuleTask globalBusinessRuleTask = (GlobalBusinessRuleTask)theEObject;
+ T result = caseGlobalBusinessRuleTask(globalBusinessRuleTask);
+ if (result == null) result = caseGlobalTask(globalBusinessRuleTask);
+ if (result == null) result = caseCallableElement(globalBusinessRuleTask);
+ if (result == null) result = caseRootElement(globalBusinessRuleTask);
+ if (result == null) result = caseBaseElement(globalBusinessRuleTask);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.COMPENSATE_EVENT_DEFINITION: {
+ CompensateEventDefinition compensateEventDefinition = (CompensateEventDefinition)theEObject;
+ T result = caseCompensateEventDefinition(compensateEventDefinition);
+ if (result == null) result = caseEventDefinition(compensateEventDefinition);
+ if (result == null) result = caseRootElement(compensateEventDefinition);
+ if (result == null) result = caseBaseElement(compensateEventDefinition);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.EVENT_DEFINITION: {
+ EventDefinition eventDefinition = (EventDefinition)theEObject;
+ T result = caseEventDefinition(eventDefinition);
+ if (result == null) result = caseRootElement(eventDefinition);
+ if (result == null) result = caseBaseElement(eventDefinition);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.BPMN_ACTIVITY: {
+ BPMNActivity bpmnActivity = (BPMNActivity)theEObject;
+ T result = caseBPMNActivity(bpmnActivity);
+ if (result == null) result = caseFlowNode(bpmnActivity);
+ if (result == null) result = caseFlowElement(bpmnActivity);
+ if (result == null) result = caseBaseElement(bpmnActivity);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.BOUNDARY_EVENT: {
+ BoundaryEvent boundaryEvent = (BoundaryEvent)theEObject;
+ T result = caseBoundaryEvent(boundaryEvent);
+ if (result == null) result = caseCatchEvent(boundaryEvent);
+ if (result == null) result = caseBPMNEvent(boundaryEvent);
+ if (result == null) result = caseFlowNode(boundaryEvent);
+ if (result == null) result = caseFlowElement(boundaryEvent);
+ if (result == null) result = caseBaseElement(boundaryEvent);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.CATCH_EVENT: {
+ CatchEvent catchEvent = (CatchEvent)theEObject;
+ T result = caseCatchEvent(catchEvent);
+ if (result == null) result = caseBPMNEvent(catchEvent);
+ if (result == null) result = caseFlowNode(catchEvent);
+ if (result == null) result = caseFlowElement(catchEvent);
+ if (result == null) result = caseBaseElement(catchEvent);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.BPMN_EVENT: {
+ BPMNEvent bpmnEvent = (BPMNEvent)theEObject;
+ T result = caseBPMNEvent(bpmnEvent);
+ if (result == null) result = caseFlowNode(bpmnEvent);
+ if (result == null) result = caseFlowElement(bpmnEvent);
+ if (result == null) result = caseBaseElement(bpmnEvent);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.DATA_OUTPUT_ASSOCIATION: {
+ DataOutputAssociation dataOutputAssociation = (DataOutputAssociation)theEObject;
+ T result = caseDataOutputAssociation(dataOutputAssociation);
+ if (result == null) result = caseDataAssociation(dataOutputAssociation);
+ if (result == null) result = caseBaseElement(dataOutputAssociation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.DATA_ASSOCIATION: {
+ DataAssociation dataAssociation = (DataAssociation)theEObject;
+ T result = caseDataAssociation(dataAssociation);
+ if (result == null) result = caseBaseElement(dataAssociation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.ASSIGNMENT: {
+ Assignment assignment = (Assignment)theEObject;
+ T result = caseAssignment(assignment);
+ if (result == null) result = caseBaseElement(assignment);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.DATA_INPUT_ASSOCIATION: {
+ DataInputAssociation dataInputAssociation = (DataInputAssociation)theEObject;
+ T result = caseDataInputAssociation(dataInputAssociation);
+ if (result == null) result = caseDataAssociation(dataInputAssociation);
+ if (result == null) result = caseBaseElement(dataInputAssociation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.LOOP_CHARACTERISTICS: {
+ LoopCharacteristics loopCharacteristics = (LoopCharacteristics)theEObject;
+ T result = caseLoopCharacteristics(loopCharacteristics);
+ if (result == null) result = caseBaseElement(loopCharacteristics);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.ESCALATION_EVENT_DEFINITION: {
+ EscalationEventDefinition escalationEventDefinition = (EscalationEventDefinition)theEObject;
+ T result = caseEscalationEventDefinition(escalationEventDefinition);
+ if (result == null) result = caseEventDefinition(escalationEventDefinition);
+ if (result == null) result = caseRootElement(escalationEventDefinition);
+ if (result == null) result = caseBaseElement(escalationEventDefinition);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.ESCALATION: {
+ Escalation escalation = (Escalation)theEObject;
+ T result = caseEscalation(escalation);
+ if (result == null) result = caseItemDefinition(escalation);
+ if (result == null) result = caseRootElement(escalation);
+ if (result == null) result = caseBaseElement(escalation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.TIMER_EVENT_DEFINITION: {
+ TimerEventDefinition timerEventDefinition = (TimerEventDefinition)theEObject;
+ T result = caseTimerEventDefinition(timerEventDefinition);
+ if (result == null) result = caseEventDefinition(timerEventDefinition);
+ if (result == null) result = caseRootElement(timerEventDefinition);
+ if (result == null) result = caseBaseElement(timerEventDefinition);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.SIGNAL_EVENT_DEFINITION: {
+ SignalEventDefinition signalEventDefinition = (SignalEventDefinition)theEObject;
+ T result = caseSignalEventDefinition(signalEventDefinition);
+ if (result == null) result = caseEventDefinition(signalEventDefinition);
+ if (result == null) result = caseRootElement(signalEventDefinition);
+ if (result == null) result = caseBaseElement(signalEventDefinition);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.BPMN_SIGNAL: {
+ BPMNSignal bpmnSignal = (BPMNSignal)theEObject;
+ T result = caseBPMNSignal(bpmnSignal);
+ if (result == null) result = caseItemDefinition(bpmnSignal);
+ if (result == null) result = caseRootElement(bpmnSignal);
+ if (result == null) result = caseBaseElement(bpmnSignal);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.END_EVENT: {
+ EndEvent endEvent = (EndEvent)theEObject;
+ T result = caseEndEvent(endEvent);
+ if (result == null) result = caseThrowEvent(endEvent);
+ if (result == null) result = caseBPMNEvent(endEvent);
+ if (result == null) result = caseFlowNode(endEvent);
+ if (result == null) result = caseFlowElement(endEvent);
+ if (result == null) result = caseBaseElement(endEvent);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.THROW_EVENT: {
+ ThrowEvent throwEvent = (ThrowEvent)theEObject;
+ T result = caseThrowEvent(throwEvent);
+ if (result == null) result = caseBPMNEvent(throwEvent);
+ if (result == null) result = caseFlowNode(throwEvent);
+ if (result == null) result = caseFlowElement(throwEvent);
+ if (result == null) result = caseBaseElement(throwEvent);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.MESSAGE_EVENT_DEFINITION: {
+ MessageEventDefinition messageEventDefinition = (MessageEventDefinition)theEObject;
+ T result = caseMessageEventDefinition(messageEventDefinition);
+ if (result == null) result = caseEventDefinition(messageEventDefinition);
+ if (result == null) result = caseRootElement(messageEventDefinition);
+ if (result == null) result = caseBaseElement(messageEventDefinition);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.START_EVENT: {
+ StartEvent startEvent = (StartEvent)theEObject;
+ T result = caseStartEvent(startEvent);
+ if (result == null) result = caseCatchEvent(startEvent);
+ if (result == null) result = caseBPMNEvent(startEvent);
+ if (result == null) result = caseFlowNode(startEvent);
+ if (result == null) result = caseFlowElement(startEvent);
+ if (result == null) result = caseBaseElement(startEvent);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.CONDITIONAL_EVENT_DEFINITION: {
+ ConditionalEventDefinition conditionalEventDefinition = (ConditionalEventDefinition)theEObject;
+ T result = caseConditionalEventDefinition(conditionalEventDefinition);
+ if (result == null) result = caseEventDefinition(conditionalEventDefinition);
+ if (result == null) result = caseRootElement(conditionalEventDefinition);
+ if (result == null) result = caseBaseElement(conditionalEventDefinition);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.LINK_EVENT_DEFINITION: {
+ LinkEventDefinition linkEventDefinition = (LinkEventDefinition)theEObject;
+ T result = caseLinkEventDefinition(linkEventDefinition);
+ if (result == null) result = caseEventDefinition(linkEventDefinition);
+ if (result == null) result = caseRootElement(linkEventDefinition);
+ if (result == null) result = caseBaseElement(linkEventDefinition);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.ERROR_EVENT_DEFINITION: {
+ ErrorEventDefinition errorEventDefinition = (ErrorEventDefinition)theEObject;
+ T result = caseErrorEventDefinition(errorEventDefinition);
+ if (result == null) result = caseEventDefinition(errorEventDefinition);
+ if (result == null) result = caseRootElement(errorEventDefinition);
+ if (result == null) result = caseBaseElement(errorEventDefinition);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.INTERMEDIATE_CATCH_EVENT: {
+ IntermediateCatchEvent intermediateCatchEvent = (IntermediateCatchEvent)theEObject;
+ T result = caseIntermediateCatchEvent(intermediateCatchEvent);
+ if (result == null) result = caseCatchEvent(intermediateCatchEvent);
+ if (result == null) result = caseBPMNEvent(intermediateCatchEvent);
+ if (result == null) result = caseFlowNode(intermediateCatchEvent);
+ if (result == null) result = caseFlowElement(intermediateCatchEvent);
+ if (result == null) result = caseBaseElement(intermediateCatchEvent);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.INTERMEDIATE_THROW_EVENT: {
+ IntermediateThrowEvent intermediateThrowEvent = (IntermediateThrowEvent)theEObject;
+ T result = caseIntermediateThrowEvent(intermediateThrowEvent);
+ if (result == null) result = caseThrowEvent(intermediateThrowEvent);
+ if (result == null) result = caseBPMNEvent(intermediateThrowEvent);
+ if (result == null) result = caseFlowNode(intermediateThrowEvent);
+ if (result == null) result = caseFlowElement(intermediateThrowEvent);
+ if (result == null) result = caseBaseElement(intermediateThrowEvent);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.TERMINATE_EVENT_DEFINITION: {
+ TerminateEventDefinition terminateEventDefinition = (TerminateEventDefinition)theEObject;
+ T result = caseTerminateEventDefinition(terminateEventDefinition);
+ if (result == null) result = caseEventDefinition(terminateEventDefinition);
+ if (result == null) result = caseRootElement(terminateEventDefinition);
+ if (result == null) result = caseBaseElement(terminateEventDefinition);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.IMPLICIT_THROW_EVENT: {
+ ImplicitThrowEvent implicitThrowEvent = (ImplicitThrowEvent)theEObject;
+ T result = caseImplicitThrowEvent(implicitThrowEvent);
+ if (result == null) result = caseThrowEvent(implicitThrowEvent);
+ if (result == null) result = caseBPMNEvent(implicitThrowEvent);
+ if (result == null) result = caseFlowNode(implicitThrowEvent);
+ if (result == null) result = caseFlowElement(implicitThrowEvent);
+ if (result == null) result = caseBaseElement(implicitThrowEvent);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.CANCEL_EVENT_DEFINITION: {
+ CancelEventDefinition cancelEventDefinition = (CancelEventDefinition)theEObject;
+ T result = caseCancelEventDefinition(cancelEventDefinition);
+ if (result == null) result = caseEventDefinition(cancelEventDefinition);
+ if (result == null) result = caseRootElement(cancelEventDefinition);
+ if (result == null) result = caseBaseElement(cancelEventDefinition);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.TEXT_ANNOTATION: {
+ TextAnnotation textAnnotation = (TextAnnotation)theEObject;
+ T result = caseTextAnnotation(textAnnotation);
+ if (result == null) result = caseBPMNArtifact(textAnnotation);
+ if (result == null) result = caseBaseElement(textAnnotation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.CATEGORY: {
+ Category category = (Category)theEObject;
+ T result = caseCategory(category);
+ if (result == null) result = caseRootElement(category);
+ if (result == null) result = caseBaseElement(category);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.GROUP: {
+ Group group = (Group)theEObject;
+ T result = caseGroup(group);
+ if (result == null) result = caseBPMNArtifact(group);
+ if (result == null) result = caseBaseElement(group);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.DATA_OBJECT_REFERENCE: {
+ DataObjectReference dataObjectReference = (DataObjectReference)theEObject;
+ T result = caseDataObjectReference(dataObjectReference);
+ if (result == null) result = caseFlowElement(dataObjectReference);
+ if (result == null) result = caseItemAwareElement(dataObjectReference);
+ if (result == null) result = caseBaseElement(dataObjectReference);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.DATA_OBJECT: {
+ DataObject dataObject = (DataObject)theEObject;
+ T result = caseDataObject(dataObject);
+ if (result == null) result = caseFlowElement(dataObject);
+ if (result == null) result = caseItemAwareElement(dataObject);
+ if (result == null) result = caseBaseElement(dataObject);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.DATA_STORE: {
+ DataStore dataStore = (DataStore)theEObject;
+ T result = caseDataStore(dataStore);
+ if (result == null) result = caseRootElement(dataStore);
+ if (result == null) result = caseBaseElement(dataStore);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.DATA_STORE_REFERENCE: {
+ DataStoreReference dataStoreReference = (DataStoreReference)theEObject;
+ T result = caseDataStoreReference(dataStoreReference);
+ if (result == null) result = caseFlowElement(dataStoreReference);
+ if (result == null) result = caseItemAwareElement(dataStoreReference);
+ if (result == null) result = caseBaseElement(dataStoreReference);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.USER_TASK: {
+ UserTask userTask = (UserTask)theEObject;
+ T result = caseUserTask(userTask);
+ if (result == null) result = caseTask(userTask);
+ if (result == null) result = caseBPMNActivity(userTask);
+ if (result == null) result = caseFlowNode(userTask);
+ if (result == null) result = caseFlowElement(userTask);
+ if (result == null) result = caseBaseElement(userTask);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.TASK: {
+ Task task = (Task)theEObject;
+ T result = caseTask(task);
+ if (result == null) result = caseBPMNActivity(task);
+ if (result == null) result = caseFlowNode(task);
+ if (result == null) result = caseFlowElement(task);
+ if (result == null) result = caseBaseElement(task);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.RENDERING: {
+ Rendering rendering = (Rendering)theEObject;
+ T result = caseRendering(rendering);
+ if (result == null) result = caseBaseElement(rendering);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.HUMAN_PERFORMER: {
+ HumanPerformer humanPerformer = (HumanPerformer)theEObject;
+ T result = caseHumanPerformer(humanPerformer);
+ if (result == null) result = casePerformer(humanPerformer);
+ if (result == null) result = caseResourceRole(humanPerformer);
+ if (result == null) result = caseBaseElement(humanPerformer);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.PERFORMER: {
+ Performer performer = (Performer)theEObject;
+ T result = casePerformer(performer);
+ if (result == null) result = caseResourceRole(performer);
+ if (result == null) result = caseBaseElement(performer);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.GLOBAL_USER_TASK: {
+ GlobalUserTask globalUserTask = (GlobalUserTask)theEObject;
+ T result = caseGlobalUserTask(globalUserTask);
+ if (result == null) result = caseGlobalTask(globalUserTask);
+ if (result == null) result = caseCallableElement(globalUserTask);
+ if (result == null) result = caseRootElement(globalUserTask);
+ if (result == null) result = caseBaseElement(globalUserTask);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.GLOBAL_MANUAL_TASK: {
+ GlobalManualTask globalManualTask = (GlobalManualTask)theEObject;
+ T result = caseGlobalManualTask(globalManualTask);
+ if (result == null) result = caseGlobalTask(globalManualTask);
+ if (result == null) result = caseCallableElement(globalManualTask);
+ if (result == null) result = caseRootElement(globalManualTask);
+ if (result == null) result = caseBaseElement(globalManualTask);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.MANUAL_TASK: {
+ ManualTask manualTask = (ManualTask)theEObject;
+ T result = caseManualTask(manualTask);
+ if (result == null) result = caseTask(manualTask);
+ if (result == null) result = caseBPMNActivity(manualTask);
+ if (result == null) result = caseFlowNode(manualTask);
+ if (result == null) result = caseFlowElement(manualTask);
+ if (result == null) result = caseBaseElement(manualTask);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.POTENTIAL_OWNER: {
+ PotentialOwner potentialOwner = (PotentialOwner)theEObject;
+ T result = casePotentialOwner(potentialOwner);
+ if (result == null) result = caseHumanPerformer(potentialOwner);
+ if (result == null) result = casePerformer(potentialOwner);
+ if (result == null) result = caseResourceRole(potentialOwner);
+ if (result == null) result = caseBaseElement(potentialOwner);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.SUB_CONVERSATION: {
+ SubConversation subConversation = (SubConversation)theEObject;
+ T result = caseSubConversation(subConversation);
+ if (result == null) result = caseConversationNode(subConversation);
+ if (result == null) result = caseInteractionNode(subConversation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.GLOBAL_CONVERSATION: {
+ GlobalConversation globalConversation = (GlobalConversation)theEObject;
+ T result = caseGlobalConversation(globalConversation);
+ if (result == null) result = caseBPMNCollaboration(globalConversation);
+ if (result == null) result = caseRootElement(globalConversation);
+ if (result == null) result = caseBaseElement(globalConversation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.CALL_CONVERSATION: {
+ CallConversation callConversation = (CallConversation)theEObject;
+ T result = caseCallConversation(callConversation);
+ if (result == null) result = caseConversationNode(callConversation);
+ if (result == null) result = caseInteractionNode(callConversation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.CONVERSATION: {
+ Conversation conversation = (Conversation)theEObject;
+ T result = caseConversation(conversation);
+ if (result == null) result = caseConversationNode(conversation);
+ if (result == null) result = caseInteractionNode(conversation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.SUB_PROCESS: {
+ SubProcess subProcess = (SubProcess)theEObject;
+ T result = caseSubProcess(subProcess);
+ if (result == null) result = caseBPMNActivity(subProcess);
+ if (result == null) result = caseFlowElementsContainer(subProcess);
+ if (result == null) result = caseFlowNode(subProcess);
+ if (result == null) result = caseFlowElement(subProcess);
+ if (result == null) result = caseBaseElement(subProcess);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.CALL_ACTIVITY: {
+ CallActivity callActivity = (CallActivity)theEObject;
+ T result = caseCallActivity(callActivity);
+ if (result == null) result = caseBPMNActivity(callActivity);
+ if (result == null) result = caseFlowNode(callActivity);
+ if (result == null) result = caseFlowElement(callActivity);
+ if (result == null) result = caseBaseElement(callActivity);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.BUSINESS_RULE_TASK: {
+ BusinessRuleTask businessRuleTask = (BusinessRuleTask)theEObject;
+ T result = caseBusinessRuleTask(businessRuleTask);
+ if (result == null) result = caseTask(businessRuleTask);
+ if (result == null) result = caseBPMNActivity(businessRuleTask);
+ if (result == null) result = caseFlowNode(businessRuleTask);
+ if (result == null) result = caseFlowElement(businessRuleTask);
+ if (result == null) result = caseBaseElement(businessRuleTask);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.COMPLEX_BEHAVIOR_DEFINITION: {
+ ComplexBehaviorDefinition complexBehaviorDefinition = (ComplexBehaviorDefinition)theEObject;
+ T result = caseComplexBehaviorDefinition(complexBehaviorDefinition);
+ if (result == null) result = caseBaseElement(complexBehaviorDefinition);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.AD_HOC_SUB_PROCESS: {
+ AdHocSubProcess adHocSubProcess = (AdHocSubProcess)theEObject;
+ T result = caseAdHocSubProcess(adHocSubProcess);
+ if (result == null) result = caseSubProcess(adHocSubProcess);
+ if (result == null) result = caseBPMNActivity(adHocSubProcess);
+ if (result == null) result = caseFlowElementsContainer(adHocSubProcess);
+ if (result == null) result = caseFlowNode(adHocSubProcess);
+ if (result == null) result = caseFlowElement(adHocSubProcess);
+ if (result == null) result = caseBaseElement(adHocSubProcess);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.SCRIPT_TASK: {
+ ScriptTask scriptTask = (ScriptTask)theEObject;
+ T result = caseScriptTask(scriptTask);
+ if (result == null) result = caseTask(scriptTask);
+ if (result == null) result = caseBPMNActivity(scriptTask);
+ if (result == null) result = caseFlowNode(scriptTask);
+ if (result == null) result = caseFlowElement(scriptTask);
+ if (result == null) result = caseBaseElement(scriptTask);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.SEND_TASK: {
+ SendTask sendTask = (SendTask)theEObject;
+ T result = caseSendTask(sendTask);
+ if (result == null) result = caseTask(sendTask);
+ if (result == null) result = caseBPMNActivity(sendTask);
+ if (result == null) result = caseFlowNode(sendTask);
+ if (result == null) result = caseFlowElement(sendTask);
+ if (result == null) result = caseBaseElement(sendTask);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.TRANSACTION: {
+ Transaction transaction = (Transaction)theEObject;
+ T result = caseTransaction(transaction);
+ if (result == null) result = caseSubProcess(transaction);
+ if (result == null) result = caseBPMNActivity(transaction);
+ if (result == null) result = caseFlowElementsContainer(transaction);
+ if (result == null) result = caseFlowNode(transaction);
+ if (result == null) result = caseFlowElement(transaction);
+ if (result == null) result = caseBaseElement(transaction);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.STANDARD_LOOP_CHARACTERISTICS: {
+ StandardLoopCharacteristics standardLoopCharacteristics = (StandardLoopCharacteristics)theEObject;
+ T result = caseStandardLoopCharacteristics(standardLoopCharacteristics);
+ if (result == null) result = caseLoopCharacteristics(standardLoopCharacteristics);
+ if (result == null) result = caseBaseElement(standardLoopCharacteristics);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.RECEIVE_TASK: {
+ ReceiveTask receiveTask = (ReceiveTask)theEObject;
+ T result = caseReceiveTask(receiveTask);
+ if (result == null) result = caseTask(receiveTask);
+ if (result == null) result = caseBPMNActivity(receiveTask);
+ if (result == null) result = caseFlowNode(receiveTask);
+ if (result == null) result = caseFlowElement(receiveTask);
+ if (result == null) result = caseBaseElement(receiveTask);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.SERVICE_TASK: {
+ ServiceTask serviceTask = (ServiceTask)theEObject;
+ T result = caseServiceTask(serviceTask);
+ if (result == null) result = caseTask(serviceTask);
+ if (result == null) result = caseBPMNActivity(serviceTask);
+ if (result == null) result = caseFlowNode(serviceTask);
+ if (result == null) result = caseFlowElement(serviceTask);
+ if (result == null) result = caseBaseElement(serviceTask);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS: {
+ MultiInstanceLoopCharacteristics multiInstanceLoopCharacteristics = (MultiInstanceLoopCharacteristics)theEObject;
+ T result = caseMultiInstanceLoopCharacteristics(multiInstanceLoopCharacteristics);
+ if (result == null) result = caseLoopCharacteristics(multiInstanceLoopCharacteristics);
+ if (result == null) result = caseBaseElement(multiInstanceLoopCharacteristics);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Inclusive Gateway</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Inclusive Gateway</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseInclusiveGateway(InclusiveGateway object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Non Exclusive Gateway</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Non Exclusive Gateway</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNonExclusiveGateway(NonExclusiveGateway object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Gateway</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Gateway</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGateway(Gateway object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Flow Node</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Flow Node</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFlowNode(FlowNode object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Flow Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Flow Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFlowElement(FlowElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Base Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Base Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBaseElement(BaseElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Extension Attribute Value</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Extension Attribute Value</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseExtensionAttributeValue(ExtensionAttributeValue object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Extension Attribute Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Extension Attribute Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseExtensionAttributeDefinition(ExtensionAttributeDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Documentation</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Documentation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDocumentation(Documentation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Extension Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Extension Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseExtensionDefinition(ExtensionDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>BPMN Association</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>BPMN Association</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBPMNAssociation(BPMNAssociation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>BPMN Artifact</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>BPMN Artifact</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBPMNArtifact(BPMNArtifact object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Auditing</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Auditing</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAuditing(Auditing object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Monitoring</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Monitoring</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMonitoring(Monitoring object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Category Value</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Category Value</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCategoryValue(CategoryValue object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Flow Elements Container</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Flow Elements Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFlowElementsContainer(FlowElementsContainer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Lane Set</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Lane Set</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLaneSet(LaneSet object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Lane</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Lane</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLane(Lane object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Sequence Flow</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Sequence Flow</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSequenceFlow(SequenceFlow object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>BPMN Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>BPMN Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBPMNExpression(BPMNExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Event Based Gateway</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Event Based Gateway</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEventBasedGateway(EventBasedGateway object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Parallel Gateway</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Parallel Gateway</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseParallelGateway(ParallelGateway object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Complex Gateway</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Complex Gateway</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseComplexGateway(ComplexGateway object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Exclusive Gateway</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Exclusive Gateway</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseExclusiveGateway(ExclusiveGateway object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Root Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Root Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRootElement(RootElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Definitions</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Definitions</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDefinitions(Definitions object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>BPMN Extension</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>BPMN Extension</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBPMNExtension(BPMNExtension object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Import</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Import</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImport(Import object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>BPMN Relationship</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>BPMN Relationship</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBPMNRelationship(BPMNRelationship object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>BPMN Process</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>BPMN Process</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBPMNProcess(BPMNProcess object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Callable Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Callable Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCallableElement(CallableElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Input Output Specification</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Input Output Specification</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseInputOutputSpecification(InputOutputSpecification object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Data Input</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Data Input</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDataInput(DataInput object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Item Aware Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Item Aware Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseItemAwareElement(ItemAwareElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Data State</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Data State</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDataState(DataState object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Item Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Item Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseItemDefinition(ItemDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Input Set</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Input Set</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseInputSet(InputSet object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Data Output</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Data Output</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDataOutput(DataOutput object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Output Set</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Output Set</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOutputSet(OutputSet object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>BPMN Interface</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>BPMN Interface</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBPMNInterface(BPMNInterface object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>BPMN Operation</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>BPMN Operation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBPMNOperation(BPMNOperation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>BPMN Message</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>BPMN Message</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBPMNMessage(BPMNMessage object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Error</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Error</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseError(org.eclipse.papyrus.bpmn.BPMNProfile.Error object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Input Output Binding</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Input Output Binding</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseInputOutputBinding(InputOutputBinding object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>BPMN Collaboration</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>BPMN Collaboration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBPMNCollaboration(BPMNCollaboration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Participant Association</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Participant Association</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseParticipantAssociation(ParticipantAssociation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Participant</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Participant</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseParticipant(Participant object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Interaction Node</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Interaction Node</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseInteractionNode(InteractionNode object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Conversation Link</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Conversation Link</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConversationLink(ConversationLink object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Participant Multiplicity</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Participant Multiplicity</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseParticipantMultiplicity(ParticipantMultiplicity object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Partner Entity</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Partner Entity</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePartnerEntity(PartnerEntity object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Partner Role</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Partner Role</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePartnerRole(PartnerRole object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Message Flow Association</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Message Flow Association</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMessageFlowAssociation(MessageFlowAssociation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Message Flow</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Message Flow</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMessageFlow(MessageFlow object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Conversation Node</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Conversation Node</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConversationNode(ConversationNode object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Correlation Key</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Correlation Key</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCorrelationKey(CorrelationKey object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Correlation Property</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Correlation Property</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCorrelationProperty(CorrelationProperty object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Correlation Property Retrieval Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Correlation Property Retrieval Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCorrelationPropertyRetrievalExpression(CorrelationPropertyRetrievalExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Formal Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Formal Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFormalExpression(FormalExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Correlation Subscription</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Correlation Subscription</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCorrelationSubscription(CorrelationSubscription object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Correlation Property Binding</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Correlation Property Binding</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCorrelationPropertyBinding(CorrelationPropertyBinding object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>BPMN Property</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>BPMN Property</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBPMNProperty(BPMNProperty object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Resource Role</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Resource Role</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseResourceRole(ResourceRole object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Resource Assignment Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Resource Assignment Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseResourceAssignmentExpression(ResourceAssignmentExpression object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseResource(Resource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Resource Parameter</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Resource Parameter</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseResourceParameter(ResourceParameter object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Resource Parameter Binding</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Resource Parameter Binding</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseResourceParameterBinding(ResourceParameterBinding object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Global Script Task</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Global Script Task</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGlobalScriptTask(GlobalScriptTask object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Global Task</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Global Task</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGlobalTask(GlobalTask object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Global Business Rule Task</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Global Business Rule Task</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGlobalBusinessRuleTask(GlobalBusinessRuleTask object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Compensate Event Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Compensate Event Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCompensateEventDefinition(CompensateEventDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Event Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Event Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEventDefinition(EventDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>BPMN Activity</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>BPMN Activity</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBPMNActivity(BPMNActivity object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Boundary Event</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Boundary Event</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBoundaryEvent(BoundaryEvent object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Catch Event</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Catch Event</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCatchEvent(CatchEvent object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>BPMN Event</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>BPMN Event</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBPMNEvent(BPMNEvent object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Data Output Association</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Data Output Association</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDataOutputAssociation(DataOutputAssociation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Data Association</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Data Association</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDataAssociation(DataAssociation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Assignment</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Assignment</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAssignment(Assignment object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Data Input Association</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Data Input Association</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDataInputAssociation(DataInputAssociation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Loop Characteristics</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Loop Characteristics</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLoopCharacteristics(LoopCharacteristics object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Escalation Event Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Escalation Event Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEscalationEventDefinition(EscalationEventDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Escalation</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Escalation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEscalation(Escalation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Timer Event Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Timer Event Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTimerEventDefinition(TimerEventDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Signal Event Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Signal Event Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSignalEventDefinition(SignalEventDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>BPMN Signal</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>BPMN Signal</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBPMNSignal(BPMNSignal object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>End Event</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>End Event</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEndEvent(EndEvent object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Throw Event</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Throw Event</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseThrowEvent(ThrowEvent object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Message Event Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Message Event Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMessageEventDefinition(MessageEventDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Start Event</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Start Event</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStartEvent(StartEvent object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Conditional Event Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Conditional Event Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConditionalEventDefinition(ConditionalEventDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Link Event Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Link Event Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLinkEventDefinition(LinkEventDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Error Event Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Error Event Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseErrorEventDefinition(ErrorEventDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Intermediate Catch Event</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Intermediate Catch Event</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIntermediateCatchEvent(IntermediateCatchEvent object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Intermediate Throw Event</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Intermediate Throw Event</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIntermediateThrowEvent(IntermediateThrowEvent object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Terminate Event Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Terminate Event Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTerminateEventDefinition(TerminateEventDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Implicit Throw Event</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Implicit Throw Event</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImplicitThrowEvent(ImplicitThrowEvent object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Cancel Event Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Cancel Event Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCancelEventDefinition(CancelEventDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Text Annotation</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Text Annotation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTextAnnotation(TextAnnotation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Category</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Category</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCategory(Category object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Group</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Group</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGroup(Group object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Data Object Reference</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Data Object Reference</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDataObjectReference(DataObjectReference object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Data Object</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Data Object</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDataObject(DataObject object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Data Store</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Data Store</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDataStore(DataStore object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Data Store Reference</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Data Store Reference</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDataStoreReference(DataStoreReference object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>User Task</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>User Task</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUserTask(UserTask object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Task</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Task</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTask(Task object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Rendering</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Rendering</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRendering(Rendering object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Human Performer</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Human Performer</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHumanPerformer(HumanPerformer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Performer</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Performer</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePerformer(Performer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Global User Task</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Global User Task</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGlobalUserTask(GlobalUserTask object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Global Manual Task</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Global Manual Task</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGlobalManualTask(GlobalManualTask object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Manual Task</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Manual Task</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseManualTask(ManualTask object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Potential Owner</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Potential Owner</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePotentialOwner(PotentialOwner object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Sub Conversation</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Sub Conversation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSubConversation(SubConversation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Global Conversation</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Global Conversation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGlobalConversation(GlobalConversation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Call Conversation</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Call Conversation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCallConversation(CallConversation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Conversation</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Conversation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConversation(Conversation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Sub Process</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Sub Process</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSubProcess(SubProcess object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Call Activity</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Call Activity</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCallActivity(CallActivity object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Business Rule Task</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Business Rule Task</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBusinessRuleTask(BusinessRuleTask object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Complex Behavior Definition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Complex Behavior Definition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseComplexBehaviorDefinition(ComplexBehaviorDefinition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ad Hoc Sub Process</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Ad Hoc Sub Process</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAdHocSubProcess(AdHocSubProcess object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Script Task</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Script Task</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseScriptTask(ScriptTask object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Send Task</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Send Task</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSendTask(SendTask object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Transaction</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Transaction</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTransaction(Transaction object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Standard Loop Characteristics</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Standard Loop Characteristics</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStandardLoopCharacteristics(StandardLoopCharacteristics object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Receive Task</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Receive Task</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseReceiveTask(ReceiveTask object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Service Task</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Service Task</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseServiceTask(ServiceTask object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Multi Instance Loop Characteristics</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Multi Instance Loop Characteristics</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMultiInstanceLoopCharacteristics(MultiInstanceLoopCharacteristics object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //BPMNProfileSwitch
diff --git a/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/util/BPMNProfileValidator.java b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/util/BPMNProfileValidator.java
new file mode 100644
index 00000000000..73f81c25183
--- /dev/null
+++ b/extraplugins/bpmn/org.eclipse.papyrus.bpmn/src/org/eclipse/papyrus/bpmn/BPMNProfile/util/BPMNProfileValidator.java
@@ -0,0 +1,5047 @@
+/**
+ */
+package org.eclipse.papyrus.bpmn.BPMNProfile.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.papyrus.bpmn.BPMNProfile.AdHocOrdering;
+import org.eclipse.papyrus.bpmn.BPMNProfile.AdHocSubProcess;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Assignment;
+import org.eclipse.papyrus.bpmn.BPMNProfile.AssociationDirection;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Auditing;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNActivity;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNArtifact;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNCollaboration;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNExtension;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNInterface;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNMessage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNOperation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProcess;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProperty;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNRelationship;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BPMNSignal;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BaseElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BoundaryEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.BusinessRuleTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CallActivity;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CallConversation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CallableElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CancelEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CatchEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Category;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CategoryValue;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CompensateEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ComplexBehaviorDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ComplexGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ConditionalEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Conversation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ConversationLink;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ConversationNode;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationKey;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationProperty;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyBinding;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationPropertyRetrievalExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.CorrelationSubscription;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataInput;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataInputAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataObject;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataObjectReference;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataOutput;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataOutputAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataState;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataStore;
+import org.eclipse.papyrus.bpmn.BPMNProfile.DataStoreReference;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Definitions;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Documentation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.EndEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ErrorEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Escalation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.EscalationEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.EventBasedGatewayType;
+import org.eclipse.papyrus.bpmn.BPMNProfile.EventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ExclusiveGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionAttributeValue;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ExtensionDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FlowElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FlowElementsContainer;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FlowNode;
+import org.eclipse.papyrus.bpmn.BPMNProfile.FormalExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Gateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GatewayDirection;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalBusinessRuleTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalConversation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalManualTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalScriptTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.GlobalUserTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Group;
+import org.eclipse.papyrus.bpmn.BPMNProfile.HumanPerformer;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ImplicitThrowEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Import;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InclusiveGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputBinding;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InputOutputSpecification;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InputSet;
+import org.eclipse.papyrus.bpmn.BPMNProfile.InteractionNode;
+import org.eclipse.papyrus.bpmn.BPMNProfile.IntermediateCatchEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.IntermediateThrowEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ItemAwareElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ItemDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ItemKind;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Lane;
+import org.eclipse.papyrus.bpmn.BPMNProfile.LaneSet;
+import org.eclipse.papyrus.bpmn.BPMNProfile.LinkEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.LoopCharacteristics;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ManualTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MessageEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlow;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MessageFlowAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Monitoring;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceBehavior;
+import org.eclipse.papyrus.bpmn.BPMNProfile.MultiInstanceLoopCharacteristics;
+import org.eclipse.papyrus.bpmn.BPMNProfile.NonExclusiveGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.OutputSet;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ParallelGateway;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Participant;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantAssociation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ParticipantMultiplicity;
+import org.eclipse.papyrus.bpmn.BPMNProfile.PartnerEntity;
+import org.eclipse.papyrus.bpmn.BPMNProfile.PartnerRole;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Performer;
+import org.eclipse.papyrus.bpmn.BPMNProfile.PotentialOwner;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ProcessType;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ReceiveTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.RelationshipDirection;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Rendering;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Resource;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceAssignmentExpression;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameter;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceParameterBinding;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ResourceRole;
+import org.eclipse.papyrus.bpmn.BPMNProfile.RootElement;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ScriptTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SendTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SequenceFlow;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ServiceTask;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SignalEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.StandardLoopCharacteristics;
+import org.eclipse.papyrus.bpmn.BPMNProfile.StartEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SubConversation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.SubProcess;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Task;
+import org.eclipse.papyrus.bpmn.BPMNProfile.TerminateEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.TextAnnotation;
+import org.eclipse.papyrus.bpmn.BPMNProfile.ThrowEvent;
+import org.eclipse.papyrus.bpmn.BPMNProfile.TimerEventDefinition;
+import org.eclipse.papyrus.bpmn.BPMNProfile.Transaction;
+import org.eclipse.papyrus.bpmn.BPMNProfile.UserTask;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Validator</b> for the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.bpmn.BPMNProfile.BPMNProfilePackage
+ * @generated
+ */
+public class BPMNProfileValidator extends EObjectValidator {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final BPMNProfileValidator INSTANCE = new BPMNProfileValidator();
+
+ /**
+ * A constant for the {@link org.eclipse.emf.common.util.Diagnostic#getSource() source} of diagnostic {@link org.eclipse.emf.common.util.Diagnostic#getCode() codes} from this package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.common.util.Diagnostic#getSource()
+ * @see org.eclipse.emf.common.util.Diagnostic#getCode()
+ * @generated
+ */
+ public static final String DIAGNOSTIC_SOURCE = "org.eclipse.papyrus.bpmn.BPMNProfile";
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Inclusive Gatewaydefault' of 'Inclusive Gateway'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int INCLUSIVE_GATEWAY__INCLUSIVE_GATEWAYDEFAULT = 1;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Association End' of 'BPMN Association'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int BPMN_ASSOCIATION__ASSOCIATION_END = 2;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Lane Setlanes' of 'Lane Set'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int LANE_SET__LANE_SETLANES = 3;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Lane Setparent Lane' of 'Lane Set'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int LANE_SET__LANE_SETPARENT_LANE = 4;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Lane Setflow Elements Container' of 'Lane Set'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int LANE_SET__LANE_SETFLOW_ELEMENTS_CONTAINER = 5;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Lane Set' of 'Lane Set'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int LANE_SET__LANE_SET = 6;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Lanelane Set' of 'Lane'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int LANE__LANELANE_SET = 7;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Lanechild Lane Set' of 'Lane'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int LANE__LANECHILD_LANE_SET = 8;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Lanepartition Element Ref' of 'Lane'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int LANE__LANEPARTITION_ELEMENT_REF = 9;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Laneflow Node Refs' of 'Lane'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int LANE__LANEFLOW_NODE_REFS = 10;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Flowcondition Expression' of 'Sequence Flow'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int SEQUENCE_FLOW__SEQUENCE_FLOWCONDITION_EXPRESSION = 11;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Flowsource Ref' of 'Sequence Flow'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int SEQUENCE_FLOW__SEQUENCE_FLOWSOURCE_REF = 12;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sequence Flowtarget Ref' of 'Sequence Flow'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int SEQUENCE_FLOW__SEQUENCE_FLOWTARGET_REF = 13;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Complex Gatewaydefault' of 'Complex Gateway'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int COMPLEX_GATEWAY__COMPLEX_GATEWAYDEFAULT = 14;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Complex Gatewayactivation Condition' of 'Complex Gateway'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int COMPLEX_GATEWAY__COMPLEX_GATEWAYACTIVATION_CONDITION = 15;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Complex Gatewayjoin Spec' of 'Complex Gateway'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int COMPLEX_GATEWAY__COMPLEX_GATEWAYJOIN_SPEC = 16;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Exclusive Gatewaydefault' of 'Exclusive Gateway'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int EXCLUSIVE_GATEWAY__EXCLUSIVE_GATEWAYDEFAULT = 17;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Processsupported Interface Refs' of 'BPMN Process'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int BPMN_PROCESS__PROCESSSUPPORTED_INTERFACE_REFS = 18;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Processsupports' of 'BPMN Process'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int BPMN_PROCESS__PROCESSSUPPORTS = 19;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Processproperties' of 'BPMN Process'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int BPMN_PROCESS__PROCESSPROPERTIES = 20;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Processlane Sets' of 'BPMN Process'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int BPMN_PROCESS__PROCESSLANE_SETS = 21;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Processflow Elements' of 'BPMN Process'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int BPMN_PROCESS__PROCESSFLOW_ELEMENTS = 22;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Callable Eelementsupported Interface Refs' of 'Callable Element'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int CALLABLE_ELEMENT__CALLABLE_EELEMENTSUPPORTED_INTERFACE_REFS = 23;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Callable Elementresources' of 'Callable Element'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int CALLABLE_ELEMENT__CALLABLE_ELEMENTRESOURCES = 24;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Data Input Association' of 'Data Input'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int DATA_INPUT__DATA_INPUT_ASSOCIATION = 25;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Data Inputnotation' of 'Data Input'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int DATA_INPUT__DATA_INPUTNOTATION = 26;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Data Inputitem Subject Ref' of 'Data Input'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int DATA_INPUT__DATA_INPUTITEM_SUBJECT_REF = 27;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Item Aware Elementdata State' of 'Item Aware Element'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int ITEM_AWARE_ELEMENT__ITEM_AWARE_ELEMENTDATA_STATE = 28;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Item Definitionstructure Ref' of 'Item Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int ITEM_DEFINITION__ITEM_DEFINITIONSTRUCTURE_REF = 29;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Input Setdata Input Refs' of 'Input Set'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int INPUT_SET__INPUT_SETDATA_INPUT_REFS = 30;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Input Setoptional Input Refs' of 'Input Set'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int INPUT_SET__INPUT_SETOPTIONAL_INPUT_REFS = 31;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Input Setwhile Executing Input Refs' of 'Input Set'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int INPUT_SET__INPUT_SETWHILE_EXECUTING_INPUT_REFS = 32;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Data Outputnotation' of 'Data Output'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int DATA_OUTPUT__DATA_OUTPUTNOTATION = 33;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Data Outputitem Subject Ref' of 'Data Output'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int DATA_OUTPUT__DATA_OUTPUTITEM_SUBJECT_REF = 34;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Output Setdata Output Refs' of 'Output Set'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int OUTPUT_SET__OUTPUT_SETDATA_OUTPUT_REFS = 35;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Output Setoptional Output Refs' of 'Output Set'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int OUTPUT_SET__OUTPUT_SETOPTIONAL_OUTPUT_REFS = 36;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Output Setwhile Executing Output Refs' of 'Output Set'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int OUTPUT_SET__OUTPUT_SETWHILE_EXECUTING_OUTPUT_REFS = 37;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Interfaceoperationmultiplicity' of 'BPMN Interface'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int BPMN_INTERFACE__INTERFACEOPERATIONMULTIPLICITY = 38;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Interfaceowned Operation' of 'BPMN Interface'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int BPMN_INTERFACE__INTERFACEOWNED_OPERATION = 39;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'BPMN Interfacecallable Elements' of 'BPMN Interface'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int BPMN_INTERFACE__BPMN_INTERFACECALLABLE_ELEMENTS = 40;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'BPMN Interfaceoperations' of 'BPMN Interface'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int BPMN_INTERFACE__BPMN_INTERFACEOPERATIONS = 41;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'BPMN Operationowner' of 'BPMN Operation'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int BPMN_OPERATION__BPMN_OPERATIONOWNER = 42;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'BPMN Operationin Message Ref' of 'BPMN Operation'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int BPMN_OPERATION__BPMN_OPERATIONIN_MESSAGE_REF = 43;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'BPMN Operationout Message Ref' of 'BPMN Operation'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int BPMN_OPERATION__BPMN_OPERATIONOUT_MESSAGE_REF = 44;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'BPMN Operationerror Refs' of 'BPMN Operation'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int BPMN_OPERATION__BPMN_OPERATIONERROR_REFS = 45;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Messageitem Ref' of 'BPMN Message'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int BPMN_MESSAGE__MESSAGEITEM_REF = 46;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Collaborationparticipants' of 'BPMN Collaboration'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int BPMN_COLLABORATION__COLLABORATIONPARTICIPANTS = 47;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Participant Associationinner Participant Ref' of 'Participant Association'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int PARTICIPANT_ASSOCIATION__PARTICIPANT_ASSOCIATIONINNER_PARTICIPANT_REF = 48;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Participant Associationouter Participant Ref' of 'Participant Association'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int PARTICIPANT_ASSOCIATION__PARTICIPANT_ASSOCIATIONOUTER_PARTICIPANT_REF = 49;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Participantownership' of 'Participant'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int PARTICIPANT__PARTICIPANTOWNERSHIP = 50;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Participanttype' of 'Participant'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int PARTICIPANT__PARTICIPANTTYPE = 51;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Participantmultiplicity Minimum' of 'Participant'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int PARTICIPANT__PARTICIPANTMULTIPLICITY_MINIMUM = 52;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Participantrealizationsupplier' of 'Participant'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int PARTICIPANT__PARTICIPANTREALIZATIONSUPPLIER = 53;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Participantprocess Ref' of 'Participant'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int PARTICIPANT__PARTICIPANTPROCESS_REF = 54;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Participantmultiplicity Maximum' of 'Participant'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int PARTICIPANT__PARTICIPANTMULTIPLICITY_MAXIMUM = 55;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Participantpartner Entity Ref' of 'Participant'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int PARTICIPANT__PARTICIPANTPARTNER_ENTITY_REF = 56;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Participantpartner Role Ref' of 'Participant'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int PARTICIPANT__PARTICIPANTPARTNER_ROLE_REF = 57;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Participantinterface Refs' of 'Participant'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int PARTICIPANT__PARTICIPANTINTERFACE_REFS = 58;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Partner Entityparticipant Ref' of 'Partner Entity'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int PARTNER_ENTITY__PARTNER_ENTITYPARTICIPANT_REF = 59;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Partner Roleparticipant Ref' of 'Partner Role'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int PARTNER_ROLE__PARTNER_ROLEPARTICIPANT_REF = 60;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Message Flow Associationinner Message Flow Ref' of 'Message Flow Association'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int MESSAGE_FLOW_ASSOCIATION__MESSAGE_FLOW_ASSOCIATIONINNER_MESSAGE_FLOW_REF = 61;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Message Flow Associationouter Message Flow Ref' of 'Message Flow Association'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int MESSAGE_FLOW_ASSOCIATION__MESSAGE_FLOW_ASSOCIATIONOUTER_MESSAGE_FLOW_REF = 62;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Message Flowsource Ref' of 'Message Flow'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int MESSAGE_FLOW__MESSAGE_FLOWSOURCE_REF = 63;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Message Flowtarget Ref' of 'Message Flow'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int MESSAGE_FLOW__MESSAGE_FLOWTARGET_REF = 64;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Message Flowmessage Ref' of 'Message Flow'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int MESSAGE_FLOW__MESSAGE_FLOWMESSAGE_REF = 65;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Conversation Nodeparticipant Refs' of 'Conversation Node'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int CONVERSATION_NODE__CONVERSATION_NODEPARTICIPANT_REFS = 66;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Formal Expressionevaluates To Type Ref' of 'Formal Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int FORMAL_EXPRESSION__FORMAL_EXPRESSIONEVALUATES_TO_TYPE_REF = 67;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Propertynotation' of 'BPMN Property'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int BPMN_PROPERTY__PROPERTYNOTATION = 68;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'BPMN Propertyapply' of 'BPMN Property'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int BPMN_PROPERTY__BPMN_PROPERTYAPPLY = 69;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Resource Roleowner' of 'Resource Role'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int RESOURCE_ROLE__RESOURCE_ROLEOWNER = 70;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Resource Roleresource Ref' of 'Resource Role'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int RESOURCE_ROLE__RESOURCE_ROLERESOURCE_REF = 71;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Resource Roleis Required' of 'Resource Role'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int RESOURCE_ROLE__RESOURCE_ROLEIS_REQUIRED = 72;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Resource Roleprocess' of 'Resource Role'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int RESOURCE_ROLE__RESOURCE_ROLEPROCESS = 73;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Resource Roleresource Parameter Bindings' of 'Resource Role'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int RESOURCE_ROLE__RESOURCE_ROLERESOURCE_PARAMETER_BINDINGS = 74;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Resource Assignment Expressionexpression' of 'Resource Assignment Expression'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int RESOURCE_ASSIGNMENT_EXPRESSION__RESOURCE_ASSIGNMENT_EXPRESSIONEXPRESSION = 75;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Resourceresource Parameters' of 'Resource'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int RESOURCE__RESOURCERESOURCE_PARAMETERS = 76;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Resource Parameterowner' of 'Resource Parameter'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int RESOURCE_PARAMETER__RESOURCE_PARAMETEROWNER = 77;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Resource Parametertype' of 'Resource Parameter'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int RESOURCE_PARAMETER__RESOURCE_PARAMETERTYPE = 78;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Resource Parameteris Required' of 'Resource Parameter'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int RESOURCE_PARAMETER__RESOURCE_PARAMETERIS_REQUIRED = 79;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Resource Parameter Bindingexpression' of 'Resource Parameter Binding'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int RESOURCE_PARAMETER_BINDING__RESOURCE_PARAMETER_BINDINGEXPRESSION = 80;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Resource Parameter Bindingparameter Ref' of 'Resource Parameter Binding'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int RESOURCE_PARAMETER_BINDING__RESOURCE_PARAMETER_BINDINGPARAMETER_REF = 81;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Global Script Taskscript Format' of 'Global Script Task'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int GLOBAL_SCRIPT_TASK__GLOBAL_SCRIPT_TASKSCRIPT_FORMAT = 82;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Global Script Taskscript' of 'Global Script Task'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int GLOBAL_SCRIPT_TASK__GLOBAL_SCRIPT_TASKSCRIPT = 83;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Global Tasksupported Interface Refs' of 'Global Task'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int GLOBAL_TASK__GLOBAL_TASKSUPPORTED_INTERFACE_REFS = 84;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Global Business Rule Taskimplementation' of 'Global Business Rule Task'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int GLOBAL_BUSINESS_RULE_TASK__GLOBAL_BUSINESS_RULE_TASKIMPLEMENTATION = 85;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'BPMN Activityresources' of 'BPMN Activity'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int BPMN_ACTIVITY__BPMN_ACTIVITYRESOURCES = 86;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'BPMN Activitycontainer' of 'BPMN Activity'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int BPMN_ACTIVITY__BPMN_ACTIVITYCONTAINER = 87;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'BPMN Activityproperties' of 'BPMN Activity'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int BPMN_ACTIVITY__BPMN_ACTIVITYPROPERTIES = 88;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'BPMN Activitydefault' of 'BPMN Activity'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int BPMN_ACTIVITY__BPMN_ACTIVITYDEFAULT = 89;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'BPMN Activityboundary Events Refs' of 'BPMN Activity'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int BPMN_ACTIVITY__BPMN_ACTIVITYBOUNDARY_EVENTS_REFS = 90;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'BPMN Activityloop Characteristics' of 'BPMN Activity'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int BPMN_ACTIVITY__BPMN_ACTIVITYLOOP_CHARACTERISTICS = 91;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Boundary Eventattached To Ref' of 'Boundary Event'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int BOUNDARY_EVENT__BOUNDARY_EVENTATTACHED_TO_REF = 92;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Catch Eventevent Definitions Refs' of 'Catch Event'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int CATCH_EVENT__CATCH_EVENTEVENT_DEFINITIONS_REFS = 93;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Data Output Associationsource' of 'Data Output Association'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int DATA_OUTPUT_ASSOCIATION__DATA_OUTPUT_ASSOCIATIONSOURCE = 94;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Data Output Associationtarget' of 'Data Output Association'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int DATA_OUTPUT_ASSOCIATION__DATA_OUTPUT_ASSOCIATIONTARGET = 95;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Data Associationsource' of 'Data Association'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int DATA_ASSOCIATION__DATA_ASSOCIATIONSOURCE = 96;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Data Associationtransformation' of 'Data Association'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int DATA_ASSOCIATION__DATA_ASSOCIATIONTRANSFORMATION = 97;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Data Associationtarget' of 'Data Association'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int DATA_ASSOCIATION__DATA_ASSOCIATIONTARGET = 98;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Data Input Associationsource' of 'Data Input Association'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int DATA_INPUT_ASSOCIATION__DATA_INPUT_ASSOCIATIONSOURCE = 99;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Data Input Associationtarget' of 'Data Input Association'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int DATA_INPUT_ASSOCIATION__DATA_INPUT_ASSOCIATIONTARGET = 100;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Escalationstructure Ref' of 'Escalation'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int ESCALATION__ESCALATIONSTRUCTURE_REF = 101;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'BPMN Signalstructure Ref' of 'BPMN Signal'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int BPMN_SIGNAL__BPMN_SIGNALSTRUCTURE_REF = 102;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Throw Eventevent Definition Refs' of 'Throw Event'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int THROW_EVENT__THROW_EVENTEVENT_DEFINITION_REFS = 103;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Conditional Event Definitioncondition' of 'Conditional Event Definition'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int CONDITIONAL_EVENT_DEFINITION__CONDITIONAL_EVENT_DEFINITIONCONDITION = 104;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Data Object Refsourcetarget' of 'Data Object Reference'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int DATA_OBJECT_REFERENCE__DATA_OBJECT_REFSOURCETARGET = 105;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Data Object Refdata State' of 'Data Object Reference'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int DATA_OBJECT_REFERENCE__DATA_OBJECT_REFDATA_STATE = 106;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Data Objectdata State' of 'Data Object'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int DATA_OBJECT__DATA_OBJECTDATA_STATE = 107;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'User Taskimplementation' of 'User Task'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int USER_TASK__USER_TASKIMPLEMENTATION = 108;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'User Taskrenderings' of 'User Task'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int USER_TASK__USER_TASKRENDERINGS = 109;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Global User Taskrenderings' of 'Global User Task'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int GLOBAL_USER_TASK__GLOBAL_USER_TASKRENDERINGS = 110;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Global User Taskimplementation' of 'Global User Task'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int GLOBAL_USER_TASK__GLOBAL_USER_TASKIMPLEMENTATION = 111;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sub Conversationconnectedelements' of 'Sub Conversation'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int SUB_CONVERSATION__SUB_CONVERSATIONCONNECTEDELEMENTS = 112;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Global Conversationcontainedelements' of 'Global Conversation'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int GLOBAL_CONVERSATION__GLOBAL_CONVERSATIONCONTAINEDELEMENTS = 113;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Call Conversationcalled Collaboration Ref' of 'Call Conversation'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int CALL_CONVERSATION__CALL_CONVERSATIONCALLED_COLLABORATION_REF = 114;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Call Conversationparticipant Associations' of 'Call Conversation'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int CALL_CONVERSATION__CALL_CONVERSATIONPARTICIPANT_ASSOCIATIONS = 115;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Sub Processtriggered By Event' of 'Sub Process'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int SUB_PROCESS__SUB_PROCESSTRIGGERED_BY_EVENT = 116;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Call Activitycalled Element Refvalues' of 'Call Activity'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int CALL_ACTIVITY__CALL_ACTIVITYCALLED_ELEMENT_REFVALUES = 117;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Business Rule Taskimplementation' of 'Business Rule Task'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int BUSINESS_RULE_TASK__BUSINESS_RULE_TASKIMPLEMENTATION = 118;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Ad Hoc Sub Processcancel Remaining Instances' of 'Ad Hoc Sub Process'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int AD_HOC_SUB_PROCESS__AD_HOC_SUB_PROCESSCANCEL_REMAINING_INSTANCES = 119;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Script Taskscript Format' of 'Script Task'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int SCRIPT_TASK__SCRIPT_TASKSCRIPT_FORMAT = 120;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Script Taskscript' of 'Script Task'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int SCRIPT_TASK__SCRIPT_TASKSCRIPT = 121;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Send Taskoperation Ref' of 'Send Task'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int SEND_TASK__SEND_TASKOPERATION_REF = 122;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Standard Loop Characteristicstest Before' of 'Standard Loop Characteristics'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int STANDARD_LOOP_CHARACTERISTICS__STANDARD_LOOP_CHARACTERISTICSTEST_BEFORE = 123;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Standard Loop Characteristicsloop Condition' of 'Standard Loop Characteristics'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int STANDARD_LOOP_CHARACTERISTICS__STANDARD_LOOP_CHARACTERISTICSLOOP_CONDITION = 124;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Receive Taskoperation Ref' of 'Receive Task'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int RECEIVE_TASK__RECEIVE_TASKOPERATION_REF = 125;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Service Taskinput Set' of 'Service Task'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int SERVICE_TASK__SERVICE_TASKINPUT_SET = 126;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Service Taskoutput Set' of 'Service Task'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int SERVICE_TASK__SERVICE_TASKOUTPUT_SET = 127;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Service Taskoperation Ref' of 'Service Task'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int SERVICE_TASK__SERVICE_TASKOPERATION_REF = 128;
+
+ /**
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Multiinstance Loop Characteristicstarget' of 'Multi Instance Loop Characteristics'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final int MULTI_INSTANCE_LOOP_CHARACTERISTICS__MULTIINSTANCE_LOOP_CHARACTERISTICSTARGET = 129;
+
+ /**
+ * A constant with a fixed name that can be used as the base value for additional hand written constants.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final int GENERATED_DIAGNOSTIC_CODE_COUNT = 129;
+
+ /**
+ * A constant with a fixed name that can be used as the base value for additional hand written constants in a derived class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static final int DIAGNOSTIC_CODE_COUNT = GENERATED_DIAGNOSTIC_CODE_COUNT;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BPMNProfileValidator() {
+ super();
+ }
+
+ /**
+ * Returns the package of this validator switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EPackage getEPackage() {
+ return BPMNProfilePackage.eINSTANCE;
+ }
+
+ /**
+ * Calls <code>validateXXX</code> for the corresponding classifier of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean validate(int classifierID, Object value, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ switch (classifierID) {
+ case BPMNProfilePackage.INCLUSIVE_GATEWAY:
+ return validateInclusiveGateway((InclusiveGateway)value, diagnostics, context);
+ case BPMNProfilePackage.NON_EXCLUSIVE_GATEWAY:
+ return validateNonExclusiveGateway((NonExclusiveGateway)value, diagnostics, context);
+ case BPMNProfilePackage.GATEWAY:
+ return validateGateway((Gateway)value, diagnostics, context);
+ case BPMNProfilePackage.FLOW_NODE:
+ return validateFlowNode((FlowNode)value, diagnostics, context);
+ case BPMNProfilePackage.FLOW_ELEMENT:
+ return validateFlowElement((FlowElement)value, diagnostics, context);
+ case BPMNProfilePackage.BASE_ELEMENT:
+ return validateBaseElement((BaseElement)value, diagnostics, context);
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_VALUE:
+ return validateExtensionAttributeValue((ExtensionAttributeValue)value, diagnostics, context);
+ case BPMNProfilePackage.EXTENSION_ATTRIBUTE_DEFINITION:
+ return validateExtensionAttributeDefinition((ExtensionAttributeDefinition)value, diagnostics, context);
+ case BPMNProfilePackage.DOCUMENTATION:
+ return validateDocumentation((Documentation)value, diagnostics, context);
+ case BPMNProfilePackage.EXTENSION_DEFINITION:
+ return validateExtensionDefinition((ExtensionDefinition)value, diagnostics, context);
+ case BPMNProfilePackage.BPMN_ASSOCIATION:
+ return validateBPMNAssociation((BPMNAssociation)value, diagnostics, context);
+ case BPMNProfilePackage.BPMN_ARTIFACT:
+ return validateBPMNArtifact((BPMNArtifact)value, diagnostics, context);
+ case BPMNProfilePackage.AUDITING:
+ return validateAuditing((Auditing)value, diagnostics, context);
+ case BPMNProfilePackage.MONITORING:
+ return validateMonitoring((Monitoring)value, diagnostics, context);
+ case BPMNProfilePackage.CATEGORY_VALUE:
+ return validateCategoryValue((CategoryValue)value, diagnostics, context);
+ case BPMNProfilePackage.FLOW_ELEMENTS_CONTAINER:
+ return validateFlowElementsContainer((FlowElementsContainer)value, diagnostics, context);
+ case BPMNProfilePackage.LANE_SET:
+ return validateLaneSet((LaneSet)value, diagnostics, context);
+ case BPMNProfilePackage.LANE:
+ return validateLane((Lane)value, diagnostics, context);
+ case BPMNProfilePackage.SEQUENCE_FLOW:
+ return validateSequenceFlow((SequenceFlow)value, diagnostics, context);
+ case BPMNProfilePackage.BPMN_EXPRESSION:
+ return validateBPMNExpression((BPMNExpression)value, diagnostics, context);
+ case BPMNProfilePackage.EVENT_BASED_GATEWAY:
+ return validateEventBasedGateway((EventBasedGateway)value, diagnostics, context);
+ case BPMNProfilePackage.PARALLEL_GATEWAY:
+ return validateParallelGateway((ParallelGateway)value, diagnostics, context);
+ case BPMNProfilePackage.COMPLEX_GATEWAY:
+ return validateComplexGateway((ComplexGateway)value, diagnostics, context);
+ case BPMNProfilePackage.EXCLUSIVE_GATEWAY:
+ return validateExclusiveGateway((ExclusiveGateway)value, diagnostics, context);
+ case BPMNProfilePackage.ROOT_ELEMENT:
+ return validateRootElement((RootElement)value, diagnostics, context);
+ case BPMNProfilePackage.DEFINITIONS:
+ return validateDefinitions((Definitions)value, diagnostics, context);
+ case BPMNProfilePackage.BPMN_EXTENSION:
+ return validateBPMNExtension((BPMNExtension)value, diagnostics, context);
+ case BPMNProfilePackage.IMPORT:
+ return validateImport((Import)value, diagnostics, context);
+ case BPMNProfilePackage.BPMN_RELATIONSHIP:
+ return validateBPMNRelationship((BPMNRelationship)value, diagnostics, context);
+ case BPMNProfilePackage.BPMN_PROCESS:
+ return validateBPMNProcess((BPMNProcess)value, diagnostics, context);
+ case BPMNProfilePackage.CALLABLE_ELEMENT:
+ return validateCallableElement((CallableElement)value, diagnostics, context);
+ case BPMNProfilePackage.INPUT_OUTPUT_SPECIFICATION:
+ return validateInputOutputSpecification((InputOutputSpecification)value, diagnostics, context);
+ case BPMNProfilePackage.DATA_INPUT:
+ return validateDataInput((DataInput)value, diagnostics, context);
+ case BPMNProfilePackage.ITEM_AWARE_ELEMENT:
+ return validateItemAwareElement((ItemAwareElement)value, diagnostics, context);
+ case BPMNProfilePackage.DATA_STATE:
+ return validateDataState((DataState)value, diagnostics, context);
+ case BPMNProfilePackage.ITEM_DEFINITION:
+ return validateItemDefinition((ItemDefinition)value, diagnostics, context);
+ case BPMNProfilePackage.INPUT_SET:
+ return validateInputSet((InputSet)value, diagnostics, context);
+ case BPMNProfilePackage.DATA_OUTPUT:
+ return validateDataOutput((DataOutput)value, diagnostics, context);
+ case BPMNProfilePackage.OUTPUT_SET:
+ return validateOutputSet((OutputSet)value, diagnostics, context);
+ case BPMNProfilePackage.BPMN_INTERFACE:
+ return validateBPMNInterface((BPMNInterface)value, diagnostics, context);
+ case BPMNProfilePackage.BPMN_OPERATION:
+ return validateBPMNOperation((BPMNOperation)value, diagnostics, context);
+ case BPMNProfilePackage.BPMN_MESSAGE:
+ return validateBPMNMessage((BPMNMessage)value, diagnostics, context);
+ case BPMNProfilePackage.ERROR:
+ return validateError((org.eclipse.papyrus.bpmn.BPMNProfile.Error)value, diagnostics, context);
+ case BPMNProfilePackage.INPUT_OUTPUT_BINDING:
+ return validateInputOutputBinding((InputOutputBinding)value, diagnostics, context);
+ case BPMNProfilePackage.BPMN_COLLABORATION:
+ return validateBPMNCollaboration((BPMNCollaboration)value, diagnostics, context);
+ case BPMNProfilePackage.PARTICIPANT_ASSOCIATION:
+ return validateParticipantAssociation((ParticipantAssociation)value, diagnostics, context);
+ case BPMNProfilePackage.PARTICIPANT:
+ return validateParticipant((Participant)value, diagnostics, context);
+ case BPMNProfilePackage.INTERACTION_NODE:
+ return validateInteractionNode((InteractionNode)value, diagnostics, context);
+ case BPMNProfilePackage.CONVERSATION_LINK:
+ return validateConversationLink((ConversationLink)value, diagnostics, context);
+ case BPMNProfilePackage.PARTICIPANT_MULTIPLICITY:
+ return validateParticipantMultiplicity((ParticipantMultiplicity)value, diagnostics, context);
+ case BPMNProfilePackage.PARTNER_ENTITY:
+ return validatePartnerEntity((PartnerEntity)value, diagnostics, context);
+ case BPMNProfilePackage.PARTNER_ROLE:
+ return validatePartnerRole((PartnerRole)value, diagnostics, context);
+ case BPMNProfilePackage.MESSAGE_FLOW_ASSOCIATION:
+ return validateMessageFlowAssociation((MessageFlowAssociation)value, diagnostics, context);
+ case BPMNProfilePackage.MESSAGE_FLOW:
+ return validateMessageFlow((MessageFlow)value, diagnostics, context);
+ case BPMNProfilePackage.CONVERSATION_NODE:
+ return validateConversationNode((ConversationNode)value, diagnostics, context);
+ case BPMNProfilePackage.CORRELATION_KEY:
+ return validateCorrelationKey((CorrelationKey)value, diagnostics, context);
+ case BPMNProfilePackage.CORRELATION_PROPERTY:
+ return validateCorrelationProperty((CorrelationProperty)value, diagnostics, context);
+ case BPMNProfilePackage.CORRELATION_PROPERTY_RETRIEVAL_EXPRESSION:
+ return validateCorrelationPropertyRetrievalExpression((CorrelationPropertyRetrievalExpression)value, diagnostics, context);
+ case BPMNProfilePackage.FORMAL_EXPRESSION:
+ return validateFormalExpression((FormalExpression)value, diagnostics, context);
+ case BPMNProfilePackage.CORRELATION_SUBSCRIPTION:
+ return validateCorrelationSubscription((CorrelationSubscription)value, diagnostics, context);
+ case BPMNProfilePackage.CORRELATION_PROPERTY_BINDING:
+ return validateCorrelationPropertyBinding((CorrelationPropertyBinding)value, diagnostics, context);
+ case BPMNProfilePackage.BPMN_PROPERTY:
+ return validateBPMNProperty((BPMNProperty)value, diagnostics, context);
+ case BPMNProfilePackage.RESOURCE_ROLE:
+ return validateResourceRole((ResourceRole)value, diagnostics, context);
+ case BPMNProfilePackage.RESOURCE_ASSIGNMENT_EXPRESSION:
+ return validateResourceAssignmentExpression((ResourceAssignmentExpression)value, diagnostics, context);
+ case BPMNProfilePackage.RESOURCE:
+ return validateResource((Resource)value, diagnostics, context);
+ case BPMNProfilePackage.RESOURCE_PARAMETER:
+ return validateResourceParameter((ResourceParameter)value, diagnostics, context);
+ case BPMNProfilePackage.RESOURCE_PARAMETER_BINDING:
+ return validateResourceParameterBinding((ResourceParameterBinding)value, diagnostics, context);
+ case BPMNProfilePackage.GLOBAL_SCRIPT_TASK:
+ return validateGlobalScriptTask((GlobalScriptTask)value, diagnostics, context);
+ case BPMNProfilePackage.GLOBAL_TASK:
+ return validateGlobalTask((GlobalTask)value, diagnostics, context);
+ case BPMNProfilePackage.GLOBAL_BUSINESS_RULE_TASK:
+ return validateGlobalBusinessRuleTask((GlobalBusinessRuleTask)value, diagnostics, context);
+ case BPMNProfilePackage.COMPENSATE_EVENT_DEFINITION:
+ return validateCompensateEventDefinition((CompensateEventDefinition)value, diagnostics, context);
+ case BPMNProfilePackage.EVENT_DEFINITION:
+ return validateEventDefinition((EventDefinition)value, diagnostics, context);
+ case BPMNProfilePackage.BPMN_ACTIVITY:
+ return validateBPMNActivity((BPMNActivity)value, diagnostics, context);
+ case BPMNProfilePackage.BOUNDARY_EVENT:
+ return validateBoundaryEvent((BoundaryEvent)value, diagnostics, context);
+ case BPMNProfilePackage.CATCH_EVENT:
+ return validateCatchEvent((CatchEvent)value, diagnostics, context);
+ case BPMNProfilePackage.BPMN_EVENT:
+ return validateBPMNEvent((BPMNEvent)value, diagnostics, context);
+ case BPMNProfilePackage.DATA_OUTPUT_ASSOCIATION:
+ return validateDataOutputAssociation((DataOutputAssociation)value, diagnostics, context);
+ case BPMNProfilePackage.DATA_ASSOCIATION:
+ return validateDataAssociation((DataAssociation)value, diagnostics, context);
+ case BPMNProfilePackage.ASSIGNMENT:
+ return validateAssignment((Assignment)value, diagnostics, context);
+ case BPMNProfilePackage.DATA_INPUT_ASSOCIATION:
+ return validateDataInputAssociation((DataInputAssociation)value, diagnostics, context);
+ case BPMNProfilePackage.LOOP_CHARACTERISTICS:
+ return validateLoopCharacteristics((LoopCharacteristics)value, diagnostics, context);
+ case BPMNProfilePackage.ESCALATION_EVENT_DEFINITION:
+ return validateEscalationEventDefinition((EscalationEventDefinition)value, diagnostics, context);
+ case BPMNProfilePackage.ESCALATION:
+ return validateEscalation((Escalation)value, diagnostics, context);
+ case BPMNProfilePackage.TIMER_EVENT_DEFINITION:
+ return validateTimerEventDefinition((TimerEventDefinition)value, diagnostics, context);
+ case BPMNProfilePackage.SIGNAL_EVENT_DEFINITION:
+ return validateSignalEventDefinition((SignalEventDefinition)value, diagnostics, context);
+ case BPMNProfilePackage.BPMN_SIGNAL:
+ return validateBPMNSignal((BPMNSignal)value, diagnostics, context);
+ case BPMNProfilePackage.END_EVENT:
+ return validateEndEvent((EndEvent)value, diagnostics, context);
+ case BPMNProfilePackage.THROW_EVENT:
+ return validateThrowEvent((ThrowEvent)value, diagnostics, context);
+ case BPMNProfilePackage.MESSAGE_EVENT_DEFINITION:
+ return validateMessageEventDefinition((MessageEventDefinition)value, diagnostics, context);
+ case BPMNProfilePackage.START_EVENT:
+ return validateStartEvent((StartEvent)value, diagnostics, context);
+ case BPMNProfilePackage.CONDITIONAL_EVENT_DEFINITION:
+ return validateConditionalEventDefinition((ConditionalEventDefinition)value, diagnostics, context);
+ case BPMNProfilePackage.LINK_EVENT_DEFINITION:
+ return validateLinkEventDefinition((LinkEventDefinition)value, diagnostics, context);
+ case BPMNProfilePackage.ERROR_EVENT_DEFINITION:
+ return validateErrorEventDefinition((ErrorEventDefinition)value, diagnostics, context);
+ case BPMNProfilePackage.INTERMEDIATE_CATCH_EVENT:
+ return validateIntermediateCatchEvent((IntermediateCatchEvent)value, diagnostics, context);
+ case BPMNProfilePackage.INTERMEDIATE_THROW_EVENT:
+ return validateIntermediateThrowEvent((IntermediateThrowEvent)value, diagnostics, context);
+ case BPMNProfilePackage.TERMINATE_EVENT_DEFINITION:
+ return validateTerminateEventDefinition((TerminateEventDefinition)value, diagnostics, context);
+ case BPMNProfilePackage.IMPLICIT_THROW_EVENT:
+ return validateImplicitThrowEvent((ImplicitThrowEvent)value, diagnostics, context);
+ case BPMNProfilePackage.CANCEL_EVENT_DEFINITION:
+ return validateCancelEventDefinition((CancelEventDefinition)value, diagnostics, context);
+ case BPMNProfilePackage.TEXT_ANNOTATION:
+ return validateTextAnnotation((TextAnnotation)value, diagnostics, context);
+ case BPMNProfilePackage.CATEGORY:
+ return validateCategory((Category)value, diagnostics, context);
+ case BPMNProfilePackage.GROUP:
+ return validateGroup((Group)value, diagnostics, context);
+ case BPMNProfilePackage.DATA_OBJECT_REFERENCE:
+ return validateDataObjectReference((DataObjectReference)value, diagnostics, context);
+ case BPMNProfilePackage.DATA_OBJECT:
+ return validateDataObject((DataObject)value, diagnostics, context);
+ case BPMNProfilePackage.DATA_STORE:
+ return validateDataStore((DataStore)value, diagnostics, context);
+ case BPMNProfilePackage.DATA_STORE_REFERENCE:
+ return validateDataStoreReference((DataStoreReference)value, diagnostics, context);
+ case BPMNProfilePackage.USER_TASK:
+ return validateUserTask((UserTask)value, diagnostics, context);
+ case BPMNProfilePackage.TASK:
+ return validateTask((Task)value, diagnostics, context);
+ case BPMNProfilePackage.RENDERING:
+ return validateRendering((Rendering)value, diagnostics, context);
+ case BPMNProfilePackage.HUMAN_PERFORMER:
+ return validateHumanPerformer((HumanPerformer)value, diagnostics, context);
+ case BPMNProfilePackage.PERFORMER:
+ return validatePerformer((Performer)value, diagnostics, context);
+ case BPMNProfilePackage.GLOBAL_USER_TASK:
+ return validateGlobalUserTask((GlobalUserTask)value, diagnostics, context);
+ case BPMNProfilePackage.GLOBAL_MANUAL_TASK:
+ return validateGlobalManualTask((GlobalManualTask)value, diagnostics, context);
+ case BPMNProfilePackage.MANUAL_TASK:
+ return validateManualTask((ManualTask)value, diagnostics, context);
+ case BPMNProfilePackage.POTENTIAL_OWNER:
+ return validatePotentialOwner((PotentialOwner)value, diagnostics, context);
+ case BPMNProfilePackage.SUB_CONVERSATION:
+ return validateSubConversation((SubConversation)value, diagnostics, context);
+ case BPMNProfilePackage.GLOBAL_CONVERSATION:
+ return validateGlobalConversation((GlobalConversation)value, diagnostics, context);
+ case BPMNProfilePackage.CALL_CONVERSATION:
+ return validateCallConversation((CallConversation)value, diagnostics, context);
+ case BPMNProfilePackage.CONVERSATION:
+ return validateConversation((Conversation)value, diagnostics, context);
+ case BPMNProfilePackage.SUB_PROCESS:
+ return validateSubProcess((SubProcess)value, diagnostics, context);
+ case BPMNProfilePackage.CALL_ACTIVITY:
+ return validateCallActivity((CallActivity)value, diagnostics, context);
+ case BPMNProfilePackage.BUSINESS_RULE_TASK:
+ return validateBusinessRuleTask((BusinessRuleTask)value, diagnostics, context);
+ case BPMNProfilePackage.COMPLEX_BEHAVIOR_DEFINITION:
+ return validateComplexBehaviorDefinition((ComplexBehaviorDefinition)value, diagnostics, context);
+ case BPMNProfilePackage.AD_HOC_SUB_PROCESS:
+ return validateAdHocSubProcess((AdHocSubProcess)value, diagnostics, context);
+ case BPMNProfilePackage.SCRIPT_TASK:
+ return validateScriptTask((ScriptTask)value, diagnostics, context);
+ case BPMNProfilePackage.SEND_TASK:
+ return validateSendTask((SendTask)value, diagnostics, context);
+ case BPMNProfilePackage.TRANSACTION:
+ return validateTransaction((Transaction)value, diagnostics, context);
+ case BPMNProfilePackage.STANDARD_LOOP_CHARACTERISTICS:
+ return validateStandardLoopCharacteristics((StandardLoopCharacteristics)value, diagnostics, context);
+ case BPMNProfilePackage.RECEIVE_TASK:
+ return validateReceiveTask((ReceiveTask)value, diagnostics, context);
+ case BPMNProfilePackage.SERVICE_TASK:
+ return validateServiceTask((ServiceTask)value, diagnostics, context);
+ case BPMNProfilePackage.MULTI_INSTANCE_LOOP_CHARACTERISTICS:
+ return validateMultiInstanceLoopCharacteristics((MultiInstanceLoopCharacteristics)value, diagnostics, context);
+ case BPMNProfilePackage.ASSOCIATION_DIRECTION:
+ return validateAssociationDirection((AssociationDirection)value, diagnostics, context);
+ case BPMNProfilePackage.EVENT_BASED_GATEWAY_TYPE:
+ return validateEventBasedGatewayType((EventBasedGatewayType)value, diagnostics, context);
+ case BPMNProfilePackage.GATEWAY_DIRECTION:
+ return validateGatewayDirection((GatewayDirection)value, diagnostics, context);
+ case BPMNProfilePackage.RELATIONSHIP_DIRECTION:
+ return validateRelationshipDirection((RelationshipDirection)value, diagnostics, context);
+ case BPMNProfilePackage.ITEM_KIND:
+ return validateItemKind((ItemKind)value, diagnostics, context);
+ case BPMNProfilePackage.PROCESS_TYPE:
+ return validateProcessType((ProcessType)value, diagnostics, context);
+ case BPMNProfilePackage.AD_HOC_ORDERING:
+ return validateAdHocOrdering((AdHocOrdering)value, diagnostics, context);
+ case BPMNProfilePackage.MULTI_INSTANCE_BEHAVIOR:
+ return validateMultiInstanceBehavior((MultiInstanceBehavior)value, diagnostics, context);
+ default:
+ return true;
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInclusiveGateway(InclusiveGateway inclusiveGateway, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(inclusiveGateway, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(inclusiveGateway, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(inclusiveGateway, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(inclusiveGateway, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(inclusiveGateway, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(inclusiveGateway, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(inclusiveGateway, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(inclusiveGateway, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(inclusiveGateway, diagnostics, context);
+ if (result || diagnostics != null) result &= validateInclusiveGateway_inclusiveGatewaydefault(inclusiveGateway, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the inclusiveGatewaydefault constraint of '<em>Inclusive Gateway</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInclusiveGateway_inclusiveGatewaydefault(InclusiveGateway inclusiveGateway, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return inclusiveGateway.inclusiveGatewaydefault(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNonExclusiveGateway(NonExclusiveGateway nonExclusiveGateway, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(nonExclusiveGateway, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateGateway(Gateway gateway, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(gateway, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateFlowNode(FlowNode flowNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(flowNode, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateFlowElement(FlowElement flowElement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(flowElement, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBaseElement(BaseElement baseElement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(baseElement, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateExtensionAttributeValue(ExtensionAttributeValue extensionAttributeValue, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(extensionAttributeValue, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateExtensionAttributeDefinition(ExtensionAttributeDefinition extensionAttributeDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(extensionAttributeDefinition, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDocumentation(Documentation documentation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(documentation, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateExtensionDefinition(ExtensionDefinition extensionDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(extensionDefinition, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNAssociation(BPMNAssociation bpmnAssociation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(bpmnAssociation, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(bpmnAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(bpmnAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(bpmnAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(bpmnAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(bpmnAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(bpmnAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(bpmnAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(bpmnAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNAssociation_AssociationEnd(bpmnAssociation, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the AssociationEnd constraint of '<em>BPMN Association</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNAssociation_AssociationEnd(BPMNAssociation bpmnAssociation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bpmnAssociation.AssociationEnd(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNArtifact(BPMNArtifact bpmnArtifact, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(bpmnArtifact, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateAuditing(Auditing auditing, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(auditing, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMonitoring(Monitoring monitoring, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(monitoring, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCategoryValue(CategoryValue categoryValue, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(categoryValue, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateFlowElementsContainer(FlowElementsContainer flowElementsContainer, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(flowElementsContainer, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateLaneSet(LaneSet laneSet, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(laneSet, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(laneSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(laneSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(laneSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(laneSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(laneSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(laneSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(laneSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(laneSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validateLaneSet_LaneSetlanes(laneSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validateLaneSet_LaneSetparentLane(laneSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validateLaneSet_LaneSetflowElementsContainer(laneSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validateLaneSet_LaneSet(laneSet, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the LaneSetlanes constraint of '<em>Lane Set</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateLaneSet_LaneSetlanes(LaneSet laneSet, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return laneSet.LaneSetlanes(diagnostics, context);
+ }
+
+ /**
+ * Validates the LaneSetparentLane constraint of '<em>Lane Set</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateLaneSet_LaneSetparentLane(LaneSet laneSet, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return laneSet.LaneSetparentLane(diagnostics, context);
+ }
+
+ /**
+ * Validates the LaneSetflowElementsContainer constraint of '<em>Lane Set</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateLaneSet_LaneSetflowElementsContainer(LaneSet laneSet, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return laneSet.LaneSetflowElementsContainer(diagnostics, context);
+ }
+
+ /**
+ * Validates the LaneSet constraint of '<em>Lane Set</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateLaneSet_LaneSet(LaneSet laneSet, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return laneSet.LaneSet(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateLane(Lane lane, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(lane, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(lane, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(lane, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(lane, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(lane, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(lane, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(lane, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(lane, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(lane, diagnostics, context);
+ if (result || diagnostics != null) result &= validateLane_LanelaneSet(lane, diagnostics, context);
+ if (result || diagnostics != null) result &= validateLane_LanechildLaneSet(lane, diagnostics, context);
+ if (result || diagnostics != null) result &= validateLane_LanepartitionElementRef(lane, diagnostics, context);
+ if (result || diagnostics != null) result &= validateLane_LaneflowNodeRefs(lane, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the LanelaneSet constraint of '<em>Lane</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateLane_LanelaneSet(Lane lane, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return lane.LanelaneSet(diagnostics, context);
+ }
+
+ /**
+ * Validates the LanechildLaneSet constraint of '<em>Lane</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateLane_LanechildLaneSet(Lane lane, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return lane.LanechildLaneSet(diagnostics, context);
+ }
+
+ /**
+ * Validates the LanepartitionElementRef constraint of '<em>Lane</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateLane_LanepartitionElementRef(Lane lane, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return lane.LanepartitionElementRef(diagnostics, context);
+ }
+
+ /**
+ * Validates the LaneflowNodeRefs constraint of '<em>Lane</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateLane_LaneflowNodeRefs(Lane lane, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return lane.LaneflowNodeRefs(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSequenceFlow(SequenceFlow sequenceFlow, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(sequenceFlow, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(sequenceFlow, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(sequenceFlow, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(sequenceFlow, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(sequenceFlow, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(sequenceFlow, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(sequenceFlow, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(sequenceFlow, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(sequenceFlow, diagnostics, context);
+ if (result || diagnostics != null) result &= validateSequenceFlow_SequenceFlowconditionExpression(sequenceFlow, diagnostics, context);
+ if (result || diagnostics != null) result &= validateSequenceFlow_SequenceFlowsourceRef(sequenceFlow, diagnostics, context);
+ if (result || diagnostics != null) result &= validateSequenceFlow_SequenceFlowtargetRef(sequenceFlow, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the SequenceFlowconditionExpression constraint of '<em>Sequence Flow</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSequenceFlow_SequenceFlowconditionExpression(SequenceFlow sequenceFlow, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceFlow.SequenceFlowconditionExpression(diagnostics, context);
+ }
+
+ /**
+ * Validates the SequenceFlowsourceRef constraint of '<em>Sequence Flow</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSequenceFlow_SequenceFlowsourceRef(SequenceFlow sequenceFlow, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceFlow.SequenceFlowsourceRef(diagnostics, context);
+ }
+
+ /**
+ * Validates the SequenceFlowtargetRef constraint of '<em>Sequence Flow</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSequenceFlow_SequenceFlowtargetRef(SequenceFlow sequenceFlow, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sequenceFlow.SequenceFlowtargetRef(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNExpression(BPMNExpression bpmnExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(bpmnExpression, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEventBasedGateway(EventBasedGateway eventBasedGateway, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(eventBasedGateway, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateParallelGateway(ParallelGateway parallelGateway, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(parallelGateway, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateComplexGateway(ComplexGateway complexGateway, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(complexGateway, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(complexGateway, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(complexGateway, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(complexGateway, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(complexGateway, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(complexGateway, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(complexGateway, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(complexGateway, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(complexGateway, diagnostics, context);
+ if (result || diagnostics != null) result &= validateComplexGateway_complexGatewaydefault(complexGateway, diagnostics, context);
+ if (result || diagnostics != null) result &= validateComplexGateway_complexGatewayactivationCondition(complexGateway, diagnostics, context);
+ if (result || diagnostics != null) result &= validateComplexGateway_complexGatewayjoinSpec(complexGateway, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the complexGatewaydefault constraint of '<em>Complex Gateway</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateComplexGateway_complexGatewaydefault(ComplexGateway complexGateway, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return complexGateway.complexGatewaydefault(diagnostics, context);
+ }
+
+ /**
+ * Validates the complexGatewayactivationCondition constraint of '<em>Complex Gateway</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateComplexGateway_complexGatewayactivationCondition(ComplexGateway complexGateway, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return complexGateway.complexGatewayactivationCondition(diagnostics, context);
+ }
+
+ /**
+ * Validates the complexGatewayjoinSpec constraint of '<em>Complex Gateway</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateComplexGateway_complexGatewayjoinSpec(ComplexGateway complexGateway, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return complexGateway.complexGatewayjoinSpec(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateExclusiveGateway(ExclusiveGateway exclusiveGateway, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(exclusiveGateway, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(exclusiveGateway, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(exclusiveGateway, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(exclusiveGateway, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(exclusiveGateway, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(exclusiveGateway, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(exclusiveGateway, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(exclusiveGateway, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(exclusiveGateway, diagnostics, context);
+ if (result || diagnostics != null) result &= validateExclusiveGateway_exclusiveGatewaydefault(exclusiveGateway, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the exclusiveGatewaydefault constraint of '<em>Exclusive Gateway</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateExclusiveGateway_exclusiveGatewaydefault(ExclusiveGateway exclusiveGateway, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return exclusiveGateway.exclusiveGatewaydefault(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateRootElement(RootElement rootElement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(rootElement, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDefinitions(Definitions definitions, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(definitions, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNExtension(BPMNExtension bpmnExtension, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(bpmnExtension, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateImport(Import import_, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(import_, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNRelationship(BPMNRelationship bpmnRelationship, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(bpmnRelationship, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNProcess(BPMNProcess bpmnProcess, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(bpmnProcess, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(bpmnProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(bpmnProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(bpmnProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(bpmnProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(bpmnProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(bpmnProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(bpmnProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(bpmnProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validateCallableElement_CallableEelementsupportedInterfaceRefs(bpmnProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validateCallableElement_CallableElementresources(bpmnProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNProcess_ProcesssupportedInterfaceRefs(bpmnProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNProcess_Processsupports(bpmnProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNProcess_Processproperties(bpmnProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNProcess_ProcesslaneSets(bpmnProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNProcess_ProcessflowElements(bpmnProcess, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the ProcesssupportedInterfaceRefs constraint of '<em>BPMN Process</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNProcess_ProcesssupportedInterfaceRefs(BPMNProcess bpmnProcess, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bpmnProcess.ProcesssupportedInterfaceRefs(diagnostics, context);
+ }
+
+ /**
+ * Validates the Processsupports constraint of '<em>BPMN Process</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNProcess_Processsupports(BPMNProcess bpmnProcess, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bpmnProcess.Processsupports(diagnostics, context);
+ }
+
+ /**
+ * Validates the Processproperties constraint of '<em>BPMN Process</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNProcess_Processproperties(BPMNProcess bpmnProcess, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bpmnProcess.Processproperties(diagnostics, context);
+ }
+
+ /**
+ * Validates the ProcesslaneSets constraint of '<em>BPMN Process</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNProcess_ProcesslaneSets(BPMNProcess bpmnProcess, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bpmnProcess.ProcesslaneSets(diagnostics, context);
+ }
+
+ /**
+ * Validates the ProcessflowElements constraint of '<em>BPMN Process</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNProcess_ProcessflowElements(BPMNProcess bpmnProcess, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bpmnProcess.ProcessflowElements(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCallableElement(CallableElement callableElement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(callableElement, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(callableElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(callableElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(callableElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(callableElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(callableElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(callableElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(callableElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(callableElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validateCallableElement_CallableEelementsupportedInterfaceRefs(callableElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validateCallableElement_CallableElementresources(callableElement, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the CallableEelementsupportedInterfaceRefs constraint of '<em>Callable Element</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCallableElement_CallableEelementsupportedInterfaceRefs(CallableElement callableElement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return callableElement.CallableEelementsupportedInterfaceRefs(diagnostics, context);
+ }
+
+ /**
+ * Validates the CallableElementresources constraint of '<em>Callable Element</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCallableElement_CallableElementresources(CallableElement callableElement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return callableElement.CallableElementresources(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInputOutputSpecification(InputOutputSpecification inputOutputSpecification, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(inputOutputSpecification, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDataInput(DataInput dataInput, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(dataInput, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(dataInput, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(dataInput, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(dataInput, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(dataInput, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(dataInput, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(dataInput, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(dataInput, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(dataInput, diagnostics, context);
+ if (result || diagnostics != null) result &= validateItemAwareElement_ItemAwareElementdataState(dataInput, diagnostics, context);
+ if (result || diagnostics != null) result &= validateDataInput_DataInputAssociation(dataInput, diagnostics, context);
+ if (result || diagnostics != null) result &= validateDataInput_DataInputnotation(dataInput, diagnostics, context);
+ if (result || diagnostics != null) result &= validateDataInput_DataInputitemSubjectRef(dataInput, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the DataInputAssociation constraint of '<em>Data Input</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDataInput_DataInputAssociation(DataInput dataInput, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return dataInput.DataInputAssociation(diagnostics, context);
+ }
+
+ /**
+ * Validates the DataInputnotation constraint of '<em>Data Input</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDataInput_DataInputnotation(DataInput dataInput, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return dataInput.DataInputnotation(diagnostics, context);
+ }
+
+ /**
+ * Validates the DataInputitemSubjectRef constraint of '<em>Data Input</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDataInput_DataInputitemSubjectRef(DataInput dataInput, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return dataInput.DataInputitemSubjectRef(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateItemAwareElement(ItemAwareElement itemAwareElement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(itemAwareElement, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(itemAwareElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(itemAwareElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(itemAwareElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(itemAwareElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(itemAwareElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(itemAwareElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(itemAwareElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(itemAwareElement, diagnostics, context);
+ if (result || diagnostics != null) result &= validateItemAwareElement_ItemAwareElementdataState(itemAwareElement, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the ItemAwareElementdataState constraint of '<em>Item Aware Element</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateItemAwareElement_ItemAwareElementdataState(ItemAwareElement itemAwareElement, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return itemAwareElement.ItemAwareElementdataState(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDataState(DataState dataState, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(dataState, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateItemDefinition(ItemDefinition itemDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(itemDefinition, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(itemDefinition, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(itemDefinition, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(itemDefinition, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(itemDefinition, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(itemDefinition, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(itemDefinition, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(itemDefinition, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(itemDefinition, diagnostics, context);
+ if (result || diagnostics != null) result &= validateItemDefinition_ItemDefinitionstructureRef(itemDefinition, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the ItemDefinitionstructureRef constraint of '<em>Item Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateItemDefinition_ItemDefinitionstructureRef(ItemDefinition itemDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return itemDefinition.ItemDefinitionstructureRef(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInputSet(InputSet inputSet, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(inputSet, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(inputSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(inputSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(inputSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(inputSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(inputSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(inputSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(inputSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(inputSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validateInputSet_InputSetdataInputRefs(inputSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validateInputSet_InputSetoptionalInputRefs(inputSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validateInputSet_InputSetwhileExecutingInputRefs(inputSet, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the InputSetdataInputRefs constraint of '<em>Input Set</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInputSet_InputSetdataInputRefs(InputSet inputSet, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return inputSet.InputSetdataInputRefs(diagnostics, context);
+ }
+
+ /**
+ * Validates the InputSetoptionalInputRefs constraint of '<em>Input Set</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInputSet_InputSetoptionalInputRefs(InputSet inputSet, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return inputSet.InputSetoptionalInputRefs(diagnostics, context);
+ }
+
+ /**
+ * Validates the InputSetwhileExecutingInputRefs constraint of '<em>Input Set</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInputSet_InputSetwhileExecutingInputRefs(InputSet inputSet, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return inputSet.InputSetwhileExecutingInputRefs(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDataOutput(DataOutput dataOutput, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(dataOutput, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(dataOutput, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(dataOutput, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(dataOutput, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(dataOutput, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(dataOutput, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(dataOutput, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(dataOutput, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(dataOutput, diagnostics, context);
+ if (result || diagnostics != null) result &= validateItemAwareElement_ItemAwareElementdataState(dataOutput, diagnostics, context);
+ if (result || diagnostics != null) result &= validateDataOutput_DataOutputnotation(dataOutput, diagnostics, context);
+ if (result || diagnostics != null) result &= validateDataOutput_DataOutputitemSubjectRef(dataOutput, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the DataOutputnotation constraint of '<em>Data Output</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDataOutput_DataOutputnotation(DataOutput dataOutput, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return dataOutput.DataOutputnotation(diagnostics, context);
+ }
+
+ /**
+ * Validates the DataOutputitemSubjectRef constraint of '<em>Data Output</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDataOutput_DataOutputitemSubjectRef(DataOutput dataOutput, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return dataOutput.DataOutputitemSubjectRef(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOutputSet(OutputSet outputSet, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(outputSet, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(outputSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(outputSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(outputSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(outputSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(outputSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(outputSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(outputSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(outputSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validateOutputSet_OutputSetdataOutputRefs(outputSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validateOutputSet_OutputSetoptionalOutputRefs(outputSet, diagnostics, context);
+ if (result || diagnostics != null) result &= validateOutputSet_OutputSetwhileExecutingOutputRefs(outputSet, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the OutputSetdataOutputRefs constraint of '<em>Output Set</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOutputSet_OutputSetdataOutputRefs(OutputSet outputSet, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return outputSet.OutputSetdataOutputRefs(diagnostics, context);
+ }
+
+ /**
+ * Validates the OutputSetoptionalOutputRefs constraint of '<em>Output Set</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOutputSet_OutputSetoptionalOutputRefs(OutputSet outputSet, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return outputSet.OutputSetoptionalOutputRefs(diagnostics, context);
+ }
+
+ /**
+ * Validates the OutputSetwhileExecutingOutputRefs constraint of '<em>Output Set</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateOutputSet_OutputSetwhileExecutingOutputRefs(OutputSet outputSet, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return outputSet.OutputSetwhileExecutingOutputRefs(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNInterface(BPMNInterface bpmnInterface, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(bpmnInterface, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(bpmnInterface, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(bpmnInterface, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(bpmnInterface, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(bpmnInterface, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(bpmnInterface, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(bpmnInterface, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(bpmnInterface, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(bpmnInterface, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNInterface_Interfaceoperationmultiplicity(bpmnInterface, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNInterface_InterfaceownedOperation(bpmnInterface, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNInterface_BPMNInterfacecallableElements(bpmnInterface, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNInterface_BPMNInterfaceoperations(bpmnInterface, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the Interfaceoperationmultiplicity constraint of '<em>BPMN Interface</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNInterface_Interfaceoperationmultiplicity(BPMNInterface bpmnInterface, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bpmnInterface.Interfaceoperationmultiplicity(diagnostics, context);
+ }
+
+ /**
+ * Validates the InterfaceownedOperation constraint of '<em>BPMN Interface</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNInterface_InterfaceownedOperation(BPMNInterface bpmnInterface, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bpmnInterface.InterfaceownedOperation(diagnostics, context);
+ }
+
+ /**
+ * Validates the BPMNInterfacecallableElements constraint of '<em>BPMN Interface</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNInterface_BPMNInterfacecallableElements(BPMNInterface bpmnInterface, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bpmnInterface.BPMNInterfacecallableElements(diagnostics, context);
+ }
+
+ /**
+ * Validates the BPMNInterfaceoperations constraint of '<em>BPMN Interface</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNInterface_BPMNInterfaceoperations(BPMNInterface bpmnInterface, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bpmnInterface.BPMNInterfaceoperations(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNOperation(BPMNOperation bpmnOperation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(bpmnOperation, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(bpmnOperation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(bpmnOperation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(bpmnOperation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(bpmnOperation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(bpmnOperation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(bpmnOperation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(bpmnOperation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(bpmnOperation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNOperation_BPMNOperationowner(bpmnOperation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNOperation_BPMNOperationinMessageRef(bpmnOperation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNOperation_BPMNOperationoutMessageRef(bpmnOperation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNOperation_BPMNOperationerrorRefs(bpmnOperation, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the BPMNOperationowner constraint of '<em>BPMN Operation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNOperation_BPMNOperationowner(BPMNOperation bpmnOperation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bpmnOperation.BPMNOperationowner(diagnostics, context);
+ }
+
+ /**
+ * Validates the BPMNOperationinMessageRef constraint of '<em>BPMN Operation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNOperation_BPMNOperationinMessageRef(BPMNOperation bpmnOperation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bpmnOperation.BPMNOperationinMessageRef(diagnostics, context);
+ }
+
+ /**
+ * Validates the BPMNOperationoutMessageRef constraint of '<em>BPMN Operation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNOperation_BPMNOperationoutMessageRef(BPMNOperation bpmnOperation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bpmnOperation.BPMNOperationoutMessageRef(diagnostics, context);
+ }
+
+ /**
+ * Validates the BPMNOperationerrorRefs constraint of '<em>BPMN Operation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNOperation_BPMNOperationerrorRefs(BPMNOperation bpmnOperation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bpmnOperation.BPMNOperationerrorRefs(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNMessage(BPMNMessage bpmnMessage, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(bpmnMessage, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(bpmnMessage, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(bpmnMessage, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(bpmnMessage, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(bpmnMessage, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(bpmnMessage, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(bpmnMessage, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(bpmnMessage, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(bpmnMessage, diagnostics, context);
+ if (result || diagnostics != null) result &= validateItemDefinition_ItemDefinitionstructureRef(bpmnMessage, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNMessage_MessageitemRef(bpmnMessage, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the MessageitemRef constraint of '<em>BPMN Message</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNMessage_MessageitemRef(BPMNMessage bpmnMessage, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bpmnMessage.MessageitemRef(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateError(org.eclipse.papyrus.bpmn.BPMNProfile.Error error, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(error, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(error, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(error, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(error, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(error, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(error, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(error, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(error, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(error, diagnostics, context);
+ if (result || diagnostics != null) result &= validateItemDefinition_ItemDefinitionstructureRef(error, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInputOutputBinding(InputOutputBinding inputOutputBinding, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(inputOutputBinding, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNCollaboration(BPMNCollaboration bpmnCollaboration, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(bpmnCollaboration, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(bpmnCollaboration, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(bpmnCollaboration, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(bpmnCollaboration, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(bpmnCollaboration, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(bpmnCollaboration, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(bpmnCollaboration, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(bpmnCollaboration, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(bpmnCollaboration, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNCollaboration_Collaborationparticipants(bpmnCollaboration, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the Collaborationparticipants constraint of '<em>BPMN Collaboration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNCollaboration_Collaborationparticipants(BPMNCollaboration bpmnCollaboration, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bpmnCollaboration.Collaborationparticipants(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateParticipantAssociation(ParticipantAssociation participantAssociation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(participantAssociation, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(participantAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(participantAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(participantAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(participantAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(participantAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(participantAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(participantAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(participantAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateParticipantAssociation_ParticipantAssociationinnerParticipantRef(participantAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateParticipantAssociation_ParticipantAssociationouterParticipantRef(participantAssociation, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the ParticipantAssociationinnerParticipantRef constraint of '<em>Participant Association</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateParticipantAssociation_ParticipantAssociationinnerParticipantRef(ParticipantAssociation participantAssociation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return participantAssociation.ParticipantAssociationinnerParticipantRef(diagnostics, context);
+ }
+
+ /**
+ * Validates the ParticipantAssociationouterParticipantRef constraint of '<em>Participant Association</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateParticipantAssociation_ParticipantAssociationouterParticipantRef(ParticipantAssociation participantAssociation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return participantAssociation.ParticipantAssociationouterParticipantRef(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateParticipant(Participant participant, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(participant, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(participant, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(participant, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(participant, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(participant, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(participant, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(participant, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(participant, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(participant, diagnostics, context);
+ if (result || diagnostics != null) result &= validateParticipant_Participantownership(participant, diagnostics, context);
+ if (result || diagnostics != null) result &= validateParticipant_Participanttype(participant, diagnostics, context);
+ if (result || diagnostics != null) result &= validateParticipant_ParticipantmultiplicityMinimum(participant, diagnostics, context);
+ if (result || diagnostics != null) result &= validateParticipant_Participantrealizationsupplier(participant, diagnostics, context);
+ if (result || diagnostics != null) result &= validateParticipant_ParticipantprocessRef(participant, diagnostics, context);
+ if (result || diagnostics != null) result &= validateParticipant_ParticipantmultiplicityMaximum(participant, diagnostics, context);
+ if (result || diagnostics != null) result &= validateParticipant_participantpartnerEntityRef(participant, diagnostics, context);
+ if (result || diagnostics != null) result &= validateParticipant_participantpartnerRoleRef(participant, diagnostics, context);
+ if (result || diagnostics != null) result &= validateParticipant_ParticipantinterfaceRefs(participant, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the Participantownership constraint of '<em>Participant</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateParticipant_Participantownership(Participant participant, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return participant.Participantownership(diagnostics, context);
+ }
+
+ /**
+ * Validates the Participanttype constraint of '<em>Participant</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateParticipant_Participanttype(Participant participant, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return participant.Participanttype(diagnostics, context);
+ }
+
+ /**
+ * Validates the ParticipantmultiplicityMinimum constraint of '<em>Participant</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateParticipant_ParticipantmultiplicityMinimum(Participant participant, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return participant.ParticipantmultiplicityMinimum(diagnostics, context);
+ }
+
+ /**
+ * Validates the Participantrealizationsupplier constraint of '<em>Participant</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateParticipant_Participantrealizationsupplier(Participant participant, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return participant.Participantrealizationsupplier(diagnostics, context);
+ }
+
+ /**
+ * Validates the ParticipantprocessRef constraint of '<em>Participant</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateParticipant_ParticipantprocessRef(Participant participant, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return participant.ParticipantprocessRef(diagnostics, context);
+ }
+
+ /**
+ * Validates the ParticipantmultiplicityMaximum constraint of '<em>Participant</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateParticipant_ParticipantmultiplicityMaximum(Participant participant, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return participant.ParticipantmultiplicityMaximum(diagnostics, context);
+ }
+
+ /**
+ * Validates the participantpartnerEntityRef constraint of '<em>Participant</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateParticipant_participantpartnerEntityRef(Participant participant, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return participant.participantpartnerEntityRef(diagnostics, context);
+ }
+
+ /**
+ * Validates the participantpartnerRoleRef constraint of '<em>Participant</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateParticipant_participantpartnerRoleRef(Participant participant, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return participant.participantpartnerRoleRef(diagnostics, context);
+ }
+
+ /**
+ * Validates the ParticipantinterfaceRefs constraint of '<em>Participant</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateParticipant_ParticipantinterfaceRefs(Participant participant, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return participant.ParticipantinterfaceRefs(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateInteractionNode(InteractionNode interactionNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(interactionNode, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateConversationLink(ConversationLink conversationLink, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(conversationLink, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateParticipantMultiplicity(ParticipantMultiplicity participantMultiplicity, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(participantMultiplicity, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePartnerEntity(PartnerEntity partnerEntity, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(partnerEntity, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(partnerEntity, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(partnerEntity, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(partnerEntity, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(partnerEntity, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(partnerEntity, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(partnerEntity, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(partnerEntity, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(partnerEntity, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePartnerEntity_PartnerEntityparticipantRef(partnerEntity, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the PartnerEntityparticipantRef constraint of '<em>Partner Entity</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePartnerEntity_PartnerEntityparticipantRef(PartnerEntity partnerEntity, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return partnerEntity.PartnerEntityparticipantRef(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePartnerRole(PartnerRole partnerRole, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(partnerRole, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(partnerRole, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(partnerRole, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(partnerRole, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(partnerRole, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(partnerRole, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(partnerRole, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(partnerRole, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(partnerRole, diagnostics, context);
+ if (result || diagnostics != null) result &= validatePartnerRole_PartnerRoleparticipantRef(partnerRole, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the PartnerRoleparticipantRef constraint of '<em>Partner Role</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePartnerRole_PartnerRoleparticipantRef(PartnerRole partnerRole, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return partnerRole.PartnerRoleparticipantRef(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMessageFlowAssociation(MessageFlowAssociation messageFlowAssociation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(messageFlowAssociation, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(messageFlowAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(messageFlowAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(messageFlowAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(messageFlowAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(messageFlowAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(messageFlowAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(messageFlowAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(messageFlowAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateMessageFlowAssociation_MessageFlowAssociationinnerMessageFlowRef(messageFlowAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateMessageFlowAssociation_MessageFlowAssociationouterMessageFlowRef(messageFlowAssociation, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the MessageFlowAssociationinnerMessageFlowRef constraint of '<em>Message Flow Association</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMessageFlowAssociation_MessageFlowAssociationinnerMessageFlowRef(MessageFlowAssociation messageFlowAssociation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return messageFlowAssociation.MessageFlowAssociationinnerMessageFlowRef(diagnostics, context);
+ }
+
+ /**
+ * Validates the MessageFlowAssociationouterMessageFlowRef constraint of '<em>Message Flow Association</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMessageFlowAssociation_MessageFlowAssociationouterMessageFlowRef(MessageFlowAssociation messageFlowAssociation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return messageFlowAssociation.MessageFlowAssociationouterMessageFlowRef(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMessageFlow(MessageFlow messageFlow, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(messageFlow, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(messageFlow, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(messageFlow, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(messageFlow, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(messageFlow, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(messageFlow, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(messageFlow, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(messageFlow, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(messageFlow, diagnostics, context);
+ if (result || diagnostics != null) result &= validateMessageFlow_MessageFlowsourceRef(messageFlow, diagnostics, context);
+ if (result || diagnostics != null) result &= validateMessageFlow_MessageFlowtargetRef(messageFlow, diagnostics, context);
+ if (result || diagnostics != null) result &= validateMessageFlow_MessageFlowmessageRef(messageFlow, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the MessageFlowsourceRef constraint of '<em>Message Flow</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMessageFlow_MessageFlowsourceRef(MessageFlow messageFlow, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return messageFlow.MessageFlowsourceRef(diagnostics, context);
+ }
+
+ /**
+ * Validates the MessageFlowtargetRef constraint of '<em>Message Flow</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMessageFlow_MessageFlowtargetRef(MessageFlow messageFlow, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return messageFlow.MessageFlowtargetRef(diagnostics, context);
+ }
+
+ /**
+ * Validates the MessageFlowmessageRef constraint of '<em>Message Flow</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMessageFlow_MessageFlowmessageRef(MessageFlow messageFlow, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return messageFlow.MessageFlowmessageRef(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateConversationNode(ConversationNode conversationNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(conversationNode, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(conversationNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(conversationNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(conversationNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(conversationNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(conversationNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(conversationNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(conversationNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(conversationNode, diagnostics, context);
+ if (result || diagnostics != null) result &= validateConversationNode_ConversationNodeparticipantRefs(conversationNode, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the ConversationNodeparticipantRefs constraint of '<em>Conversation Node</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateConversationNode_ConversationNodeparticipantRefs(ConversationNode conversationNode, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return conversationNode.ConversationNodeparticipantRefs(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCorrelationKey(CorrelationKey correlationKey, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(correlationKey, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCorrelationProperty(CorrelationProperty correlationProperty, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(correlationProperty, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCorrelationPropertyRetrievalExpression(CorrelationPropertyRetrievalExpression correlationPropertyRetrievalExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(correlationPropertyRetrievalExpression, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateFormalExpression(FormalExpression formalExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(formalExpression, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(formalExpression, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(formalExpression, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(formalExpression, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(formalExpression, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(formalExpression, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(formalExpression, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(formalExpression, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(formalExpression, diagnostics, context);
+ if (result || diagnostics != null) result &= validateFormalExpression_FormalExpressionevaluatesToTypeRef(formalExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the FormalExpressionevaluatesToTypeRef constraint of '<em>Formal Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateFormalExpression_FormalExpressionevaluatesToTypeRef(FormalExpression formalExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return formalExpression.FormalExpressionevaluatesToTypeRef(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCorrelationSubscription(CorrelationSubscription correlationSubscription, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(correlationSubscription, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCorrelationPropertyBinding(CorrelationPropertyBinding correlationPropertyBinding, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(correlationPropertyBinding, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNProperty(BPMNProperty bpmnProperty, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(bpmnProperty, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(bpmnProperty, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(bpmnProperty, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(bpmnProperty, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(bpmnProperty, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(bpmnProperty, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(bpmnProperty, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(bpmnProperty, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(bpmnProperty, diagnostics, context);
+ if (result || diagnostics != null) result &= validateItemAwareElement_ItemAwareElementdataState(bpmnProperty, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNProperty_Propertynotation(bpmnProperty, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNProperty_BPMNPropertyapply(bpmnProperty, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the Propertynotation constraint of '<em>BPMN Property</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNProperty_Propertynotation(BPMNProperty bpmnProperty, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bpmnProperty.Propertynotation(diagnostics, context);
+ }
+
+ /**
+ * Validates the BPMNPropertyapply constraint of '<em>BPMN Property</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNProperty_BPMNPropertyapply(BPMNProperty bpmnProperty, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bpmnProperty.BPMNPropertyapply(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateResourceRole(ResourceRole resourceRole, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(resourceRole, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(resourceRole, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(resourceRole, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(resourceRole, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(resourceRole, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(resourceRole, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(resourceRole, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(resourceRole, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(resourceRole, diagnostics, context);
+ if (result || diagnostics != null) result &= validateResourceRole_ResourceRoleowner(resourceRole, diagnostics, context);
+ if (result || diagnostics != null) result &= validateResourceRole_ResourceRoleresourceRef(resourceRole, diagnostics, context);
+ if (result || diagnostics != null) result &= validateResourceRole_ResourceRoleisRequired(resourceRole, diagnostics, context);
+ if (result || diagnostics != null) result &= validateResourceRole_ResourceRoleprocess(resourceRole, diagnostics, context);
+ if (result || diagnostics != null) result &= validateResourceRole_ResourceRoleresourceParameterBindings(resourceRole, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the ResourceRoleowner constraint of '<em>Resource Role</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateResourceRole_ResourceRoleowner(ResourceRole resourceRole, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return resourceRole.ResourceRoleowner(diagnostics, context);
+ }
+
+ /**
+ * Validates the ResourceRoleresourceRef constraint of '<em>Resource Role</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateResourceRole_ResourceRoleresourceRef(ResourceRole resourceRole, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return resourceRole.ResourceRoleresourceRef(diagnostics, context);
+ }
+
+ /**
+ * Validates the ResourceRoleisRequired constraint of '<em>Resource Role</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateResourceRole_ResourceRoleisRequired(ResourceRole resourceRole, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return resourceRole.ResourceRoleisRequired(diagnostics, context);
+ }
+
+ /**
+ * Validates the ResourceRoleprocess constraint of '<em>Resource Role</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateResourceRole_ResourceRoleprocess(ResourceRole resourceRole, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return resourceRole.ResourceRoleprocess(diagnostics, context);
+ }
+
+ /**
+ * Validates the ResourceRoleresourceParameterBindings constraint of '<em>Resource Role</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateResourceRole_ResourceRoleresourceParameterBindings(ResourceRole resourceRole, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return resourceRole.ResourceRoleresourceParameterBindings(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateResourceAssignmentExpression(ResourceAssignmentExpression resourceAssignmentExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(resourceAssignmentExpression, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(resourceAssignmentExpression, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(resourceAssignmentExpression, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(resourceAssignmentExpression, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(resourceAssignmentExpression, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(resourceAssignmentExpression, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(resourceAssignmentExpression, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(resourceAssignmentExpression, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(resourceAssignmentExpression, diagnostics, context);
+ if (result || diagnostics != null) result &= validateResourceAssignmentExpression_ResourceAssignmentExpressionexpression(resourceAssignmentExpression, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the ResourceAssignmentExpressionexpression constraint of '<em>Resource Assignment Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateResourceAssignmentExpression_ResourceAssignmentExpressionexpression(ResourceAssignmentExpression resourceAssignmentExpression, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return resourceAssignmentExpression.ResourceAssignmentExpressionexpression(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateResource(Resource resource, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(resource, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(resource, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(resource, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(resource, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(resource, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(resource, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(resource, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(resource, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(resource, diagnostics, context);
+ if (result || diagnostics != null) result &= validateItemDefinition_ItemDefinitionstructureRef(resource, diagnostics, context);
+ if (result || diagnostics != null) result &= validateResource_ResourceresourceParameters(resource, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the ResourceresourceParameters constraint of '<em>Resource</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateResource_ResourceresourceParameters(Resource resource, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return resource.ResourceresourceParameters(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateResourceParameter(ResourceParameter resourceParameter, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(resourceParameter, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(resourceParameter, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(resourceParameter, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(resourceParameter, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(resourceParameter, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(resourceParameter, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(resourceParameter, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(resourceParameter, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(resourceParameter, diagnostics, context);
+ if (result || diagnostics != null) result &= validateResourceParameter_ResourceParameterowner(resourceParameter, diagnostics, context);
+ if (result || diagnostics != null) result &= validateResourceParameter_ResourceParametertype(resourceParameter, diagnostics, context);
+ if (result || diagnostics != null) result &= validateResourceParameter_ResourceParameterisRequired(resourceParameter, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the ResourceParameterowner constraint of '<em>Resource Parameter</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateResourceParameter_ResourceParameterowner(ResourceParameter resourceParameter, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return resourceParameter.ResourceParameterowner(diagnostics, context);
+ }
+
+ /**
+ * Validates the ResourceParametertype constraint of '<em>Resource Parameter</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateResourceParameter_ResourceParametertype(ResourceParameter resourceParameter, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return resourceParameter.ResourceParametertype(diagnostics, context);
+ }
+
+ /**
+ * Validates the ResourceParameterisRequired constraint of '<em>Resource Parameter</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateResourceParameter_ResourceParameterisRequired(ResourceParameter resourceParameter, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return resourceParameter.ResourceParameterisRequired(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateResourceParameterBinding(ResourceParameterBinding resourceParameterBinding, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(resourceParameterBinding, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(resourceParameterBinding, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(resourceParameterBinding, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(resourceParameterBinding, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(resourceParameterBinding, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(resourceParameterBinding, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(resourceParameterBinding, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(resourceParameterBinding, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(resourceParameterBinding, diagnostics, context);
+ if (result || diagnostics != null) result &= validateResourceParameterBinding_ResourceParameterBindingexpression(resourceParameterBinding, diagnostics, context);
+ if (result || diagnostics != null) result &= validateResourceParameterBinding_ResourceParameterBindingparameterRef(resourceParameterBinding, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the ResourceParameterBindingexpression constraint of '<em>Resource Parameter Binding</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateResourceParameterBinding_ResourceParameterBindingexpression(ResourceParameterBinding resourceParameterBinding, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return resourceParameterBinding.ResourceParameterBindingexpression(diagnostics, context);
+ }
+
+ /**
+ * Validates the ResourceParameterBindingparameterRef constraint of '<em>Resource Parameter Binding</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateResourceParameterBinding_ResourceParameterBindingparameterRef(ResourceParameterBinding resourceParameterBinding, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return resourceParameterBinding.ResourceParameterBindingparameterRef(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateGlobalScriptTask(GlobalScriptTask globalScriptTask, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(globalScriptTask, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(globalScriptTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(globalScriptTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(globalScriptTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(globalScriptTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(globalScriptTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(globalScriptTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(globalScriptTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(globalScriptTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateCallableElement_CallableEelementsupportedInterfaceRefs(globalScriptTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateCallableElement_CallableElementresources(globalScriptTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateGlobalTask_GlobalTasksupportedInterfaceRefs(globalScriptTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateGlobalScriptTask_GlobalScriptTaskscriptFormat(globalScriptTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateGlobalScriptTask_GlobalScriptTaskscript(globalScriptTask, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the GlobalScriptTaskscriptFormat constraint of '<em>Global Script Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateGlobalScriptTask_GlobalScriptTaskscriptFormat(GlobalScriptTask globalScriptTask, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return globalScriptTask.GlobalScriptTaskscriptFormat(diagnostics, context);
+ }
+
+ /**
+ * Validates the GlobalScriptTaskscript constraint of '<em>Global Script Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateGlobalScriptTask_GlobalScriptTaskscript(GlobalScriptTask globalScriptTask, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return globalScriptTask.GlobalScriptTaskscript(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateGlobalTask(GlobalTask globalTask, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(globalTask, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(globalTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(globalTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(globalTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(globalTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(globalTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(globalTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(globalTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(globalTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateCallableElement_CallableEelementsupportedInterfaceRefs(globalTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateCallableElement_CallableElementresources(globalTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateGlobalTask_GlobalTasksupportedInterfaceRefs(globalTask, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the GlobalTasksupportedInterfaceRefs constraint of '<em>Global Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateGlobalTask_GlobalTasksupportedInterfaceRefs(GlobalTask globalTask, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return globalTask.GlobalTasksupportedInterfaceRefs(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateGlobalBusinessRuleTask(GlobalBusinessRuleTask globalBusinessRuleTask, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(globalBusinessRuleTask, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(globalBusinessRuleTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(globalBusinessRuleTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(globalBusinessRuleTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(globalBusinessRuleTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(globalBusinessRuleTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(globalBusinessRuleTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(globalBusinessRuleTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(globalBusinessRuleTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateCallableElement_CallableEelementsupportedInterfaceRefs(globalBusinessRuleTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateCallableElement_CallableElementresources(globalBusinessRuleTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateGlobalTask_GlobalTasksupportedInterfaceRefs(globalBusinessRuleTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateGlobalBusinessRuleTask_GlobalBusinessRuleTaskimplementation(globalBusinessRuleTask, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the GlobalBusinessRuleTaskimplementation constraint of '<em>Global Business Rule Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateGlobalBusinessRuleTask_GlobalBusinessRuleTaskimplementation(GlobalBusinessRuleTask globalBusinessRuleTask, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return globalBusinessRuleTask.GlobalBusinessRuleTaskimplementation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCompensateEventDefinition(CompensateEventDefinition compensateEventDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(compensateEventDefinition, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEventDefinition(EventDefinition eventDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(eventDefinition, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNActivity(BPMNActivity bpmnActivity, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(bpmnActivity, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(bpmnActivity, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(bpmnActivity, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(bpmnActivity, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(bpmnActivity, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(bpmnActivity, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(bpmnActivity, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(bpmnActivity, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(bpmnActivity, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityresources(bpmnActivity, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivitycontainer(bpmnActivity, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityproperties(bpmnActivity, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivitydefault(bpmnActivity, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityboundaryEventsRefs(bpmnActivity, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityloopCharacteristics(bpmnActivity, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the BPMNActivityresources constraint of '<em>BPMN Activity</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNActivity_BPMNActivityresources(BPMNActivity bpmnActivity, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bpmnActivity.BPMNActivityresources(diagnostics, context);
+ }
+
+ /**
+ * Validates the BPMNActivitycontainer constraint of '<em>BPMN Activity</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNActivity_BPMNActivitycontainer(BPMNActivity bpmnActivity, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bpmnActivity.BPMNActivitycontainer(diagnostics, context);
+ }
+
+ /**
+ * Validates the BPMNActivityproperties constraint of '<em>BPMN Activity</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNActivity_BPMNActivityproperties(BPMNActivity bpmnActivity, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bpmnActivity.BPMNActivityproperties(diagnostics, context);
+ }
+
+ /**
+ * Validates the BPMNActivitydefault constraint of '<em>BPMN Activity</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNActivity_BPMNActivitydefault(BPMNActivity bpmnActivity, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bpmnActivity.BPMNActivitydefault(diagnostics, context);
+ }
+
+ /**
+ * Validates the BPMNActivityboundaryEventsRefs constraint of '<em>BPMN Activity</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNActivity_BPMNActivityboundaryEventsRefs(BPMNActivity bpmnActivity, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bpmnActivity.BPMNActivityboundaryEventsRefs(diagnostics, context);
+ }
+
+ /**
+ * Validates the BPMNActivityloopCharacteristics constraint of '<em>BPMN Activity</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNActivity_BPMNActivityloopCharacteristics(BPMNActivity bpmnActivity, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bpmnActivity.BPMNActivityloopCharacteristics(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBoundaryEvent(BoundaryEvent boundaryEvent, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(boundaryEvent, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(boundaryEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(boundaryEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(boundaryEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(boundaryEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(boundaryEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(boundaryEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(boundaryEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(boundaryEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validateCatchEvent_catchEventeventDefinitionsRefs(boundaryEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBoundaryEvent_boundaryEventattachedToRef(boundaryEvent, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the boundaryEventattachedToRef constraint of '<em>Boundary Event</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBoundaryEvent_boundaryEventattachedToRef(BoundaryEvent boundaryEvent, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return boundaryEvent.boundaryEventattachedToRef(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCatchEvent(CatchEvent catchEvent, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(catchEvent, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(catchEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(catchEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(catchEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(catchEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(catchEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(catchEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(catchEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(catchEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validateCatchEvent_catchEventeventDefinitionsRefs(catchEvent, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the catchEventeventDefinitionsRefs constraint of '<em>Catch Event</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCatchEvent_catchEventeventDefinitionsRefs(CatchEvent catchEvent, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return catchEvent.catchEventeventDefinitionsRefs(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNEvent(BPMNEvent bpmnEvent, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(bpmnEvent, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDataOutputAssociation(DataOutputAssociation dataOutputAssociation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(dataOutputAssociation, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(dataOutputAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(dataOutputAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(dataOutputAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(dataOutputAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(dataOutputAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(dataOutputAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(dataOutputAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(dataOutputAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateDataAssociation_DataAssociationsource(dataOutputAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateDataAssociation_DataAssociationtransformation(dataOutputAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateDataAssociation_DataAssociationtarget(dataOutputAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateDataOutputAssociation_dataOutputAssociationsource(dataOutputAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateDataOutputAssociation_dataOutputAssociationtarget(dataOutputAssociation, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the dataOutputAssociationsource constraint of '<em>Data Output Association</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDataOutputAssociation_dataOutputAssociationsource(DataOutputAssociation dataOutputAssociation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return dataOutputAssociation.dataOutputAssociationsource(diagnostics, context);
+ }
+
+ /**
+ * Validates the dataOutputAssociationtarget constraint of '<em>Data Output Association</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDataOutputAssociation_dataOutputAssociationtarget(DataOutputAssociation dataOutputAssociation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return dataOutputAssociation.dataOutputAssociationtarget(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDataAssociation(DataAssociation dataAssociation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(dataAssociation, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(dataAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(dataAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(dataAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(dataAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(dataAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(dataAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(dataAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(dataAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateDataAssociation_DataAssociationsource(dataAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateDataAssociation_DataAssociationtransformation(dataAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateDataAssociation_DataAssociationtarget(dataAssociation, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the DataAssociationsource constraint of '<em>Data Association</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDataAssociation_DataAssociationsource(DataAssociation dataAssociation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return dataAssociation.DataAssociationsource(diagnostics, context);
+ }
+
+ /**
+ * Validates the DataAssociationtransformation constraint of '<em>Data Association</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDataAssociation_DataAssociationtransformation(DataAssociation dataAssociation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return dataAssociation.DataAssociationtransformation(diagnostics, context);
+ }
+
+ /**
+ * Validates the DataAssociationtarget constraint of '<em>Data Association</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDataAssociation_DataAssociationtarget(DataAssociation dataAssociation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return dataAssociation.DataAssociationtarget(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateAssignment(Assignment assignment, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(assignment, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDataInputAssociation(DataInputAssociation dataInputAssociation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(dataInputAssociation, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(dataInputAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(dataInputAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(dataInputAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(dataInputAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(dataInputAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(dataInputAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(dataInputAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(dataInputAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateDataAssociation_DataAssociationsource(dataInputAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateDataAssociation_DataAssociationtransformation(dataInputAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateDataAssociation_DataAssociationtarget(dataInputAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateDataInputAssociation_dataInputAssociationsource(dataInputAssociation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateDataInputAssociation_dataInputAssociationtarget(dataInputAssociation, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the dataInputAssociationsource constraint of '<em>Data Input Association</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDataInputAssociation_dataInputAssociationsource(DataInputAssociation dataInputAssociation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return dataInputAssociation.dataInputAssociationsource(diagnostics, context);
+ }
+
+ /**
+ * Validates the dataInputAssociationtarget constraint of '<em>Data Input Association</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDataInputAssociation_dataInputAssociationtarget(DataInputAssociation dataInputAssociation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return dataInputAssociation.dataInputAssociationtarget(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateLoopCharacteristics(LoopCharacteristics loopCharacteristics, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(loopCharacteristics, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEscalationEventDefinition(EscalationEventDefinition escalationEventDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(escalationEventDefinition, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEscalation(Escalation escalation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(escalation, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(escalation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(escalation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(escalation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(escalation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(escalation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(escalation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(escalation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(escalation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateItemDefinition_ItemDefinitionstructureRef(escalation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateEscalation_EscalationstructureRef(escalation, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the EscalationstructureRef constraint of '<em>Escalation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEscalation_EscalationstructureRef(Escalation escalation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return escalation.EscalationstructureRef(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTimerEventDefinition(TimerEventDefinition timerEventDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(timerEventDefinition, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSignalEventDefinition(SignalEventDefinition signalEventDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(signalEventDefinition, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNSignal(BPMNSignal bpmnSignal, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(bpmnSignal, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(bpmnSignal, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(bpmnSignal, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(bpmnSignal, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(bpmnSignal, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(bpmnSignal, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(bpmnSignal, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(bpmnSignal, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(bpmnSignal, diagnostics, context);
+ if (result || diagnostics != null) result &= validateItemDefinition_ItemDefinitionstructureRef(bpmnSignal, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNSignal_BPMNSignalstructureRef(bpmnSignal, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the BPMNSignalstructureRef constraint of '<em>BPMN Signal</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBPMNSignal_BPMNSignalstructureRef(BPMNSignal bpmnSignal, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return bpmnSignal.BPMNSignalstructureRef(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEndEvent(EndEvent endEvent, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(endEvent, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(endEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(endEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(endEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(endEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(endEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(endEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(endEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(endEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validateThrowEvent_ThrowEventeventDefinitionRefs(endEvent, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateThrowEvent(ThrowEvent throwEvent, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(throwEvent, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(throwEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(throwEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(throwEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(throwEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(throwEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(throwEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(throwEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(throwEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validateThrowEvent_ThrowEventeventDefinitionRefs(throwEvent, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the ThrowEventeventDefinitionRefs constraint of '<em>Throw Event</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateThrowEvent_ThrowEventeventDefinitionRefs(ThrowEvent throwEvent, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return throwEvent.ThrowEventeventDefinitionRefs(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMessageEventDefinition(MessageEventDefinition messageEventDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(messageEventDefinition, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateStartEvent(StartEvent startEvent, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(startEvent, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(startEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(startEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(startEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(startEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(startEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(startEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(startEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(startEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validateCatchEvent_catchEventeventDefinitionsRefs(startEvent, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateConditionalEventDefinition(ConditionalEventDefinition conditionalEventDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(conditionalEventDefinition, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(conditionalEventDefinition, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(conditionalEventDefinition, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(conditionalEventDefinition, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(conditionalEventDefinition, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(conditionalEventDefinition, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(conditionalEventDefinition, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(conditionalEventDefinition, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(conditionalEventDefinition, diagnostics, context);
+ if (result || diagnostics != null) result &= validateConditionalEventDefinition_conditionalEventDefinitioncondition(conditionalEventDefinition, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the conditionalEventDefinitioncondition constraint of '<em>Conditional Event Definition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateConditionalEventDefinition_conditionalEventDefinitioncondition(ConditionalEventDefinition conditionalEventDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return conditionalEventDefinition.conditionalEventDefinitioncondition(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateLinkEventDefinition(LinkEventDefinition linkEventDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(linkEventDefinition, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateErrorEventDefinition(ErrorEventDefinition errorEventDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(errorEventDefinition, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateIntermediateCatchEvent(IntermediateCatchEvent intermediateCatchEvent, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(intermediateCatchEvent, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(intermediateCatchEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(intermediateCatchEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(intermediateCatchEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(intermediateCatchEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(intermediateCatchEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(intermediateCatchEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(intermediateCatchEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(intermediateCatchEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validateCatchEvent_catchEventeventDefinitionsRefs(intermediateCatchEvent, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateIntermediateThrowEvent(IntermediateThrowEvent intermediateThrowEvent, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(intermediateThrowEvent, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(intermediateThrowEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(intermediateThrowEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(intermediateThrowEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(intermediateThrowEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(intermediateThrowEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(intermediateThrowEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(intermediateThrowEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(intermediateThrowEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validateThrowEvent_ThrowEventeventDefinitionRefs(intermediateThrowEvent, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTerminateEventDefinition(TerminateEventDefinition terminateEventDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(terminateEventDefinition, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateImplicitThrowEvent(ImplicitThrowEvent implicitThrowEvent, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(implicitThrowEvent, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(implicitThrowEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(implicitThrowEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(implicitThrowEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(implicitThrowEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(implicitThrowEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(implicitThrowEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(implicitThrowEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(implicitThrowEvent, diagnostics, context);
+ if (result || diagnostics != null) result &= validateThrowEvent_ThrowEventeventDefinitionRefs(implicitThrowEvent, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCancelEventDefinition(CancelEventDefinition cancelEventDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(cancelEventDefinition, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTextAnnotation(TextAnnotation textAnnotation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(textAnnotation, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCategory(Category category, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(category, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateGroup(Group group, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(group, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDataObjectReference(DataObjectReference dataObjectReference, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(dataObjectReference, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(dataObjectReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(dataObjectReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(dataObjectReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(dataObjectReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(dataObjectReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(dataObjectReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(dataObjectReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(dataObjectReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validateItemAwareElement_ItemAwareElementdataState(dataObjectReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validateDataObjectReference_DataObjectRefsourcetarget(dataObjectReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validateDataObjectReference_DataObjectRefdataState(dataObjectReference, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the DataObjectRefsourcetarget constraint of '<em>Data Object Reference</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDataObjectReference_DataObjectRefsourcetarget(DataObjectReference dataObjectReference, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return dataObjectReference.DataObjectRefsourcetarget(diagnostics, context);
+ }
+
+ /**
+ * Validates the DataObjectRefdataState constraint of '<em>Data Object Reference</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDataObjectReference_DataObjectRefdataState(DataObjectReference dataObjectReference, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return dataObjectReference.DataObjectRefdataState(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDataObject(DataObject dataObject, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(dataObject, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(dataObject, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(dataObject, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(dataObject, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(dataObject, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(dataObject, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(dataObject, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(dataObject, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(dataObject, diagnostics, context);
+ if (result || diagnostics != null) result &= validateItemAwareElement_ItemAwareElementdataState(dataObject, diagnostics, context);
+ if (result || diagnostics != null) result &= validateDataObject_DataObjectdataState(dataObject, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the DataObjectdataState constraint of '<em>Data Object</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDataObject_DataObjectdataState(DataObject dataObject, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return dataObject.DataObjectdataState(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDataStore(DataStore dataStore, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(dataStore, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDataStoreReference(DataStoreReference dataStoreReference, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(dataStoreReference, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(dataStoreReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(dataStoreReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(dataStoreReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(dataStoreReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(dataStoreReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(dataStoreReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(dataStoreReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(dataStoreReference, diagnostics, context);
+ if (result || diagnostics != null) result &= validateItemAwareElement_ItemAwareElementdataState(dataStoreReference, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateUserTask(UserTask userTask, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(userTask, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(userTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(userTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(userTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(userTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(userTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(userTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(userTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(userTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityresources(userTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivitycontainer(userTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityproperties(userTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivitydefault(userTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityboundaryEventsRefs(userTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityloopCharacteristics(userTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateUserTask_UserTaskimplementation(userTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateUserTask_UserTaskrenderings(userTask, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the UserTaskimplementation constraint of '<em>User Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateUserTask_UserTaskimplementation(UserTask userTask, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return userTask.UserTaskimplementation(diagnostics, context);
+ }
+
+ /**
+ * Validates the UserTaskrenderings constraint of '<em>User Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateUserTask_UserTaskrenderings(UserTask userTask, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return userTask.UserTaskrenderings(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTask(Task task, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(task, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(task, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(task, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(task, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(task, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(task, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(task, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(task, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(task, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityresources(task, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivitycontainer(task, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityproperties(task, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivitydefault(task, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityboundaryEventsRefs(task, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityloopCharacteristics(task, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateRendering(Rendering rendering, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(rendering, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateHumanPerformer(HumanPerformer humanPerformer, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(humanPerformer, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(humanPerformer, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(humanPerformer, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(humanPerformer, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(humanPerformer, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(humanPerformer, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(humanPerformer, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(humanPerformer, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(humanPerformer, diagnostics, context);
+ if (result || diagnostics != null) result &= validateResourceRole_ResourceRoleowner(humanPerformer, diagnostics, context);
+ if (result || diagnostics != null) result &= validateResourceRole_ResourceRoleresourceRef(humanPerformer, diagnostics, context);
+ if (result || diagnostics != null) result &= validateResourceRole_ResourceRoleisRequired(humanPerformer, diagnostics, context);
+ if (result || diagnostics != null) result &= validateResourceRole_ResourceRoleprocess(humanPerformer, diagnostics, context);
+ if (result || diagnostics != null) result &= validateResourceRole_ResourceRoleresourceParameterBindings(humanPerformer, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePerformer(Performer performer, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(performer, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(performer, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(performer, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(performer, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(performer, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(performer, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(performer, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(performer, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(performer, diagnostics, context);
+ if (result || diagnostics != null) result &= validateResourceRole_ResourceRoleowner(performer, diagnostics, context);
+ if (result || diagnostics != null) result &= validateResourceRole_ResourceRoleresourceRef(performer, diagnostics, context);
+ if (result || diagnostics != null) result &= validateResourceRole_ResourceRoleisRequired(performer, diagnostics, context);
+ if (result || diagnostics != null) result &= validateResourceRole_ResourceRoleprocess(performer, diagnostics, context);
+ if (result || diagnostics != null) result &= validateResourceRole_ResourceRoleresourceParameterBindings(performer, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateGlobalUserTask(GlobalUserTask globalUserTask, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(globalUserTask, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(globalUserTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(globalUserTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(globalUserTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(globalUserTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(globalUserTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(globalUserTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(globalUserTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(globalUserTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateCallableElement_CallableEelementsupportedInterfaceRefs(globalUserTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateCallableElement_CallableElementresources(globalUserTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateGlobalTask_GlobalTasksupportedInterfaceRefs(globalUserTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateGlobalUserTask_GlobalUserTaskrenderings(globalUserTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateGlobalUserTask_GlobalUserTaskimplementation(globalUserTask, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the GlobalUserTaskrenderings constraint of '<em>Global User Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateGlobalUserTask_GlobalUserTaskrenderings(GlobalUserTask globalUserTask, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return globalUserTask.GlobalUserTaskrenderings(diagnostics, context);
+ }
+
+ /**
+ * Validates the GlobalUserTaskimplementation constraint of '<em>Global User Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateGlobalUserTask_GlobalUserTaskimplementation(GlobalUserTask globalUserTask, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return globalUserTask.GlobalUserTaskimplementation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateGlobalManualTask(GlobalManualTask globalManualTask, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(globalManualTask, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(globalManualTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(globalManualTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(globalManualTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(globalManualTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(globalManualTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(globalManualTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(globalManualTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(globalManualTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateCallableElement_CallableEelementsupportedInterfaceRefs(globalManualTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateCallableElement_CallableElementresources(globalManualTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateGlobalTask_GlobalTasksupportedInterfaceRefs(globalManualTask, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateManualTask(ManualTask manualTask, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(manualTask, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(manualTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(manualTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(manualTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(manualTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(manualTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(manualTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(manualTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(manualTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityresources(manualTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivitycontainer(manualTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityproperties(manualTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivitydefault(manualTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityboundaryEventsRefs(manualTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityloopCharacteristics(manualTask, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePotentialOwner(PotentialOwner potentialOwner, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(potentialOwner, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(potentialOwner, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(potentialOwner, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(potentialOwner, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(potentialOwner, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(potentialOwner, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(potentialOwner, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(potentialOwner, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(potentialOwner, diagnostics, context);
+ if (result || diagnostics != null) result &= validateResourceRole_ResourceRoleowner(potentialOwner, diagnostics, context);
+ if (result || diagnostics != null) result &= validateResourceRole_ResourceRoleresourceRef(potentialOwner, diagnostics, context);
+ if (result || diagnostics != null) result &= validateResourceRole_ResourceRoleisRequired(potentialOwner, diagnostics, context);
+ if (result || diagnostics != null) result &= validateResourceRole_ResourceRoleprocess(potentialOwner, diagnostics, context);
+ if (result || diagnostics != null) result &= validateResourceRole_ResourceRoleresourceParameterBindings(potentialOwner, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSubConversation(SubConversation subConversation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(subConversation, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(subConversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(subConversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(subConversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(subConversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(subConversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(subConversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(subConversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(subConversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateConversationNode_ConversationNodeparticipantRefs(subConversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateSubConversation_SubConversationconnectedelements(subConversation, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the SubConversationconnectedelements constraint of '<em>Sub Conversation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSubConversation_SubConversationconnectedelements(SubConversation subConversation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return subConversation.SubConversationconnectedelements(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateGlobalConversation(GlobalConversation globalConversation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(globalConversation, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(globalConversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(globalConversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(globalConversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(globalConversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(globalConversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(globalConversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(globalConversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(globalConversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNCollaboration_Collaborationparticipants(globalConversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateGlobalConversation_GlobalConversationcontainedelements(globalConversation, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the GlobalConversationcontainedelements constraint of '<em>Global Conversation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateGlobalConversation_GlobalConversationcontainedelements(GlobalConversation globalConversation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return globalConversation.GlobalConversationcontainedelements(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCallConversation(CallConversation callConversation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(callConversation, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(callConversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(callConversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(callConversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(callConversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(callConversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(callConversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(callConversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(callConversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateConversationNode_ConversationNodeparticipantRefs(callConversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateCallConversation_CallConversationcalledCollaborationRef(callConversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateCallConversation_CallConversationparticipantAssociations(callConversation, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the CallConversationcalledCollaborationRef constraint of '<em>Call Conversation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCallConversation_CallConversationcalledCollaborationRef(CallConversation callConversation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return callConversation.CallConversationcalledCollaborationRef(diagnostics, context);
+ }
+
+ /**
+ * Validates the CallConversationparticipantAssociations constraint of '<em>Call Conversation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCallConversation_CallConversationparticipantAssociations(CallConversation callConversation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return callConversation.CallConversationparticipantAssociations(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateConversation(Conversation conversation, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(conversation, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(conversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(conversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(conversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(conversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(conversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(conversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(conversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(conversation, diagnostics, context);
+ if (result || diagnostics != null) result &= validateConversationNode_ConversationNodeparticipantRefs(conversation, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSubProcess(SubProcess subProcess, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(subProcess, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(subProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(subProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(subProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(subProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(subProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(subProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(subProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(subProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityresources(subProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivitycontainer(subProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityproperties(subProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivitydefault(subProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityboundaryEventsRefs(subProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityloopCharacteristics(subProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validateSubProcess_SubProcesstriggeredByEvent(subProcess, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the SubProcesstriggeredByEvent constraint of '<em>Sub Process</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSubProcess_SubProcesstriggeredByEvent(SubProcess subProcess, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return subProcess.SubProcesstriggeredByEvent(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCallActivity(CallActivity callActivity, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(callActivity, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(callActivity, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(callActivity, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(callActivity, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(callActivity, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(callActivity, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(callActivity, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(callActivity, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(callActivity, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityresources(callActivity, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivitycontainer(callActivity, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityproperties(callActivity, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivitydefault(callActivity, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityboundaryEventsRefs(callActivity, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityloopCharacteristics(callActivity, diagnostics, context);
+ if (result || diagnostics != null) result &= validateCallActivity_CallActivitycalledElementRefvalues(callActivity, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the CallActivitycalledElementRefvalues constraint of '<em>Call Activity</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateCallActivity_CallActivitycalledElementRefvalues(CallActivity callActivity, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return callActivity.CallActivitycalledElementRefvalues(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBusinessRuleTask(BusinessRuleTask businessRuleTask, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(businessRuleTask, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(businessRuleTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(businessRuleTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(businessRuleTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(businessRuleTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(businessRuleTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(businessRuleTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(businessRuleTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(businessRuleTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityresources(businessRuleTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivitycontainer(businessRuleTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityproperties(businessRuleTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivitydefault(businessRuleTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityboundaryEventsRefs(businessRuleTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityloopCharacteristics(businessRuleTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBusinessRuleTask_BusinessRuleTaskimplementation(businessRuleTask, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the BusinessRuleTaskimplementation constraint of '<em>Business Rule Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateBusinessRuleTask_BusinessRuleTaskimplementation(BusinessRuleTask businessRuleTask, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return businessRuleTask.BusinessRuleTaskimplementation(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateComplexBehaviorDefinition(ComplexBehaviorDefinition complexBehaviorDefinition, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(complexBehaviorDefinition, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateAdHocSubProcess(AdHocSubProcess adHocSubProcess, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(adHocSubProcess, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(adHocSubProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(adHocSubProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(adHocSubProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(adHocSubProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(adHocSubProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(adHocSubProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(adHocSubProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(adHocSubProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityresources(adHocSubProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivitycontainer(adHocSubProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityproperties(adHocSubProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivitydefault(adHocSubProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityboundaryEventsRefs(adHocSubProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityloopCharacteristics(adHocSubProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validateSubProcess_SubProcesstriggeredByEvent(adHocSubProcess, diagnostics, context);
+ if (result || diagnostics != null) result &= validateAdHocSubProcess_AdHocSubProcesscancelRemainingInstances(adHocSubProcess, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the AdHocSubProcesscancelRemainingInstances constraint of '<em>Ad Hoc Sub Process</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateAdHocSubProcess_AdHocSubProcesscancelRemainingInstances(AdHocSubProcess adHocSubProcess, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return adHocSubProcess.AdHocSubProcesscancelRemainingInstances(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateScriptTask(ScriptTask scriptTask, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(scriptTask, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(scriptTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(scriptTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(scriptTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(scriptTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(scriptTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(scriptTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(scriptTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(scriptTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityresources(scriptTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivitycontainer(scriptTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityproperties(scriptTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivitydefault(scriptTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityboundaryEventsRefs(scriptTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityloopCharacteristics(scriptTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateScriptTask_ScriptTaskscriptFormat(scriptTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateScriptTask_ScriptTaskscript(scriptTask, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the ScriptTaskscriptFormat constraint of '<em>Script Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateScriptTask_ScriptTaskscriptFormat(ScriptTask scriptTask, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return scriptTask.ScriptTaskscriptFormat(diagnostics, context);
+ }
+
+ /**
+ * Validates the ScriptTaskscript constraint of '<em>Script Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateScriptTask_ScriptTaskscript(ScriptTask scriptTask, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return scriptTask.ScriptTaskscript(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSendTask(SendTask sendTask, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(sendTask, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(sendTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(sendTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(sendTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(sendTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(sendTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(sendTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(sendTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(sendTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityresources(sendTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivitycontainer(sendTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityproperties(sendTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivitydefault(sendTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityboundaryEventsRefs(sendTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityloopCharacteristics(sendTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateSendTask_SendTaskoperationRef(sendTask, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the SendTaskoperationRef constraint of '<em>Send Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateSendTask_SendTaskoperationRef(SendTask sendTask, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return sendTask.SendTaskoperationRef(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTransaction(Transaction transaction, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(transaction, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(transaction, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(transaction, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(transaction, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(transaction, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(transaction, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(transaction, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(transaction, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(transaction, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityresources(transaction, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivitycontainer(transaction, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityproperties(transaction, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivitydefault(transaction, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityboundaryEventsRefs(transaction, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityloopCharacteristics(transaction, diagnostics, context);
+ if (result || diagnostics != null) result &= validateSubProcess_SubProcesstriggeredByEvent(transaction, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateStandardLoopCharacteristics(StandardLoopCharacteristics standardLoopCharacteristics, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(standardLoopCharacteristics, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(standardLoopCharacteristics, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(standardLoopCharacteristics, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(standardLoopCharacteristics, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(standardLoopCharacteristics, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(standardLoopCharacteristics, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(standardLoopCharacteristics, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(standardLoopCharacteristics, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(standardLoopCharacteristics, diagnostics, context);
+ if (result || diagnostics != null) result &= validateStandardLoopCharacteristics_StandardLoopCharacteristicstestBefore(standardLoopCharacteristics, diagnostics, context);
+ if (result || diagnostics != null) result &= validateStandardLoopCharacteristics_StandardLoopCharacteristicsloopCondition(standardLoopCharacteristics, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the StandardLoopCharacteristicstestBefore constraint of '<em>Standard Loop Characteristics</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateStandardLoopCharacteristics_StandardLoopCharacteristicstestBefore(StandardLoopCharacteristics standardLoopCharacteristics, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return standardLoopCharacteristics.StandardLoopCharacteristicstestBefore(diagnostics, context);
+ }
+
+ /**
+ * Validates the StandardLoopCharacteristicsloopCondition constraint of '<em>Standard Loop Characteristics</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateStandardLoopCharacteristics_StandardLoopCharacteristicsloopCondition(StandardLoopCharacteristics standardLoopCharacteristics, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return standardLoopCharacteristics.StandardLoopCharacteristicsloopCondition(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateReceiveTask(ReceiveTask receiveTask, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(receiveTask, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(receiveTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(receiveTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(receiveTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(receiveTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(receiveTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(receiveTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(receiveTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(receiveTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityresources(receiveTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivitycontainer(receiveTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityproperties(receiveTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivitydefault(receiveTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityboundaryEventsRefs(receiveTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityloopCharacteristics(receiveTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateReceiveTask_ReceiveTaskoperationRef(receiveTask, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the ReceiveTaskoperationRef constraint of '<em>Receive Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateReceiveTask_ReceiveTaskoperationRef(ReceiveTask receiveTask, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return receiveTask.ReceiveTaskoperationRef(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateServiceTask(ServiceTask serviceTask, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(serviceTask, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(serviceTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(serviceTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(serviceTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(serviceTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(serviceTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(serviceTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(serviceTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(serviceTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityresources(serviceTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivitycontainer(serviceTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityproperties(serviceTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivitydefault(serviceTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityboundaryEventsRefs(serviceTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateBPMNActivity_BPMNActivityloopCharacteristics(serviceTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateServiceTask_ServiceTaskinputSet(serviceTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateServiceTask_ServiceTaskoutputSet(serviceTask, diagnostics, context);
+ if (result || diagnostics != null) result &= validateServiceTask_ServiceTaskoperationRef(serviceTask, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the ServiceTaskinputSet constraint of '<em>Service Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateServiceTask_ServiceTaskinputSet(ServiceTask serviceTask, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return serviceTask.ServiceTaskinputSet(diagnostics, context);
+ }
+
+ /**
+ * Validates the ServiceTaskoutputSet constraint of '<em>Service Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateServiceTask_ServiceTaskoutputSet(ServiceTask serviceTask, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return serviceTask.ServiceTaskoutputSet(diagnostics, context);
+ }
+
+ /**
+ * Validates the ServiceTaskoperationRef constraint of '<em>Service Task</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateServiceTask_ServiceTaskoperationRef(ServiceTask serviceTask, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return serviceTask.ServiceTaskoperationRef(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiInstanceLoopCharacteristics(MultiInstanceLoopCharacteristics multiInstanceLoopCharacteristics, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ if (!validate_NoCircularContainment(multiInstanceLoopCharacteristics, diagnostics, context)) return false;
+ boolean result = validate_EveryMultiplicityConforms(multiInstanceLoopCharacteristics, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryDataValueConforms(multiInstanceLoopCharacteristics, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryReferenceIsContained(multiInstanceLoopCharacteristics, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryBidirectionalReferenceIsPaired(multiInstanceLoopCharacteristics, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryProxyResolves(multiInstanceLoopCharacteristics, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_UniqueID(multiInstanceLoopCharacteristics, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryKeyUnique(multiInstanceLoopCharacteristics, diagnostics, context);
+ if (result || diagnostics != null) result &= validate_EveryMapEntryUnique(multiInstanceLoopCharacteristics, diagnostics, context);
+ if (result || diagnostics != null) result &= validateMultiInstanceLoopCharacteristics_MultiinstanceLoopCharacteristicstarget(multiInstanceLoopCharacteristics, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the MultiinstanceLoopCharacteristicstarget constraint of '<em>Multi Instance Loop Characteristics</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiInstanceLoopCharacteristics_MultiinstanceLoopCharacteristicstarget(MultiInstanceLoopCharacteristics multiInstanceLoopCharacteristics, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return multiInstanceLoopCharacteristics.MultiinstanceLoopCharacteristicstarget(diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateAssociationDirection(AssociationDirection associationDirection, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateEventBasedGatewayType(EventBasedGatewayType eventBasedGatewayType, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateGatewayDirection(GatewayDirection gatewayDirection, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateRelationshipDirection(RelationshipDirection relationshipDirection, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateItemKind(ItemKind itemKind, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateProcessType(ProcessType processType, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateAdHocOrdering(AdHocOrdering adHocOrdering, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return true;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateMultiInstanceBehavior(MultiInstanceBehavior multiInstanceBehavior, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return true;
+ }
+
+ /**
+ * Returns the resource locator that will be used to fetch messages for this validator's diagnostics.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ // TODO
+ // Specialize this to return a resource locator for messages specific to this validator.
+ // Ensure that you remove @generated or mark it @generated NOT
+ return super.getResourceLocator();
+ }
+
+} //BPMNProfileValidator

Back to the top