Presentation is loading. Please wait.

Presentation is loading. Please wait.

*Department of Computing Science University of Newcastle upon Tyne **Institut für Informatik, Universität Augsburg Canonical Prefixes of Petri Net Unfoldings.

Similar presentations


Presentation on theme: "*Department of Computing Science University of Newcastle upon Tyne **Institut für Informatik, Universität Augsburg Canonical Prefixes of Petri Net Unfoldings."— Presentation transcript:

1 *Department of Computing Science University of Newcastle upon Tyne **Institut für Informatik, Universität Augsburg Canonical Prefixes of Petri Net Unfoldings V.Khomenko*, M.Koutny*, and W.Vogler**

2 2  investigate fundamental properties of unfoldings and their prefixes  extend the applicability of the existing techniques Motivation

3 3  all reachable states are represented  all instances of a state have the same future  infinite unfoldings are of little use for MC unfolding FSM s r r a c b d p s c b r a c b d c a b r p s – initial state Unfolding finite state machines

4 4  cut if there is a preceding instance of the same state  the prefix still contains all reachable states Complete prefix d c a b r p s – initial state s r r a c b d p s prefix

5 5  the prefix has no infinite paths, and we can apply … d c a b r p s – initial state s r r a c b d p s prefix The prefix is finite

6 6 A finitely branching, rooted, directed acyclic graph with infinitely many nodes reachable from the root has an infinite path from the root D.König: Über eine Schlußweise aus dem Endlichen ins Unendliche. Acta Litt. ac. sci. Szeged 3 (1927) 121-130 NB: branching is finite but may be unbounded! König’s lemma

7 7 unfolding Unfolding more complicated machines Problem 1: can x ever have a value other than 0 at s? x is an integer variable with the initial value 0 a: x=x+1 b: x=x-1 c: x=x+1 d: x=x s r r a c b d p s c b r a c b d c a b r p s – initial state

8 8  x is always 0 at s in the prefix  a clear mistake, e.g. a c d b  what is behind this error ? d c a b r p s – initial state X=0 s r r a c b d p s x is an integer variable with the initial value 0 a: x=x+1 b: x=x-1 c: x=x+1 d: x=x prefix Prefix – first attempt

9 9  not every execution is represented  correction: cut if there is a preceding instance of the same state with the same value of x  no complete and finite prefix in this case d c a b r p s – initial state x is an integer variable with the initial value 0 a: x=x+1 b: x=x-1 c: x=x+1 d: x=x prefix s: x=0 a c b d r: x=1 p: x=2 r: x=2 Prefix is not complete!

10 10  now the prefix is complete and finite  is it crucial that the previous machine had an infinite state space while this one has not ? d c a b r p s – initial state x is an integer variable with the initial value 0 a: x=x+1 b: x=x-1 c: x=x+1 d: x=x-1 prefix s: x=0 a c b d r: x=1 p: x=2 r: x=1 Prefix is complete correction

11 11 a: x=x+1 b: x=if (x<2) then (x-1) else x c: x=x+2 d: x=x Problem 2: can x ever be equal to 1 at s? s: x=0 r: x=3 r: x=1 a c b d s: x=0 p: x=3 b c a d s: x=3 r: x=4 p: x=5 r: x=5  this prefix is complete for Problem 2  x>1 cannot decrease, so no need to look below the leaves ! d c a b r p s Another machine with infinite state space

12 12  M is a machine with execution tree ET  Prop is a property specified on executions of M  ~ is an equivalence relation on executions  if E 1 ~E 2 then:  E 1 satisfies Prop iff E 2 satisfies Prop  for every extension E 1 ’ of E 1 there is an extension E 2 ’ of E 2 such that E 1 ’~E 2 ’  PREF is the prefix obtained thus: an execution is terminated as soon as there is a ‘smaller’ equivalent execution A generalization

13 13 Canonicity: PREF is unique Completeness: All executions in ET satisfy Prop iff all executions in PREF satisfy Prop Finiteness: PREF is finite iff the number of equivalence classes of ~ is finite Proof: Follows from König’s Lemma Properties

14 14 Prop = “there is an execution leading to a given state” E 1 ~E 2 iff both executions lead to the same state of M (variable is not present) PREF is finite as ~ has finitely many equivalence classes Application 1

15 15 Prop = “there is an execution leading to a given state of M and setting x to a given value” E 1 ~E 2 iff both executions lead to the same state of M and set x to the same value PREF is finite iff x can be set to finitely many values Note: the latter may be difficult to establish (global reasoning) Application 2

16 16 Prop = “there is an execution leading to a given state of M and setting x to a given value k” M is a machine such that if x>m>k, then no transition can set x to a value <m Note: this may be easy to establish (local reasoning) E 1 ~E 2 iff both executions lead to the same state of M AND they set x EITHERto the same value m PREF is always finite Application 3

17 17  Unfolding based techniques can be execution- oriented rather than state-oriented  By choosing suitable ~ we may finely tune the construction of the prefix to match the verification problem  König’s lemma plays a key role in dealing with the finiteness of the prefix Some conclusions We may try to generalize these ideas to branching processes of Petri nets

18 18 A branching process

19 19 1 2 k A condition with infinite branching The branching process can potentially be infinite even when all the paths are finite König's Lemma cannot be directly applied to branching processes, since branching on conditions can be infinite König’s lemma for branching processes? But we may try to prove a net-specific result !

20 20 Theorem: An infinite branching process of a P/T-net always contains an infinite chain of causally related events starting at the initial event The result holds also for unbounded nets! König’s lemma for branching processes

21 21 Unfthe (full) unfolding of a fixed P/T-net Ethe set of events of Unf Confthe set of finite configurations of Unf Locthe set of local configurations of Unf Some notation Note that configurations are in fact (partial-order) executions

22 22 A cutting context is a triple Θ = ( ~, <, {C e } e  E ) where: ~ is an equivalence relation on Conf <is a strict and well-founded partial order on Conf refining set inclusion [ERV] C e is a subset of Conf Cutting context ~ and < must be preserved by finite extensions, i.e. if C 1 ~C 2 and C 1 <C 2 then for every finite extension C 1 ’ of C 1 there is a finite extension C 2 ’ of C 2 such that C 1 ’~C 2 ’ and C 1 ’<C 2 ’

23 23 C e Conf – [Hel] C e Loc – standard [ERV, McM …] C 1 ~C 2 if the same markings are produced – standard [ERV, McM …] C 1 ~C 2 if symmetric markings are produced – [CGP] C 1 ~C 2 if the same markings are produced and Code(C 1 )=Code(C 2 ), where Code is the signal coding function – [KKY] Cutting contexts – examples

24 24 A branching process π is complete w.r.t. a set E’ of events if:  for every C  Conf there is a finite configuration C’ in π such that C~C’ and C’  E’=   if C is a finite configuration of π such that C  E’= , C  {e} is an extension of C in Unf, then C  {e} is an extension of C in π π is complete if it is complete w.r.t. some E’ Note: this notion of completeness is strictly stronger than the standard one (e.g. in [ERV]) Completeness

25 25 Sets of events feasible and cut-off are defined by induction:  e is feasible if it has no cut-off predecessors  e is a cut-off event if it is feasible and there is a configuration C  C e consisting of feasible non-cut-off events such that C~[e] and C<[e] Static cut-off events No algorithm is needed to define cut-offs and the prefix! The canonical prefix CAN is the branching process comprising the feasible events

26 26 Completeness: CAN is complete w.r.t. the set of cut-off events Finiteness: CAN is infinite iff Unf contains an infinite chain of feasible events Proof: Follows from König's Lemma for branching processes Properties of CAN Canonicity: CAN is unique

27 27 Finiteness 2:  If ~ has finitely many equivalence classes and each C e contains Loc, then CAN is finite  If ~ has infinitely many equivalence classes, then CAN is infinite More about finiteness Note: upper bounds on the size of CAN can also be obtained in certain cases

28 28 Theorem: The standard (non-deterministic!) unfolding algorithms always generate CAN!!! Generating CAN The result holds for the algorithm proposed in [ERV] and for the parallel algorithm in [HKK]

29 29  General flexible framework for constructing complete prefixes of net unfoldings  Canonicity of the prefix given a fixed cutting context  Stronger notion of completeness  New / improved proofs of correctness of the existing algorithms for constructing finite prefixes  König’s Lemma for branching processes of P/T- nets (also unbounded ones) What has been achieved?


Download ppt "*Department of Computing Science University of Newcastle upon Tyne **Institut für Informatik, Universität Augsburg Canonical Prefixes of Petri Net Unfoldings."

Similar presentations


Ads by Google