Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
History-Dependent Petri Nets Kees van Hee, Alexander Serebrenik, Natalia Sidorova, Wil van der Aalst ? Motivation Choices made in processes often depend on the previous events – process history Process history is often available from logs Encoding history-based decisions into the net structure can be • complex, • error-prone, and • decreasing the readability We do not model the whole state of a system, but only some aspects of it! a a' b b' Goal History logic History: a partially ordered set of labeled events E, ≤ ,λ, where λ: E → Σ Operations on history: extension with an event union of histories Given a set of labels Σ and an event variable x, we define a formula φ, a term q and a label expression l : Examples of history guards Short-hand notations: #S – the number of events with a label from set S, x: φ ≡ (#x: φ)>0 x: φ ≡ (#x: φ) =(#x: true) Examples: #{a} < #{b} x: (λ(x) = a y: (λ(y) = b x ≤ y)) Token history nets Tokens are colored with histories. Transitions have guards evaluated on the union of the histories of consumed tokens. Tokens produced by a transition firing are colored with the union of histories of the consumed tokens extended by the firing event. b a p d c q #{a}=1 Global history nets History is available to all transitions. Guards are evaluated on this history. Transition firings extend the history with a corresponding event. Global history nets are Turing complete: Take a net where transitions have unique labels. Then guards of the type allow to simulate inhibitor arcs. Token history vs. global history b a Suppose the marking of the token history net is Suppose the global history is aabc. [(p,HWhat 1)] + [(p,H 2)] + [(q,H 3)] + [(q,H4)] where are token histories? H1 =Token {e1,eon ≤ eq2}, {(e1,a),(e p 1and might share2,b)}, the event 2}, {e a,4 but H2 =with {e4label ,e5}, {e ≤ e5not }, {(enecessarily. 4,a),(e5,b)}, p d c q #{a}=1 H3 = {e1,e3}, {e1 ≤ e3}, {(e1,a),(e3,c)}, Corollary: token history cannot be reconstructed H4 = {e4,e6}, {e4 ≤ e6}, {(e4,a),(e6,c)}. from the global history. What is the global history? It might be abcabc, or aabbcc, or abacbc, etc. Corollary: the global history cannot be reconstructed from the token histories. However we can simulate global history by token history Each transition t is connected to p extra place p. Initially with the empty history: the token history of p is the global history t Counting Formulae Guards A counting formula φ is defined by Nets with counting formulas are Turing complete (remember: ) So we provide a translation of this class into bisimilar inhibitor nets. Guards (#A) ρ (#B + k) g(t) ... a A t ... b B (a) Transition with guard g(t) ... a' ... ... a A’ s' t s invariant: max{0, #A-#B-k -1} ... b' ... B’ (b) g(t) = #A ≤#B+k removed s initial: 1 ... B ... A invariant: max{0, #A-#B+1} invariant: max{0,#B-#A+k +1} b a A’ A initial: k +1 a' b' k+1 t s’ invariant: max{0,#B-#A -1} b ... B’ B (c) g(t) = #A ≥ #B+k removed Construction for compound formulae •Consider a guard g(t) for transition t in disjunctive normal form • ¬φ is trivial • φ1 φ2: test arcs for each formulae to t • φ1 φ2: duplicate t into t and t’ each with one test arc Bounded synchronization distance Let (N,m) be a Petri net with n transitions and y Zn. The y-distance of (N,m) is D((N,m),y)) = yT · sup where is the set of all executable finite firing sequences. Let A and B be two label sets and y(A,B) is a vector with 1 for transitions labeled by an A label, -1 for B labels and 0 for the rest. The y(A,B) distance is the max difference in the number of the firings of A-transitions and the number of the firings of B-transitions. There is an efficient algorithm to determine if the distance is finite! When the guards are of the form #A #B + k and y(A,B) < , we can construct a Petri net bisimilar to the global history net. Similarly #A #B + k and y(B,A) < LTL guards without Next • LTL formulae can be translated into BÜchi automata • LTL-guards are evaluated on finite traces (history!) they can be translated to finite deterministic automata. • Synchronous product of the Petri net with these automata yields a classical Petri net. Conclusion Incorporating history into a model allows to separate process information from safety constraints. History nets are Turing complete. Still, some subclasses can be translated to classical PNs. For some other subclasses a translation to inhibitor nets is proposed. Future Work The use of tokens nets for component-based systems. • Need for additional operations like projection and intersection of histories Transformation of other subclasses to PNs. What about Presburger logic? symbols and constructs * min(t) max(t) a* t p: t p: • 1(o) 2(o)