Opentopia Directory Encyclopedia Tools

Workflow patterns

Encyclopedia : W : WO : WOR : Workflow patterns


A workflow pattern is a specialized form of a design pattern as defined in the area of software engineering. Workflow patterns refer specifically to recurrent problems and proven solutions related to the development of workflow applications in particular, and more broadly, process-oriented applications.

Categories

van der Aalst et al. 2003

A well-known collection of Workflow Patterns are those proposed by Wil van der Aalst, Arthur ter Hofstede, Bartek Kiepuszewski and Alistair Barros in their seminal paper Workflow Patterns published in 2003 (with earlier versions published in 2000-2002). This collection of patterns focus on one specific aspect of process-oriented application development, namely the description of control flow dependencies between activities in a workflow/process. These patterns are divided into the following categories:

Basic Control Patterns

Advanced Branching and Synchronization Patterns

Structural Patterns

Multiple Instances (MI)

State-based patterns

Cancellation Patterns

The above workflow patterns have been used to evaluate the functionality of commercial products supporting the development of process-oriented applications. They have also been used to evaluate a number of proposed standards, including BPEL, BPMN, UML Activity diagram, XPDL, etc. It has been noted that not all these patterns are relevant in all application domains, so care must be taken when using the above workflow patterns to select a particular language or system for a given application.

Several extensions to the above set of workflow patterns have been proposed. In particular, the same research groups that developed these patterns, have also proposed a set of Workflow Data Patterns, Workflow Resource Patterns, Workflow Exception Handling Patterns, and Service Interaction Patterns.

Another classification

Another classification of workflow patterns is the following:

Independent/Pooled
where each component of the work is completed independent of each other component and no component has a specific dependency on any other component. An example would be where staff are serving at a counter - Raoul can serve a customer in his queue without waiting for Jamie to serve a customer in his queue.
Sequential
where each component of the work is dependent on the preceding component. In this case the preceding component controls the advancement of the workflow through subsequent components. An example would be on a production line - Betty cannot affix the radiator cap to the Model T Ford until Veronica has put the radiator in place.
Interdependent/Networked
where each component of the work is dependent on one or a number of other components being completed. In this case the preceding components control the workflow through subsequent components. An example would be a project team - Sarah must wait for several tasks to be completed by Kevin and George before she can execute her task.

References

External links

 


From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.

Search Titles
0123456789
ABCDEFGHIJ
KLMNOPQRST
UVWXYZ?

E-mail this article to:

Personal Message: