MI w/o Sync.
Home Up Next

horizontal rule

Patterns
Documentation
Product Evaluation
Standard Evaluation
Fundamentals
Vendors Corner
WSCL
YAWL
About this site
Links
What's New?

Pattern 12 [Multiple Instances Without Synchronization]  

FLASH Animation of pattern


Description  Within the context of a single case (i.e., workflow instance) multiple instances of an activity can be created, i.e., there is a facility to spawn off new threads of control. Each of these threads of control is independent of other threads. Moreover, there is no need to synchronize these threads.
Synonyms  Multi threading without synchronization, Spawn off facility
Examples

 
A customer ordering a book from an electronic bookstore such as Amazon may order multiple books at the same time. Many of the activities (e.g., billing, updating customer records, etc.) occur at the level of the order. However, within the order multiple instances need to be created to handle the activities related to one individual book (e.g., update stock levels, shipment, etc.). If the activities at the book level do not need to be synchronized, this pattern can be used.

 
Implementation

 
The most straightforward implementation of this pattern is through the use of the loop and the parallel split construct as long as the workflow engine supports the use of parallel splits without corresponding joins and allows triggering of activities that are already active. This is possible in languages such as Forté and Verve.
 
Some workflow languages support an extra construct that enables the designer to create a subprocess or a subflow that will "spawn-off" from the main process and will be executed concurrently. For example, Visual WorkFlo supports the Release construct while I-Flow supports the Chained Process Node. COSA has a similar facility, one workflow may contain multiple concurrent flows that are created through an API and share information.
 
In most workflow management systems the possibility exists to create new instances of a workflow process through some API. This allows for the creation of new instances by calling the proper method from activities inside the main flow. Note that this mechanism works. However, the system maintains no relation between the main flow and the instances that are spawned off.

horizontal rule

For problems or questions regarding this web contact Wil van der Aalst.
Last updated: donderdag februari 22, 2007.