Slide 1

Slide 1 text

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)

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

Petri Nets - An Introduction and some Initial Modeling Examples

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

Petri Nets - Runs Many Concurrent Runs! Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 22 / 46

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

Petri Net Extensions Augmenting the Expressibility of Petri Nets for Modeling Complex Systems

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

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

Slide 47

Slide 47 text

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

Slide 48

Slide 48 text

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

Slide 49

Slide 49 text

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

Slide 50

Slide 50 text

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

Slide 51

Slide 51 text

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

Slide 52

Slide 52 text

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

Slide 53

Slide 53 text

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

Slide 54

Slide 54 text

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

Slide 55

Slide 55 text

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

Slide 56

Slide 56 text

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

Slide 57

Slide 57 text

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

Slide 58

Slide 58 text

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

Slide 59

Slide 59 text

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

Slide 60

Slide 60 text

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

Slide 61

Slide 61 text

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

Slide 62

Slide 62 text

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

Slide 63

Slide 63 text

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