200 likes | 214 Views
This paper discusses the concept of unfolding a Petri net and introduces the notion of canonical prefixes as an algorithm-independent approach. It also explores the application of canonical prefixes in parallel slicing algorithms. The paper presents an overview of cutting contexts, completeness, finiteness, and König’s Lemma, and discusses a recent application of the approach.
E N D
Canonical Prefixes of Petri Net Unfoldings Walter Vogler Universität Augsburg in cooperation with V. Khomenko, M. Koutny (CAV 2002, Acta Informatica 2003)
some concepts you know • unfoldingUnfof a Petri net (full branching process) • C : set of (finite) configurations • Cloc : set of local configurations [e] with e E<e> is [e] without e • if E’ is a suffix of C’, write C’ E’ UFO 07
McMillan: construct complete finite prefix of Unfstepwise; for cut-offs, compare configurations by size • ERV: more abstract setting: compare with adequate order( e f if [e] [f] ) • ERV-algorithm constructs complete finite prefix UFO 07
step: add - minimal possible extension e declare cut-off if there is f in p with [f] [e] & [e] and corresponding configuration[f] reach the same marking • non-deterministic choice; different results? (maybe f exists in Unf, but not yet added to thisp) f e p f UFO 07
it seems: prefix depends on algorithm and non-deterministic choices • aim: define algorithm-independent canonical prefix • application: (parallel) slicing algorithm [HKK 02] processes e.g. all - minimal possible extensions together • original correctness proof: compares each run with ERV-algorithm • new: all runs (slicing, ERV) construct the canonical prefix UFO 07
this approach in an even more general setting: cutting contexts • canonical prefix finite and complete in ~ all such contexts UFO 07
Overview • cutting contexts • canonical prefix • completeness • finiteness and König’s Lemma • algorithmics • a recent application (Khomenko ATPN 07) UFO 07
cutting contexts – motivation • parameter: adequate order • parameter: corresponding configuration local or general or …(general configuration for minimised prefix) • parameter: information to be represented • usually: marking, i.e.two configurations with the same marking are equivalent, one of them suffices • or: marking plus state vector (for asynchronous circuits, STGs)more information, finer equivalence • or: marking up to symmetries (smaller prefix)less information, coarser equivalence UFO 07
cutting contexts – definition cutting context = ( , , {Ce} eE ) where • for each event eE of Unf, Ce C • usually Ce = Cloc • is dense if Ce Cloc • is an equivalence on C • is an adequate order, i.e. a well-founded strict partial order on C (no infinite decreasing sequence), refining • … preserved by finite extensions … UFO 07
cutting contexts – definition cutting context = ( , , {Ce} eE ) where • and are preserved by finite extensions, i.e. whenever C’ C’’ and E’ is a suffix of C’, then there exists suffix E’’ such that • C’’ E’’ C’ E’ (not needed in standard case) • if C’’ C’, then C’’ E’’ C’ E’ (more general than standard case) standard: E’’ obtained from E’ by natural isomorphism UFO 07
canonical prefix simple idea: e cut-off if C Ce with C [e] and C[e] Does not work in standard setting! • Such a local C can actually contain a cut-off; • will never be constructed, not be in canonical prefix. e not detected as cut-off • Actually, some smaller C’ with the same marking and without cut-offs exists, but it might be non-local. UFO 07
canonical prefix Def.: feasible events fsbl (events with no cut-off in past, will be in prefix) and static cut-offs cut satisfy • e is feasible if <e> cut = ; (<e> is [e] without e) • feasible e is static cut-off, if there is C Ce with C [e], C[e] and C fsbl \ cut . Canonical prefixUnf induced by fsbl . UFO 07
canonical prefix Def.: • e is feasible if <e> cut = ; (<e> is [e] without e) • feasible e is static cut-off, if there is C Ce with C [e], C[e] and C fsbl \ cut . is well-founded on E; by Noetherian induction, statusof predecessors already defined: • f <e> f < e [f] [e] f e • f C[e] [f] C[e] [f]C[e] UFO 07
completeness – general notion • A branching process p is complete w.r.t. a set E’ of events if: • for every C C there is a configuration C’in p such that C C’ and C’E’ = • if C is a configuration of p such that CE’ = and {e} is an extension of C in Unf, then C {e} is also a configuration in p. • strictly stronger than standard notion: for every configuration, all possible firings are included; • important for deadlock detection UFO 07
completeness – result • Theorem: Unf is complete w.r.t. cut . • Proof: essentially like in [ERV], using preservation under finite extensions UFO 07
finiteness and König’s Lemma • König’s Lemma: An infinite, locally finite, rooted, directed graph has an infinite path. • not applicable to branching processes: conditions may have infinitely many outgoing arcs! • Theorem: An infinite branching process always contains an infinite chain of causally related events. The result holds also for unbounded nets! UFO 07
finiteness and König’s Lemma • used this version of König’s Lemma to prove • Theorem: 1. If has finite index and is dense, then Unf is finite.2. If has infinite index, then Unf is infinite. Remarks: 1. Finite index means bounded in standard case;2. clear from completeness. UFO 07
algorithmics • Theorem: If Unf is finite, then the ERV- and the slicing algorithm generate Unf – for any . • essential fact: if e is a possible extension, then all feasible f [e] have already been added. UFO 07
a recent application • V. Khomenko: Behaviour-Preserving Transition-Insertions in Unfolding Prefixes, ATPN 2007 useful for designing asynchronous circuits UFO 07
a recent application • setting: find place for insertion by studying a prefix Unf • desirable: prefix Unf’ of the new net can be obtained from Unf by the “same” insertions – but cut-offs may be different! • solution: the “same” insertions give the canonical prefix for a different cutting context ’ ! UFO 07