Presentation ad EDOC 2019 on monitoring multi-perspective business constraints accounting for time and data, with a specific focus on the (unsolvable in general) problem of conflict detection.
2. Process Mining
ting events to model
ential for process mining
process model
Replay
elemen
event log
Play-In
Play-Out
insights
3. Replay: Connecting events to
elements is essential for proc
event log process model
Play-In
event logprocess model
Play-Out
Replay
• extended model
showing times,
elements is essential for pro
event log process model
Play-In
event logprocess model
Play-Out
Replay
• extended model
showing times,
frequencies, etc.
• diagnostics
• predictions
event log process model
Play-In
event logprocess model
Play-Out
event log process model
Replay
• extended model
showing times,
frequencies, etc.
• diagnostics
• predictions
• recommendations
Play in
Play out
Replay
Process Mining
9. Declare
• A constraint-based extensible language
for flexible process modeling
• An execution engine for constraint-based
processes
http://www.win.tue.nl/declare/
• Originally proposed by Pesic and van der
Aalst
• Formalized by Pesic and van der Aalst,
and by _
11. …
…
…
RV-LTL Truth Values
Refined analysis of the “truth
value” of a constraint, looking into
(all) possible futures
Consider a partial trace t, and a
constraint C
t
C
satisfied?
……
C
satisfied?
12. RV-LTL Truth Values
C is (permanently) satisfied if t
satisfies C and no matter how t is
extended, C will stay satisfied
C is possibly satisfied if t satisfies C
but there is a continuation of t that
violates C
…
…
t
…
…
…
t
13. RV-LTL Truth Values
C is possibly violated if t violates C
but there is a continuation that leads
to satisfy C
C is (permanently) violated if t
violates C and no matter how t is
extended, C will stay violated
t
…
…
…
…
…
27. Event Payload
Events carry a payload: timestamp + data!
Basis for:
• Data-related conditions
• Event correlation
• Metric time constraint
Clear when looking at monitoring results:
start
poss.
sata b
poss.
viol
a a
poss.
sat
b
36. Monitoring
individual constraints
2 pattern-matching functions:
• Check whether an event satisfies a data condition.
• Check whether an event satisfies a temporal condition.
For each constraint template, 5 “status update” functions:
• Opening: invoked when the trace starts
• Closing: invoked when the trace ends
• Fulfillment, violation, activation: invoked for each
processed event
Aggregation table to determine the overall RV-LTL state
depending on #a, #p, #f, #v.
46. Conflicts are though
Much more convoluted now! How much?
Key observations:
• MP-Declare calls for first-order LTL/MTL over finite traces.
• Determining conflicts and satisfiability are inter reducible
(just encode the trace as a formula).
Hence:
• Counting/arithmetic constraint? undecidable.
• Correlation constraints? undecidable.
Becomes decidable if we just have one correlation variable
(but still non-primitive recursive).
• …
47. Our approach
Pragmatic: fix assumptions and aim at an effective
tooling support.
• We tackle numeric constraints (no arithmetic).
• We do not consider metric time constraint.
• We consider conflicts arising from pairs of
constraints.
• We use ILP to check for conflicts.
49. a b
[T.x = A.x]
c b
[T.x > 8]
a
x=5
Detecting pair conflicts
with ILP
50. a b
[T.x = A.x]
c b
[T.x > 8]
a
x=5
x = 5
b
Detecting pair conflicts
with ILP
ILP problem
b
51. a b
[T.x = A.x]
c b
[T.x > 8]
a
x=5
b
viol with
x > 8
c
x = 5
ILP problem
Detecting pair conflicts
with ILP
bb
52. b
a b
[T.x = A.x]
c b
[T.x > 8]
a
x=5
b
viol with
x > 8
c
x = 5
ILP problem
Detecting pair conflicts
with ILP
b
53. b
a b
[T.x = A.x]
c b
[T.x > 8]
a
x=5
b
viol with
x > 8
c
x = 5
x < 8
ILP problem
Detecting pair conflicts
with ILP
b
54. b
a b
[T.x = A.x]
c b
[T.x > 8]
a
x=5
b
viol with
x > 8
a
x=10
c
Detecting pair conflicts
with ILP
x = 5
x < 8
ILP problem
b
55. bb
a b
[T.x = A.x]
c b
[T.x > 8]
a
x=5
b
viol with
x > 8
a
x=10
c
Detecting pair conflicts
with ILP
x = 5
x < 8
ILP problem
x = 10
ILP problem
bb
56. bb
a b
[T.x = A.x]
c b
[T.x > 8]
a
x=5
b
viol with
x > 8
a
x=10
c
Detecting pair conflicts
with ILP
x = 5
x < 8
ILP problem
x = 10
ILP problem
bb
57. bb
a b
[T.x = A.x]
c b
[T.x > 8]
a
x=5
b
viol with
x > 8
a
x=10
c
Detecting pair conflicts
with ILP
x = 5
x < 8
ILP problem
x = 10
x < 8
ILP problem
58. bb
a b
[T.x = A.x]
c b
[T.x > 8]
a
x=5
b
viol with
x > 8
a
x=10
c
Detecting pair conflicts
with ILP
x = 5
x < 8
ILP problem
x = 10
x < 8
ILP problem
bb
59. More in general…
Consider data conditions in disjunctive normal form for
positive constraints, conjunctive normal form for negative.
For each processed event, and monitored constraint:
•If the constraint is “positive” and gets activated, expecting
a future event occurrence…
•for each target condition disjunct, create an ILP.
•If the constraint is “negative” and currently active,
forbidding a future event occurrence…
•For each target condition conjunct and each ILP, create
a dedicated ILP including all negated atomic constraints
•For each group of ILP problems: if all unsat, report conflict
on the two contributing constraints.
60. More in general…
Consider data conditions in disjunctive normal form for
positive constraints, conjunctive normal form for negative.
For each processed event, and monitored constraint:
•If the constraint is “positive” and gets activated, expecting
a future event occurrence…
•for each target condition disjunct, create an ILP.
•If the constraint is “negative” and currently active,
forbidding a future event occurrence…
•For each target condition conjunct and each ILP, create
a dedicated ILP including all negated atomic constraints
•For each group of ILP problems: if all unsat, report conflict
on the two contributing constraints.
Enough for pair
conflicts:
only emerge from direct
interaction between
“forward-looking” pairs
of a positive and
negative constraint.
66. Implementation
Operational support plug-in for ProM.
• lpsolve as external ILP solver (direct invocation from
Java).
Experimented with 10 constraints over BPI Challenge 2011
event data: immediate real-time feedback.
67. Implementation
Operational support plug-in for ProM.
• lpsolve as external ILP solver (direct invocation from
Java).
Experimented with 10 constraints over BPI Challenge 2011
event data: immediate real-time feedback.
68. Implementation
Operational support plug-in for ProM.
• lpsolve as external ILP solver (direct invocation from
Java).
Experimented with 10 constraints over BPI Challenge 2011
event data: immediate real-time feedback.
69. Conclusion
Need of combining multiple perspectives in constraint
monitoring.
Effective technique for doing so…
… with limited support for constraint conflict.
-> inherently difficult problem
Future work: push the envelope!
• N-ary conflicts with various choices for data
conditions.
• Decidability boundaries.
• Effective implementation (ongoing effort with Alloy).