The Computer Journal Advance Access originally published online on January 26, 2007
The Computer Journal 2007 50(3):294-314; doi:10.1093/comjnl/bxl074
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Verifying Workflows with Cancellation Regions and OR-joins: An Approach Based on Relaxed Soundness and Invariants
1 Faculty of Technology Management, Eindhoven University of Technology, The Netherlands
2 Faculty of Information Technology, Queensland University of Technology, Australia
* Corresponding author: h.m.w.verbeek{at}tue.nl
Received 12 January 2006; revised 5 October 2006
YAWL (Yet Another Workflow Language) workflow language supports the most frequent control-flow patterns found in the current workflow practice. As a result, most workflow languages can be mapped onto YAWL without the loss of control-flow details, even languages allowing for advanced constructs such as cancellation regions and OR-joins. Hence, a verification approach for YAWL is desirable, because such an approach could be used for any workflow language that can be mapped onto YAWL. Unfortunately, cancellation regions and OR-joins are non-local properties, and in general we cannot even decide whether the desired final state is reachable if both patterns are present. This paper proposes a verification approach based on (i) an abstraction of the OR-join semantics; (ii) the relaxed soundness property; and (iii) transition invariants. This approach is correct (errors reported are really errors), but not necessarily complete (not every error might get reported). This incompleteness can be explained because, on the one hand, the approach abstracts from the OR-join semantics and on the other hand, it may use only transition invariants, which are structural properties. Nevertheless, our approach can be used to successfully detect errors in YAWL models. Moreover, the approach can be easily transferred to other workflow languages allowing for advanced constructs such as cancellations and OR-joins.
Key Words: Workflow management process models formal methods Petri nets patterns invariants