Title: *Department of Computing Science
1Canonical Prefixes of Petri Net Unfoldings
V.Khomenko, M.Koutny, and W.Vogler
- Department of Computing Science
- University of Newcastle upon Tyne
- Institut für Informatik, Universität Augsburg
2Motivation
- investigate fundamental properties of unfoldings
and their prefixes - extend the applicability of the existing
techniques
3Unfolding finite state machines
FSM
unfolding
- all reachable states are represented
- all instances of a state have the same future
- infinite unfoldings are of little use for MC
4Complete prefix
prefix
- cut if there is a preceding instance of the same
state - the prefix still contains all reachable states
5The prefix is finite
prefix
- the prefix has no infinite paths, and we can
apply
6Königs lemma
A finitely branching, rooted, directed acyclic
graph with infinitely many nodes reachable from
the root has an infinite path from the root
NB branching is finite but may be unbounded!
D.König Über eine Schlußweise aus dem
Endlichen ins Unendliche. Acta
Litt. ac. sci. Szeged 3 (1927) 121-130
7Unfolding more complicated machines
unfolding
x is an integer variable with the initial value 0
a xx1 b xx-1 c xx1 d xx
Problem 1 can x ever have a value other than 0
at s?
8Prefix first attempt
prefix
x is an integer variable with the initial value 0
a xx1 b xx-1 c xx1 d xx
- x is always 0 at s in the prefix
- a clear mistake, e.g. a c d b
- what is behind this error ?
9Prefix is not complete!
prefix
x is an integer variable with the initial value 0
a xx1 b xx-1 c xx1 d xx
- 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
10Prefix is complete
prefix
x is an integer variable with the initial value 0
a xx1 b xx-1 c xx1 d xx-1
correction
- now the prefix is complete and finite
- is it crucial that the previous machine had an
infinite state space while this one has not ?
11Another machine with infinite state space
a xx1 b xif (xlt2) then (x-1) else x c
xx2 d xx
Problem 2 can x ever be equal to 1 at s?
12A generalization
- M is a machine with execution tree ET
- Prop is a property specified on executions of M
- is an equivalence relation on executions
- if E1E2 then
- E1 satisfies Prop iff E2 satisfies Prop
- for every extension E1 of E1 there is an
extension E2 of E2 such that E1E2 - PREF is the prefix obtained thus an execution
is terminated as soon as there is a smaller
equivalent execution
13Properties
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önigs Lemma
14Application 1
Prop there is an execution leading to a given
state E1E2 iff both executions lead to the
same state of M (variable is not
present) PREF is finite as has finitely many
equivalence classes
15Application 2
Prop there is an execution leading to a given
state of M and setting x to a given value
E1E2 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)
16Application 3
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 xgtmgtk, then no
transition can set x to a value ltm Note this may
be easy to establish (local reasoning) E1E2 iff
both executions lead to the same state of M
AND they set x EITHER to the same value ltm
OR to (possibly different) values gtm PREF is
always finite
17Some conclusions
- 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önigs lemma plays a key role in dealing with
the finiteness of the prefix
We may try to generalize these ideas to branching
processes of Petri nets
18A branching process
19Königs lemma for branching processes?
A condition with infinite branching
König's Lemma cannot be directly applied to
branching processes, since branching on
conditions can be infinite
The branching process can potentially be infinite
even when all the paths are finite
But we may try to prove a net-specific result !
20Königs lemma for branching processes
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!
21Some notation
Unf the (full) unfolding of a fixed P/T-net
E the set of events of Unf Conf the set of
finite configurations of Unf Loc the set of
local configurations of Unf
Note that configurations are in fact
(partial-order) executions
22Cutting context
A cutting context is a triple T ( , lt ,
Cee ? E ) where is an equivalence
relation on Conf lt is a strict and well-founded
partial order on Conf refining set inclusion
ERV Ce is a subset of Conf
and lt must be preserved by finite extensions,
i.e. if C1C2 and C1ltC2 then for every finite
extension C1 of C1 there is a finite extension
C2 of C2 such that C1C2 and C1ltC2
23Cutting contexts examples
Ce Conf Hel Ce Loc standard ERV, McM
C1C2 if the same markings are produced
standard ERV, McM C1C2 if symmetric
markings are produced CGP C1C2 if the
same markings are produced and Code(C1)Code(C2)
, where Code is the signal coding function
KKY
24Completeness
- A branching process p is complete w.r.t. a set E
of events if - for every C?Conf there is a finite configuration
- C in p such that CC and C?E?
- if C is a finite configuration of p such that
- C?E?, C?e is an extension of C in Unf,
- then C?e is an extension of C in p
- p 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)
25Static cut-off events
- 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?Ce consisting of feasible
- non-cut-off events such that Ce and Clte
The canonical prefix CAN is the branching process
comprising the feasible events
No algorithm is needed to define cut-offs and the
prefix!
26Properties of CAN
Canonicity CAN is unique
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
27More about finiteness
- Finiteness 2
- If has finitely many equivalence classes and
each Ce contains Loc, then CAN is finite -
- If has infinitely many equivalence classes,
then CAN is infinite
Note upper bounds on the size of CAN can also be
obtained in certain cases
28Generating CAN
Theorem The standard (non-deterministic!)
unfolding algorithms always generate CAN!!!
The result holds for the algorithm proposed in
ERV and for the parallel algorithm in HKK
29What has been achieved?
- 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önigs Lemma for branching processes of
P/T-nets (also unbounded ones)