Causal Nets: A Modeling Language Tailored
Towards Process Discovery
W.M.P. van der Aalst, A. Adriansyah, and B.F. van Dongen
Department of Mathematics and Computer Science,
Technische Universiteit Eindhoven, The Netherlands.
{
W.M.P.v.d.Aalst,A.Adriansyah,B.F.v.Dongen
}
@tue.nl
Abstract.
Process discovery—discovering a process model from exam-
ple behavior recorded in an event log—is one of the most challenging
tasks in process mining. The primary reason is that conventional model-
ing languages (e.g., Petri nets, BPMN, EPCs, and ULM ADs) have dif-
ficulties representing the observed behavior properly and/or succinctly.
Moreover, discovered process models tend to have deadlocks and live-
locks. Therefore, we advocate a new representation more suitable for
process discovery:
causal nets
. Causal nets are related to the representa-
tions used by several process discovery techniques (e.g., heuristic mining,
fuzzy mining, and genetic mining). However, unlike existing approaches,
we provide declarative semantics more suitable for process mining. To
clarify these semantics and to illustrate the non-local nature of this new
representation, we relate causal nets to Petri nets.
1
Motivation
In this paper, we advocate the use of
Causal-nets
(
C-nets
) in process mining.
C-nets were introduced in [2] and, in our view, provide a better representational
bias for process discovery than conventional design-oriented languages such as
Petri nets, BPMN, BPEL, EPCs, YAWL, and UML activity diagrams.
Figure 1 shows a C-net modeling the booking of a trip. After activity
a
(
start
booking
) there are three possible activities:
b
(
book flight
),
c
(
book car
), and
d
(
book hotel
). The process ends with activity
e
(
complete booking
). Each activity
has sets of potential input and output bindings (indicated by the black dots).
Every connected set of dots on the output arcs of an activity is an output bind-
ing. For example,
a
has four output bindings modeling that
a
may be followed
by (1) just
b
, (2) just
c
, (3)
b
and
d
, or (4)
b
,
c
, and
d
. Hence, it is not possible
to book just a hotel or a hotel and a car. Activity
c
has two input bindings
modeling that it is preceded by (1) just
a
or (2)
a
and
b
. This construct is used
to model that when both a flight and a car are booked, the flight is booked first.
Output bindings create
obligations
whereas input bindings remove obligations.
For example, the occurrence of
a
with output binding
{
b, d
}
creates two obliga-
tions: both
b
and
d
need to be executed while referring to the obligations created
by
a
.

a
start
booking
c
e
complete
booking
book car
d
book hotel
b
book flight
Fig. 1.
Causal net
C
travel
In a C-net there is one start activity (
a
in Fig. 1) and one end activity (
e
in Fig. 1). A
valid binding sequence
models an execution path starting with
a
and ending with
e
while removing all obligations created during execution.

