Download presentation
Presentation is loading. Please wait.
1
History-Dependent Petri Nets Kees van Hee, Alexander Serebrenik, Natalia Sidorova, Wil van der Aalst ?
2
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!
3
Goal
4
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 :
5
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))
6
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.
7
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.
8
Token history vs. global history Suppose the global history is aabc. What are token histories? Token on p and q might share the event with label a, but not necessarily. Corollary: token history cannot be reconstructed from the global history. Suppose the marking of the token history net is [(p,H 1 )] + [(p,H 2 )] + [(q,H 3 )] + [(q,H 4) ] where H 1 = {e 1,e 2 }, {e 1 ≤ e 2 }, {(e 1,a),(e 2,b)} , H 2 = {e 4,e 5 }, {e 4 ≤ e 5 }, {(e 4,a),(e 5,b)} , H 3 = {e 1,e 3 }, {e 1 ≤ e 3 }, {(e 1,a),(e 3,c)} , H 4 = {e 4,e 6 }, {e 4 ≤ e 6 }, {(e 4,a),(e 6,c)} . 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.
9
However we can simulate global history by token history Each transition t is connected to extra place p. Initially with the empty history: the token history of p is the global history t p
10
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.
11
Guards (#A) ρ (#B + k )
12
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
13
Let ( N,m ) be a Petri net with n transitions and y Z n. The y -distance of ( N,m ) is D (( N, m ), y )) = y T · 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) < Bounded synchronization distance
14
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.
15
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.
16
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?
17
symbols and constructs * 1 (o) 2 (o) min (t) max (t) a* t p : t p :
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.