Process modeling commonly requires representing items that are created, manipulated, stored, sent or received during the execution of a process.
This may be a physical item like a car, or information such as a product invoice.
BPMN offers direct support for modeling information items and the flow of information items, whereas physical items can only be represented indirectly.
BPMN elements that store or convey information items during process execution are generally referred to as “item-aware elements”. These elements include data objects, data stores, data inputs, and data outputs.
The main way of modeling data is the data object element. A Data Object is only visible within the process level in which it is defined, and the variable is disposed of when the process level instance is complete.
The transformation or transportation of a data object between flow elements is modeled with data associations. It is important to stress that data associations have no direct effect on the flow of the process.
Data object references are a way to reuse data objects in the same diagram. They can specify different states of the same data object at different points in a process.
A special type of a BPMN Data object is data object collection, which represents an array of data object elements.
The exchange of information between processes can be modeled with data inputs and data outputs. Data inputs represent the inputs to a top-level process or a called process, whereas data outputs are displayed on a top-level process diagram to show the outputs of the process. In contrast, a data store provides a mechanism for activities to retrieve or update stored information that will persist beyond the scope of the process.
A data store can be used as a source or a target for a data association. Additionally, since it represents persistent data storage, it can also be used for between-process communications.