Presentation is loading. Please wait.

Presentation is loading. Please wait.

/faculteit technologie management PN-1 Petri nets refresher Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management,

Similar presentations

Presentation on theme: "/faculteit technologie management PN-1 Petri nets refresher Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management,"— Presentation transcript:

1 /faculteit technologie management PN-1 Petri nets refresher Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management, Department of Information and Technology, P.O.Box 513, NL-5600 MB, Eindhoven, The Netherlands.

2 /faculteit technologie management PN-2 Process modeling Emphasis on dynamic behavior rather than structuring the state space Transition system is too low level We start with the classical Petri net Then we extend it with: –Color –Time –Hierarchy

3 /faculteit technologie management PN-3 Classical Petri net Simple process model –Just three elements: places, transitions and arcs. –Graphical and mathematical description. –Formal semantics and allows for analysis. History: –Carl Adam Petri (1962, PhD thesis) –In sixties and seventies focus mainly on theory. –Since eighties also focus on tools and applications (cf. CPN work by Kurt Jensen). –“Hidden” in many diagramming techniques and systems.

4 /faculteit technologie management PN-4 Elements

5 /faculteit technologie management PN-5 Rules Connections are directed. No connections between two places or two transitions. Places may hold zero or more tokens. First, we consider the case of at most one arc between two nodes.

6 /faculteit technologie management PN-6 Enabled A transition is enabled if each of its input places contains at least one token. enabled Not enabled

7 /faculteit technologie management PN-7 Firing An enabled transition can fire (i.e., it occurs). When it fires it consumes a token from each input place and produces a token for each output place. fired

8 /faculteit technologie management PN-8 Play “Token Game” In the new state, make_picture is enabled. It will fire, etc.

9 /faculteit technologie management PN-9 Remarks Firing is atomic. Multiple transitions may be enabled, but only one fires at a time, i.e., we assume interleaving semantics (cf. diamond rule). The number of tokens may vary if there are transitions for which the number of input places is not equal to the number of output places. The network is static. The state is represented by the distribution of tokens over places (also referred to as marking).

10 /faculteit technologie management PN-10 Non-determinism Two transitions are enabled but only one can fire

11 /faculteit technologie management PN-11 Example: Single traffic light

12 /faculteit technologie management PN-12 Two traffic lights OR

13 /faculteit technologie management PN-13 Problem

14 /faculteit technologie management PN-14 Solution How to make them alternate?

15 /faculteit technologie management PN-15 Playing the “Token Game” on the Internet Applet to build your own Petri nets and execute them: pn_applet/pn_applet.htm FLASH animations:

16 /faculteit technologie management PN-16 Exercise: Train system (1) Consider a circular railroad system with 4 (one- way) tracks (1,2,3,4) and 2 trains (A,B). No two trains should be at the same track at the same time and we do not care about the identities of the two trains.

17 /faculteit technologie management PN-17 Exercise: Train system (2) Consider a railroad system with 4 tracks (1,2,3,4) and 2 trains (A,B). No two trains should be at the same track at the same time and we want to distinguish the two trains.

18 /faculteit technologie management PN-18 Exercise: Train system (3) Consider a railroad system with 4 tracks (1,2,3,4) and 2 trains (A,B). No two trains should be at the same track at the same time. Moreover the next track should also be free to allow for a safe distance. (We do not care about train identities.)

19 /faculteit technologie management PN-19 Exercise: Train system (4) Consider a railroad system with 4 tracks (1,2,3,4) and 2 trains. Tracks are free, busy or claimed. Trains need to claim the next track before entering.

20 /faculteit technologie management PN-20 WARNING It is not sufficient to understand the (process) models. You have to be able to design them yourself !

21 /faculteit technologie management PN-21 Multiple arcs connecting two nodes The number of arcs between an input place and a transition determines the number of tokens required to be enabled. The number of arcs determines the number of tokens to be consumed/produced.

22 /faculteit technologie management PN-22 Example: Ball game

23 /faculteit technologie management PN-23 Exercise: Manufacturing a chair Model the manufacturing of a chair from its components: 2 front legs, 2 back legs, 3 cross bars, 1 seat frame, and 1 seat cushion as a Petri net. Select some sensible assembly order. Reverse logistics?

24 /faculteit technologie management PN-24 Exercise: Burning alcohol. Model C 2 H 5 OH + 3 * O 2 => 2 * CO 2 + 3 * H 2 O Assume that there are two steps: first each molecule is disassembled into its atoms and then these atoms are assembled into other molecules.

25 /faculteit technologie management PN-25 Exercise: Manufacturing a car Model the production process shown in the Bill- Of-Materials. car engine subassembly1 subassembly2 wheel chassis chair 2 4

26 /faculteit technologie management PN-26 Formal definition A classical Petri net is a four-tuple (P,T,I,O) where: P is a finite set of places, T is a finite set of transitions, I : P x T -> N is the input function, and O : T x P -> N is the output function. Any diagram can be mapped onto such a four tuple and vice versa.

27 /faculteit technologie management PN-27 Formal definition (2) The state (marking) of a Petri net (P,T,I,O) is defined as follows: s: P-> N, i.e., a function mapping the set of places onto {0,1,2, … }.

28 /faculteit technologie management PN-28 Exercise: Map onto (P,T,I,O) and s

29 /faculteit technologie management PN-29 Exercise: Draw diagram Petri net (P,T,I,O): P = {a,b,c,d} T = {e,f} I(a,e)=1, I(b,e)=2, I(c,e)=0, I(d,e)=0, I(a,f)=0, I(b,f)=0, I(c,f)=1, I(d,f)=0. O(e,a)=0, O(e,b)=0, O(e,c)=1, O(e,d)=0, O(f,a)=0, O(f,b)=2, O(f,c)=0, O(f,d)=3. State s: s(a)=1, s(b)=2, s(c)=0, s(d) = 0.

30 /faculteit technologie management PN-30 Enabling formalized Transition t is enabled in state s 1 if and only if:

31 /faculteit technologie management PN-31 Firing formalized If transition t is enabled in state s 1, it can fire and the resulting state is s 2 :

32 /faculteit technologie management PN-32 Mapping Petri nets onto transition systems A Petri net (P,T,I,O) defines the following transition system (S,TR):

33 /faculteit technologie management PN-33 Reachability graph The reachability graph of a Petri net is the part of the transition system reachable from the initial state in graph-like notation. The reachability graph can be calculated as follows: 1.Let X be the set containing just the initial state and let Y be the empty set. 2.Take an element x of X and add this to Y. Calculate all states reachable for x by firing some enabled transition. Each successor state that is not in Y is added to X. 3.If X is empty stop, otherwise goto 2.

34 /faculteit technologie management PN-34 Example (3,2) (1,3)(1,2) (3,1)(3,0) (1,1) (1,0) Nodes in the reachability graph can be represented by a vector “(3,2)” or as “3 red + 2 black”. The latter is useful for “sparse states” (i.e., few places are marked).

35 /faculteit technologie management PN-35 Exercise: Give the reachability graph using both notations

36 /faculteit technologie management PN-36 Different types of states Initial state: Initial distribution of tokens. Reachable state: Reachable from initial state. Final state (also referred to as “dead states”): No transition is enabled. Home state (also referred to as home marking): It is always possible to return (i.e., it is reachable from any reachable state). How to recognize these states in the reachability graph?

37 /faculteit technologie management PN-37 Exercise: Producers and consumers Model a process with one producer and one consumer, both are either busy or free and alternate between these two states. After every production cycle the producer puts a product in a buffer. The consumer consumes one product from this buffer per cycle. Give the reachability graph and indicate the final states. How to model 4 producers and 3 consumers connected through a single buffer? How to limit the size of the buffer to 4?

38 /faculteit technologie management PN-38 Exercise: Two switches Consider a room with two switches and one light. The light is on or off. The switches are in state up or down. At any time any of the switches can be used to turn the light on or off. Model this as a Petri net. Give the reachability graph.

39 /faculteit technologie management PN-39 Modeling Place: passive element Transition: active element Arc: causal relation Token: elements subject to change The state (space) of a process/system is modeled by places and tokens and state transitions are modeled by transitions (cf. transition systems).

40 /faculteit technologie management PN-40 Role of a token Tokens can play the following roles: a physical object, for example a product, a part, a drug, a person; an information object, for example a message, a signal, a report; a collection of objects, for example a truck with products, a warehouse with parts, or an address file; an indicator of a state, for example the indicator of the state in which a process is, or the state of an object; an indicator of a condition: the presence of a token indicates whether a certain condition is fulfilled.

41 /faculteit technologie management PN-41 Role of a place a type of communication medium, like a telephone line, a middleman, or a communication network; a buffer: for example, a depot, a queue or a post bin; a geographical location, like a place in a warehouse, office or hospital; a possible state or state condition: for example, the floor where an elevator is, or the condition that a specialist is available.

42 /faculteit technologie management PN-42 Role of a transition an event: for example, starting an operation, the death of a patient, a change seasons or the switching of a traffic light from red to green; a transformation of an object, like adapting a product, updating a database, or updating a document; a transport of an object: for example, transporting goods, or sending a file.

43 /faculteit technologie management PN-43 Typical network structures Causality Parallelism (AND-split - AND-join) Choice (XOR-split – XOR-join) Iteration (XOR-join - XOR-split) Capacity constraints –Feedback loop –Mutual exclusion –Alternating

44 /faculteit technologie management PN-44 Causality

45 /faculteit technologie management PN-45 Parallelism

46 /faculteit technologie management PN-46 Parallelism: AND-split

47 /faculteit technologie management PN-47 Parallelism: AND-join

48 /faculteit technologie management PN-48 Choice: XOR-split

49 /faculteit technologie management PN-49 Choice: XOR-join

50 /faculteit technologie management PN-50 Iteration: 1 or more times XOR-join before XOR-split

51 /faculteit technologie management PN-51 Iteration: 0 or more times XOR-join before XOR-split

52 /faculteit technologie management PN-52 Capacity constraints: feedback loop AND-join before AND-split

53 /faculteit technologie management PN-53 Capacity constraints: mutual exclusion AND-join before AND-split

54 /faculteit technologie management PN-54 Capacity constraints: alternating AND-join before AND-split

55 /faculteit technologie management PN-55 We have seen most patterns, e.g.: How to make them alternate? Example of mutual exclusion

56 /faculteit technologie management PN-56 Exercise: Manufacturing a car (2) Model the production process shown in the Bill-Of-Materials with resources. Each assembly step requires a dedicated machine and an operator. There are two operators and one machine of each type. Hint: model both the start and completion of an assembly step. car engine subassembly1 subassembly2 wheel chassis chair 2 4

57 /faculteit technologie management PN-57 Modeling problem (1): Zero testing Transition t should fire if place p is empty. t ? p

58 /faculteit technologie management PN-58 Solution Only works if place is N-bounded t N input and output arcs Initially there are N tokens p p’

59 /faculteit technologie management PN-59 Modeling problem (2): Priority Transition t1 has priority over t2 t1 t2 ? Hint: similar to Zero testing!

60 /faculteit technologie management PN-60 A bit of theory Extensions have been proposed to tackle these problems, e.g., inhibitor arcs. These extensions extend the modeling power (Turing completeness*). Without such an extension not Turing complete. Still certain questions are difficult/expensive to answer or even undecidable (e.g., equivalence of two nets). * Turing completeness corresponds to the ability to execute any computation.

61 /faculteit technologie management PN-61 Exercise: Witness statements As part of the process of handling insurance claims there is the handling of witness statements. There may be 0-10 witnesses per claim. After an initialization step (one per claim), each of the witnesses is registered, contacted, and informed (i.e., 0-10 per claim in parallel). Only after all witness statements have been processed a report is made (one per claim). Model this in terms of a Petri net.

62 /faculteit technologie management PN-62 Exercise: Dining philosophers 5 philosophers sharing 5 chopsticks: chopsticks are located in-between philosophers A philosopher is either in state eating or thinking and needs two chopsticks to eat. Model as a Petri net.

63 /faculteit technologie management PN-63 Preview: Analysis Various types of analysis techniques: –Simulation (repeatedly playing the token game) –Reachability analysis (constructing the reachability graph) –Markovian analysis (reachability graph with transition probabilities) –Invariants: place invariants and transition invariants (conservation of tokens and sequences without effect) Role of models: (1) insight, (2) analysis, and (3) specification.

64 /faculteit technologie management PN-64 Place invariant: Example wait+before+after+gone free+occupied

65 /faculteit technologie management PN-65 Transition invariant: Example enter+make_picture+leave+accident

66 /faculteit technologie management PN-66 High level Petri nets Extending classical Petri nets with color, time and hierarchy (informal introduction)

67 /faculteit technologie management PN-67 Limitations of classical Petri nets Inability to test for zero tokens in a place. Models tend to become large. Models cannot reflect temporal aspects No support for structuring large models, cf. top- down and bottom-up design

68 /faculteit technologie management PN-68 Inability to test for zero tokens in a place t ? p “Tricks” only work if p is bounded

69 /faculteit technologie management PN-69 Models tend to become (too) large Size linear in the number of products.

70 /faculteit technologie management PN-70 Models tend to become (too) large (2) Size linear in the number of tracks.

71 /faculteit technologie management PN-71 Models cannot reflect temporal aspects Duration of each phase is highly relevant.

72 /faculteit technologie management PN-72 No support for structuring large models

73 /faculteit technologie management PN-73 High-level Petri nets To tackle the problems identified. Petri nets extended with: –Color (i.e., data) –Time –Hierarchy For the time being be do not choose a concrete language but focus on the main concepts. Later we focus on a concrete language: CPN. These concepts are supported by many variants of CPN including ExSpect, CPN AMI, etc.

74 /faculteit technologie management PN-74 Running example: Making punch cards waiting patients served patients free desk employees patient/ employees

75 /faculteit technologie management PN-75 Extension with color (1) Tokens have a color (i.e., a data value)

76 /faculteit technologie management PN-76 Extension with color (2) Places are typed (also referred to as color set). record Brand:string * RegistrationNo:string * Year:int * Color:string * Owner:string

77 /faculteit technologie management PN-77 Extension with color (3) The relation between production and consumption needs to be specified, i.e., the value of a produced token needs to be related to the values of consumed tokens. The value of the token produced for place sum is the sum of the values of the consumed tokens.

78 /faculteit technologie management PN-78 Running example: Tokens are colored

79 /faculteit technologie management PN-79 Running example: Places are typed

80 /faculteit technologie management PN-80 Running example: Initial state start is enabled

81 /faculteit technologie management PN-81 Running example: Transition start fired stop is enabled New value is created by simply merging the two records.

82 /faculteit technologie management PN-82 Running example: Transition stop fired New values are created by simply spliting the record into two parts.

83 /faculteit technologie management PN-83 The number of tokens produced is no longer fixed (1) Note that the network structure is no longer a complete specification!

84 /faculteit technologie management PN-84 The number of tokens produced is no longer fixed (2) The number of tokens produced for each output place is between 0 and 3 and the sum should be 3.

85 /faculteit technologie management PN-85 Example Model as a colored Petri net.

86 /faculteit technologie management PN-86 The entire stock is represented by the value of a single token, i.e., a list of records. Product and quantity are in the value of the token

87 /faculteit technologie management PN-87 Types color Product = string; color Number = int; color StockItem = record prod:Product * num:Number; color Stock = list StockItem; StockItem Stock

88 /faculteit technologie management PN-88 Extension with time (1) Each token has a timestamp. The timestamp specifies the earliest time when it can be consumed.

89 /faculteit technologie management PN-89 Extension with time (2) The enabling time of a transition is the maximum of the tokens to be consumed. If there are multiple tokens in a place, the earliest ones are consumed first. A transition with the smallest firing time will fire first. Transitions are eager, i.e., they fire as soon as they can. Produced token may have a delay. The timestamp of a produced token is the firing time plus its delay.

90 /faculteit technologie management PN-90 Running example: Enabling time Transition start is enabled at time 2 = max{0,min{2,4,4}}.

91 /faculteit technologie management PN-91 Running example: Delays Tokens for place busy get a delay of 3 @+3 = firing time plus 3 time units

92 /faculteit technologie management PN-92 Running example: Transition start fired Transition start fired a time 2. Continue to play (timed) token game…

93 /faculteit technologie management PN-93 Exercise: Final state?

94 /faculteit technologie management PN-94 Exercise: Final state?

95 /faculteit technologie management PN-95 Extension with hierarchy Timed and colored Petri nets result in more compact models. However, for complex systems/processes the model does not fit on a single page. Moreover, putting things at the same level does not reflect the structure of the process/system. Many hierarchy concepts are possible. In this course we restrict ourselves to transition refinement.

96 /faculteit technologie management PN-96 Instead of

97 /faculteit technologie management PN-97 We can use hierarchy

98 /faculteit technologie management PN-98 Reuse Reuse saves design efforts. Hierarchy can have any number of levels Transition refinement can be used for top-down and bottom-up design

99 /faculteit technologie management PN-99 Exercise: model three (parallel) punch card desks in a hierarchical manner

Download ppt "/faculteit technologie management PN-1 Petri nets refresher Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management,"

Similar presentations

Ads by Google