Prof. Cesare Pautasso
http://www.pautasso.info
[email protected]
@pautasso
Activities correspond to state transitions of the document at the center of the process
Activities are executed as specified by the control flow of the process
Activities represent atomic tasks of a process, which consume an input to produce an output.
Activities are executed whenever they receive control and some data conditions are satisfied
Events represent asynchronous interactions of the process with the external world
Start Events: when does the process begin?
Intermediate Events: wait for something to happen (catch), or send a notification (throw)
End Events: when does the process finish?
The control flow graph defines the partial execution order of activities and events
Structured Control Flow well-known sequential programming constructs are used to define the order of execution (if, switch, while, for, foreach) with the addition of explicit parallelism constructs (fork/join, parallel foreach)
Unstructured Control Flow directed (a)cyclic graphs of activities and events are used to specify arbitrary dependencies
Unstructured languages use gateways to represent branches (forks) and merges (joins) in the control flow graph
Roles are represented using the layout.
Activities associated with a Role are positioned in the corresponding "swimlane".
Activities produce and consume data objects, whose lifecycle is tied to a process instance.
Persistent data survives beyond the processes that share it using data stores
Processes may also use messages to exchange data (and events to react to message arrivals)
Use a spacebar or arrow keys to navigate