510 likes | 524 Views
Modular Processings based on Unfoldings. Eric Fabre & Agnes Madalinski DistribCom Team Irisa/Inria. UFO workshop - June 26, 2007. Outline. Assembling Petri nets products, pullbacks, unfoldings and trellises Modular computations on a constraint graph : an abstract viewpoint
E N D
Modular Processings based on Unfoldings Eric Fabre & Agnes Madalinski DistribCom Team Irisa/Inria UFO workshop - June 26, 2007
Outline • Assembling Petri nets products, pullbacks, unfoldings and trellises • Modular computationson a constraint graph : an abstract viewpoint • Application 1: modular diagnosisor modular computation of a minimal product covering • Application 2: modular prefixesor how to compute a FCP directly in factorized form • Conclusion
Building bloc: a site or variable V • = labeled automaton • labeling of transitions V = (S,T,s0,,¸,¤) ¸: T ¤ Nets as Products of Automata • Caution : in this talk, for simplicity • we limit ourselves to safe Petri nets, although most results extend to ½ weighted nets • we represent safe nets in “complemented” form, i.e. their number of tokens remains constant
Nets as Products of Automata (2) • Composition of variables by product : • disjoint union of places • transitions with shared labels are “glued” • transitions with private labels don’t change S = V1£V2£V3 • This product yields a safe (labeled) nets, and extends to safe nets
Interest of Product Forms • The 1st interests are • a natural construction method starting from modules • the compactness of the product form • on this example, the expanded product contains m*n transitions, instead of m+n in the factorized form
Main property S = V1£V2£V3 = (V1£V2) Æ (V2£V3) Composition by Pullback • Generalizes the product • allows interactions of nets by an interface (sub-net) • outside the interface, interactions are still by shared labels
Translation in terms of pullbacks • define componentsSi in order to “cover” the shared labels V1£V2£V3 = (V1£V2) Æ (V2£V3) = S1 Æ S2 Graph of a Product Net • Interaction graph of a net • shared labels define the local interactions… • … but it’s better to re-express interactions under the form of shared variables (or sub-nets). S = V1£ … £Vn
) S = S1£ … £ Sn U(S) = U(S1) £O … £OU(Sn) • Consequences: • functor has a left adjoint, and thus preserves products, pullbacks, … ) S = S1Æ … Æ Sm U(S) = U(S1) ÆO … ÆOU(Sm) U Unfoldings in Factorized Form • The key = Universal Property of the unfolding of S Let denote the unfolding of S, and its associated folding (labeling) U(S) fS:U(S)S 8O, 8Á:OS, 9! Ã:OU(S), Á = fS± Ã
) S = V1£V2£V3 U(S) = U(V1) £OU(V2) £OU(V3) Unfoldings in Factorized Form (2) • Example:
Important properties • The category theory approach naturally provides • an expression for operators (and ) • recursive procedures to compute them (as for unfoldings) • notions of projections associated to products/pullbacks: £O ÆO ¦Si: U(S) U(Si)
Important properties • The category theory approach naturally provides • an expression for operators (and ) • recursive procedures to compute them (as for unfoldings) • notions of projections associated to products/pullbacks: £O ÆO ¦Si: U(S) U(Si)
Important properties • The category theory approach naturally provides • an expression for operators (and ) • recursive procedures to compute them (as for unfoldings) • notions of projections associated to products/pullbacks: £O ÆO ¦Si: U(S) U(Si)
Important properties • The category theory approach naturally provides • an expression for operators (and ) • recursive procedures to compute them (as for unfoldings) • notions of projections associated to products/pullbacks: £O ÆO ¦Si: U(S) U(Si)
The reduced occurrence nets • represent the behaviors of component Si that remainonce Si is inserted in the global system S • or the local view in each component Si of the behaviors of the global system S • are interesting objects ! O’iv Oi Important properties (2) • Thm let Oi be an occ. net of component Si, then is an occ. net of define then and this is the minimal product covering of O • Factorized forms of unfoldings are often more compact……but they can however contain useless parts. O=O1£O…£O On S=S1£…£Sn O’i = ¦Si(O) v Oi O=O’1£O…£O O’n
time is counted independently in each Vi for S = V1£ … £ Vn Trellises in Factorized Form • The trellis of net S is • obtained by merging conditions of with identical height • a close cousin of merged processes (Khomenko et al., 2005) T(S) U(S)
) S = S1£ … £ Sn T(S) = T(S1) £T … £TT(Sn) ) S = S1Æ … Æ Sm T(S) = T(S1) ÆT … ÆTT(Sm) Trellises in Factorized Form • The trellis of net S is • obtained by merging conditions of with identical height • a close cousin of merged processes (Khomenko et al., 2005) • enjoys exactly the same factorization properties as unfoldings T(S) U(S)
Outline • Assembling Petri netsproducts, pullbacks, unfoldings and trellises • Modular computationson a constraint graph : an abstract viewpoint • Application 1: modular diagnosisor modular computation of a minimal product covering • Application 2: modular prefixesor how to compute a FCP directly in factorized form • Conclusion
S2 S1 V5 V2 S4 • a composition operator (conjunction) S = S1ÆS2 V1 V8 V4 V7 V3 S3 V6 “Abstract” Constraint Reduction • Ingredients : • variables • “systems” or “components” Sidefined by (local) constraints on Vmax = {V1,V2 ,…} Viµ {V1,…,Vn}
Central axiom: • S1 operates on V1, S2 operates on V2 • let then • i.e. all interactions go through shared variables V3 ¶ V1ÅV2 ¦V3(S1ÆS2) = ¦V3(S1)ƦV3(S2) “Abstract” Constraint Reduction (2) • Reductions: • for , reduces constraints of S to variables V • reductions are projections VµVmax ¦V(S) ¦V1±¦V2 = ¦V1ÅV2
Modular reduction algorithms • Problem : • Given where Si operates on Vi • compute the reduced components • i.e. how does Si change once inserted into the global S ? S = S1Æ … Æ Sn S’i = ¦Vi(S) • This can be solved by Message Passing Algorithms (MPA) • always converges • only involves local computations • exact if the graph of S is a (hyper-) tree
Modular reduction algorithms • Problem : • Given where Si operates on Vi • compute the reduced components • i.e. how does Si change once inserted into the global S ? S = S1Æ … Æ Sn S’i = ¦Vi(S) • This can be solved by Message Passing Algorithms (MPA) • always converges • only involves local computations • exact if the graph of S is a (hyper-) tree
Modular reduction algorithms • Problem : • Given where Si operates on Vi • compute the reduced components • i.e. how does Si change once inserted into the global S ? S = S1Æ … Æ Sn S’i = ¦Vi(S) • This can be solved by Message Passing Algorithms (MPA) • always converges • only involves local computations • exact if the graph of S is a (hyper-) tree
Modular reduction algorithms • Problem : • Given where Si operates on Vi • compute the reduced components • i.e. how does Si change once inserted into the global S ? S = S1Æ … Æ Sn S’i = ¦Vi(S) • This can be solved by Message Passing Algorithms (MPA) • always converges • only involves local computations • exact if the graph of S is a (hyper-) tree
Modular reduction algorithms • Problem : • Given where Si operates on Vi • compute the reduced components • i.e. how does Si change once inserted into the global S ? S = S1Æ … Æ Sn S’i = ¦Vi(S) • This can be solved by Message Passing Algorithms (MPA) • always converges • only involves local computations • exact if the graph of S is a (hyper-) tree
Modular reduction algorithms • Problem : • Given where Si operates on Vi • compute the reduced components • i.e. how does Si change once inserted into the global S ? S = S1Æ … Æ Sn S’i = ¦Vi(S) • This can be solved by Message Passing Algorithms (MPA) • always converges • only involves local computations • exact if the graph of S is a (hyper-) tree
What about systems with loops ? • Message passing algorithms • converge to a unique fix point (independent of message scheduling) • that gives an upper approximation: • How good are their results ? • Local extendibility to any tree around each component. ¦Vi(S) v S’iv Si
What about systems with loops ? • Message passing algorithms • converge to a unique fix point (independent of message scheduling) • that gives an upper approximation: • How good are their results ? • Local extendibility to any tree around each component. ¦Vi(S) v S’iv Si
Outline • Assembling Petri netsproducts, pullbacks, unfoldings and trellises • Modular computationson a constraint graph : an abstract viewpoint • Application 1: modular diagnosisor modular computation of a minimal product covering • Application 2: modular prefixesor how to compute a FCP directly in factorized form • Conclusion
a b b b ab c centralized supervizor aa c Distributed system monitoring… distributed supervision
We are already equipped for that ! • Consider the netand move to trajectory sets (unfolding or trellis) • In the category of occurrence nets (for ex.), we have • a composition operator, the pullback • trajectories of S are in factorized form • we have projection operators on occ. nets,where Vi are the variables of Si • Thm: projections and pullback satisfy the central axiom(here we cheat a little however…) S = S1Æ … Æ Sm ÆO U(S) = U(S1) ÆO … ÆOU(Sm) ¦Vi
Outline • Assembling Petri netsproducts, pullbacks, unfoldings and trellises • Modular computationson a constraint graph : an abstract viewpoint • Application 1: modular diagnosisor modular computation of a minimal product covering • Application 2: modular prefixesor how to compute a FCP directly in factorized form • Conclusion
Objective • Given compute a finite complete prefix of in factorized form • Obvious solution: • compute a FCP of • then compute its minimal pullback coveringwhere S = S1Æ … Æ Sm U(S) Us(S) U(S) Us(S) v U’(S1) Æ …Æ U’(Sm) U’(Si) = ¦Vi(Us(S)) • but this imposes to work on the global unfolding…… we rather want to obtain directly the factorized form
cut-off event Local canonical prefixes don’t work • Canonical prefix • defined by a cutting contextΘ = ( ~ , ⊲ , {κe}eE ) • ~ equivalence relation on Conf set of reachable markings • ⊲ adequate order on Confpartial order on Conf refining inclusion • {κe}eE a subset of Conf, configurations used for cut-off identification
interface Extended canonical prefix • Toy example : • two components, elementary interface (=automaton) S = A£C£B = (A£C) Æ (C£B) = SAÆ SB
Extended canonical prefix (2) • extended prefix of w.r.t. its interface C • restriction of the cutting context ΘC= (~,⊲, {κe}eE )to particular configurations κe • e cut-off event, corresponding event e’ : κe~κe’ and κe’ ⊲κe where usually κe =[e] • if eis aprivate event, then PC(κe ∆ κe’)=Ø • if e is an interface event, then e’ is also an interface event SA where∆ is the symmetric set difference
e’ : interface event e : extended cut-off Extended cut-off event
merge Summary net • Summary net = • behaviors allowed by an extended prefix on the interface: • obtained by projecting the extended prefix on the interface, • and refolding matching markings
Distributed computations augmented prefixes
Distributed computations extract summary nets
Distributed computations exchange summary nets
build pullbacks Distributed computations
construct prefixes Distributed computations
Distributed computations Killed in the pullback Local factors are a little too conservative (not the minimal pullback covering of the FCP)
Outline • Assembling Petri netsproducts, pullbacks, unfoldings and trellises • Modular computationson a constraint graph : an abstract viewpoint • Application 1: modular diagnosisor modular computation of a minimal product covering • Application 2: modular prefixesor how to compute a FCP directly in factorized form • Conclusion