Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Petri Nets and Their Extensions - Part 1

Exactpro
November 07, 2019

Petri Nets and Their Extensions - Part 1

Irina Lomazova
Professor, National Research University Higher School of Economics

International Conference on Software Testing, Machine Learning and Complex Process Analysis (TMPA-2019)
7-9 November 2019, Tbilisi

Video: https://youtu.be/t6ntDFfEsGM

TMPA Conference website https://tmpaconf.org/
TMPA Conference on Facebook https://www.facebook.com/groups/tmpaconf/

Exactpro

November 07, 2019
Tweet

More Decks by Exactpro

Other Decks in Technology

Transcript

  1. Petri Nets: Expressibility and Ease of Modeling Part 1 -

    Introduction and Extensions Irina A. Lomazova [email protected] National Research University Higher School of Economics, Laboratory of Process-Aware Information Systems (PAIS Lab) Moscow, Russia International Conference on Software Testing, Machine Learning and Complex Process Analysis (TMPA 2019) Tbilisi, Georgia (7-9 November 2019)
  2. Petri Nets - Agenda Part 1 - Introduction and Extensions

    on Thursday 07.11 Introduction and Initial Examples Notion of Runs Petri Net Extensions Part 2 - Formal Analysis on Saturday 09.11 Behavioral Properties Structural Analysis Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 1 / 46
  3. Petri Nets - An Introduction Communicating Finite-State Automata a 2

    a 1 b 2 b 1 sender receiver +ack -req +req -ack Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 2 / 46
  4. Petri Nets - An Introduction From Automata to Petri Nets

    Drawing Automata as Petri Nets a 2 a 1 b 2 b 1 sender receiver +ack -req +req -ack t 1 t 2 t 3 t 4 Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 3 / 46
  5. Petri Nets - An Introduction Petri Nets - Synchronous Communication

    a 2 a 1 b 2 b 1 sender receiver ack ack t 1 t 2 t 3 req Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 4 / 46
  6. Petri Nets - An Introduction Petri Nets - Asynchronous Communication

    a 2 a 1 b 2 b 1 sender receiver ch 1 ch 2 send receive t 2 t 3 t 4 t 1 Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 5 / 46
  7. Petri Nets - An Introduction Carl Adam Petri (1926 -

    2010) Petri nets were invented in 1939 by C. A. Petri for describing chemical processes. He documented Petri nets as part of his dissertation Kommunikation mit Automaten (Communication with Automata) in 1962. Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 6 / 46
  8. Petri Nets - An Introduction What are Petri Nets? A

    Formalism for modelling and analysis of concurrent, asynchronous, distributed, parallel, non-deterministic and/or stochastic systems. A Graphical tool for constructing and visualizing models of distributed systems. A Mathematical tool to conduct a formal analysis of distributed systems. Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 7 / 46
  9. Petri Nets - An Introduction Design Principles Places (store tokens)

    (Pre- Post-) Conditions Resources needed and released Input/Output Data or Signals Buffers Transitions Events or activities Tasks or jobs Signal processors Arcs link places to transitions, and transitions to places. They may denote some abstract relation, logical connection, physical proximity, etc. Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 8 / 46
  10. Petri Nets - An Introduction Design Principles t 2 Never

    Never t 1 Wrong Correct! t 2 t 1 computer 1 computer 2 computer 1 t 1 communication channel t 2 computer 2 Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 9 / 46
  11. Petri Nets - An Introduction Formal Definition A Petri net

    is a tuple PN = (P, T, F, W , M0) where: P = {p1, p2, ..., pn} is a finite set of places. T = {t1, t2, ..., tn} is a finite set of transitions. P ∩ T = ∅. F ⊆ (P × T) ∪ (T × P) is a set of directed arcs (flow relation). W : F → {1, 2, 3, ...} is a weight function. M0 : P → {0, 1, 2, 3, ...} is the initial marking. A state of a Petri net is defined by a marking M : P → {0, 1, 2, 3, ...} Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 10 / 46
  12. Petri Nets - An Introduction Transition Firing Rule 1 A

    transition t is enabled in a marking M iff each input place p of t has at least w(p, t) tokens. ∀p ∈ •t M(p) ≥ w(p, t) •t is the set of input places of t. 2 The firing of an enabled transition t removes w(p, t) tokens from each input place p of t, and adds w(t, p ) tokens to each output place p of t. Firing of t produces a new marking M , such that M (p) = M(p) − W (p, t) + W (t, p ) Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 11 / 46
  13. Petri Nets - An Introduction Transition Firing Rule - An

    Example A Petri net N in a marking M with transition t enabled. H 2 t O 2 2 2 H 2 O N with a new marking M after firing transition t. H 2 t O 2 2 2 H 2 O Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 12 / 46
  14. Modeling Examples of Petri Nets Finite-State Machines (FSM) - a

    sub-class of Petri nets A vending machine with 15¢ and 20¢ candies. Two types of transitions: a user may insert 5¢ or 10¢ coins. Places are states 0¢, 5¢, 10¢, 15¢, 20¢. 0¢ 10¢ 5¢ 10¢ 5¢ 5¢ 15¢ 20 ¢ 5¢ 10¢ 10¢ 5¢ c 1 get 15¢ candy c 2 get 20¢ candy start Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 13 / 46
  15. Modeling Examples of Petri Nets Modeling Choice (Conflict, Decision) At

    place start two transitions are enabled and may fire, i.e, to deposit either a 5¢ or a 10¢ coin. 0¢ 10¢ 5¢ 10¢ 5¢ 5¢ 15¢ 20 ¢ 5¢ 10¢ 10¢ 5¢ c 1 get 15¢ candy c 2 get 20¢ candy start Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 14 / 46
  16. Modeling Examples of Petri Nets Modeling Concurrent Activities Transitions t2

    and t3 represent concurrent activities. Par End t 4 t 3 t 2 t 1 Par Begin p 1 p 2 p 3 p 4 p 5 Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 15 / 46
  17. Modeling Examples of Petri Nets Communication Protocols buffer 1 t

    1 t 1 t 1 buffer 2 t 2 t 3 t 4 t 5 t 6 ready to send ready to receive send receive wait ack. message received receive ack. send ack. process 1 process 2 ack received. ack sent. sender receiver channels Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 16 / 46
  18. Modeling Examples of Petri Nets Dataflow Computation t 1 a

    copy a t 2 b b copy t 3 add t 4 substract a+b a−b t 6 divide t 5 if a−b≠0 t 7 if a−b=0 undefined Compute x = a+b a−b x = a+b a−b Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 17 / 46
  19. Petri Nets - Runs Sequential Run A Petri net N

    Its sequential run... A a − → B b − → C c − → A a − → ... short: abca Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 18 / 46
  20. Petri Nets - Runs Sequential Run with an External Resource

    Sequential run... AD a − → BD b − → C c − → AD a − → ... short: abca Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 19 / 46
  21. Petri Nets - Runs One more Process sharing the Resource

    Many sequential runs! Two of them... ADE a − → BDE b − → CE c − → ADE a − → ... ADE a − → BDE d − → BDF e − → BG f − → BDE... Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 20 / 46
  22. Petri Nets - Runs State Transition Diagram (Reachability Graph) Each

    path in the graph is a sequential run in the Petri net Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 21 / 46
  23. Petri Nets - Runs Concurrent Runs Transition ocurrences are partially

    ordered (ordering based on causality). Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 22 / 46
  24. Petri Nets - Runs Many Concurrent Runs! Irina A. Lomazova

    Petri Nets - Part 1: Introduction and Extensions 22 / 46
  25. Petri Nets - Runs A Run Consists of Scenarios... Irina

    A. Lomazova Petri Nets - Part 1: Introduction and Extensions 23 / 46
  26. Petri Nets - Runs A Run Consists of Scenarios... Two

    scenarios in the net above corresponding to red and blue processes. Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 23 / 46
  27. Petri Nets - Runs Petri Nets Semantics Sequential runs -

    interleaving semantics Concurrent runs - true concurrency semantics Parallel (simultaneous) firing of different enabled transitions - step semantics. Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 24 / 46
  28. Petri Net Extensions Basic Extensions Petri Nets with Inhibitor Arcs

    Petri Nets with Reset Arcs Petri Nets with Time Time Petri Nets (TPN) Stochastic Petri Nets (SPN) Petri Nets with Data Types Colored Petri Nets (CPN) Nets-within-Nets Nested Petri Nets (local semantics) Valk’s Object Petri Nets (reference semantics) Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 25 / 46
  29. Petri Net Extensions Petri nets with Inhibitor Arcs An inhbitor

    arc tests the absence of tokens (instead of testing the presence of a minimum number of tokens). t 1 p 1 p 2 2 p 3 p 4 p 5 2 3 inhibitor arc Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 26 / 46
  30. Petri Net Extensions Petri nets with Inhibitor Arcs Producer-Consumer System

    with Priority t 1 p 1 Producer A t 2 p 2 t 3 p 4 t 4 p 5 Consumer A Buffer A p 3 t 5 p 6 Producer B t 6 p 7 t 7 p 9 t 8 p 10 Consumer B Buffer B p 3 Consumer B can consume tokens from buffer B only if buffer A is empty Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 27 / 46
  31. Petri Net Extensions Petri nets with Reset Arcs A reset

    arc does not impose a precondition for firing, and it empties the place when the transition fires. Before firing of transition t1 t 1 p 1 p 2 p 3 Reset arc After firing of transition t1 t 1 p 1 p 2 p 3 Reset arc Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 28 / 46
  32. Petri Net Extensions Time and Petri Nets Petri nets can

    be extended with time, introducing time delays on transitions. Useful for analyzing time-dependent distributed systems, i.e, for performance evaluation, scheduling problems, etc. We consider two kind of Petri nets with time: (Deterministic) Time Petri Nets (TPN) → delay intervals are statically assigned. Stochastic Petri Nets (SPN) → delays are randomly generated from a probabilistic distribution. Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 29 / 46
  33. Petri Net Extensions Time Petri Nets (TPN) Each transition t

    has an internal clock with value v(t), and a delay interval [e(t), l(t)]. An enabled transition may fire just if its clock value v(t) lies within its interval [e(t), l(t)]. t 1 p 2 p 1 t 2 0 0 [ 1 , 4 ] [ 2 , 2 ] Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 30 / 46
  34. Petri Net Extensions Time Petri Nets (TPN) In TPN, a

    state is defined as a pair (M, v) where M is a net marking, and v is an array of clock values. A state S = (M, v) is transformed into a new state S : By some time elapsing d: (M, v) d − → (M, v + d) By the firing of a transition t: (M, v) t − → (M − Pre(t) + Post(t), v) Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 31 / 46
  35. Petri Net Extensions Time Petri Nets (TPN) - Sequence Example

    (0/4) Initial state (p1 + 2p2, (0, 0)) t 1 p 2 p 1 t 2 0 0 [ 1 , 4 ] [ 2 , 2 ] Clock values are set to 0. Transitions enabled, but cannot fire. (clock values not within their delay range) Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 32 / 46
  36. Petri Net Extensions Time Petri Nets (TPN) - Sequence Example

    (1/4) Elapsing time d = 1.5 secs. (p1 + 2p2, (0, 0)) d=1.5 − − − − → (p1 + 2p2, (1.5, 1.5)) t 1 p 2 p 1 t 2 1.5 1.5 [ 1 , 4 ] [ 2 , 2 ] Clock values updated. Enabled transition t2 can fire. v(t2 ) ∈ [1, 4] Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 32 / 46
  37. Petri Net Extensions Time Petri Nets (TPN) - Sequence Example

    (2/4) Firing of transition t2 . (p1 + 2p2, (0, 0)) d=1.5 − − − − → (p1 + 2p2, (1.5, 1.5)) t2 − → (p1 + p2, (1.5, 0)) t 1 p 2 p 1 t 2 0 1.5 [ 1 , 4 ] [ 2 , 2 ] Clock value v(t2 ) is reset. Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 32 / 46
  38. Petri Net Extensions Time Petri Nets (TPN) - Sequence Example

    (3/4) Elapsing time d = 0.5 secs. (p1 + 2p2, (0, 0)) d=1.5 − − − − → (p1 + 2p2, (1.5, 1.5)) t2 − → (p1 + p2, (1.5, 0)) d=0.5 − − − − → (p1 + p2, (2, 0.5)) t 1 p 2 p 1 t 2 0.5 2 [ 1 , 4 ] [ 2 , 2 ] Enabled transition t1 is allowed to fire. v(t1 ) ∈ [2, 2] Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 32 / 46
  39. Petri Net Extensions Time Petri Nets (TPN) - Sequence Example

    (4/4) Firing of transition t1 . (p1 + 2p2, (0, 0)) d=1.5 − − − − → (p1 + 2p2, (1.5, 1.5)) t2 − → (p1 + p2, (1.5, 0)) d=0.5 − − − − → (p1 + p2, (2, 0.5)) t1 − → (p2, (0, 0.5)) t 1 p 2 p 1 t 2 0.5 0 [ 1 , 4 ] [ 2 , 2 ] Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 32 / 46
  40. Petri Net Extensions Stochastic Petri Nets (SPN) Each enabled transition

    ti has a delay for firing di , which is a positive random variable with the exponential distribution. di ∼ Exponential(λi ) λi is the firing rate of transition ti . The average delay of transition ti is 1 λi If several transitions are enabled, the transition with shortest sampled delay fires first. Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 33 / 46
  41. Petri Net Extensions Stochastic Petri Nets (SPN) - Example t

    1 p 1 t 2 p 2 t 3 λ 1 =7 d 1 ~ exp(7) E[d 1 ]= 1 7 λ 2 =2 d 2 ~ exp(2) E[d 2 ]= 1 2 λ 3 =5 d 3 ~ exp(5) E[d 3 ]= 1 5 All transitions are enabled. Generate random delays... Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 34 / 46
  42. Petri Net Extensions Stochastic Petri Nets (SPN) - Example t

    1 p 1 t 2 p 2 t 3 λ 1 =7 d 1 ~ exp(7) λ 2 =2 d 2 ~ exp(2) λ 3 =5 d 3 ~ exp(5) d 1 =0.04 d 2 =0.53 d 3 =0.08 Generate random delays: di = ln(1−u) −λi u ∈ (0, 1) Transition t1 with shorest delay d1 fires... Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 34 / 46
  43. Petri Net Extensions Stochastic Petri Nets (SPN) - Example t

    1 p 1 t 2 p 2 t 3 λ 1 =7 d 1 ~ exp(7) λ 2 =2 d 2 ~ exp(2) λ 3 =5 d 3 ~ exp(5) New marking after firing transition t1 Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 34 / 46
  44. Petri Net Extensions Stochastic Petri Nets (SPN) - Markov Chain

    Consider the following Petri net N and its reachability graph R(N, M0 ) t 1 p 1 t 2 t 3 p 3 t 4 p 2 λ 1 =7 λ 3 =4 λ 4 =2 λ 2 =5 (0, 2, 0) M 0 (1, 1, 0) (2, 0, 0) t 1 M 1 M 3 t 1 t 2 t 2 (0, 1, 1) M 2 t 3 t 4 (0, 0, 1) M 5 t 3 t 4 (1, 0, 1) M 4 t 1 t 2 t 3 t 4 Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 35 / 46
  45. Petri Net Extensions Stochastic Petri Nets (SPN) - Markov Chain

    The Markov Chain of N can be constructed from R(N, M0 ) (0, 2, 0) M 0 (1, 1, 0) (2, 0, 0) t 1 M 1 M 3 t 1 t 2 t 2 (0, 1, 1) M 2 t 3 t 4 (0, 0, 1) M 5 t 3 t 4 (1, 0, 1) M 4 t 1 t 2 t 3 t 4 M 0 M 1 M 3 M 2 M 5 M 4 7/11 5/16 7/16 1 4/11 2/13 7/13 4/13 1 5/7 2/7 4/16 For instance, being at marking M0 the probability of passing to M1 is equal to the probability of firing t1 . Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 35 / 46
  46. Petri Net Extensions Stochastic Petri Nets (SPN) - Marking-dependent delays

    Predator-Prey Model p 1 t 2 t 3 antelopes t 1 p 2 cheetahs predation death birth m 1 λ 1 m 1 m 2 λ 2 λ 3 Predator-Prey Model Antelopes reproduce (by firing birth) with rate m1λ1 , where m1 is the number of tokens at p1 . (more antelopes, faster reproduction). Cheetahs reproduce (by firing predation) with rate m1 m2λ2 , where m2 is the number of tokens at p2 . (more antelopes and cheetahs, more chance to predate and reproduce new cheetahs). Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 36 / 46
  47. Petri Net Extensions Towards Petri Net Extensions with Objects Consider

    the following Ordinary Petri Net t 1 p 1 at home p 2 t 3 t 2 at work projects p 3 discussion Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 37 / 46
  48. Petri Net Extensions A Colored Petri Net (CPN) t 1

    p 1 at home p 2 t 3 t 2 at work projects p 3 discussion x x x x x y z A B C Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 38 / 46
  49. Petri Net Extensions A Nested Petri Net (NP-net) t 1

    p 1 at home p 2 t 3 t 2 at work projects p 3 produce x x x x x y System Net (SN) Element Net (EN) u 1 u 2 passive active q 1 q 2 work with a colleague λh u 3 produce ready q 3 λv λv Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 39 / 46
  50. Petri Net Extensions A Nested Petri Net (NP-net) - Marking

    Example t 1 p 1 at home p 2 t 3 t 2 at work projects p 3 produce x x x x x y u 1 u 2 passive active q 1 q 2 work with a colleague λh u 3 produce ready q 3 λv λv u 1 u 2 active q 1 q 2 λh u 3 produce ready q 3 λv passive work with a colleague Two agents in place “at work” in the system net. Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 40 / 46
  51. Petri Net Extensions A Nested Petri Net (NP) - Horizontal

    Synchronization t 1 p 1 at home p 2 t 3 t 2 at work projects p 3 produce x x x x x y u 1 u 2 passive active q 1 q 2 work with a colleague λh u 3 produce ready q 3 λv λv u 1 u 2 active q 1 q 2 λh u 3 produce ready q 3 λv passive work with a colleague Simultanenous firing of transition “work with a colleague” in each element net. Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 41 / 46
  52. Petri Net Extensions A Nested Petri Net (NP) - Horizontal

    Synchronization t 1 p 1 at home p 2 t 3 t 2 at work projects p 3 produce x x x x x y u 1 u 2 passive active q 1 q 2 work with a colleague λh u 3 produce ready q 3 λv λv u 1 u 2 active q 1 q 2 λh u 3 produce ready q 3 λv passive work with a colleague Simultanenous firing of transition “work with a colleague” in each element net. Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 41 / 46
  53. Petri Net Extensions A Nested Petri Net (NP) - Vertical

    Synchronization t 1 p 1 at home p 2 t 3 t 2 at work projects p 3 produce x x x x x y u 1 u 2 passive active q 1 q 2 work with a colleague λh u 3 produce ready q 3 λv λv u 1 u 2 active q 1 q 2 λh u 3 produce ready q 3 λv passive work with a colleague Simultanenous firing of transition “produce” in the system and in the element nets. Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 42 / 46
  54. Petri Net Extensions A Nested Petri Net (NP) - Vertical

    Synchronization t 1 p 1 at home p 2 t 3 t 2 at work projects p 3 produce x x x x x y u 1 u 2 passive active q 1 q 2 work with a colleague λh u 3 produce ready q 3 λv λv u 1 u 2 active q 1 q 2 λh u 3 produce ready q 3 λv passive work with a colleague Simultanenous firing of transition “produce” in the system and in the element nets. Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 42 / 46
  55. Petri Net Extensions Reference vs Local Semantics In Nested Petri

    Nets (NP-nets) each agent resides locally in one place of the system net (local semantics). In R. Valk’s Object Petri Nets (OPN) each agent may be in some sense distributed over a system net: different tokens (acting as pointers) in different places may refer to the same object net (reference semantics). In the following, we illustrate this difference with an example in fork-join situations. Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 43 / 46
  56. Petri Net Extensions Object Petri Nets (with reference semantics) t

    1 t 2 t 3 t 4 t 2 p 1 p 6 p 2 p 4 p 3 p 5 fork join task 1 task 2 ⟨i 4 ⟩ ⟨i 3 ⟩ ⟨i 2 ⟩ l 1 b 1 l 2 l 3 l 4 b 2 b 4 b 5 b 3 b 6 ⟨i 2 ⟩ ⟨i 3 ⟩ ⟨i 4 ⟩ Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 44 / 46
  57. Petri Net Extensions Object Petri Nets (with reference semantics) t

    1 t 2 t 3 t 4 t 2 p 1 p 6 p 2 p 4 p 3 p 5 fork join task 1 task 2 ⟨i 4 ⟩ ⟨i 3 ⟩ ⟨i 2 ⟩ l 1 b 1 l 2 l 3 l 4 b 2 b 4 b 5 b 3 b 6 ⟨i 2 ⟩ ⟨i 3 ⟩ ⟨i 4 ⟩ Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 45 / 46
  58. Petri Net Extensions Object Petri Nets (with reference semantics) t

    1 t 2 t 3 t 4 t 2 p 1 p 6 p 2 p 4 p 3 p 5 fork join task 1 task 2 ⟨i 4 ⟩ ⟨i 3 ⟩ ⟨i 2 ⟩ l 1 b 1 l 2 l 3 l 4 b 2 b 4 b 5 b 3 b 6 ⟨i 2 ⟩ ⟨i 3 ⟩ ⟨i 4 ⟩ Two tokens in the system net point to the same agent. The tokens denote some progress of the agent on each task. Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 45 / 46
  59. Petri Net Extensions Nested Petri Nets (with local semantics) t

    1 t 2 t 3 t 4 t 2 p 1 p 6 p 2 p 4 p 3 p 5 fork join task 1 task 2 λ 3 l 1 b 1 l 2 b 3 x x x y x y x y x x x b 2 l 3 l 4 b 4 l 5 λ 3 λ 2 λ 4 λ 2 λ 4 Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 46 / 46
  60. Petri Net Extensions Nested Petri Nets (with local semantics) t

    1 t 2 t 3 t 4 t 2 p 1 p 6 p 2 p 4 p 3 p 5 fork join task 1 task 2 λ 3 l 1 b 1 l 2 b 3 x x x y x y x y x x x b 2 l 3 l 4 b 4 l 5 λ 3 λ 2 λ 4 λ 2 λ 4 Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 46 / 46
  61. Petri Net Extensions Nested Petri Nets (with local semantics) t

    1 t 2 t 3 t 4 t 2 p 1 p 6 p 2 p 4 p 3 p 5 fork join task 1 task 2 λ 3 l 1 b 1 l 2 b 3 x x x y x y x y x x x b 2 l 3 l 4 b 4 l 5 λ 3 λ 2 λ 4 λ 2 λ 4 λ 3 l 1 b 1 l 2 b 3 b 2 l 3 l 4 b 4 l 5 λ 2 λ 4 Two copies of the same agent have been produced to perform, each of them, a single task. Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 46 / 46