Presentation is loading. Please wait.

Presentation is loading. Please wait.

Partial Order Semantics of Types of Nets Robert Lorenz, Gabriel Juhás, Sebastian Mauser SOFSEM 2009, Špindlerův Mlýn, CZ, 27th February 2009.

Similar presentations


Presentation on theme: "Partial Order Semantics of Types of Nets Robert Lorenz, Gabriel Juhás, Sebastian Mauser SOFSEM 2009, Špindlerův Mlýn, CZ, 27th February 2009."— 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 A type  of (Petri) nets defined 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 A type  of (Petri) nets defined 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 s p for which m(p)  W(p,t) s p For each place p occurence of the enabled transition t in m changes the local state m(p) to the state s p

8 22 2 a b c Example - Place/transition nets: p1p1 p2p2 p3p3 p4p4

9 22 2 a b c p1p1 p2p2 p3p3 p4p4

10 22 2 a b c p1p1 p2p2 p3p3 p4p4

11 22 2 a b c p1p1 p2p2 p3p3 p4p4 Local states: nonnegative integers N (with addition)

12 Example - Place/transition nets: Local events: pairs of nonnegative integers (i,o)  N x N with componetwise addition 22 2 a b c p1p1 p2p2 p3p3 p4p4 Local states: nonnegative integers N (with addition)

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

14 Example - Place/transition nets: Weight function: W(p 1,a) = (1,0), W(p 2,a) = (0,0), W(p 3,a) = (0,2), W(p 4,a) = (0,0), … 22 2 a b c p1p1 p2p2 p3p3 p4p4 Transition relation: s  (i,o) s’  s  i  s’ = s – i + o Local events: pairs of nonnegative integers (i,o)  N x N with componetwise addition Local states: nonnegative integers N (with addition)

15 Weight function: W(p 1,a) = (1,0,  ), W(p 2,a) = (0,0,  ), W(p 3,a) = (0,2,  ), W(p 4,a) = (0,0,0), … 22 2 a b c p1p1 p2p2 p3p3 p4p4 Transition relation: s  (i,o) s’  s  i  s’ = s – i + o  s + o  h 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,  ) Local states: nonnegative integers N (with addition) Example - Place/transition nets with inhibitor arcs and a posteriori semantics:

16 22 2 a b c p1p1 p2p2 p3p3 p4p4 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 s p ‘ for which m(p)  s p ‘ For each place p occurence of the enabled transition t changes the local state s p to the state s p ‘  t  T x(t)W(p,t)

17 22 2 ab c p1p1 p2p2 p3p3 p4p4 Place/transition nets: Step semantics: step sequences

18 22 2 a b c p1p1 p2p2 p3p3 p4p4 Place/transition nets: Step semantics: step sequences (a+b) a b

19 22 2 a b c p1p1 p2p2 p3p3 p4p4 Place/transition nets: Step semantics: step sequences (a+b) 2x a b

20 22 2 a b c p1p1 p2p2 p3p3 p4p4 Place/transition nets: Step semantics: step sequences (a+b) (2c) a b cc

21 An LPO is enabled iff Each step linearization of the LPO is enabled step sequence, ab cc 22 2 a b c p1p1 p2p2 p3p3 p4p4 abcc, bacc, acbc, (a+b)cc, a(b+c)c, ab(2c), ba(2c), (a+b)(2c)

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 22 2 a b c p1p1 p2p2 p3p3 p4p4

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 22 2 a b c p1p1 p2p2 p3p3 p4p4

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 22 2 a b c p1p1 p2p2 p3p3 p4p4

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 22 2 a b c p1p1 p2p2 p3p3 p4p4

26 22 2 a b c Place/transition nets: Causal Structures: processes p1p1 p2p2 p3p3 p4p4 p1p1 p2p2 p1p1 p2p2 Process 1 Process 2

27 22 2 a b c p1p1 p2p2 p3p3 p4p4 aa p1p1 p2p2 p1p1 p2p2 Process 1 Process 2 p3p3 p3p3 p3p3 p3p3 Place/transition nets: Causal Structures: processes

28 22 2 a b c p1p1 p2p2 p3p3 p4p4 aa p1p1 p2p2 p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 Process 1 Process 2 Place/transition nets: Causal Structures: processes

29 22 2 a b c p1p1 p2p2 p3p3 p4p4 a b a b p1p1 p2p2 p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 Process 1 Process 2 Place/transition nets: Causal Structures: processes

30 22 2 a b c p1p1 p2p2 p3p3 p4p4 a b a b p1p1 p2p2 p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 Process 1 Process 2 Place/transition nets: Causal Structures: processes

31 22 2 a b c p1p1 p2p2 p3p3 p4p4 a b c a b c p1p1 p2p2 p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 Process 1 Process 2 Place/transition nets: Causal Structures: processes

32 22 2 a b c p1p1 p2p2 p3p3 p4p4 a b c a b c p1p1 p2p2 p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 Process 1 Process 2 Place/transition nets: Causal Structures: processes

33 22 2 a b c p1p1 p2p2 p3p3 p4p4 a b cc a b cc p1p1 p2p2 p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 p4p4 p4p4 Process 1 Process 2 Place/transition nets: Causal Structures: processes

34 22 2 a b c abcc p1p1 p2p2 p3p3 p4p4 a b cc a b cc p1p1 p2p2 p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 p4p4 p4p4 Process 1 Process 2 a b cc Run 2 a b cc Run 1 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 a b cc Characterization of enabledness by extended LPOs with labelled arcs Extension of LPOs by adding an initial node: a b cc

37 Characterization of enabledness by extended LPOs with labelled arcs Extension of LPOs by adding an initial node: a b cc v0v0 a b cc v0v0

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

39 a b cc Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places v0v0 a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 0 a b cc v0v0

40 a b cc Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places v0v0 a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 1p 1 a b cc v0v0 0

41 a b cc Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places v0v0 a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 1p 2 1p 1 a b cc v0v0 0

42 a b cc Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places v0v0 a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 a b cc v0v0 1p 2 1p 1 0 0

43 a b cc Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places v0v0 a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 2p 3 a b cc v0v0 1p 2 1p 1 0 0

44 Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 a b cc v0v0 a b cc v0v0 2p 3 1p 2 1p 1 0 0 2p 3

45 Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 a b cc v0v0 a b cc v0v0 2p 3 1p 2 1p 1 0 0 2p 3

46 Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p4p4 p4p4 p3p3 a b cc v0v0 a b cc v0v0 2p 3 1p 2 1p 1 0 0 2p 3

47 a b cc Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places v0v0 a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p4p4 p4p4 1p 3 p3p3 a b cc v0v0 2p 3 1p 2 1p 1 0 0 2p 3 1p 2 1p 1 0 0

48 Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p4p4 p4p4 p3p3 In-token-flow of a node = Sum of ingoing labels a b cc v0v0 1p 3 1p 2 1p 1 0 0 a b cc v0v0 2p 3 1p 2 1p 1 0 0 2p 3

49 Characterization of enabledness by extended LPOs with labelled arcs Token flow function: Labelling of arcs in the LPO by multisets of places a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p3p3 p4p4 p4p4 a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p4p4 p4p4 p3p3 Out-token-flow of a node = Sum of outgoing labels a b cc v0v0 1p 3 1p 2 1p 1 0 0 a b cc v0v0 2p 3 1p 2 1p 1 0 0 2p 3

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 a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p4p4 p4p4 p3p3 Out-token-flow of a node = Sum of outgoing labels a b cc v0v0 1p 3 1p 2 1p 1 0 0 22 2 a b c p1p1 p2p2 p3p3 p4p4

51 2 Characterization of executability 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 In-token-flow of a node = the number of tokens consumed by the transition labelling the node a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p4p4 p4p4 p3p3 22 a b c p1p1 p2p2 p3p3 p4p4 a b cc v0v0 1p 3 1p 2 1p 1 0 0 In-token-flow of a node = Sum of ingoing labels

52 2 Characterization of executability by extended LPOs with labelled arcs Token flow property: There is a token flow function s.t. Transitions cannot comsume more than is produced by the precessors but still have to consume the number of tokens prescribed by the net a b cc p1p1 p2p2 p3p3 p3p3 p3p3 p4p4 p4p4 p3p3 22 a b c p1p1 p2p2 p3p3 p4p4 a b cc v0v0 1p 3 1p 2 1p 1 0 0 In-token-flow of a node = Sum of ingoing labels

53 Characterization of enabledness by extended LPOs with labelled arcs Theorem (for strict flow types of nets, e.g. p/t nets or finite coloured Petri nets): An LPO is enabled if and only if it fulfills the token flow property (token flow property can be verified in (quasi) polynomial time!!!) Theorem (for „non strict“ flow types of nets): If an LPO is enabled then it fulfills the token flow property, i.e. token flow property is necessary for enabledness


Download ppt "Partial Order Semantics of Types of Nets Robert Lorenz, Gabriel Juhás, Sebastian Mauser SOFSEM 2009, Špindlerův Mlýn, CZ, 27th February 2009."

Similar presentations


Ads by Google