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

Petri Nets and Their Extensions - Part 1

Exactpro
PRO
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
PRO

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)

    View Slide

  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

    View Slide

  3. Petri Nets - An Introduction
    and some Initial Modeling Examples

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    10¢

    10¢

    5¢ 15¢
    20 ¢

    10¢
    10¢

    c
    1
    get 15¢ candy
    c
    2
    get 20¢ candy
    start
    Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 13 / 46

    View Slide

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

    10¢

    10¢

    5¢ 15¢
    20 ¢

    10¢
    10¢

    c
    1
    get 15¢ candy
    c
    2
    get 20¢ candy
    start
    Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 14 / 46

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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

    Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 44 / 46

    View Slide

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

    View Slide

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

    View Slide

  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
    Irina A. Lomazova Petri Nets - Part 1: Introduction and Extensions 46 / 46

    View Slide

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

    View Slide

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

    View Slide