Presentation is loading. Please wait.

Presentation is loading. Please wait.

Decomposing Data-aware Conformance Checking Massimiliano de Leoni, Jorge Munoz-Gama, Josep Carmona, Wil van der Aalst PAGE 0.

Similar presentations


Presentation on theme: "Decomposing Data-aware Conformance Checking Massimiliano de Leoni, Jorge Munoz-Gama, Josep Carmona, Wil van der Aalst PAGE 0."— Presentation transcript:

1 Decomposing Data-aware Conformance Checking Massimiliano de Leoni, Jorge Munoz-Gama, Josep Carmona, Wil van der Aalst PAGE 0

2 (a; {A = 3000;R = Michael; E = Pete}); (b; {V = OK;E = Sue}); (c; {I = 530;D = OK;E = Sue}); (f; {E = Pete}); Example: A Credit Institute PAGE 1 For such a credit amount, should be interest <450 «Sue» not authorized to perform b: is not Assistant Activity h hasn’t been executed: D cannot be OK (a; {A = 3000;R = Michael; E = Pete}); (b; {V = OK;E = Pete}); (c; {I = 530;D = OK;E = Sue}); (d, {I = 599; D = NOK; E = Sue}); (f; {E = Pete}); (a; {A = 3000;R = Michael; E = Pete}); (b; {V = OK;E = Pete}); (c; {I = 530;D = OK;E = Sue}); (d, {I = 599; D = NOK; E = Sue}); (f; {E = Pete}); (a; {A = 5001;R = Michael; E = Pete}); (b; {V = OK;E = Pete}); (c; {I = 530;D = NOK;E = Sue}); (f; {E = Pete}); (a; {A = 5001;R = Michael; E = Pete}); (b; {V = OK;E = Pete}); (c; {I = 530;D = NOK;E = Sue}); (f; {E = Pete}); Activity d should have occurred, since amount<5000

3 Petri Net with Data : Variables and Read/Write Operations PAGE 2 Variables Write Operations Read Operations

4 Binding A binding is a triplet (t,r,w) where t is the transition that fires r: V  U is the variables that are read along with the values −dom(r) is the set of read variables −r(v) is the value read for variable v w: V  U is the variables that are written along with the values −dom(w) is the set of read variables −w(v) is the value read for variable v PAGE 3

5 A Sequence of bindings PAGE 4 Necessary condition for a binding (t,r,w): dom(r) and dom(w) coincides with the expected read and write operations.

6 Each transition is associated with all valid bindings PAGE 5 TransitionGuard Credit Request -- Verify 0.1 * r(A) < w(I) < 0.2 * r(A) Assessment r(V) = true Register Negative Verification r(V) = false AND w(D) = false Inform Requester -- Register Loan Rejection r(D) = false Open Credit r(D) = true

7 Alignments PAGE 6 Move in both without incorrect write operations Move in both with incorrect write operations Move in log Move in process

8 Cost of alignments Each move is associated with a cost Cost of alignment is the sum of the costs of its moves : Cost of reading/writing a wrong value 3 2 3 2 3 2 3 2 3 3 1 2 1 2 2 2 2 2 3 2 3 2 3 2 : Cost of “move on log” : Cost of not writing or reading a variable : Cost of “move on model”

9 Cost of alignments: some examples 8 10 An optimal alignment: an alignment with the lowest cost

10 Process: S – A – C – E – A – B - F Process: S {z=1, y=0} – A{x=10} – C{y=11} – E – A{x=3} – B{y=13} - F Finding optimal alignments: Approach 1 1.Computing the control-flow alignment using existing techniques (the «Arya» technique) PAGE 9 Log: S {z=10,y=0} – A{x=1} – C{y=11} – E – A{x=3} – B{y=13} - 2.Enriching the alignment with the data operations. The alignment is enriched, thus minimizing the cost of the alignment Naturally formulated as an Mixed Integer Linear Program M. de Leoni, W.M.P. van der Aalst: Aligning event logs and process models for multi-perspective conformance checking: An approach based on integer linear programming. Proceedings of BPM 2013

11 Finding optimal alignments: Approach 2 PAGE 10 Process: a b Log: (a; {A = 3000;R = Michael; E = Pete}); – (b; {V = NOK; E = Sue}); Process: (a; {A = 3000;R = Michael; E = Pete}); – (b; {V = NOK; E = Sue}); F. Mannhardt, M. de Leoni, H. Reijers, W.M.P. van der Aalst: Balanced Multi-Perspective Checking of Process Conformance. Computing Journal, Springer (under review)

12 Finding an optimal alignments: complexity Finding an optimal alignments is exponential on the size of the model, i.e. the number of activities and data variables. IDEA: Divide-and-conquer approach Petri Net with Data is decomposed into smaller fragments that are checked separetely. If the decomposition is valid −Any trace is fitting the entire model if and only if it fits all smaller fragments. PAGE 11 t1 t2 t3 t4 t6 t5 t1 t2 t3 t4 t6 t5

13 Valid decomposition without data The following can only appear in precisely one fragment: 1.Places 2.Invisible transitions 3.Visible transitions with the same label (name) 4.Arcs Visible transitions with unique label may appear in multiple fragments Each variable appears in precisely one fragment Each transition shared among fragments may read/write different variables The union of the fragments is the entire model PAGE 12 W.M.P. van der Aalst: Decomposing petri nets for process mining: A generic approach. Distributed and Parallel Databases 31(4) (2013)

14 Valid decomposition with data The following can only appear in precisely one fragment: 1.Places 2.Invisible transitions 3.Visible transitions with the same label (name) 4.Arcs Visible transitions with unique label may appear in multiple fragments Each variable appears in precisely one fragment Each transition shared among fragments may read/write different variables The union of the fragments is the entire model PAGE 13

15 Instantation of Valid Decompositions Different strategies are possible. We propose two strategies extending what exists for the data-unaware case: Maximal Decomposition SESE-based decomposition PAGE 14

16 Maximal Decomposition Construction the smallest components that satisfy the Valid Decomposition Definition Variables and Places are mutually exclusive

17 SESE-based Algorithm PAGE 16

18 Example of the SESE-based Algorithm (k = 2) PAGE 17

19 Implementation Available in the package DataConformanceChecker PAGE 18

20 Experiments Generating different event logs with 5000 traces with a different average trace length This ensured by enforcing a larger number of credit renegotiations 20% of the transition firings are so as to not satisfy the guards PAGE 19

21 Results: an exponential reduction of the computation time PAGE 20

22 Projection on the model PAGE 21 #correct(t,DPN) = number of moves in both without incorrect write operations for t in the alignments between each log trace and DPN #total(t,DPN) = number of moves for t in the alignments of each log trace and DPN

23 Projection on the model based on decomposition is an approximation! PAGE 22 t1 t2 t3 t4 t6 t5 t1 t2 t3 t4 t6 t5 No decompositionDecomposition Move in both without incorrect write operations for t Move in both without incorrect write operations for t in all fragments containing t Move in both with incorrect write operations for t Move in log Move in move The same move for t in at least one of fragments containing t

24 Projection on the model (without decomposition) PAGE 23 With decomposition Without decomposition

25 Conclusion Finding an alignment is exponential in the model size To speed the computation: 1.Decompose the model in submodels 2.Alignment each trace with each submodel The decomposition needs to be valid: Any trace is fitting the entire model if and only if it fits all smaller fragments. A more extensive evaluation is needed Using real processes Synthetic data referring to models with dozens of transitions PAGE 24


Download ppt "Decomposing Data-aware Conformance Checking Massimiliano de Leoni, Jorge Munoz-Gama, Josep Carmona, Wil van der Aalst PAGE 0."

Similar presentations


Ads by Google