Title: PETRINETS
1PETRINETS
-
- Nipun Devlekar Zauja Lahtau
2PETRINETS
- DEFINITION
- PETRINET (place/ transition net) a
formal, graphical, executable technique for the
specification and analysis of concurrent,
discrete-event dynamic systems a technique
undergoing standardization. - Petri nets derive their name from the
inventor of this tool Prof. Carl Adam Petri
3- Prof. Carl Adam Petri, Germany
4- Formal
- Graphical
- Executable
- Specification
- Analysis
- Concurrent
- Discreet
5APPLICATIONS OF PETRINET
- Software design
- Workflow management
- Data Analysis
- Concurrent Programming
- Readability Engineering
- Diagnosis for finding the original error in the
line of error -gt error state -gt visible error
6- 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 -gtN initial marking
7- 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 invariant. - ? Dead transition A transition that can never be
fired in future. - ? 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 .
8Graphical Representation
9FIRING
- RULES
- 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 transition - 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 Pj
10(No Transcript)
11FIRING
12HOW TO USE PETRINET FOR MODELLEING
13EG1WAREHOUSE
- Requirements ?
- 1gtTruck arrives at a loading dock
- 2gtPaper is processed and inventory chequed
- 3gtConveyor belts move from the loading dock to
the warehouse transporting people - 4gtConveyor belt moves back from the warehouse to
loading dock with merchandise - 5gtGoods are loaded in the truck
14(No Transcript)
15(No Transcript)
16EG2Differential Equation from Petrinet
17- V1 k1xy
- V2 k2z
- dz /dt V1 V2 k1xy k2z
- dy /dz 2V2 V1 2k2z k1xy
- dx /dt -V1 -k1xy
18Non-Determinism
- Any of the enabled transitions may fire
- Model does not specify which fires, nor when it
fires
Starvation
Starvation (i.e., a process never gets a
resource)
Deadlock
Petri net reaches a state in which no transition
is enabled i.e., a Deadlock State
19(No Transcript)
20How to avoid starvation
21DeadLock
22Why Other Types of Petri-Nets?
- Token of PNs do not carry information
- no data concept nor manipulation
- PNs for simple systems get very complex
- loss of usability
- No hierarchical structures with PNs
- reusable modules
23What is a Colored Petri-nets (CPN)?
- Combination of Petri-Nets and a programming
language - Control structures, synchronization,
communication and resource sharing described by
PNs - Data and data manipulation described by
functional programming language
24Extensions in CPNs
- Tokens (Each place contains a set of markers
called tokens) - carry data value of different types
- no longer shown as plain blank dots
25Extensions in CPNs
- 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
26Extensions in CPNs
- 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.
27Why 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 actions - 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
28Stochastic 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.
29Why 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 systems
30Graphical 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
31Continue
- 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
32Advantage
- Graphical format for system design and
specification - 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
33Disadvantage
- The disappointing thing about SPNs 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 SPNs to specify the sharing of resources
controlled by specific scheduling strategies is
very cumbersome
34Time Petri nets (TPNs)
- 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 8)
- Q is the set of rational numbers
35Continue
- 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
36Continue
37Time 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 occurrence
38Time Petri netstransitions 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.
39Time Petri netschanges 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
interval. - Transition firing
- Tokens required by the pre condition are consumed
and tokens specified by the post condition are
produced. - Clocks values of newly enabled transitions are
reset.
40Why Time Petri Nets?
- Basic Petri nets lack a temporal description and
fail to represent any timing constraints for
time-dependent systems. - 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
41- References
- http//en.wikipedia.org/wiki/Petri_net
- http//www.cs.arizona.edu/
- http//www.ento.vt.edu/sharov/PopEcol/lec1/petrin
et.html - http//ieeexplore.ieee.org/iel5/3477/18734/0086517
3.pdf?arnumber865173 - http//www.mfn.unipmn.it/bobbio/BIBLIO/PAPERS/ANN
O90/kluwerpetrinet.pdf - http//www.informs-sim.org/wsc04papers/013.pdf
- http//www.daimi.au.dk/CPnets/intro
42