1 / 42

PETRINETS

PETRINETS. Nipun Devlekar Zauja Lahtau. PETRINETS. DEFINITION :

Télécharger la présentation

PETRINETS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PETRINETS Nipun Devlekar Zauja Lahtau

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

  3. Prof. Carl Adam Petri, Germany

  4. Formal • Graphical • Executable • Specification • Analysis • Concurrent • Discreet

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

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

  8. Graphical Representation

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

  10. FIRING

  11. HOW TO USE PETRINET FOR MODELLEING

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

  13. EG2:Differential Equation from Petrinet .

  14. V1 = k1xy • V2 = k2z • dz /dt = V1 – V2 = k1xy – k2z • dy /dz = 2V2 – V1 = 2k2z – k1xy • dx /dt = -V1 = -k1xy

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

  16. How to avoid starvation

  17. DeadLock

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  32. Continue

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

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

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

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

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

  38. Thank You..

More Related