22institutetext: RWTH Aachen University, Aachen, Germany 22email: [email protected]
Translating Workflow Nets to Process Trees:
An Algorithmic Approach
Abstract
Since their recent introduction, process trees have been frequently used as a process modeling formalism in many process mining algorithms. A process tree is a tree-based model of a process, in which internal vertices represent behavioral control-flow relations and leaves represent process activities. A process tree is easily translated into a sound Workflow net (WF-net), however, the reverse is not the case. Yet, an algorithm that translates a WF-net into a process tree is of great interest, e.g., the explicit knowledge of the control-flow hierarchy in a WF-net allows one to more easily reason on its behavior. Hence, in this paper, we present such an algorithm, i.e., it detects whether a WF-net corresponds to a process tree, and, if so, constructs it. We prove that, if a process tree is discovered, the language of the process tree equals the language of the original WF-net. Conducted experiments show, that the algorithm’s corresponding implementation has a quadratic time-complexity in the size of the WF-net. Furthermore, the experiments show strong evidence of process tree rediscoverability.
Keywords:
Process Trees Petri Nets Workflow nets Process Mining.1 Introduction
The research field of process mining [4], is concerned with distilling knowledge of the execution of processes, by analyzing the event data generated during the execution of these processes, i.e., stored in modern-day information systems. In the field, different semi-automated techniques have been developed, that are able to distill processes knowledge, ranging from automated process discovery algorithms to conformance checking algorithms. As processes are the cornerstone of process mining, so are the models that allow us to represent them, and/or reason on their behavior/quality. Various process modeling formalisms exists, e.g., BPMN [8], EPCs [3], etc., some of which are heavily used in industry.
Recently, process trees were introduced [5]. A process tree is a hierarchical representation of a process, corresponding to a rooted tree, i.e., a connected, undirected acyclic graph, with a designated root vertex. The internal vertices represent how their children are related to each-other, in terms of control-flow behavior. The leaves of the tree represent the activities of the process. Consider 1(b) (\autopagereffig:example_tree), in which we depict an example process tree. Its root vertex has label , specifying that first its left-most child, i.e., activity with , needs to be executed, secondly its middle child, and, finally its right-most child.
Process trees are easily translated into other process modeling formalisms, e.g., Workflow nets (WF-nets). By definition, a process tree corresponds to a sound WF-net, i.e., a WF-net with desirable behavioral properties, e.g., the absence of deadlocks. The reverse, i.e., given a WF-net, translating it into a process tree (if possible), is less trivial. At the same time, obtaining such a translation is of interest, i.e., it allows us to discover control-flow aware hierarchical structures within a WF-net. Such structures, can, for example, be used to hide certain parts of the model, i.e., leading to a more comprehensible view of the process model. Furthermore, any algorithm optimized for process trees, e.g., by exploiting the hierarchical structure, is applicable to WF-nets of such a type. For example, in [12], it is shown that the computation time of alignments [17], i.e., explanations of observed behavior in terms of a reference model, can be significantly reduced by applying Petri net decomposition, e.g., driven by model hierarchies.
In this paper, we present an algorithm that determines whether a given WF-net corresponds to a process tree, and, if so, constructs it. We prove that, if a process tree is found, the original WF-net is sound, and, that the obtained process tree’s language is equal to the language of the original WF-net. A corresponding implementation, extending the process mining framework PM4Py [7], is publicly available. Using the implementation, we conducted several experiments, which show a quadratic time complexity in terms of the WF-net size. Furthermore, our experiments indicate rediscoverability of process trees.
The remainder of this paper is structured as follows. In Section 2, we present preliminary concepts and notation. In Section 3, we present the proposed algorithm, including the proofs w.r.t soundness preservation and language preservation. In Section 4, we evaluate our approach. In Section 5, we discuss related work. Section 6, concludes the paper.
2 Preliminaries
Given set , denotes its powerset. Given a function and , we extend function application to sets, i.e., . Furthermore, restricts to . A multiset over set , i.e., , contains multiple instances of an element. We write a multiset as , where , for (in case, , we omit its superscript; in case , we omit ). The set of all multisets over is written as . The sum of two multisets is written as , e.g., , their difference is written as , e.g., . A set is considered a multiset with each element appearing only once, hence, . denotes the set of all sequences over . We write to denote the length of , and, we write , where denotes the element at position (). denotes the empty sequence, i.e., . We extend the notion of element inclusion to sequences, e.g., . Concatenation of sequences is written as . We let denote the set of all possible order-preserving merges, i.e., the shuffle operator, of and , e.g., given , , then . It is easy to see that (commutative). We extend the shuffle operator to sets (and overload notation), i.e., given , . Note that, (associative), hence, we write the application of the shuffle operation on sequences as . Similarly, we wirte for sets of sequences . Given a function and a sequence , we overload notation for function application, i.e., . Note that, this extends to sets of sequences, i.e., given and , . Furthermore, given and a sequence , we define , where (recursively) and if and if .
2.1 Workflow Nets
Workflow nets (WF-nets) [2] extend the more general notion of Petri nets [14]. A Petri net is a directed bipartite graph containing two types of vertices, i.e., places and transitions. Places are visualized as circles, transitions are visualized as boxes. Places only connect to transitions, and vise-versa. Consider 1(a), depicting an example Petri net (which is also a WF-net).
We let denote a (labelled) Petri net, where, denotes a set of places, denotes a set of transitions and represents the arcs. Furthermore, given a set of labels and symbol , is the net’s labelling function, e.g., in 1(a), , , etc. Given an element , denotes the pre-set of , whereas denotes its post-set, e.g., in 1(a), and . We lift the -notation to the level of sets, i.e., given , and . Let , let , and . The net is a subnet of , written . We let denote the universe of Petri nets.
The state of a Petri net, is expressed by means of a marking, i.e., a multiset of places. A marking is visualized by drawing the corresponding number of dots in the place(s) of the marking, e.g., the marking in 1(a) is (one black dot is drawn inside place ). Given a Petri net and marking , denotes a marked net. Given a marked net , a transition is enabled, written , if . An enabled transition can fire, leading to a new marking , written . A sequence of transition firings is a firing sequence of , yielding marking , written , iff s.t. . We write , in case . denotes all firing sequences starting from marking , leading to marking . The labelled-language of , conditional to markings , is defined as . denotes the reachable markings.
Given a Petri net , and designated initial and final marking , triple denotes a system net. As system net is formed by , we write as a replacement for , e.g., denotes a marked system net. Clearly, , , etc., are readily defined. denotes the universe of system nets.
A WF-net is a special type of Petri net, i.e., it has one unique start and one unique end place. Furthermore, every place/transition in the net is on a path from the start to the end place.
Definition 1 (Workflow net (WF-net))
Let and let . Tuple is a Workflow net (WF-net), iff:
-
1.
; is the unique source place.
-
2.
; is the unique sink place.
-
3.
Each element in is on a path from to .
We let denote the universe of WF-nets.
Of particular interest are sound WF-nets, i.e., WF-nets that are, by definition, guaranteed to be free of deadlocks and livelocks. We formalize the notion of soundness in 2.
Definition 2 (Soundness)
Let . is sound iff:
-
1.
is safe, i.e., ,
-
2.
can always be reached, i.e., .
-
3.
Each is enabled, at some point, i.e., .
Observe that, the Petri net depicted in 1(a), is a sound WF-net.
2.2 Process Trees
Process trees allow us to model processes, that comprise a control-flow hierarchy. A process tree is a mathematical tree, where the internal vertices are operators and leaves are (non-observable) activities. Operators specify how their children, i.e., sub-trees, need to be combined, from a control-flow perspective.
Definition 3 (Process Tree)
Let denote the universe of (activity) labels and let . Let denote the universe of process tree operators. A process tree , is defined (recursively) as any of:
-
1.
; an (non-observable) activity,
-
2.
, for , , where are process trees;
We let denote the universe of process trees.
Several operators (elements of ) can be defined, however, in this work, we focus on four basic operators, i.e., the , , and -operator. The sequence operator () specifies sequential behavior. First its left-most child is executed, then its second left-most child, …, and finally its right-most child. For example, the root operator in 1(b), specifies that first activity is executed, then its second sub-tree () and then its third sub-tree (). The exclusive choice operator , specifies an exclusive choice, i.e., one (and exactly one) of its sub-trees is executed. Concurrent/parallel behavior is represented by the concurrency operator (), i.e., all children are executed simultaneously/in any order. Repeated behavior is represented by the loop operator . The , and -operator have an arbitrary number of children. The -operator has two children. Its left child (the “do-child”) is always executed. Secondly, executing its right child (the “re-do-child”) is optional. After executing the re-do-child, we again execute the do-child. We are allowed to repeat this, yet, we always finish with the do-child.
Given a process tree , its language is of the form .
Definition 4 (Process Tree Language)
Let be a process tree. The language of , i.e., , is defined recursively as:
-
1.
, if ,
-
2.
, if ,
-
3.
, if ,
-
4.
, if
-
5.
, if
-
6.
, if .
The process tree operators considered (, , and ), are easily translated to sound WF-nets, cf. Fig. 2. Hence, we define a generic process tree to WF-net translation function, s.t., the language of the two is the same.
Definition 5 (Process Tree Transformation Function)
Let be a process tree. A process tree transformation function , is a function , s.t., . We let , where, given , , with, and .
Given an arbitrary process tree , there are several ways to translate it to a (sound) WF-net , s.t., , i.e., instantiating and . As an example, consider the translation functions, depicted in Fig. 2.

3 Translating Workflow Nets to Process Trees
In this section, we describe our main approach. In Section 3.1, we sketch the main idea of the approach. In Section 3.2, we present PTree-nets, i.e., Petri nets with , which we exploit in our approach. In Section 3.3, we present Petri net fragments, used to identify process tree operators within the net, together with a generic reduction function. Finally, in Section 3.4, we provide an algorithmic description that allows us to find process trees, including correctness proofs.
3.1 Overview
The core idea of the approach, concerns searching for fragments in the given WF-net, that represent behavior that is expressible as a process tree. The patterns we look for, bear great similarity with the translation patterns defined in Fig. 2, i.e., they can be considered as a generalized reverse of those patterns. When we find a pattern, we replace it with a smaller net fragment that represents the process tree that was just found. We continue to search for patterns in the reduced net, until we are not able to find any more patterns. As we prove in Section 3.4, in case the final WF-net contains just one transition, in fact, its label carries a process tree with the same labelled-language as the original WF-net.
Consider Fig. 3, in which we sketch the basic idea of the algorithm, applied on the example WF-net (1(a)).
First, the algorithm detects two choice constructs, i.e., one between the transitions labelled and , and, one between the transitions labelled and . The algorithm replaces the fragments by means of two new transitions, carrying labels and respectively (3(a)). Subsequently, a parallel construct is detected, i.e., between the transitions labelled and . Again, the pattern is replaced (3(b)). A sequential pattern is detected and replaced (3(c)), after which a loop construct is detected (3(d)). The resulting process tree, i.e., carried by the remaining transition in 3(e), , is equal to 1(b).
3.2 PTree-Nets and their Unfolding
The core idea of the proposed algorithm presented, is finding Petri net fragments in the WF-net, that represent behavior equivalent to a process tree. As illustrated in Section 3.1, the patterns found in the WF-net are replaced by transitions with a label carrying a corresponding process tree. In the upcoming section, we present four different fragment characterizations, corresponding to the basic process tree operators considered. However, in this section, we first briefly present PTree-nets, i.e., a trivial extension of Petri nets, in which labels are process trees.
Definition 6 (Process Tree-Labelled Petri-net (PTree-net))
Let denote the universe of process trees. Let denote a set of places, let denote a set of transitions and let denote the arc relation. Let . Tuple is a Process Tree-Labelled Petri net (PTree-net). denotes the universe of PTree-nets.
Given , we have , and, , i.e., the definition of ignores .111 Observe: . Clearly, since PTree-nets extend the labelling function to , PTree-System-nets, and, PTree-WF-nets are readily defined. We let and represent their respective universes.
Since a PTree-net contains process trees as labels, which can be translated into a Petri net fragment, we define a PTree-net unfolding, cf. 7, which maps a PTree-net onto a corresponding conventional Petri net.
Definition 7 (PTree-net Unfolding)
A PTree-net unfolding is a function where, given , , with:
-
Let ,
-
1.
,
-
2.
,
-
3.
,
-
4.
.222Since functions are binary Cartesian products, we write set operations here.
3.3 Pattern Reduction
In this section, we describe four patterns, used to identify and replace process tree behavior. Furthermore, we propose a corresponding overarching reduction function, which shows how to reduce a PTree-WF-net containing any of these patterns. However, first, we present the general notion of a feasible pattern.
Definition 8 (Feasible -Pattern)
Let , let
and let ().
Given , is a feasible -pattern, written , iff:
-
1.
is weakly connected,
-
2.
, ,
-
3.
.
In the upcoming paragraphs, we characterize an instantiation of a feasible -pattern, for each operator considered.
3.3.1 Sequential Pattern
The -operator, i.e., , describes sequential behavior, hence, any subnet describing strictly sequential behavior, describes the same language. If a transition always, uniquely, enables transition , which in turn enables transition , and, whenever has fired, the only way to consume all tokens from , is by means of firing , and similarly, the only way to consume all tokens from , is by means of firing , etc., then are in a sequential relation. We visualize the -pattern in the left-hand side of 4(a).
Definition 9 (-Pattern)
Let and let (). If and only if:
-
1.
; transition enables ,
-
2.
; enabling is unique,
-
3.
; self-loops are not allowed,
then, system net , with , , , is a feasible -pattern.
3.3.2 Exclusive Choice Pattern
The -operator, i.e., , describes “execute either one of ”. In terms of a Petri net fragment, transitions are in an exclusive choice pattern if their pre and post-sets are equal. Consider 4(b), in which we schematically depict the -pattern.
Definition 10 (-Pattern)
Let and let (). If and only if:
-
1.
; all pre-sets are shared among the members of the pattern,
-
2.
; all post-sets are shared among the members of the pattern,
-
3.
; self-loops are not allowed,
then, system net , with , , , is a feasible -pattern.




3.3.3 Parallel Pattern
The parallel pattern is the most complicated pattern. In such a fragment, inference between its transitions is possible. This is achieved by requiring that the pre-sets and post-sets of the transitions do not have any overlap. Furthermore, the pre-set of the transition’s pre-set places needs to be shared by all of these places, and, symmetrically, the post-set of the transition’s post-set places needs to be shared by all of these places. That is, the enabling of the transitions in the pattern needs to be the same, and, their post-set should jointly block any further action, until all places in their joint post-set are marked.
Definition 11 (-Pattern)
Let and let (). If and only if:
-
1.
; no interaction between the member’s pre-sets,
-
2.
; no interaction between the member’s post-sets,
-
3.
; pre-set places uniquely connect to a member,
-
4.
; post-set places uniquely connect to a member,
-
5.
; members do not influence other members,
-
6.
; member’s pre-sets share their pre-set,
-
7.
; member firing does not affect other members,
-
8.
; member’s post-sets share their post-set,
-
9.
; pre-sets of enablers are equal,
-
10.
; post-sets of enablers are equal,
then, system net , with
, , is a feasible -pattern.
3.3.4 Loop Pattern
The final operator we consider, is the -operator, i.e., the only operator with just two children. Hence, the fragments representing a loop pattern in the Ptree-net consist of two transitions. Consider the left-hand side of 4(d), in which we schematically depict the loop pattern fragment.
Definition 12 (-Pattern)
Let and let . Iff:
-
1.
; pre-set of is the post-set of ,
-
2.
; pre-set of is the post-set of ,
-
3.
; pre-sets are disjunct,
-
4.
; post-sets are disjunct.
then, system net , with , , is a feasible -pattern.
Observe that, for each of the patterns presented here, it is easy to see that the requirements posed in 8, hold.
3.3.5 Pattern Reduction
The reduction rules for the patterns, i.e., defined in the previous paragraphs, as depicted in the right-hand side of Fig. 4, are very similar. Except for the -pattern, we “copy” all places in the new Ptree-net, i.e., for the -pattern, we remove the places inter-connecting transitions . The transitions involved in the pattern (and connecting arcs) are removed. A new transition is inserted, with a label depending on the pattern found. The connecting arcs of the newly added transition, differ slightly per pattern.
Definition 13 (Pattern Reduction)
Let , let , let , let and let s.t. . We let denote the -reduced PTree-net, with, for :
-
•
,
-
•
,
-
•
-
•
.
3.4 Algorithm
Here, we present an algorithm that translates a WF-net into a process tree. We prove that, if the algorithm finds a process tree, the input WF-net is sound. Moreover, we show that the language of the input WF-net equals the language of the process tree found.
Consider Alg. 1, in which we present an algorithmic description of the reduction algorithm. As an input, the algorithm needs any WF-net . Initially, the elements of , excluding the initial and final place, are copied into variable . In case a pattern of the form is found in , the corresponding reduction is applied (Alg. 1). If no more pattern is found, the algorithm returns .
In case the obtained PTree-WF-net consists of just one transition, i.e., connected to place (incoming) and place (outgoing), cf. 3(e), the label of the transition represents a process tree, describing the same language as the original WF-net. Furthermore, we are able to conclude that the original WF-net is, in fact, a sound WF-net. We prove these observations in Theorem 3.1, however, prior to this, we first present two useful lemmas. In 1, we prove that the proposed reduction rules are bidirectionally soundness preserving, i.e., if a PTree-WF-net is sound, then also the reduced PTree-WF-net is sound, and, vice versa. In 2, we prove that, if we are able, from the initial marking , to enable the observed fragment (enabling differs per fragment), then, the language of the original net and the reduced net is equal (and vice versa). Observe that, trivially, the reduction rules applied on a PTree-WF-net, yield a PTree-WF-net, i.e., none of the requirements of 1, are violated on the resulting net.
Lemma 1 (Pattern Reduction is Soundness Preserving)
Let , let , let , s.t., , and, let . is sound iff is sound.
Proof
()
Let . Assume, is sound, yet, is not sound.
By definition of any reduction , if is not safe, then is not safe.
For any , if , then also, .
Similarly, if , then this is also holds for the transitions in . In case s.t. , then, again by definition of the reductions, also and
. () Symmetrical.
Lemma 2 (Pattern Reduction is Language Preserving in )
Let , let , let , s.t., , and, let . .
Proof
Let . By definition of any , . Furthermore, given , s.t., for , , then also, . Consequently, then also, and . For any , s.t., , then also . Hence, inference of with the values of the transitions of and, , remains the same. Since removal of some elements of , and addition of , are the only difference between and , i.e., every other element is both in and , we conclude that .
Theorem 3.1 (Alg. 1 is able to find Language-Equal Process Trees)
Let and let be the resulting WF-net of Alg. 1 on . If , and, , then, .
Proof
Observe that, is sound. 1 implies that if we (continuously) revert the reductions applied by Alg. 1, i.e., corresponding to all intermediate assignments of in Alg. 1 are sound.333As a corollary of this fact, it follows that is sound. Observe that, 2 proves that the language of the unfoldings of all the intermediate WF-nets found is the same as well. Since the labels of the initial WF-net are all members of , their unfolding remains the same. Hence, we deduce .
4 Evaluation
In this section, we evaluate the proposed algorithm. We briefly present the implementation, after which we discuss the experimental setup and the results.
4.0.1 Implementation
An implementation of Alg. 1 is available444https://github.com/s-j-v-zelst/pm4py-source/blob/pn˙to˙pt/scripts/pn˙to˙pt.py, i.e., built on top of the process mining framework PM4Py [7]. Note that, the size of the patterns identified has no influence on the correctness of the algorithm. Hence, the implementation searches for binary patterns, yielding binary trees. Such a tree can be further reduced, e.g., corresponds to .
4.0.2 Experimental Setup
Here, we briefly discuss the experimental setup of our experiments. Consider Fig. 5, in which we present a graphical overview.

Using an implementation of PTandLogGenerator [10, 9], we generate process trees, using two triangular distributions for the number of activities, i.e., and . The process trees are translated to WF-nets, using two different translations. One translation creates invisible start and end transitions for each operator; the other translation only does so when required (similar to Fig. 2). The first translation generates larger nets in terms of transitions/places/arcs. For each tirangular distribution/translation combination, we generate process trees (yielding experiments). Finally, we compare the generated process tree in canonical form, to the resulting process tree in canonical form.
4.0.3 Results

Here, we briefly discuss the results of the conducted experiments. Consider Fig. 6, in which we present the average time performance of the implementation. We plot the time performance, conditional to the size of the input WF-net. Additionally, we plot a polynomial trend-line, computed using polynomial least squares. As is clearly observable in Fig. 6, the time performance is quadratic in the size of the net (). This is confirmed by the -score of the trend-line, i.e,. . In all experiments, the canonical form of the generated process tree equals the canonical form of the (re)discovered process tree.
5 Related Work
Process trees are often used in the domain of process mining. However, a complete overview of the field is outside of scope, hence, we refer to [4].
Various authors studied translating a certain process modeling formalism to another. Transformations of graph-oriented modeling formalisms, e.g., Petri nets, and block-oriented modeling formalisms, e.g., Process Trees, are often studied. In [13], the authors generalize work that transforms (both ways) graph-based process modeling formalisms into Business Process Execution Language for Webservices (BPEL) (an XML-based format). The authors characterize several strategies for such translations. In this context, the work presented in this paper belongs to the structure-identification category.
Of particular interest is the work of van der Aalst and Lassen [6, 11], i.e., on translating of WF-nets to BPEL. In the work, XML fragments of BEPL are generated on the basis of a given WF-net. The algorithm replaces components, i.e., connected, complete subnets with a unique start- and end element. Users are additionally allowed to define custom components. In [16, 15] the notion of the Refined Process Structure Tree (RPST) and its computation is introduced. RPSTs are similar to process trees, i.e., a tree structure describing control-flow behavior. The works [16, 15] focus on computing the RPST of a given BPMN model (the authors indicate that the concepts can be generalized to WF-nets). However, the discoverd fragments RPST-fragments need to be canonical, i.e., they are not allowed to overlap with any other fragment. Similar to [6, 11], the fragments need a single source and a single sink element.
6 Conclusion
In this paper, we presented an algorithm to construct a process tree, on the basis of a Workflow net (WF-net). The proposed algorithm replaces fragments of the WF-net, that correspond to a process tree operator, i.e., by means of reduction rules. If the algorithm reduces the WF-net into a net, containing just one transition, there exists a corresponding process tree for the given WF-net, with the same language. The reduction rules proposed are bidirectionally soundness preserving, hence, in case a process tree is found, the original WF-net is sound. We have conducted experiments using a prototypical implementation, indicating quadratic time complexity in the net, and, process tree rediscoverability.
Future Work We aim to provide diagnostics w.r.t. the reason why a given WF-net cannot be reduced further, e.g., by assessing if removal of certain elements of the WF-net allows for further reduction. Alternatively, it is interesting to “wrap” certain fragments of the net into an encapsulating transition, after which the search to process tree fragments is continued. Another interesting direction is the search for structural properties of WF-nets that directly indicate whether a given WF-net corresponds to a process tree.
References
- [1] van der Aalst, W.M.P.: Workflow verification: Finding control-flow errors using petri-net-based techniques. In: Business Process Management, Models, Techniques, and Empirical Studies. pp. 161–183 (2000)
- [2] van der Aalst, W.M.P.: The application of petri nets to workflow management. Journal of Circuits, Systems, and Computers 8(1), 21–66 (1998)
- [3] van der Aalst, W.M.P.: Formalization and verification of event-driven process chains. Information & Software Technology 41(10), 639–650 (1999)
- [4] van der Aalst, W.M.P.: Process Mining - Data Science in Action, Second Edition. Springer (2016)
- [5] van der Aalst, W.M.P., Buijs, J.C.A.M., van Dongen, B.F.: Towards improving the representational bias of process mining. In: SIMPDA 2011, Campione d’Italia, Italy, June 29 - July 1, 2011, Revised Selected Papers. pp. 39–54 (2011)
- [6] van der Aalst, W.M.P., Lassen, K.B.: Translating unstructured workflow processes to readable BPEL: theory and implementation. Information & Software Technology 50(3), 131–159 (2008)
- [7] Berti, A., van Zelst, S.J., van der Aalst, W.M.P.: Process mining for python (PM4Py): Bridging the gap between process-and data science. In: ICPM Demo Track 2019, Aachen, Germany, June 24-26, 2019. p. 13–16 (2019)
- [8] Dijkman, R.M., Dumas, M., Ouyang, C.: Semantics and analysis of business process models in BPMN. Information & Software Technology 50(12), 1281–1294 (2008)
- [9] Jouck, T., Depaire, B.: Generating artificial data for empirical analysis of control-flow discovery algorithms - A process tree and log generator. Bus. Inf. Syst. Eng. 61(6), 695–712
- [10] Jouck, T., Depaire, B.: Ptandloggenerator: A generator for artificial event data. In: BPM Demo Track 2016, Rio de Janeiro, Brazil, September 21, 2016. pp. 23–27 (2016)
- [11] Lassen, K.B., van der Aalst, W.M.P.: Workflownet2bpel4ws: A tool for translating unstructured workflow processes to readable BPEL. In: CoopIS, DOA, GADA, and ODBASE, OTM Confederated International Conferences, 2006, Montpellier, France, October 29 - November 3, 2006. Proceedings, Part I. pp. 127–144 (2006)
- [12] Lee, W.L.J., Verbeek, H.M.W., Munoz-Gama, J., van der Aalst, W.M.P., Sepúlveda, M.: Recomposing conformance: Closing the circle on decomposed alignment-based conformance checking in process mining. Inf. Sci. 466, 55–91 (2018)
- [13] Mendling, J., Lassen, K.B., Zdun, U.: On the transformation of control flow between block-oriented and graph-oriented process modelling languages. IJBPIM 3(2), 96–108 (2008)
- [14] Murata, T.: Petri nets: Properties, analysis and applications. Proceedings of the IEEE 77(4), 541–580 (1989)
- [15] Polyvyanyy, A., Vanhatalo, J., Völzer, H.: Simplified computation and generalization of the refined process structure tree. In: WS-FM 2010, Hoboken, NJ, USA, September 16-17, 2010. Revised Selected Papers. pp. 25–41 (2010)
- [16] Vanhatalo, J., Völzer, H., Koehler, J.: The refined process structure tree. Data Knowl. Eng. 68(9), 793–818 (2009)
- [17] van Zelst, S.J., Bolt, A., van Dongen, B.F.: Computing alignments of event data and process models. ToPNoC 13, 1–26 (2018)