Workflow Structure

Before we describe the actual Resource Patterns in detail, we first present a standard set of definitions for the various components of a workflow system that we will utilise throughout this body of work. A workflow or workflow model is a description of a business process in sufficient detail that it is able to be directly executed by a workflow management system. A workflow model is composed of a number of tasks which are connected in the form of a directed graph. An executing instance of a workflow model is called a case or process instance. There may be multiple cases of a particular workflow model running simultaneously, however each of these is assumed to have an independent existence and they typically execute without reference to each other.

Figure 1: Components of a workflow

Figure 1 : Components of a workflow

There is usually a unique first task and a unique final task in a workflow. These are the tasks that are first to run and last to run in a given workflow case. A task corresponds to a single unit of work. Four distinct types of task are denoted: atomic, block, multi-instance and multiple-instance block. We use the generic term components of a workflow to refer to all of the tasks that comprise a given workflow model. An atomic task is one which has a simple, self-contained definition (i.e. one that is not described in terms of other workflow tasks) and only one instance of the task executes when it is initiated. A block task is a complex action which has its implementation described in terms of a sub-workflow. When a block task is started, it passes control to the first task(s) in its corresponding sub-workflow. This sub-workflow executes to completion and at its conclusion, it passes control back to the block task. E.g. block task C is defined in terms of the sub-workflow comprising tasks, X, Y and Z. A multiple-instance task is a task that may have multiple distinct execution instances running concurrently within the same workflow case. Each of these instances executes independently. Only when a nominated number of these instances have completed is the task following the multiple instance task initiated. A multiple-instance block task is a combination of the two previous constructs and denotes a task that may have multiple distinct execution instances each of which is block structured in nature (i.e. has a corresponding sub-workflow). The control flow between tasks occurs via the control channel which is indicated by a solid arrow between tasks. Each invocation of a task that executes is termed a work item. Usually there is one work item initiated for each task in a given case however in the case of a multiple-instance task, there may be several associated work items that are created when the task is initiated. Similarly, where a task forms part of a loop, a distinct work item is created for each iteration. In general a work item is directed to a resource for execution (although a resource is not required to undertake automatic tasks). There are a variety of ways by which this may be achieved which will be discussed subsequently. A task may initiate one or several tasks when it completes (i.e. when a work item corresponding to it completes). This is illustrated by an arrow from the completing task to the task being initiated e.g. in Figure 1, task B is initiated when task A completes. This may also occur conditionally and where this is the case, the edge between tasks indicates the condition that must be satisfied for the subsequent task to be started.

AltStyle によって変換されたページ (->オリジナル) /