Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

BPM 2014 - Montali - Monitoring Business Metaconstraints Based on LTL & LDL for Finite Traces

145 views

Published on

Presentation of the paper "Monitoring Business Metaconstraints Based on LTL & LDL for Finite Traces" at the 12th International Conference on Business Process Management (BPM 2014).

  • Be the first to comment

  • Be the first to like this

BPM 2014 - Montali - Monitoring Business Metaconstraints Based on LTL & LDL for Finite Traces

  1. 1. Monitoring Business Metaconstraints Based on LTL & LDL for Finite Traces Marco Montali KRDB Research Centre for Knowledge and Data Free University of Bozen-Bolzano Joint work with: G. De Giacomo, R. De Masellis, M. Grasso, F.M. Maggi BPM 2014 Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 1 / 26
  2. 2. Process Mining Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 2 / 26
  3. 3. Process Mining Classicaly applied to post-mortem data. Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 3 / 26
  4. 4. Operational Decision Support Extension of classical process mining to current, live data. Refined process mining framework PAGE information system(s) current data “world”people machines organizations business processes documents historic data resources/ organization data/rules control-flow de jure models resources/ organization data/rules control-flow de facto models provenance explore predict recommend detect check compare promote discover enhance diagnose cartographynavigation auditing event logs models “pre mortem” “post mortem” Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 4 / 26
  5. 5. Detecting Deviations Auditing: find deviations between observed and expected behaviors. e o e ee . current data historic data resources/ organization data/rules control-flow de jure models resources/ organization data/rules control-flow de facto models detect check compare promote auditing event logs models “pre mortem” “post mortem” Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 5 / 26
  6. 6. Detecting Deviations Auditing: find deviations between observed and expected behaviors. e o e ee . current data historic data resources/ organization data/rules control-flow de jure models resources/ organization data/rules control-flow de facto models detect check compare promote auditing event logs models “pre mortem” “post mortem” Our setting: Model Declarative business constraints. • E.g., Declare. Monitoring • Online, evolving observations. • Prompt deviation detection. Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 5 / 26
  7. 7. On Promptness Flight routes (thanks Claudio!) • When the airplane takes off, it must eventually reach the destination airport. • When the airplane is re-routed, it cannot reach the destination airport anymore. • If a dangerous situation is detected at the destination, airplane must be re-routed. take-off reach re-route danger Question Consider trace: take-off danger Is there any deviation? Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 6 / 26
  8. 8. Boring Answer: Apparently Not Reactive Monitor • Checks the partial trace observed so far. • Suspends the judgment if no conclusive answer can be given. take-off reach re-route danger take-off danger Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 7 / 26
  9. 9. Boring Answer: Apparently Not Reactive Monitor • Checks the partial trace observed so far. • Suspends the judgment if no conclusive answer can be given. take-off reach re-route danger take-off danger Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 7 / 26
  10. 10. Prophetic Answer: YES Proactive Monitor • Checks the partial trace observed so far. • Looks into the future(s). Ciao Marco Montali (unibz) Monitoring take-off reach re-route danger take-off danger Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 8 / 26
  11. 11. Prophetic Answer: YES Proactive Monitor • Checks the partial trace observed so far. • Looks into the future(s). Ciao Marco Montali (unibz) Monitoring take-off reach re-route danger take-off danger Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 8 / 26
  12. 12. Prophetic Answer: YES Proactive Monitor • Checks the partial trace observed so far. • Looks into the future(s). Ciao Marco Montali (unibz) Monitoring take-off reach re-route danger take-off danger Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 8 / 26
  13. 13. Prophetic Answer: YES Proactive Monitor • Checks the partial trace observed so far. • Looks into the future(s). Ciao Marco Montali (unibz) Monitoring 2(take-off → 3reach) ∧ ¬(3(reach) ∧ 3(re-route)) ∧ 2(danger → 3re-route) take-off danger Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 8 / 26
  14. 14. Logics on Finite Traces Goal Reasoning on finite partial traces and their finite suffixes. Typical Solution: ltlf Adopt LTL on finite traces and corresponding techniques based on Finite-State Automata.a a Not Büchi automata! Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 9 / 26
  15. 15. Logics on Finite Traces Goal Reasoning on finite partial traces and their finite suffixes. Typical Solution: ltlf Adopt LTL on finite traces and corresponding techniques based on Finite-State Automata.a a Not Büchi automata! Huge difference, often neglected, between LTL on finite and infinite traces! See [AAAI2014] Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 9 / 26
  16. 16. Problem #1: Monitoring Proactive monitoring requires to refine the standard ltlf semantics. RV-LTL Given an LTL formula ϕ: • [ϕ]RV = true ; OK; • [ϕ]RV = false ; BAD; • [ϕ]RV = temp_true ; OK now, could become BAD in the future; • [ϕ]RV = temp_false ; BAD now, could become OK in the future. Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 10 / 26
  17. 17. Problem #1: Monitoring Proactive monitoring requires to refine the standard ltlf semantics. RV-LTL Given an LTL formula ϕ: • [ϕ]RV = true ; OK; • [ϕ]RV = false ; BAD; • [ϕ]RV = temp_true ; OK now, could become BAD in the future; • [ϕ]RV = temp_false ; BAD now, could become OK in the future. However. . . • Typically studied on infinite traces: detour to Büchi automata. • Only ad-hoc techniques on finite traces [BPM2011]. Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 10 / 26
  18. 18. Problem #2: Contextual Business Constraints Need for monitoring constraints only when specific circumstances hold. • Compensation constraints. • Contrary-do-duty expectations. • . . . Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 11 / 26
  19. 19. Problem #2: Contextual Business Constraints Need for monitoring constraints only when specific circumstances hold. • Compensation constraints. • Contrary-do-duty expectations. • . . . However. . . • Cannot be systematically captured at the level of constraint specification. Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 11 / 26
  20. 20. Suitability of the Constraint Specification Language ltlf FOL over finite traces Star-free regular expressions Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 12 / 26
  21. 21. Suitability of the Constraint Specification Language ltlf MSOL over finite traces FOL over finite traces Regular expressions Star-free regular expressions Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 12 / 26
  22. 22. Suitability of the Constraint Specification Language ltlf MSOL over finite traces FOL over finite traces Regular expressions Star-free regular expressions pspace complexity Nondet. finite-state automata (nfa) • ltlf : declarative, but lacking expressiveness. • Regular expressions: rich formalism, but low-level. (t)ake-off (r)each ((r|other)∗ (t(t|other)∗ r)(r|other)∗ )∗ Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 12 / 26
  23. 23. Suitability of the Constraint Specification Language ldlf Linear Dynamic Logic over finite traces ltlf MSOL over finite traces FOL over finite traces Regular expressions Star-free regular expressions pspace complexity Nondet. finite-state automata (nfa) • ltlf : declarative, but lacking expressiveness. • Regular expressions: rich formalism, but low-level. (t)ake-off (r)each ((r|other)∗ (t(t|other)∗ r)(r|other)∗ )∗ • ldlf : combines the best of the two! Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 12 / 26
  24. 24. The Logic ldlf [De Giacomo&Vardi,IJCAI13] Merges ltlf with regular expressions, through the syntax of Propositional Dynamic Logic (PDL): ϕ ::= φ | tt | ff | ¬ϕ | ϕ1 ∧ ϕ2 | ρ ϕ | [ρ]ϕ ρ ::= φ | ϕ? | ρ1 + ρ2 | ρ1; ρ2 | ρ∗ ϕ: ltlf part; ρ: regular expression part. They mutually refer to each other: • ρ ϕ states that, from the current step in the trace, there is an execution satisfying ρ such that its last step satisfies ϕ. • [ρ]ϕ states that, from the current step in the trace, all execution satisfying ρ are such that their last step satisfies ϕ. • ϕ? checks whether ϕ is true in the current step and, if so, continues to evaluate the remaining execution. Of special interest is end = [true?]ff , to check whether the trace has been completed (the remaining trace is the empty one). Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 13 / 26
  25. 25. Runtime ldlf Monitors Check partial trace π = e1, . . . , en against formula ϕ. From ad-hoc techniques . . . e1 . . . en |= ϕ RV =    temp_true temp_false true false Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 14 / 26
  26. 26. Runtime ldlf Monitors Check partial trace π = e1, . . . , en against formula ϕ. From ad-hoc techniques . . . e1 . . . en |= ϕ RV =    temp_true temp_false true false . . . To standard techniques e1 . . . en |=    ϕtemp_true ϕtemp_false ϕtrue ϕfalse Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 14 / 26
  27. 27. How is This Magic Possible? Starting point: ldlf formula ϕ and its RV semantics. Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 15 / 26
  28. 28. How is This Magic Possible? Starting point: ldlf formula ϕ and its RV semantics. 1. Good and bad prefixes • Lposs_good(ϕ) = {π | ∃π .ππ ∈ L(ϕ)} • Lnec_good(ϕ) = {π | ∀π .ππ ∈ L(ϕ)} • Lnec_bad(ϕ) = Lnec_good(¬ϕ) = {π | ∀π .ππ ∈ L(ϕ)} Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 15 / 26
  29. 29. How is This Magic Possible? Starting point: ldlf formula ϕ and its RV semantics. 1. Good and bad prefixes • Lposs_good(ϕ) = {π | ∃π .ππ ∈ L(ϕ)} • Lnec_good(ϕ) = {π | ∀π .ππ ∈ L(ϕ)} • Lnec_bad(ϕ) = Lnec_good(¬ϕ) = {π | ∀π .ππ ∈ L(ϕ)} 2. RV-LTL values as prefixes • π |= [ϕ]RV = true iff π ∈ Lnec_good(ϕ); • π |= [ϕ]RV = false iff π ∈ Lnec_bad(ϕ); • π |= [ϕ]RV = temp_true iff π ∈ L(ϕ) Lnec_good(ϕ); • π |= [ϕ]RV = temp_false iff π ∈ L(¬ϕ) Lnec_bad(ϕ). Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 15 / 26
  30. 30. How is This Black Magic Possible? 3. Prefixes as regular expressions Every nfa can be expressed as a regular expression. ; We can build regular expression prefϕ s.t. L(prefϕ) = Lposs_good(ϕ). Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 16 / 26
  31. 31. How is This Black Magic Possible? 3. Prefixes as regular expressions Every nfa can be expressed as a regular expression. ; We can build regular expression prefϕ s.t. L(prefϕ) = Lposs_good(ϕ). 4. Regular expressions can be immersed into ldlf Hence: π ∈ Lposs_good(ϕ) iff π |= prefϕ end π ∈ Lnec_good(ϕ) iff π |= prefϕ end ∧ ¬ pref¬ϕ end Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 16 / 26
  32. 32. How is This Black Magic Possible? 3. Prefixes as regular expressions Every nfa can be expressed as a regular expression. ; We can build regular expression prefϕ s.t. L(prefϕ) = Lposs_good(ϕ). 4. Regular expressions can be immersed into ldlf Hence: π ∈ Lposs_good(ϕ) iff π |= prefϕ end π ∈ Lnec_good(ϕ) iff π |= prefϕ end ∧ ¬ pref¬ϕ end 5. RV-LTL can be immersed into ldlf ! • π |= [ϕ]RV = true iff prefϕ end ∧ ¬ pref¬ϕ end; • π |= [ϕ]RV = false iff pref¬ϕ end ∧ ¬ prefϕ end; • π |= [ϕ]RV = temp_true iff π |= ϕ ∧ pref¬ϕ end; • π |= [ϕ]RV = temp_false iff π |= ¬ϕ ∧ prefϕ end. Ending point: 4 ldlf monitor formulae under standard semantics. Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 16 / 26
  33. 33. Monitoring declare with ldlf Step 1. Good prefixes of declare patterns. name notation pref possible RV states existence Existence 1..∗ a (a + o)∗ temp_false, true Absence 2 0..1 a o∗ + (o∗; a; o∗) temp_true, false choice Choice a −− ♦ −− b (a + b + o)∗ temp_false, true Exclusive Choice a −− −− b (a + o)∗ + (b + o)∗ temp_false, temp_true, false relation Resp. existence a •−−−− b (a + b + o)∗ temp_true, temp_false, true Response a •−−− b (a + b + o)∗ temp_true, temp_false Precedence a −−− • b o∗; (a; (a + b + o)∗)∗ temp_true, true, false negation Not Coexistence a •−−−• b (a + o)∗ + (b + o)∗ temp_true, false Neg. Succession a •−− • b (b + o)∗; (a + o)∗ temp_true, false Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 17 / 26
  34. 34. Monitoring declare with ldlf Step 1. Good prefixes of declare patterns. name notation pref possible RV states existence Existence 1..∗ a (a + o)∗ temp_false, true Absence 2 0..1 a o∗ + (o∗; a; o∗) temp_true, false choice Choice a −− ♦ −− b (a + b + o)∗ temp_false, true Exclusive Choice a −− −− b (a + o)∗ + (b + o)∗ temp_false, temp_true, false relation Resp. existence a •−−−− b (a + b + o)∗ temp_true, temp_false, true Response a •−−− b (a + b + o)∗ temp_true, temp_false Precedence a −−− • b o∗; (a; (a + b + o)∗)∗ temp_true, true, false negation Not Coexistence a •−−−• b (a + o)∗ + (b + o)∗ temp_true, false Neg. Succession a •−− • b (b + o)∗; (a + o)∗ temp_true, false Step 2. Generate ldlf monitors. • Local monitors: 1 formula for possible RV constraint state. • Global monitors: 4 RV formulae for the conjunction of all constraints. Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 17 / 26
  35. 35. One Step Beyond: Metaconstraints ldlf monitors are simply ldlf formulae. They can be combined into more complex ldlf formulae! • E.g., expressing conditional/contextual monitoring. Business metaconstraint An ldlf formula of the form Φpre → Ψexp • Φpre combines membership assertions of business constraints to their RV truth values. • Ψexp combines business constraints to be checked when Φpre holds. ldlf metaconstraint monitors • Φpre → Ψexp is a standard ldlf formula. • Hence, just reapply our technique and get the 4 ldlf monitors. Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 18 / 26
  36. 36. Compensation Constraints • An order cannot be canceled anymore if it is closed. ϕcanc = close order •−− • cancel order • If this happens, then the customer has to pay a supplement: ϕdopay = 1..∗ pay supplement • Formally: {[ϕcanc]RV = false} → ϕdopay • In ldlf : ( pref¬ϕcanc end ∧ ¬ prefϕcanc end) → ϕdopay Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 19 / 26
  37. 37. Compensation Constraints • An order cannot be canceled anymore if it is closed. ϕcanc = close order •−− • cancel order • If this happens, then the customer has to pay a supplement: ϕdopay = 1..∗ pay supplement • Formally: {[ϕcanc]RV = false} → ϕdopay • In ldlf : ( pref¬ϕcanc end ∧ ¬ prefϕcanc end) → ϕdopay Observation When the violation occurs, the compensation is monitored from the beginning of the trace: OK to “compensate in advance”. • Trace close order → pay supplement → cancel order is OK. Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 19 / 26
  38. 38. Metaconstraints Revisited Business metaconstraint with temporal consequence 1. Take Φpre and Ψexp as before. 2. Compute ρ: regular expression denoting those paths that satisfy Φpre 3. Make ρ part of the compensation: Φpre→ [ρ] Ψexp Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 20 / 26
  39. 39. Metaconstraints Revisited Business metaconstraint with temporal consequence 1. Take Φpre and Ψexp as before. 2. Compute ρ: regular expression denoting those paths that satisfy Φpre 3. Make ρ part of the compensation: Φpre→ [ρ] Ψexp Ψexp has now to be enforced after Φpre becomes true. Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 20 / 26
  40. 40. Compensation Revisited • An order cannot be canceled anymore if it is closed. ϕcanc = close order •−− • cancel order • After this happens, then the customer has to pay a supplement: ϕdopay = 1..∗ pay supplement • Formally: {[ϕcanc]RV = false}→ [re{[ϕcanc]RV =false}] ϕdopay Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 21 / 26
  41. 41. Compensation Revisited • An order cannot be canceled anymore if it is closed. ϕcanc = close order •−− • cancel order • After this happens, then the customer has to pay a supplement: ϕdopay = 1..∗ pay supplement • Formally: {[ϕcanc]RV = false}→ [re{[ϕcanc]RV =false}] ϕdopay All traces violating ϕcanc Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 21 / 26
  42. 42. From ldlf to nfa Direct calculation of nfa corresponding to ldlf formula ϕ Algorithm 1: algorithm ldlf 2nfa() 2: input ltlf formula ϕ 3: output nfa Aϕ = (2P , S, {s0}, , {sf }) 4: s0 ← {"ϕ"} single initial state 5: sf ← ∅ single final state 6: S ← {s0, sf }, ← ∅ 7: while (S or change) do 8: if (q ∈ S and q |= ("ψ"∈q) δ("ψ", Θ)) 9: S ← S ∪ {q } update set of states 10: ← ∪ {(q, Θ, q )} update transition relation Note • Standard nfa. • No detour to Büchi automata. • Easy to code. • Implemented! Auxiliary rules δ("tt", Π) = true δ("ff ", Π) = false δ("φ", Π) = true if Π |= φ false if Π |= φ (φ propositional) δ("ϕ1 ∧ ϕ2", Π) = δ("ϕ1", Π) ∧ δ("ϕ2", Π) δ("ϕ1 ∨ ϕ2", Π) = δ("ϕ1", Π) ∨ δ("ϕ2", Π) δ(" φ ϕ", Π) =    "ϕ" if last ∈ Π and Π |= φ (φ propositional) δ("ϕ", ) if last ∈ Π and Π |= φ false if Π |= φ δ(" ψ? ϕ", Π) = δ("ψ", Π) ∧ δ("ϕ", Π) δ(" ρ1 + ρ2 ϕ", Π) = δ(" ρ1 ϕ", Π) ∨ δ(" ρ2 ϕ", Π) δ(" ρ1; ρ2 ϕ", Π) = δ(" ρ1 ρ2 ϕ", Π) δ(" ρ∗ ϕ", Π) = δ("ϕ", Π) if ρ is test-only δ("ϕ", Π) ∨ δ(" ρ ρ∗ ϕ", Π) o/w δ("[φ]ϕ", Π) =    "ϕ" if last ∈ Π and Π |= φ (φ propositional) δ("ϕ", ) if last ∈ Π and Π |= φ (φ propositional) true if Π |= φ δ("[ψ?]ϕ", Π) = δ("nnf (¬ψ)", Π) ∨ δ("ϕ", Π) δ("[ρ1 + ρ2]ϕ", Π) = δ("[ρ1]ϕ", Π) ∧ δ("[ρ2]ϕ", Π) δ("[ρ1; ρ2]ϕ", Π) = δ("[ρ1][ρ2]ϕ", Π) δ("[ρ∗ ]ϕ", Π) = δ("ϕ", Π) if ρ is test-only δ("ϕ", Π) ∧ δ("[ρ][ρ∗]ϕ", Π) o/w Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 22 / 26
  43. 43. Implemented in ProM! Approach 1. Input ltlf /ldlf constraints and metaconstraints. 2. Produce the corresponding RV ldlf monitoring formulae. 3. Apply the direct algorithm and get the corresponding nfas. 4. (Incrementally) run nfas the monitored trace. Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 23 / 26
  44. 44. Connection with Colored Automata Colored Automata [BPM2011] Ad-hoc technique for monitoring ltlf formulae according to RV-LTL. 1. Color states of each local automaton according to the 4 RV-LTL truth values. 2. Combine colored automata into a global colored automaton. 000 (N)(P)(R) 001 (N)(P)r M 010 (N)(R) C 202 (N)(P)R E 320 (N)P(R) S 011 (N)r C E 321 (N)Pr S M 212 (N)R E 310 (N)(R) S E 311 (N)r S 112 R 122 PR S C S E M E E M E Why is step 1 correct? 1. Take the ltlf formula ϕ of a constraint. 2. Produce the 4 corresponding ldlf monitoring formulae. 3. Generate the 4 corresponding nfas. 4. Determinize them ; they are identical but with = acceptance states! 5. Hence they can be combined into a unique colored local dfa. Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 24 / 26
  45. 45. Conclusion • Focus on finite traces. • Avoid unneeded detour to infinite traces. • ldlf : essentially, the maximal expressive logic for finite traces with good computational properties (≡ MSO). • Monitoring is a key problem. • ldlf goes far beyond declare. • ldlf captures monitors directly as formulae. Clean. Meta-constraints. • Implemented in ProM! Future work: declarative, data-aware processes. Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 25 / 26
  46. 46. Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 26 / 26

×