A process consists of an organised pattern of activities and their dependencies, as well as separate processes. In other words a process is a visualisation of a set of numbers and their relation to one another in the form of e.g. curves and lines.
An activity is a process or a task in a workflow that describes something that a person must do in order for the activity to be fulfilled.
Activities can be linked together by connections to create dependencies. An activity can represent:
- The invocation of an operation.
- A step in a business process.
- An entire business process.
Activities can be decomposed into sub activities if necessary and does not have to be atomic.
The connections available in DCR Processes are:
||A condition between two activities ensures that the second activity cannot be executed unless the first is excluded or has been executed at least once.|
||A response, or goal, ensures that once the first activity has been executed the other activity becomes a goal, that must eventually be executed or excluded|
||The include relation includes other activities upon execution|
||The exclude relation excludes other activities upon execution|
||The milestone relations blocks the second activity if the first is currently a goal (response) and included|
||The spawn relation spawns a new sub-process|
The condition connection in DCR Process ensures that an activity connected to another activity cannot happen before the first activity is executed or excluded in the process. It can be seen as B cannot happen before A has been done (or excluded)
The response connection in DCR Process is a response to an action taken. i.e. When an activity is executed and it has a response to another activity, it changes that activities state to pending meaning that the activity has to be executed (or excluded) in order to end the process. When A happens B must happen at some point
The include connection in DCR Process is a connection that includes activities. This is used to include, excluded activities into the process. I.e. When A is executed it includes B into the process.
The exclude connection in DCR Process is an connection that when executed excludes the activity it is connected to. This mean that when an exclude connection is between to activities and the first activity is executed, the second activity disappears and cannot be executed. I.e. When A happens B cannot be done.
Activities can be nested under other activities.
Every process can be considered a process, but a process can contain sub-processes. A sub-process can be either
- single-instance sub-process – meaning it is just a process embedded inside the parent process
- multi-instance sub-process – which can be spawned to run separately of the parent process
Sub-processes can either be created within the parent process or created as it’s own process and linked into the parent process using the import process capabilities.
DCR Processes can be simulated, either by one person playing all the roles or by several people each playing some of the roles found in the process. This enables users to obtain a better understanding of how the process works, simply by playing the process as a computer game. The portal even offers “friends” that can be used to play certain roles, at the moment two friends are offered.
- Aggressive user – the aggressive user executes all activities that are enabled
- Lazy user – the lazy user only executes activities that are enabled and pending