Monitoring Business Metaconstraints Based on LTL & LDL for - - PowerPoint PPT Presentation

monitoring business metaconstraints based on ltl ldl for
SMART_READER_LITE
LIVE PREVIEW

Monitoring Business Metaconstraints Based on LTL & LDL for - - PowerPoint PPT Presentation

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


slide-1
SLIDE 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

slide-2
SLIDE 2

Process Mining

Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 2 / 26

slide-3
SLIDE 3

Process Mining

Classicaly applied to post-mortem data.

Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 3 / 26

slide-4
SLIDE 4

Operational Decision Support

Extension of classical process mining to current, live data.

information system(s)

current data

“world”

people machines

  • rganizations

business processes documents historic data resources/

  • rganization

data/rules control-flow de jure models resources/

  • rganization

data/rules control-flow de facto models provenance explore predict recommend detect check compare promote discover enhance diagnose

cartography navigation auditing event logs models

“pre mortem” “post mortem”

Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 4 / 26

slide-5
SLIDE 5

Detecting Deviations

Auditing: find deviations between observed and expected behaviors. The

  • he

ee l.

current data historic data resources/

  • rganization

data/rules control-flow de jure models resources/

  • rganization

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

slide-6
SLIDE 6

Detecting Deviations

Auditing: find deviations between observed and expected behaviors. The

  • he

ee l.

current data historic data resources/

  • rganization

data/rules control-flow de jure models resources/

  • rganization

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

slide-7
SLIDE 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

slide-8
SLIDE 8

Boring Answer: Apparently Not

Reactive Monitor

  • Checks the partial trace
  • bserved 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

slide-9
SLIDE 9

Boring Answer: Apparently Not

Reactive Monitor

  • Checks the partial trace
  • bserved 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

slide-10
SLIDE 10

Prophetic Answer: YES

Proactive Monitor

  • Checks the partial trace observed so far.
  • Looks into the future(s).

take-off reach re-route danger take-off danger

Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 8 / 26

slide-11
SLIDE 11

Prophetic Answer: YES

Proactive Monitor

  • Checks the partial trace observed so far.
  • Looks into the future(s).

take-off reach re-route danger take-off danger

Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 8 / 26

slide-12
SLIDE 12

Prophetic Answer: YES

Proactive Monitor

  • Checks the partial trace observed so far.
  • Looks into the future(s).

take-off reach re-route danger take-off danger

Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 8 / 26

slide-13
SLIDE 13

Prophetic Answer: YES

Proactive Monitor

  • Checks the partial trace observed so far.
  • Looks into the future(s).

✷(take-off → ✸reach) ∧ ¬(✸(reach) ∧ ✸(re-route)) ∧ ✷(danger → ✸re-route) take-off danger

Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 8 / 26

slide-14
SLIDE 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

aNot Büchi automata! Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 9 / 26

slide-15
SLIDE 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

aNot 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

slide-16
SLIDE 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

slide-17
SLIDE 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

slide-18
SLIDE 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

slide-19
SLIDE 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

slide-20
SLIDE 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

slide-21
SLIDE 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

slide-22
SLIDE 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

slide-23
SLIDE 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

slide-24
SLIDE 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

slide-25
SLIDE 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

slide-26
SLIDE 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

slide-27
SLIDE 27

How is This Magic Possible?

Starting point: ldlf formula ϕ and its RV semantics.

Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 15 / 26

slide-28
SLIDE 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

slide-29
SLIDE 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

slide-30
SLIDE 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

slide-31
SLIDE 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

slide-32
SLIDE 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

slide-33
SLIDE 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∗; 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
  • ∗; (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

slide-34
SLIDE 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∗; 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
  • ∗; (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

slide-35
SLIDE 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

slide-36
SLIDE 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¬ϕcancend ∧ ¬prefϕcancend) → ϕdopay

Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 19 / 26

slide-37
SLIDE 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¬ϕcancend ∧ ¬prefϕcancend) → ϕ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

slide-38
SLIDE 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

slide-39
SLIDE 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

slide-40
SLIDE 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

slide-41
SLIDE 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

slide-42
SLIDE 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

slide-43
SLIDE 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

slide-44
SLIDE 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

slide-45
SLIDE 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

slide-46
SLIDE 46

Marco Montali (unibz) Monitoring Business Metaconstraints BPM 2014 26 / 26