Page 263 -
P. 263
9 The Runtime Environment 257
and values in the Engine’s process logs for later retrieval and analysis, so that all
descriptive data of a process can be stored in one place, without the need for special
handling by the Engine.
A special object called LogDataItem is available to custom services and applica-
tions to store a data item, its type and value. These objects may be passed with any
interface method that will eventuate in a log entry being written.
9.8 Summary
This chapter described the primary functions performed by the YAWL Engine at
runtime, with particular reference to its internal machinations and those details of
the runtime environment that have not been covered in other chapters.
The Engine is responsible for managing the control-flow and data perspectives of
processes. The resourcing perspective, and the actual performance of task instances,
is delegated to custom services, as discussed in the following chapters.
Exercises
Exercise 1. Why do you think it is important that the Engine remain “agnostic” to
both the resource perspective and the actual performance of task instances?
Exercise 2. What does it mean when it is said that a task instance is enabled by the
Engine? How does that meaning differ in relation to workflow net terminology?
Exercise 3. How many child instances of a task can have Enabled status? Why?
Exercise 4. For what purpose is a work item assigned a status of Deadlocked?
Exercise 5. What is the difference between a work item being canceled and it being
“failed”?
Exercise 6. What two steps are required for a Custom Service to successfully
connect to the Engine?
Exercise 7. Why is it important to persist currently executing cases?