Structuring tasks into workflows

Tasks may contain subtasks. These subtasks may be pre-defined or created at runtime. The creation of subtasks may be continued through as many levels as desired. Work on a task may be completely or partly distrib­uted to its subtasks. The subtasks of a main task may be com­bined to form a workflow. The same goes for the tasks of a project or phase. The tasks of a work­flow are connected using common data (a task needs, e.g., as input a document that is by another task’s output) and conditions (a task may only be started, e.g., when another task has been finished). Such a user-defined workflow may be changed at runtime and may be copied for reuse.

The tasks of a workflow are automatically started by the system, if the necessary input data have been released. Processing of tasks in a workflow is automatically interrupted, if this is no longer the case. Subtasks are automatically cancelled when the main task is cancelled. Likewise the main task is automatically finished, if the output data of the main task have been released by execution of the subtasks. In this way the processing of workflows is supported by the system.

When we described the definition of input and output data of new tasks (see Creat­ing tasks: the general case), we have touched upon creating workflows within the tasks of a phase or project. Here we will treat the subject in more detail, also covering the case of workflows formed by the subtasks of a main task.


Creating multiple subtasks

Dividing a task into subtasks: an example

Linking subtasks to form workflows

Creating subtasks

Dividing a task into two sequential subtasks: an example

Changing subtasks and main tasks

Processing workflows: what is different from single tasks?