The refined process structure tree
We consider a workflow graph as a model for the control flow of a business process and study the problem of workflow graph parsing, i.e., finding the structure of a workflow graph. More precisely, we want to find a decomposition of a workflow graph into a hierarchy of sub-workflows that are subgraphs with a single entry and a single exit of control. Such a decomposition is the crucial step, for example, to translate a process modeled in a graph-based language such as BPMN into a process modeled in a block-based language such as BPEL. For this and other applications, it is desirable that the decomposition be unique, modular and as fine as possible, where modular means that a local change of the workflow graph can only cause a local change of the decomposition. In this paper, we provide a decomposition that is unique, modular and finer than in previous work. We call it the refined process structure tree. It is based on and extends similar work for sequential programs by Tarjan and Valdes [ACM POPL 80, 1980, pp. 95105]. We give two independent characterizations of the refined process structure tree which we prove to be equivalent: (1) a simple descriptive characterization that justifies our particular choice of the decomposition and (2) a constructive characterization that allows us to compute the decomposition in linear time. The latter is based on the tree of triconnected components (elsewhere also known as the SPQR tree) of a biconnected graph.
workflow graph parsing workflow management model decomposition subprocess detection graph theory