Process Variables and Types

Process variables and objects are not yet serialized in the BPMN files of PROCEED. There is no itemDefinition, dataObject or ioSpecification considered during execution of the process.

Behavior of Process Data

Process objects are currently created within user or script tasks. The user guide describes how to do it. Created process objects are stored within a named variable. The value of the variable is a JSON data type, which is either a string, number, boolean, null/empty, object, or array.

A process object is accessible within the process level and all of its sub-processes or tasks. If two activities write in parallel to the same variable, the latest executions wins and overrides the value. This is a little bit different with a running call activity, because it is started as a completely separated process. Therefore, the current process variables are copied into the call activity execution at its start. After its execution, all changed or new variables from the call activity process are copied into the parent process. So, this maybe overrides a process variable at the end of the execution.

Moreover, within PROCEED it can happen that parts of the process are executed on another Machine. When two parts are merged on one Machine, newer variables changes override older values.