Processes

UML activity diagrams model processes (also called procedures, workflows, tasks, and activities).

Here's an example of the kind of process we would like to model:

Process1 is an activity. It begins with Activity1. This activity is a sequence of two simple actions. Activity1 completes when Action2 completes. Action3 and Action4 cannot begin until Activity1 completes. Action5 can't begin until Action3 and Action4 complete. (In UML we would use synchronization bars to show this.) A branch is a special type of activity with an associated condition and two predecessors. If the condition is true, then the first predecessors is executed, otherwise the second predecessor is executed.

The model presented below diverges from UML activity diagrams. It uses the Composite Design Pattern to differentiate between simple actions and composite actions (called activities). A process is an activity with an associated schedule. A schedule maps start dates to simple actions. Simple actions have assigned resources and durations.

There are several problems with this issue:

·       Resources also have availability schedules, which is not shown.