1 / 53

Partial Order Semantics of Types of Nets

Partial Order Semantics of Types of Nets. Robert Lorenz, Gabriel Juhás , Sebastian Mauser. SOFSEM 2009 , Špindlerův Mlýn, CZ , 27 th February 2009. Road plan: Present types of (Petri) nets. Road plan: Present types of (Petri) nets Present semantics of types of ( Petri ) nets.

maine
Download Presentation

Partial Order Semantics of Types of Nets

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. Partial Order Semantics of Types of Nets Robert Lorenz, Gabriel Juhás, Sebastian Mauser SOFSEM 2009, Špindlerův Mlýn, CZ, 27th February 2009

  2. Road plan: Present types of (Petri) nets

  3. Road plan: Present types of (Petri) nets Present semantics of types of (Petri) nets

  4. Road plan: Present types of (Petri) nets Present semantics of types of (Petri) nets: step semantics enabled labelled partial orders(pomsets) token flow labelled partial orders (pomsets)

  5. To unify different types of Petri nets Badouel and Darondeau defined the notion formally Atype  of (Petri) netsdefined by them is given by Set of local states – LS Commutative monoid of local events (LE, +, 0) Transition relation  given by triples (s e s‘) from LS x LE x LS satisfying for all states s,s‘,s‘‘ and all local events e: s e s‘  s e s‘‘  s‘ = s‘‘ and s0 s

  6. To unify different types of Petri nets Badouel and Darondeau defined the notion formally Atype  of (Petri) netsdefined by them is given by Set of local states – LS Commutative monoid of local events (LE, +, 0) Transition relation  given by triples (s e s‘) from LS x LE x LS satisfying for all states s,s‘,s‘‘ and all local events e: s e s‘  s e s‘‘  s‘ = s‘‘ and s0 s A net of type  is given by Set of places – P Set of transitions – T Weight function – W: P x T  LE Places are holders for local states Markings – m: P  LS

  7. Transitions occur, changing the local states of places according to the weight function: A transition t is enabled to occur in a marking m of the net, if each place p satisfies: there exists a local state sp for which m(p) W(p,t) sp For each place p occurence of the enabled transition t in m changes the local state m(p) to the state sp

  8. Example - Place/transition nets: p1 p2 a b 2 2 p3 2 c p4

  9. Example - Place/transition nets: p1 p2 a b 2 2 p3 2 c p4

  10. Example - Place/transition nets: p1 p2 a b 2 2 p3 2 c p4

  11. Example - Place/transition nets: Local states: nonnegative integers N (with addition) p1 p2 a b 2 2 p3 2 c p4

  12. Example - Place/transition nets: Local states: nonnegative integers N (with addition) Local events: pairs of nonnegative integers (i,o)  N x N with componetwise addition p1 p2 a b 2 2 p3 2 c p4

  13. Example - Place/transition nets: Local states: nonnegative integers N (with addition) Local events: pairs of nonnegative integers (i,o)  N x N with componetwise addition p1 p2 a Transition relation: s(i,o) s’  s  i  s’ = s – i + o b 2 2 p3 2 c p4

  14. Example - Place/transition nets: Local states: nonnegative integers N (with addition) Local events: pairs of nonnegative integers (i,o)  N x N with componetwise addition p1 p2 a Transition relation: s(i,o) s’  s  i  s’ = s – i + o b 2 2 p3 2 Weight function: W(p1,a) = (1,0), W(p2,a) = (0,0), W(p3,a) = (0,2), W(p4,a) = (0,0), … c p4

  15. Example - Place/transition nets with inhibitor arcs and a posteriori semantics: Local states: nonnegative integers N (with addition) Local events: triples (i,o,h)  N x N x (N  ) with componetwise addition for i and o and minimum for h and neutral element (0,0,) p1 p2 a Transition relation: s(i,o) s’  s  i  s’ = s – i + o  s + o  h b 2 2 p3 2 Weight function: W(p1,a) = (1,0,), W(p2,a) = (0,0,), W(p3,a) = (0,2,), W(p4,a) = (0,0,0), … c p4

  16. Step semantics: step sequences Steps – mulitsets of transitions occur, changing the local states of places according to the weight function: A step x: T  N is enabled to occur in a state of the net, if each place p satisfies: there exists a local state sp‘ for which m(p)  sp‘ For each place p occurence of the enabled transition t changes the local state sp to the state sp‘ p1 p2 a b 2 2 p3 2 c  tTx(t)W(p,t) p4

  17. Place/transition nets: Step semantics: step sequences p1 p2 a b 2 2 p3 2 c p4

  18. Place/transition nets: Step semantics: step sequences p1 p2 a b (a+b) a b 2 2 p3 2 c p4

  19. Place/transition nets: Step semantics: step sequences p1 p2 a b (a+b) a b 2 2 p3 2 c 2x p4

  20. Place/transition nets: Step semantics: step sequences p1 p2 a b (a+b) (2c) a b 2 2 p3 2 c c c p4

  21. An LPO is enabled iff Each step linearization of the LPO is enabled step sequence, p1 p2 abcc, bacc, acbc, (a+b)cc, a(b+c)c, ab(2c), ba(2c), (a+b)(2c) a b a b 2 2 p3 2 c c c p4

  22. For p/t nets we have: If a step linearization of an enabled step sequence is enabled then they both lead to the same marking (WISP), e.g. ab(2c) and (a+b)(2c) leads to the same marking p1 p2 a b 2 2 p3 2 c p4

  23. For p/t nets we have: If a step linearization of an enabled step sequence is enabled then they both lead to the same marking (WISP), e.g. ab(2c) and (a+b)(2c) leads to the same marking If two enabled step sequences have equal multisets of transitions, then they lead to the same marking (PIP, PIP implies WISP), e.g. a(b+c)c and (a+b)(2c) leads to the same marking p1 p2 a b 2 2 p3 2 c p4

  24. For p/t nets we have: If a step linearization of an enabled step sequence is enabled then they both lead to the same marking (WISP), e.g. ab(2c) and (a+b)(2c) leads to the same marking If two enabled step sequences have equal multisets of transitions, then they lead to the same marking (PIP, PIP implies WISP), e.g. a(b+c)c and (a+b)(2c) leads to the same marking If a step sequence is enabled and leads to a marking m then each its step linearization is enabled and lead to the same marking m (ISP, ISP implies WISP but is incomparable with PIP), e.g. (a+b)(2c) is enabled implies that ab(2c) is enabled too and leads to the same marking p1 p2 a b 2 2 p3 2 c p4

  25. We show that: WISP is necessary and sufficient for unique final marking of enabled LPOs PIP is necessary and sufficient for the same final markings of enabled LPOs differing only by causality ISP is necessary and sufficient for checking enabledness by cuts = maximal co-sets: An LPO is enabled iff for each cut of the LPO holds: When all events „before the cut“ have fired, then the step of transitions given by the cut is enabled p1 p2 a b 2 2 p3 2 c p4

  26. Place/transition nets: Causal Structures: processes p1 p2 Process 1 Process 2 p1 p1 p2 p2 a b 2 2 p3 2 c p4

  27. Place/transition nets: Causal Structures: processes p1 p2 Process 1 Process 2 p1 p1 p2 p2 a b 2 2 a a p3 2 c p3 p3 p3 p3 p4

  28. Place/transition nets: Causal Structures: processes p1 p2 Process 1 Process 2 p1 p1 p2 p2 a b 2 2 a a p3 2 c p3 p3 p3 p3 p4

  29. Place/transition nets: Causal Structures: processes p1 p2 Process 1 Process 2 p1 p1 p2 p2 a b 2 2 a a b b p3 2 c p3 p3 p3 p3 p3 p3 p3 p3 p4

  30. Place/transition nets: Causal Structures: processes p1 p2 Process 1 Process 2 p1 p1 p2 p2 a b 2 2 a a b b p3 2 c p3 p3 p3 p3 p3 p3 p3 p3 p4

  31. Place/transition nets: Causal Structures: processes p1 p2 Process 1 Process 2 p1 p1 p2 p2 a b 2 2 a a b b p3 2 c p3 p3 p3 p3 p3 p3 p3 p3 c c p4 p4 p4

  32. Place/transition nets: Causal Structures: processes p1 p2 Process 1 Process 2 p1 p1 p2 p2 a b 2 2 a a b b p3 2 c p3 p3 p3 p3 p3 p3 p3 p3 c c p4 p4 p4

  33. Place/transition nets: Causal Structures: processes p1 p2 Process 1 Process 2 p1 p1 p2 p2 a b 2 2 a a b b p3 2 c p3 p3 p3 p3 p3 p3 p3 p3 c c c c p4 p4 p4 p4 p4

  34. Process 1 Process 2 p1 p1 p2 p2 p1 p2 a b a b a b p3 p3 p3 p3 p3 p3 p3 p3 2 2 c c p3 c c 2 c p4 p4 p4 p4 Run 1 p4 Run 2 a b a b c c c c abcc acbc

  35. Characterization of enabledness by extended LPOs with labelled arcs for „flow“ types of nets Flow types of nets: LS is a free commutative monoid There are morphisms i and o from LE to LS satisfying se s’  s  i(e)  s’ = s – i(e) + o(e) Strict flow types of nets: se s’  s  i(e)  s’ = s – i(e) + o(e) Examples for strict flow types of nets: p/t nets, coloured Petri nets Example for non strict flow types of nets: p/t nets with inhibitor arcs

  36. Characterization of enabledness by extended LPOs with labelled arcs Extension of LPOs by adding an initial node: a b a b c c c c

  37. Characterization of enabledness by extended LPOs with labelled arcs Extension of LPOs by adding an initial node: v0 v0 a a b b c c c c

  38. Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places v0 v0 a a b b c c c c

  39. Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places v0 p1 v0 p2 0 a b a b a b p3 p3 p3 p3 c c c c c c p4 p4

  40. Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places v0 p1 v0 p2 0 1p1 a b a b a b p3 p3 p3 p3 c c c c c c p4 p4

  41. Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places v0 p1 v0 p2 0 1p1 1p2 a b a b a b p3 p3 p3 p3 c c c c c c p4 p4

  42. Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places v0 p1 v0 p2 0 0 1p1 1p2 a b a b a b p3 p3 p3 p3 c c c c c c p4 p4

  43. Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places v0 p1 v0 p2 0 0 1p1 1p2 a b a b a b 2p3 p3 p3 p3 p3 c c c c c c p4 p4

  44. Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places v0 p1 v0 p2 0 0 1p1 1p2 a b a b a b 2p3 2p3 p3 p3 p3 p3 c c c c c c p4 p4

  45. Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places v0 p1 v0 p2 0 0 1p1 1p2 a b a b a b 2p3 2p3 p3 p3 p3 p3 c c c c c c p4 p4

  46. Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places p1 p2 v0 p1 v0 p2 0 0 1p1 1p2 a b a b a b a b p3 2p3 2p3 p3 p3 p3 p3 p3 p3 p3 c c c c c c p4 p4 c c p4 p4

  47. Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places p1 p2 v0 p1 v0 p2 0 0 0 0 1p1 1p2 1p1 1p2 a b a b a b a b p3 2p3 2p3 1p3 p3 p3 p3 1p3 p3 p3 p3 p3 1p3 c c c c c c 1p3 p4 p4 c c p4 p4

  48. Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places p1 p2 v0 p1 v0 p2 0 0 0 0 1p1 1p2 1p1 1p2 a b a b a b a b p3 2p3 2p3 1p3 p3 p3 p3 1p3 p3 p3 p3 p3 1p3 c c c c c c 1p3 p4 p4 c c p4 p4 In-token-flow of a node = Sum of ingoing labels

  49. Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places p1 p2 v0 p1 v0 p2 0 0 0 0 1p1 1p2 1p1 1p2 a b a b a b a b p3 2p3 2p3 1p3 p3 p3 p3 1p3 p3 p3 p3 p3 1p3 c c c c c c 1p3 p4 p4 c c p4 p4 Out-token-flow of a node = Sum of outgoing labels

  50. Characterization of enabledness by extended LPOs with labelled arcs Token flow property: There is a token flow function s.t. Out-token-flow of a node  the number of tokens produced by the transition labelling the node p1 p2 v0 0 0 1p1 1p2 p1 p2 a b a b p3 1p3 p3 p3 a p3 b 1p3 1p3 2 2 c c p3 1p3 2 p4 p4 c c c Out-token-flow of a node = Sum of outgoing labels p4

More Related