Leading the World in Process Innovation  

     
 

Business Process Management

Based on a rigorous analysis of existing workflow management systems and workflow languages, we have developed a new workflow language: YAWL (Yet Another Workflow Language). To identify the differences between the various languages, we have collected a fairly complete set of workflow patterns. Based on these patterns we have evaluated several workflow products and detected considerable differences in expressive power. Languages based on Petri nets perform better when it comes to state-based workflow patterns. However, some patterns (e.g. involving multiple instances, complex synchronizations or non-local withdrawals) are not easy to map onto (high-level) Petri nets. This inspired us to develop a new language by taking Petri nets as a starting point and adding mechanisms to allow for a more direct and intuitive support of the workflow patterns identified.

YAWL can be considered a very powerful workflow language, built upon experiences with languages supported by contemporary workflow management systems. While not a commercial language itself it encompasses these languages, and, in addition, has a formal semantics. Such an approach is in contrast with e.g. WfMC's XPDL which takes commonalities between various languages as a starting point and does not have formal semantics. Its design hopefully allows YAWL to be used for the purposes of the study of expressiveness and interoperability issues.

At this stage YAWL supports the control-flow perspective and the data perspective. However, it is important that relations with the resource perspective are investigated and formalized. For YAWL to be more applicable in the area of web services and Enterprise Application Integration, it is also desirable that support for communication patterns is built-in.

The latest version of the YAWL environment includes the following components:

  • An editor for process model creation, supporting both the control flow and data perspectives.
  • An engine based on SOA for the control flow and data perspective.
  • Deployment of web services for the execution of workflow models.
  • Persistance module through the use of Hibernate.
  • Automatic form generation based on the Chiba XForms Processor.
  • Support for recent insights into the OR-Join.
  • Logging module using PostgreSQL.
  • A custom YAWL Service offering support for time.
  • A custom YAWL Service able to send and receive SMS messages.
  • Support for sophisticated automated verification at design time.
  • Support for dynamic workflow based on the notion of worklets.
  • Support for the resource perspective using PostgreSQL for the storage of the organisational model.
  • Support for exception handling based on the exception handling patterns.