Page 160 -
P. 160
150 M. Adams and N. Russell
work item to execute or physical resources (human or non-human) that are neces-
sary in order to actually perform the work item. If these resources are not available
to the work item at initiation, then it is usually not possible for it to proceed. In
most workflow systems, it is necessary for a work item to be allocated to a specific
human resource who is responsible for managing its associated work activities and
signaling when it is complete. Problems with work item allocation can arise if (1) at
distribution time, no suitable human resource can be found who meets the specified
allocation criteria for the work item or (2) at some time after allocation, the resource
is no longer able to undertake or complete the work item. Although the occurrence of
these issues can be automatically detected, they often cannot be resolved within the
context of the executing process and may involve some form of escalation or man-
ual intervention. For this reason, they are ideally suited to resolution via exception
handling.
External Trigger (EXT)
Triggers from sources in the environment in which a process executes are a common
means of signaling a work item that an event has occurred that affects the work item
and requires some form of handling. These triggers can originate from internal as
well as external sources, and it is possible that nonlinked work items (i.e., work
items that are not directly linked to the work item in question by a control edge)
elsewhere within the process model or even in other process models may also be
the source of such notifications. Although a work item can anticipate events such as
triggers and make provision for dealing with them, it is not predictable if or when
such events will occur. Consequently, the handling of triggers is not suited to normal
processing within the work item implementation and is often better dealt with via
exception handling mechanisms. Generally, triggers indicate that an out-of-bound
condition has arisen that needs to be dealt with. Managing such a situation may
require that the current work item be halted, possibly undone, and some alternative
form of (compensatory) action be taken.
Constraint Violation (CVI)
The use of constraints within process model are a common means of specifying
operational invariants over control-flow, data or resource elements in a process that
need to be maintained to ensure that its integrity and operational consistency is pre-
served. They are generally monitored on an ongoing basis to ensure that they are
enforced. The implementation of mechanisms that can detect and deal with con-
straint violations within the context of an operational process is similar to the issue
of dealing with external triggers. Generally, it is a work item that will be needed to
detect and deal with a violation, although it is conceivable that constraints could be
specified and enforced at block or process level. Constraints may be specified over
data, resources, or other work items within a process model, hence the approach