420 likes | 499 Views
PETRINETS. Nipun Devlekar Zauja Lahtau. PETRINETS. DEFINITION :
E N D
PETRINETS Nipun Devlekar Zauja Lahtau
PETRINETS 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
Formal • Graphical • Executable • Specification • Analysis • Concurrent • Discreet
APPLICATIONS OF PETRINET • 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 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 .
FIRING • 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
EG1:WAREHOUSE • 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
V1 = k1xy • V2 = k2z • dz /dt = V1 – V2 = k1xy – k2z • dy /dz = 2V2 – V1 = 2k2z – k1xy • dx /dt = -V1 = -k1xy
Non-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
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 (CPN)? • 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 placecontains 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 ellipsesand 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 rectanglesare called transitions) • Inspect token colors • Guard-function decides if transition is enable or not Arcs (The arrowsare 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 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
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 systems
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
Continue • A transition is enabledwhenever 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 firesby 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. • Animmediatetransition fires the instant it becomes enabled, whereas a timed transition fires after a positive (and usually random) amount of time
Advantage • 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
Disadvantage • 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
Continue • 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 occurrence
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 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.
Why 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
References • http://en.wikipedia.org/wiki/Petri_net • http://www.cs.arizona.edu/ • http://www.ento.vt.edu/~sharov/PopEcol/lec1/petrinet.html • http://ieeexplore.ieee.org/iel5/3477/18734/00865173.pdf?arnumber=865173 • http://www.mfn.unipmn.it/~bobbio/BIBLIO/PAPERS/ANNO90/kluwerpetrinet.pdf • http://www.informs-sim.org/wsc04papers/013.pdf • http://www.daimi.au.dk/CPnets/intro