Thanks guys for your valuable feedback on this!
The BPMN 2.0 standard mandates that data store references (visible representation of data stores) have to be embedded inside pools / processes.
For the initial version of data store support we decided to be strictly compliant, i.e. allow nothing else.
Regarding data objects: They are different from text associations as they are not artifacts and therefor must be embedded inside a process / pool, too. This is nothing we make up but part of the BPMN 2.0 standard.
Your feedback is important for us to understand whether or not we need to allow more than the standard if users can build better models like that.
If you would like to model shared persistent data according to the BPMN 2.0 spec you’d need to do one of the following:
Copy data store / identify by name
This is the preferred behavior in strict accordance with the BPMN 2.0 spec.
Reference data store across pool boundaries
It is possible to create data associations across pool boundaries. While this has unclear semantics (data flow wise) we left this option open to reuse data store references.