BPMN/HOPEX Object Correspondence
The BPMN import feature translates a BPMN-compliant output file into a BPMN element specification in HOPEX. It is based on a set of mappings between BPMN version 2.0 and the HOPEX BPMN Process metamodel (including diagrams).
Conventions
BPMN concepts relate to the following OMG Specification document: “Business Process Model and Notation (BPMN), formal/2011-01-03”.
BPMN elements are delimited by <..>.
BPMN attributes are prefixed by ::.
HOPEX concept names start with uppercase. Example: Task.
Object Correspondences
The following table indicates concepts managed by the import tool:
The mapping of BPMN Processes and Tasks depends on the type of process selected in BPMN import wizard (Value Stream, Process or System Process).
Nb: Process Categories are not proposed as a target.
|
BPMN Concepts
|
HOPEX Concepts
|
||
|---|---|---|---|
<process> |
Process |
||
|
|
name
|
|
Short Name |
|
|
id
|
|
_Hexaidabs |
|
|
<documentation>
|
|
Comment |
|
<task>
|
Owned Operation |
||
|
<dataStore> and <dataStoreReference>
|
Owned Data Store |
||
|
|
Owned Element |
||
|
|
<gateway>
|
|
Gateway |
|
|
< event>
|
|
Event |
|
|
< sequenceFlow>
|
|
Sequence Flow |
|
|
< dataObject> and <dataObjectReference>
|
|
Data Object |
|
|
< messageFlow>
|
|
Message Flow |
|
|
< participant> or <lane>
|
|
Participant |
|
< laneSet> and <lane>
|
Internal Participant |
||
|
<callActivity> or <subProcess>
|
Owned Process |
||
|
<dataStoreReference> and <dataStoreRef>
|
Owned Update Association |
||
|
<dataStoreReference> and <dataStoreRef>
|
Owned Read Association |
||
|
< textAnnotation> and <text>
|
Note |
||
|
<BPMNDiagram>
|
Description |
||
<task> (See Table 1) |
Operation |
||
|
|
name
|
|
Short Name |
|
|
id
|
|
_Hexaidabs |
|
|
<documentation>
|
|
Comment |
|
|
isForCompensation
|
|
Compensation |
|
|
<standardLoopCharacteristics>
|
|
Loop |
|
|
< loopCondition>
|
|
Loop Condition |
|
|
< multiInstanceLoopCharacteristics >
|
|
Multiple |
|
calledElement
|
Called Process |
||
|
<dataInput> and <dataInputAssociation>
|
Data Object Used or BPMN Data Store Read Association |
||
|
< dataOutput> and <dataOutAssociation>
|
Data Object Used or BPMN Data Store Read Association |
||
|
< textAnnotation> and <text>
< textAnnotation> and <text>
|
Note |
||
<gateway> (See Table 2) |
Gateway |
||
|
|
name
|
|
Short Name |
|
|
id
|
|
_Hexaidabs |
|
|
<documentation>
|
|
Comment |
|
< textAnnotation> and <text>
< textAnnotation> and <text>
|
Note |
||
<event> (See Table 3) |
Event |
||
|
|
name
|
|
Short Name |
|
|
id
|
|
_Hexaidabs |
|
|
<documentation>
|
|
Comment |
|
|
isInterrupting or cancelActivity
|
|
Interrupting |
|
attachedToRef
|
Bounded Activity |
||
|
< textAnnotation> and <text>
< textAnnotation> and <text>
|
Note |
||
<SequenceFlow> |
Sequence Flow |
||
|
|
id
|
|
_Hexaidabs |
|
|
<documentation>
|
|
Comment |
|
|
<conditionExpression>
|
|
Predicate |
|
sourceRef
|
Predecessor |
||
|
targetRef
|
Successor |
||
<dataObject> and <dataObjectReference> |
Data Object |
||
|
|
name
|
|
Short Name |
|
|
id
|
|
_Hexaidabs |
|
|
isCollection
|
|
Collection |
|
|
<dataObjectReference> and <documentation>
|
|
Comment |
|
|
< dataObjectReference::name>
|
|
Data Object Status |
<dataStore> and <dataStoreReference> |
Data Store |
||
|
|
name
|
|
Short Name |
|
|
id
|
|
_Hexaidabs |
|
|
Link Input and Output to DataStore
|
|
Access into the Data Store or out of the data store
|
<messageFlow> |
Message Flow |
||
|
|
id
|
|
_Hexaidabs |
|
|
< documentation>
|
|
Comment |
|
sourceRef
|
Source Element |
||
|
targetRef
|
Target Element |
||
<lane> |
Internal Participant |
||
|
|
name
|
|
Assignment |
|
|
id
|
|
BPMN Element |
|
name
|
Assignment |
||
|
<flowNodeRef>
|
BPMN Element |
||
<participant> |
External Participant |
||
|
|
name
|
|
Short Name |
|
|
id
|
|
_Hexaidabs |
|
name
|
Assignment |
||
|
<textAnnotation> and <text>
|
Note |
||
<textAnnotation> and <association> |
Note |
||
|
|
id
|
|
_Hexaidabs |
|
|
< documentation>
|
|
Comment |
|
BPMN Concepts
|
HOPEX Concepts
|
||
|---|---|---|---|
<process> |
System Process |
||
|
|
name
|
|
Short Name |
|
|
id
|
|
_Hexaidabs |
|
|
<documentation>
|
|
Comment |
|
<task>
|
Owned Task |
||
|
<dataStore> and <dataStoreReference>
|
Owned Data Store |
||
|
|
Owned Element |
||
|
|
<gateway>
|
|
Gateway |
|
|
< event>
|
|
Event |
|
|
< sequenceFlow>
|
|
Sequence Flow |
|
|
< dataObject> and <dataObjectReference>
|
|
Data Object |
|
|
< messageFlow>
|
|
Message Flow |
|
|
< participant> or <lane>
|
|
Participant |
|
< laneSet> and <lane>
|
Internal Participant |
||
|
<callActivity> or <subProcess>
|
Owned System Process |
||
|
<dataStoreReference> and <dataStoreRef>
|
Owned Update Association |
||
|
<dataStoreReference> and <dataStoreRef>
|
Owned Read Association |
||
|
< textAnnotation> and <text>
|
Note |
||
|
<BPMNDiagram>
|
Description |
||
|
<task> (See Table 1)
|
Task |
||
|
|
name
|
|
Short Name |
|
|
id
|
|
_Hexaidabs |
|
|
<documentation>
|
|
Comment |
|
|
isForCompensation
|
|
Compensation |
|
|
<standardLoopCharacteristics>
|
|
Loop |
|
|
< loopCondition>
|
|
Loop Condition |
|
|
< multiInstanceLoopCharacteristics >
|
|
Multiple |
|
calledElement
|
Called Process |
||
|
<dataInput> and <dataInputAssociation>
|
Data Object Used or BPMN Data Store Read Association |
||
|
< dataOutput> and <dataOutAssociation>
|
Data Object Used or BPMN Data Store Read Association |
||
|
< textAnnotation> and <text>
< textAnnotation> and <text>
|
Note |
||
<process> |
Value Stream |
||
|
|
name
|
|
Short Name |
|
|
id
|
|
_Hexaidabs |
|
|
<documentation>
|
|
Comment |
|
<task>
|
Owned Value Stage |
||
|
<dataStore> and <dataStoreReference>
|
Owned Data Store |
||
|
|
Owned Element |
||
|
|
<gateway>
|
|
Gateway |
|
|
< event>
|
|
Event |
|
|
< sequenceFlow>
|
|
Sequence Flow |
|
|
< dataObject> and <dataObjectReference>
|
|
Data Object |
|
|
< messageFlow>
|
|
Message Flow |
|
|
< participant> or <lane>
|
|
Participant |
|
< laneSet> and <lane>
|
Internal Participant |
||
|
<callActivity> or <subProcess>
|
Owned Value Stream |
||
|
<dataStoreReference> and <dataStoreRef>
|
Owned Update Association |
||
|
<dataStoreReference> and <dataStoreRef>
|
Owned Read Association |
||
|
< textAnnotation> and <text>
|
Note |
||
|
<BPMNDiagram>
|
Description |
||
|
<task> (See Table 1)
|
Value Stage |
||
|
|
name
|
|
Short Name |
|
|
id
|
|
_Hexaidabs |
|
|
<documentation>
|
|
Comment |
|
|
isForCompensation
|
|
Compensation |
|
|
<standardLoopCharacteristics>
|
|
Loop |
|
|
< loopCondition>
|
|
Loop Condition |
|
|
< multiInstanceLoopCharacteristics >
|
|
Multiple |
|
calledElement
|
Called Value Stream |
||
|
<dataInput> and <dataInputAssociation>
|
Data Object Used or BPMN Data Store Read Association |
||
|
< dataOutput> and <dataOutAssociation>
|
Data Object Used or BPMN Data Store Read Association |
||
|
< textAnnotation> and <text>
< textAnnotation> and <text>
|
Note |
||
Table 1:
|
BPMN
|
Task Type
|
||
|---|---|---|---|
<task> |
Task Type |
||
|
|
< userTask>
|
|
User |
|
|
< serviceTask>
|
|
IT-Service Call |
|
|
< callActivity>
|
|
System Process Call |
|
|
< scriptTask >
|
|
Script |
|
|
< receiveTask>
|
|
Send |
|
|
< manualTask>
|
|
Receive |
|
|
< businessRuleTask>
|
|
Manual |
Table 2:
|
BPMN
|
Gateway Type
|
||
|---|---|---|---|
Gateway Type |
Gateway Type |
||
|
|
<inclusiveGateway>
|
|
Inclusive |
|
|
<complexGateway>
|
|
Complex |
|
|
<parallelGateway>
|
|
Parallel |
|
|
<exclusiveGateway>
|
|
Exclusive (Data) |
|
|
<eventBasedGateway> and ::eventGatewayType=Exclusive and ::instantiate=false
|
|
Exclusive (Event) |
|
|
<eventBasedGateway> and ::eventGatewayType=Exclusive and ::instantiate=true
|
|
Exclusive (Instantiate) |
|
|
<eventBasedGateway> and ::eventGatewayType= Parallel and ::instantiate=true
|
|
Parallel (Instantiate) |
Table 3:
|
|
|
Event Nature
|
Bounded Activity
|
|||
|---|---|---|---|---|---|---|
|
|
|
Start |
End |
Throw |
Catch |
|
|
|
|
<startEvent>
|
<endEvent>
|
<intermediateThrowEvent>
|
<intermediateCatchEvent>
|
<boundaryEvent>
|
|
Event Type
|
Generic |
|
|
|
|
|
Message |
<messageEventDefinition>
|
<messageEventDefinition>
|
<messageEventDefinition>
|
<messageEventDefinition>
|
<messageEventDefinition>
|
|
Timer |
<timerEventDefinition>
|
*
|
*
|
<timerEventDefinition>
|
<timerEventDefinition>
|
|
Error |
<errorEventDefinition>
|
<errorEventDefinition>
|
*
|
*
|
<errorEventDefinition>
|
|
Cancel |
*
|
<cancelEventDefinition>
|
*
|
*
|
<cancelEventDefinition>
|
|
Compensation |
<compensateEventDefinition>
|
<compensateEventDefinition> and ::waitForCompletion=true
|
<compensateEventDefinition> and ::waitForCompletion=true
|
*
|
<compensateEventDefinition> and ::waitForCompletion=true
|
|
Conditional |
<conditionalEventDefinition> and <condition>
|
*
|
*
|
<conditionalEventDefinition> and <condition>
|
<conditionalEventDefinition> and <condition>
|
|
Link |
*
|
*
|
<linkEventDefinition>
|
<linkEventDefinition>
|
*
|
|
Signal |
<signalEventDefinition>
|
<signalEventDefinition>
|
<signalEventDefinition>
|
<signalEventDefinition>
|
<signalEventDefinition>
|
|
Terminate |
*
|
<terminateEventDefinition>
|
*
|
*
|
*
|
|
Escalation |
<escalationEventDefinition>
|
<escalationEventDefinition>
|
<escalationEventDefinition>
|
*
|
<escalationEventDefinition>
|
|
Parallel Multiple |
::parallelMultiple=true
|
*
|
*
|
::parallelMultiple=true
|
::parallelMultiple=true
|
|
Multiple |
|
|
|
|
|
|
* = Combination not possible
Specific Mapping Cases
|
BPMN Concepts imported
|
Result in HOPEX
|
|
Process
|
|
|
One process per file
|
The process is described in the resulting diagram.
|
|
One process with external participants (that do not refer to processes)
|
The process is described in the resulting diagram.
|
|
Several processes per file
|
A new “container” process is created in MEGA. It is the object of the resulting diagram and it contains the different processes imported.
|
|
DataStore/DataStorereference (Datainput/Dataoutput)
|
|
|
(Reminder)
DataStore
DataStoreReference
|
Concept Domain
Process Data Store
|
|
DataStore without Reference
|
As a Concept Domain can not be represented graphically on its own in HOPEX, a Process Data Store is created without a Concept Domain.
|
|
DataStoreReference + DataStore
|
References resulting in DataStores are represented in the diagram. The Concept Domain is referenced if it already exists. Otherwise, it is not created.
|
|
Dataobject/Dataobjectreference (Datainput/Dataoutput)
|
|
|
(Reminder)
DataObject
DataObjectReference
|
Content
DataObject
|
|
DataObject without Reference
|
As a content can not be represented graphically on its own in HOPEX, a DataObject is created with a content.
|
|
DataObjectReference + DataObject in the diagram
![]() |
References resulting in DataObjects are represented in the diagram. The content is also created but not represented in the diagram.
![]() |
|
DataObjectReferences in the diagram + DataObject outside the diagram
![]() |
References resulting in DataObjects are represented in the diagram, with their status. A content is also created, not represented in the diagram.
![]() |
|
Cases of DataInput/DataOutput
|
Links between DataInput/DataOutput and Events are not handled. Indeed, in HOPEX you can not create links between DataObject and Event.
|
Comments on TextAnnotations
If the “textAnnotation” tag contains a “text” tag, and if the latter contains a chain, this chain is included in the comment of the Note object. If the chain contained in the “text” tag is empty or if the “text” tag does not exist, the chain contained in the “documentation” tag, under the “textAnnotation” tag, is taken.
















































































































































































