This document discusses user-guided declarative process discovery. Declarative process discovery describes process behavior as rules rather than explicitly specifying all possible behaviors. The core algorithm discovers constraints from event logs. Users can guide discovery by tuning parameters like percentage of events and instances. The paper also discusses techniques for handling truncated logs and detecting vacuously satisfied constraints. The goal is to discover accurate declarative models while allowing user steering toward desired properties.
10. Declarative process discovery
• Avoid the discovery of spaghetti-like models
• Traditional discovery techniques explicitly specify all
possible behaviours (closed models)
• Declarative process discovery: process behaviour
described as a compact set of rules (open models)
Department of Mathematics and Computer Science 23-09-14 PAGE 10
11. Declarative process discovery
• Possibility to guide
the discovery process
towards specific
properties of interest
Department of Mathematics and Computer Science 23-09-14 PAGE 11
13. Declarative process discovery
A is always
eventually
followed by
B
Department of Mathematics and Computer Science 23-09-14 PAGE 13
14. Declarative process discovery
A is always
eventually
followed by
B
A or B
always
occur but
never
together
Department of Mathematics and Computer Science 23-09-14 PAGE 14
15. Declarative process discovery
A is always
eventually
followed by
B
A or B
always
occur but
never
together
A and B
never
occur in
sequence
Department of Mathematics and Computer Science 23-09-14 PAGE 15
16. Declare
• A is always eventually followed by B
• RESPONSE
• User-friendly graphical representation
• Semantics specified through LTL (for finite
traces)
Department of Mathematics and Computer Science 23-09-14 PAGE 16
19. Core algorithm
• W = {(A C B C), (C B A C), (A C A C A C B)}
Department of Mathematics and Computer Science 23-09-14 PAGE 19
20. Core algorithm
• W = {(A C B C), (C B A C), (A C A C A C B)}
Department of Mathematics and Computer Science 23-09-14 PAGE 20
21. Core algorithm
• W = {(A C B C), (C B A C), (A C A C A C B)}
Department of Mathematics and Computer Science 23-09-14 PAGE 21
22. Core algorithm
• W = {(A C B C), (C B A C), (A C A C A C B)}
Department of Mathematics and Computer Science 23-09-14 PAGE 22
23. Core algorithm
• W = {(A C B C), (C B A C), (A C A C A C B)}
Department of Mathematics and Computer Science 23-09-14 PAGE 23
24. Tuning the discovery process: PoE
• Percentage of Events (PoE) avoids the discovery of less-relevant
constraints referring to event classes which rarely
occur in the log
• This parameter has also a positive effect on the execution
time of the algorithm
Department of Mathematics and Computer Science 23-09-14 PAGE 24
25. PoE parameter
• W = {(A C B C), (C B A C), (A C A C A C B)}
Department of Mathematics and Computer Science 23-09-14 PAGE 25
26. PoE parameter
• W = {(A C B C), (C B A C), (A C A C A C B)}
− f(A) = 5/15
− f(B) = 3/15
− f(C) = 7/15
Department of Mathematics and Computer Science 23-09-14 PAGE 26
27. PoE parameter
• W = {(A C B C), (C B A C), (A C A C A C B)}
− f(A) = 5/15
− f(B) = 3/15
− f(C) = 7/15
Department of Mathematics and Computer Science 23-09-14 PAGE 27
28. PoE parameter
• W = {(A C B C), (C B A C), (A C A C A C B)}
− f(A) = 5/15
− f(B) = 3/15
− f(C) = 7/15
Department of Mathematics and Computer Science 23-09-14 PAGE 28
29. PoE parameter
• W = {(A C B C), (C B A C), (A C A C A C B)}
− f(A) = 5/15
− f(B) = 3/15
− f(C) = 7/15
Department of Mathematics and Computer Science 23-09-14 PAGE 29
30. Tuning the discovery process: PoI
• Percentage of Instances (PoI) specifies that a constraint can
still be discovered even if it does not hold for all process
instances of the log
• This parameter is useful in case of noisy logs, where rules
are violated in exceptional cases, but hold for most cases
Department of Mathematics and Computer Science 23-09-14 PAGE 30
31. PoI parameter
• W = {(A C B C), (C B A C), (A C A C A C B)}
Department of Mathematics and Computer Science 23-09-14 PAGE 31
32. PoI parameter
• W = {(A C B C), (C B A C), (A C A C A C B)}
2/3 3/3
1/3 2/3
1/3 1/3
Department of Mathematics and Computer Science 23-09-14 PAGE 32
33. PoI parameter
• W = {(A C B C), (C B A C), (A C A C A C B)}
2/3 3/3
1/3 2/3
1/3 1/3
Department of Mathematics and Computer Science 23-09-14 PAGE 33
34. Truncated semantics for DECLARE constraints
• W = {(A C D B C D A E F B A),
(C A D B C A D C B F D A D B C A D E F),
(A C B D A E B F A E F)}
Department of Mathematics and Computer Science 23-09-14 PAGE 34
35. Truncated semantics for DECLARE constraints
• W = {(A C D B C D A E F B A),
(C A D B C A D C B F D A D B C A D E F),
(A C B D A E B F A E F)}
Department of Mathematics and Computer Science 23-09-14 PAGE 35
36. Truncated semantics for DECLARE constraints
• Relevant when logs are not complete
• Literature on Truncated Semantics
• C. Eisner, D. Fisman, J. Havlicek, A. Mcisaac, Y. Lustig, and D. V.
Campenhout, “Reasoning with Temporal Logic on Truncated
Paths,” in In CAV Proceedings, LNCS 2725, pp. 27–40, 2003
Department of Mathematics and Computer Science 23-09-14 PAGE 36
37. Truncated semantics for DECLARE constraints
• After every prefix, four evaluations of a constraint
− Satisfied : independent of future
− Temporarily satisfied : satisfied if this is the end of the log
− Temporarily violated : violated if this is the end of the log
− Violated : independent of future
• Three kinds of semantics:
• Weak: temporarily xxx satisfied
• Neutral: temporarily xxx xxx
• Strong: temporarily xxx violated
Department of Mathematics and Computer Science 23-09-14 PAGE 37
38. Truncated semantics for DECLARE constraints
• W = {(A C D B C D A E F B A),
(C A D B C A D C B F D A D B C A D E F),
(A C B D A E B F A E F)}
Department of Mathematics and Computer Science 23-09-14 PAGE 38
39. Truncated semantics for DECLARE constraints
• W = {(A C D B C D A E F B A),
(C A D B C A D C B F D A D B C A D E F),
(A C B D A E B F A E F)}
(Weak semantics)
Department of Mathematics and Computer Science 23-09-14 PAGE 39
40. Vacuity detection in DECLARE discovery
• W = {(C B C B E F ),
(C B C B C F B C B E F), (C B E F E F)}
Department of Mathematics and Computer Science 23-09-14 PAGE 40
41. Vacuity detection in DECLARE discovery
• W = {(C B C B E F ),
(C B C B C F B C B E F), (C B E F E F)}
Department of Mathematics and Computer Science 23-09-14 PAGE 41
42. Vacuity detection in DECLARE discovery
• Literature on Vacuity Detection
• O. Kupferman and M. Y. Vardi, “Vacuity Detection in Temporal
Model Checking,” International Journal STTT, vol. 4, pp. 224–233,
2003
Department of Mathematics and Computer Science 23-09-14 PAGE 42
43. Vacuity detection in DECLARE discovery
• A constraint is vacuously satisfied if the constraint
is not really “activated”
• Instead of checking the validity of a constraint c we
check the validity of witness(c) to be sure that the
constraint is non-vacuously satisfied
Department of Mathematics and Computer Science 23-09-14 PAGE 43
44. Vacuity detection in DECLARE discovery
c
Department of Mathematics and Computer Science 23-09-14 PAGE 44
45. Vacuity detection in DECLARE discovery
witness(c)
Department of Mathematics and Computer Science 23-09-14 PAGE 45
46. Vacuity detection in DECLARE discovery
• W = {(C B C B E F ),
(C B C B C F B C B E F), (C B E F E F)}
Department of Mathematics and Computer Science 23-09-14 PAGE 46
47. Vacuity detection in DECLARE discovery
• W = {(C B C B E F ),
(C B C B C F B C B E F), (C B E F E F)}
Department of Mathematics and Computer Science 23-09-14 PAGE 47
48. Conclusion
• Novel approach to discover declarative models from
logs that allows users to guide the discovery
process towards specific properties
• Results on truncated semantics can be used to
obtain significant results in the case that only partial
logs are available
• Vacuity detection to identify the percentage of
process instances where a constraint is really
activated
Department of Mathematics and Computer Science 23-09-14 PAGE 48
49. Present and future work
• Better performance of the discovery algorithm
• equivalent combinations
• combination of event classes occurring in the same
trace
Department of Mathematics and Computer Science 23-09-14 PAGE 49
50. Present and future work
• Application of the approach to several case studies
• Given a constraint and a process instance where it is
non-vacuously satisfied how many times it has
been “activated” in the process instance
• Given a constraint and a process instance where it is
violated level of “healthiness” of the process
instance based on the number of violations
Department of Mathematics and Computer Science 23-09-14 PAGE 50
51. Visit the website
http://www.win.tue.nl/declare/declare-miner/
Department of Mathematics and Computer Science 23-09-14 PAGE 51
Editor's Notes
a systems logs all transactions but doesn’t (completely) enforce a specific way of working. In such an environment, process mining could be used to gain insight into the actual process
a systems logs all transactions but doesn’t (completely) enforce a specific way of working. In such an environment, process mining could be used to gain insight into the actual process
Cite the background knowledge
Cite the background knowledge
a systems logs all transactions but doesn’t (completely) enforce a specific way of working. In such an environment, process mining could be used to gain insight into the actual process
a systems logs all transactions but doesn’t (completely) enforce a specific way of working. In such an environment, process mining could be used to gain insight into the actual process
a systems logs all transactions but doesn’t (completely) enforce a specific way of working. In such an environment, process mining could be used to gain insight into the actual process
a systems logs all transactions but doesn’t (completely) enforce a specific way of working. In such an environment, process mining could be used to gain insight into the actual process
Cite the background knowledge
How do we represent a Petri net as a Logic Programming?
How do we represent a Petri net as a Logic Programming?
How do we represent a Petri net as a Logic Programming?
How do we represent a Petri net as a Logic Programming?
How do we represent a Petri net as a Logic Programming?
How do we represent a Petri net as a Logic Programming?
How do we represent a Petri net as a Logic Programming?
How do we represent a Petri net as a Logic Programming?
How do we represent a Petri net as a Logic Programming?
How do we represent a Petri net as a Logic Programming?
How do we represent a Petri net as a Logic Programming?
How do we represent a Petri net as a Logic Programming?
How do we represent a Petri net as a Logic Programming?
How do we represent a Petri net as a Logic Programming?
How do we represent a Petri net as a Logic Programming?
How do we represent a Petri net as a Logic Programming?
How do we represent a Petri net as a Logic Programming?
.
.
How do we represent a Petri net as a Logic Programming?
How do we represent a Petri net as a Logic Programming?
How do we represent a Petri net as a Logic Programming?
How do we represent a Petri net as a Logic Programming?
How do we represent a Petri net as a Logic Programming?
How do we represent a Petri net as a Logic Programming?
How do we represent a Petri net as a Logic Programming?
How do we represent a Petri net as a Logic Programming?
How do we represent a Petri net as a Logic Programming?
How do we represent a Petri net as a Logic Programming?
How do we represent a Petri net as a Logic Programming?
How do we represent a Petri net as a Logic Programming?
How do we represent a Petri net as a Logic Programming?