Learning Center
Plans & pricing Sign in
Sign Out




Nipun Devlekar
    Zauja Lahtau

      PETRINET (place/ transition net): a formal,
graphical, executable technique for the
specification and analysis of concurrent, discrete-
event dynamic systems; a technique undergoing

     Petri nets derive their name from the
inventor of this tool: Prof. Carl Adam Petri
   Prof. Carl Adam Petri, Germany
 Formal
 Graphical
 Software design
 Workflow management
 Data Analysis
 Concurrent Programming
 Readability Engineering
 Diagnosis for finding the original error in the
  line of error -> error state -> visible error
 A simple PN is a 5-tuple: (P,T,IN,OUT,Mo)
 P, finite number of Places: {p1,p2….,p}
 T, finite set of transitions: {t1,t2….tm}
  Input function: Defines directed arcs from
  places to transitions.
 Output function: Defines directed arcs from
  transition to places
 Mo : P ->N initial marking
Various attributes of PN
► Safeness: Number of tokens in each place cannot
  exceed one
► Boundedness: The number of tokens in each place
  cannot exceed some threshold k
► Conservation: Total number of tokens in the system is
► Dead transition: A transition that can never be fired in
► Live Transitions: transitions that can be enabled
► Deadlock: No transition can fire
► Live PN: Every transition is live
► Reachable markings: A marking M obtained by firing a
  sequence of transitions from initial marking .
Graphical Representation
 A transition is enabled if each of its input places contains
  a number of tokens that is greater than or equal to the
  weight of the arrow connecting the input place to the

 An enabled transition may fire

 Firing of a transition T removes from each input place Pi
  the number of token equal to the weight of arrow from Pi
  to T and then inserts into each output place Pj the
  number of tokens equal to the weight of arrow from T to
 Requirements 
1>Truck arrives at a loading dock
2>Paper is processed and inventory chequed
3>Conveyor belts move from the loading dock to
  the warehouse transporting people
4>Conveyor belt moves back from the warehouse
  to loading dock with merchandise
5>Goods are loaded in the truck
    EG2:Differential Equation from
 V1 = k1xy
 V2 = k2z
 dz /dt = V1 – V2 = k1xy – k2z
 dy /dz = 2V2 – V1 = 2k2z – k1xy
 dx /dt = -V1 = -k1xy
Any of the enabled transitions may fire
Model does not specify which fires, nor when
it fires

 Starvation (i.e., a process never gets a

Petri net reaches a state in
which no transition is enabled i.e., a
Deadlock State
How to avoid starvation
Why Other Types of Petri-Nets?
 Token of PN’s do not carry information
   no data concept nor manipulation
 PN’s for simple systems get very complex
   loss of usability
 No hierarchical structures with PN’s
   reusable modules
    What is a Colored Petri-nets
 Combination of Petri-Nets and a
  programming language
 Control structures, synchronization,
  communication and resource sharing
  described by PN’s
 Data and data manipulation described by
  functional programming language
           Extensions in CPN’s
Tokens (Each place contains a set of markers called tokens)
    carry data value of different types
    no longer shown as plain blank dots
            Extensions in CPN’s
Places (The ellipses and the circles are called places)
    Color set: specifies the type of tokens the
     place can hold
    Initial Marking: multi-set of token colors
                            Multi-set for identical token colors

                            Token color describe different object
           Extensions in CPN’s
Transitions (The rectangles are called transitions)
    Inspect token colors
    Guard-function decides if transition is enable
     or not
Arcs (The arrows are called arcs)
    describe how the state
     of the CP-net changes
     when the transitions occur.
        Why Colored Petri-Nets?

 CP-nets have a graphical representation
 CP-nets are very general and can be used to describe a
    large variety of different systems
   CP-nets have an explicit description of both states and
   CP-nets have a semantics which builds upon true
    concurrency, instead of interleaving
   CP-nets offer hierarchical descriptions
   CP-nets offer interactive simulations where the results
    are presented directly on the CPN diagram
   CP-nets have computer tools supporting their drawing,
    simulation and formal analysis
        Stochastic Petri Nets
 Introduced by the computer science
  community in the early 1980s.
 SPNs are a probabilistic extension of the
  original nets introduced by Carl Adam
  Petri in his 1962 Ph.D. dissertation.
                Why SPN?
 It has the same modelling power as
    GSMPs. (Generalized semi-Markov process)
   Graphically oriented (user friendly)
   Solid mathematical foundation
   Popular and enduring
   Useful to describe more or less complex
Graphical representation of an SPN
 Places are drawn as circles
 Immediate transitions
   as thin bars
 Timed transitions as
   thick bars
 Directed arcs connect
  transitions to output places and normal input
  places to transitions; arcs terminating in open
  dots connect inhibitor input places to transitions.
 Tokens are drawn as black dots
 A transition is enabled whenever there is at least one
  token in each of its normal input places and no tokens in
  any of its inhibitor input places; otherwise, it is disabled
 An enabled transition fires by removing one token per
  place from a random subset of its normal input places
  and depositing one token per place in a random subset
  of its output places.
 An immediate transition fires
  the instant it becomes enabled,
  whereas a timed transition fires
  after a positive
  (and usually random)
  amount of time
 Graphical format for system design and
 The possibility and existing rich theory for
  functional analysis with Petri nets
 The facility to describe synchronization
 The natural way in which time can be
  added to determine quantitative properties
  of the specified system
 The disappointing thing about SPN’s is that the
  integration of time changes the behavior of the
  PN significantly
 So properties proven for the PN might not hold
  for the corresponding time-augmented PN
  E.g., a live PN might become deadlocked or a non-live
    PN might become live.
 Using SPN’s to specify the sharing of resources
  controlled by specific scheduling strategies is
  very cumbersome
      Time Petri nets (TPN’s)
 First introduced by Merlin and Farber
 TPN is a 6-tuple (P, T, I, O, Mo, SI)
 (P, T, In, Out, Mo) is a Petri net
 SI is mapping called static interval
   SI: T → Q * (Q U ∞)
   Q is the set of rational numbers
 In a TPN, two time values are defined for each transition,
    a and b,
   where a is the minimum time the transition must wait for
    after it is enabled and before it is fired,
   b is the maximum time the transition can wait for before
    firing if it is still enabled
   Time a and b, for transition t are relative to the moment
    at which transition t is enabled
   Transition t enable at time &, then t, cannot fire before
    time & + a and must fire before or at time & + b,
    otherwise disabled
          Time Petri nets: syntax
   Places: logical part of the state
   Tokens: current value of the logical part of the state
   Transitions: events, actions, …
   Labels: observable behavior
   Arcs: Pre and Post (logical) conditions of events occurrence
   Time (closed) intervals: temporal conditions of events
             Time Petri nets:
          transitions occurrence
 Logical part
   The logical part of a state is a marking, i.e. a number
    of tokensper place.
   A transition is enabled if the tokens required by the
    pre conditions are present in the marking.
 Timed part
   There is an implicit clock per enabled transition and
    its value defines the timed part of the state.
   An enabled transition is fireable if its clock value lies
    in its interval.
               Time Petri nets:
               changes of state
 Time elapsing
    The marking is unchanged.
    Time may elapse (with updates of clocks) if every
     clock value does not go beyond the corresponding
 Transition firing
    Tokens required by the pre condition are consumed
     and tokens specified by the post condition are
    Clocks values of newly enabled transitions are reset.
         Why Time Petri Nets?
 Basic Petri nets lack a temporal description and fail to
  represent any timing constraints for time-dependent
 Time Petri nets (TPN) is a concise model for managing
  simultaneously concurrency and time
 TPNs are most widely used for real-time system
  specification and verification
 References
Thank You..

To top