Data Associations are used to move data between Data Objects, Properties, and inputs and outputs of Activities, Processes, and GlobalTasks.

Tokens do not flow along a Data Association, and as a result they have no direct effect on the flow of the Process. The purpose of retrieving data from Data Objects or Process Data Inputs is to fill the Activities inputs and later push the output values from the execution of the Activity back into Data Objects or Process Data Outputs.

The DataAssociation class is a BaseElement contained by an Activity or Event, used to model how data is pushed into or pulled from item-aware elements.

DataAssociation elements may have one or more sources and a target; the source of the association is copied into the target.

: BpmnDataAssociation (architecture_autodiagram)
Figure 54 : BpmnDataAssociation (architecture_autodiagram)
string Assignment [1..1]
Specifies one or more data elements Assignments. By using an Assignment, single data structure elements can be assigned from the source structure to the target structure.
string Transfomation [1..1]
Specifies an optional transformation Expression. The actual scope of visible data for that Expression is defined by the source and target of the specific data association types.
string Language [1..1]
Language used for the assignment expression.
SourceRef : BpmnItemAwareElement [0..*]
TargetRef : BpmnItemAwareElement [0..1]
EndingActivity : BpmnActivity [0..1]
StartingActivity : BpmnActivity [0..1]
StartingEvent : BpmnThrowEvent [0..1]
VisualShortCut : BpmnSequenceFlowDataAssociation [0..*]
EndingEvent : BpmnCatchEvent [0..1]