Page 256 -
P. 256

250                                                        M. Adams


























                           Fig. 9.5 Work item status transition chart


                              initial status of all created instances, besides the first, is Fired (as only one work
                              item instance of each task may have Enabled status)
                             Deadlocked: When there are no enabled tasks in a net, and tokens still exist
                              in the net in places other than the final output condition, the net is said to be
                              deadlocked. When this occurs, the Engine will report the deadlock and remove
                              the case. Part of the reporting process is to determine where there are remaining
                              tokens in the net. For each condition where a token resides, the name of the task
                              on its outgoing arc is recorded in the process log. To facilitate this logging, each
                              of those tasks has a work item created with the status of Deadlocked,which is
                              actually a completed status type. To clarify, a work item is created and given this
                              status only to facilitate a logging event, immediately before the entire deadlocked
                              process is removed from the Engine

                              One point of possible confusion is the use of the term enabled, which has a
                           slightly different meaning depending on whether it is used in workflow net terms or
                           work item terms. In workflow net terms, a YAWL task is enabled if there is a token
                           in each of its input conditions (after taking its join decorator, if any, into account).
                           In the Engine, a work item has the status Enabled when it is available to be started.
                           Each time a task completes, a new work item is created and initialized with Enabled
                           status for each task that is newly enabled in the workflow net.
                              Every task definition contains a reference to the Custom Service that will be
                           responsible for processing it (or the Resource Service by default if none are speci-
                           fied). Each time a work item is created for a newly enabled task (with a decomposi-
                           tion) and assigned a status of Enabled, that enabled work item is “announced” to the
                           environment. That is, the Engine generates a “handleEnabledWorkItemEvent” and
                           propagates it to the Custom Service that is specified at design time as the listener
   251   252   253   254   255   256   257   258   259   260   261