1 / 51

Modular Processings based on Unfoldings

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

cmerritt
Download Presentation

Modular Processings based on Unfoldings

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Modular Processings based on Unfoldings Eric Fabre & Agnes Madalinski DistribCom Team Irisa/Inria UFO workshop - June 26, 2007

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. ) 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Á:OS, 9! Ã:OU(S), Á = fS± Ã

  9. ) S = V1£V2£V3 U(S) = U(V1) £OU(V2) £OU(V3) Unfoldings in Factorized Form (2) • Example:

  10. 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)

  11. 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)

  12. 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)

  13. 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)

  14. 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

  15. 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)

  16. ) 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)

  17. 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

  18. 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}

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

  29. a b b b ab c centralized supervizor aa c Distributed system monitoring… distributed supervision

  30. 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

  31. A computation example

  32. A computation example

  33. A computation example

  34. A computation example

  35. A computation example

  36. A computation example

  37. 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

  38. 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

  39. cut-off event Local canonical prefixes don’t work • Canonical prefix • defined by a cutting contextΘ = ( ~ , ⊲ , {κe}eE ) • ~ equivalence relation on Conf set of reachable markings • ⊲ adequate order on Confpartial order on Conf refining inclusion • {κe}eE a subset of Conf, configurations used for cut-off identification

  40. interface Extended canonical prefix • Toy example : • two components, elementary interface (=automaton) S = A£C£B = (A£C) Æ (C£B) = SAÆ SB

  41. Extended canonical prefix (2) • extended prefix of w.r.t. its interface C • restriction of the cutting context ΘC= (~,⊲, {κe}eE )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

  42. e’ : interface event e : extended cut-off Extended cut-off event

  43. 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

  44. Distributed computations augmented prefixes

  45. Distributed computations extract summary nets

  46. Distributed computations exchange summary nets

  47. build pullbacks Distributed computations

  48. construct prefixes Distributed computations

  49. Distributed computations Killed in the pullback Local factors are a little too conservative (not the minimal pullback covering of the FCP)

  50. 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

More Related