Petri nets refesher Prof dr ir Wil van

Скачать презентацию Petri nets refesher Prof dr ir Wil van Скачать презентацию Petri nets refesher Prof dr ir Wil van

b37e4041ffd795a6d78d365142a630a7.ppt

  • Количество слайдов: 159

Petri nets refesher Prof. dr. ir. Wil van der Aalst Eindhoven University of Technology, Petri nets refesher Prof. dr. ir. 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. /faculteit technologie management PN-1

Petri nets Classical Petri nets: The basic model Prof. dr. ir. Wil van der Petri nets Classical Petri nets: The basic model Prof. dr. ir. 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. /faculteit technologie management PN-2

Process modeling • Emphasis on dynamic behavior rather than structuring the state space • 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 /faculteit technologie management PN-3

Classical Petri net • Simple process model – Just three elements: places, transitions and 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, Ph. D 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. /faculteit technologie management PN-4

Elements /faculteit technologie management PN-5 Elements /faculteit technologie management PN-5

Rules • • Connections are directed. No connections between two places or two transitions. 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. /faculteit technologie management PN-6

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

Firing • An enabled transition can fire (i. e. , it occurs). • When 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 /faculteit technologie management PN-8

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

Remarks • Firing is atomic. • Multiple transitions may be enabled, but only one 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). /faculteit technologie management PN-10

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

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

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

Problem /faculteit technologie management PN-14 Problem /faculteit technologie management PN-14

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

Playing the “Token Game” on the Internet • Applet to build your own Petri Playing the “Token Game” on the Internet • Applet to build your own Petri nets and execute them: http: //www. tm. tue. nl/it/staff/wvdaalst/Downloads/ pn_applet/pn_applet. html • FLASH animations: http: //www. tm. tue. nl/it/staff/wvdaalst/courses/pm /flash/ /faculteit technologie management PN-16

Exercise: Train system (1) • Consider a circular railroad system with 4 (oneway) tracks Exercise: Train system (1) • Consider a circular railroad system with 4 (oneway) 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. /faculteit technologie management PN-17

Exercise: Train system (2) • Consider a railroad system with 4 tracks (1, 2, 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. /faculteit technologie management PN-18

Exercise: Train system (3) • Consider a railroad system with 4 tracks (1, 2, 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. ) /faculteit technologie management PN-19

Exercise: Train system (4) • Consider a railroad system with 4 tracks (1, 2, 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. /faculteit technologie management PN-20

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

Multiple arcs connecting two nodes • The number of arcs between an input place 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. /faculteit technologie management PN-22

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

Exercise: Manufacturing a chair • Model the manufacturing of a chair from its components: 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? /faculteit technologie management PN-24

Exercise: Burning alcohol. • Model C 2 H 5 OH + 3 * O 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. /faculteit technologie management PN-25

Exercise: Manufacturing a car • Model the production process shown in the Bill. Of-Materials. Exercise: Manufacturing a car • Model the production process shown in the Bill. Of-Materials. car subassembly 2 chair engine 2 chassis subassembly 1 4 wheel /faculteit technologie management PN-26

Formal definition A classical Petri net is a four-tuple (P, T, I, O) where: 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. /faculteit technologie management PN-27

Formal definition (2) The state (marking) of a Petri net (P, T, I, O) 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, … }. /faculteit technologie management PN-28

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

Exercise: Draw diagram Petri net (P, T, I, O): • P = {a, b, 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. /faculteit technologie management PN-30

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

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

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

Reachability graph • • The reachability graph of a Petri net is the part 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. /faculteit technologie management PN-34

Example (3, 2) (3, 1) (3, 0) (1, 3) (1, 2) (1, 1) (1, Example (3, 2) (3, 1) (3, 0) (1, 3) (1, 2) (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). /faculteit technologie management PN-35

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

Different types of states • Initial state: Initial distribution of tokens. • Reachable state: 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? /faculteit technologie management PN-37

Exercise: Producers and consumers • Model a process with one producer and one consumer, 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? /faculteit technologie management PN-38

Exercise: Two switches • Consider a room with two switches and one light. The 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. /faculteit technologie management PN-39

Modeling • • Place: passive element Transition: active element Arc: causal relation Token: elements 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). /faculteit technologie management PN-40

Role of a token Tokens can play the following roles: • a physical object, 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. /faculteit technologie management PN-41

Role of a place • a type of communication medium, like a telephone line, 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. /faculteit technologie management PN-42

Role of a transition • an event: for example, starting an operation, the death 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. /faculteit technologie management PN-43

Typical network structures • • • Causality Parallelism (AND-split - AND-join) Choice (XOR-split – 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 /faculteit technologie management PN-44

Causality /faculteit technologie management PN-45 Causality /faculteit technologie management PN-45

Parallelism /faculteit technologie management PN-46 Parallelism /faculteit technologie management PN-46

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

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

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

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

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

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

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

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

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

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

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

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

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

Modeling problem (2): Priority • Transition t 1 has priority over t 2 t Modeling problem (2): Priority • Transition t 1 has priority over t 2 t 1 ? t 2 /faculteit technologie management Hint: similar to Zero testing! PN-60

A bit of theory • Extensions have been proposed to tackle these problems, e. 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. /faculteit technologie management PN-61

Exercise: Witness statements • As part of the process of handling insurance claims there 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. /faculteit technologie management PN-62

Exercise: Dining philosophers • 5 philosophers sharing 5 chopsticks: chopsticks are located in-between philosophers 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. /faculteit technologie management PN-63

High level Petri nets Extending classical Petri nets with color, time and hierarchy (informal High level Petri nets Extending classical Petri nets with color, time and hierarchy (informal introduction) Prof. dr. ir. 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. /faculteit technologie management PN-64

Limitations of classical Petri nets • • Inability to test for zero tokens in 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. topdown and bottom-up design /faculteit technologie management PN-65

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

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

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

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

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

High-level Petri nets • To tackle the problems identified. • Petri nets extended with: 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 Ex. Spect, CPN AMI, etc. /faculteit technologie management PN-71

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

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

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

Extension with color (3) • The relation between production and consumption needs to be 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. /faculteit technologie management The value of the token produced for place sum is the sum of the values of the consumed tokens. PN-75

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

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

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

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

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

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

The number of tokens produced is no longer fixed (2) The number of tokens 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. /faculteit technologie management PN-82

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

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

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

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

Extension with time (2) • The enabling time of a transition is the maximum 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. /faculteit technologie management PN-87

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

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

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

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

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

Extension with hierarchy • Timed and colored Petri nets result in more compact models. 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. /faculteit technologie management PN-93

Instead of /faculteit technologie management PN-94 Instead of /faculteit technologie management PN-94

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

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

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

Analysis of Process Models: Reachability graphs, invariants, and simulation Prof. dr. ir. Wil van Analysis of Process Models: Reachability graphs, invariants, and simulation Prof. dr. ir. 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. /faculteit technologie management PN-98

Questions raised when considering the handling of customer orders • • • How many Questions raised when considering the handling of customer orders • • • How many orders arrive on average? How many orders can be handled? Do orders get lost? Do back orders always have priority? What is the utilization of office workers? If the desired product is no longer available, does the order get stuck? • Etc. /faculteit technologie management PN-99

Questions raised when considering the handling of customers in the canteen • What is Questions raised when considering the handling of customers in the canteen • What is the average waiting time from 12. 3013. 00? • What is the variance of waiting times? • What is the effect of an additional cashier on the queue length? • Etc. /faculteit technologie management PN-100

Questions raised when considering the an intersection with multiple traffic lights • How much Questions raised when considering the an intersection with multiple traffic lights • How much traffic can be handled per hour? • Give some volume of traffic, what is the probability to get a red light? • Is the intersection safe, i. e. , crossing flows have never a green light at the same time? • Can a light go from yellow to green? • Is the intersection fair (i. e. , a traffic light cannot turn green twice while cars are waiting on the other side)? /faculteit technologie management PN-101

Questions raised when considering a printer shared by multiple users • Can two print Questions raised when considering a printer shared by multiple users • Can two print jobs get mixed? • Do small jobs always get priority? • Can the settings of one job influence the next job? • Do out-of-paper events cause jobs to get lost? • How many jobs can be handled per day? • What is the probability of a paper jam? /faculteit technologie management PN-102

Questions raised when considering a teller machine • What is the average response time? Questions raised when considering a teller machine • What is the average response time? • Is there a balance, i. e. , the amount of money leaving the machine matches the amount taken from bank accounts? • How often should the machine be filled to guarantee 90% availability? • Is fraud possible? • Etc. /faculteit technologie management PN-103

Analysis • Analysis is typically modeldriven to allow e. g. what-if questions. • Models Analysis • Analysis is typically modeldriven to allow e. g. what-if questions. • Models of both operational processes and/or the information systems can be analyzed. • Types of analysis: – validation – verification – performance analysis /faculteit technologie management PN-104

Three analysis techniques (Chapter 8) • Reachability graph • Place & transition invariants • Three analysis techniques (Chapter 8) • Reachability graph • Place & transition invariants • Simulation • Each can be applied to both classical and high-level Petri nets. Nevertheless, for the first two we restrict ourselves to the classical Petri nets. • Use: – reachability graph (validation, verification) – invariants (validation, verification) – simulation (validation, performance analysis) /faculteit technologie management PN-105

Reachability graph (0, 0, 1, 1, 0, 0, 0) (1, 0, 0, 1, 0) Reachability graph (0, 0, 1, 1, 0, 0, 0) (1, 0, 0, 1, 0) (1, 0, 0, 1) (0, 1, 0, 0, 0) /faculteit technologie management (1, 0, 0, 0, 1, 0, 0) Five reachable states. Traffic lights are safe! PN-106

Alternative notation o 1+r 2 r 1+o 2 r 1+r 2+x g 1+r 2 Alternative notation o 1+r 2 r 1+o 2 r 1+r 2+x g 1+r 2 r 1+g 2 /faculteit technologie management PN-107

Reachability graph (2) • Graph containing a node for each reachable state. • Constructed Reachability graph (2) • Graph containing a node for each reachable state. • Constructed by starting in the initial state, calculate all directly reachable states, etc. • Expensive technique. • Only feasible if finitely many states (otherwise use coverability graph). • Difficult to generate diagnostic information. /faculteit technologie management PN-108

Infinite reachability graph /faculteit technologie management PN-109 Infinite reachability graph /faculteit technologie management PN-109

Exercise: Construct reachability graph /faculteit technologie management PN-110 Exercise: Construct reachability graph /faculteit technologie management PN-110

Exercise: Dining philosophers (1) • 5 philosophers sharing 5 chopsticks: chopsticks are located in-between Exercise: Dining philosophers (1) • 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. /faculteit technologie management PN-111

Exercise: Dining philosophers (2) • Assume that philosophers take the chopsticks one by one Exercise: Dining philosophers (2) • Assume that philosophers take the chopsticks one by one such that first the right-hand one is taken and then the left-hand one. • Model as a Petri net. • Is there a deadlock? /faculteit technologie management PN-112

Exercise: Dining philosophers (3) • Assume that philosopher take the chopsticks one by one Exercise: Dining philosophers (3) • Assume that philosopher take the chopsticks one by one in any order and with the ability to return a chopstick. • Model as a Petri net. • Is there a deadlock? /faculteit technologie management PN-113

Structural analysis techniques • To avoid state-explosion problem and bad diagnostics. • Properties independent Structural analysis techniques • To avoid state-explosion problem and bad diagnostics. • Properties independent of initial state. • We only consider place and transition invariants. • Invariants can be computed using linear algebraic techniques. /faculteit technologie management PN-114

Place invariant 1 man + 1 woman + 2 couple • Assigns a weight Place invariant 1 man + 1 woman + 2 couple • Assigns a weight to each place. • The weight of a token depends on the weight of the place. • The weighted token sum is invariant, i. e. , no transition can change it /faculteit technologie management PN-115

Other invariants • 1 man + 0 woman + 1 couple (Also denoted as: Other invariants • 1 man + 0 woman + 1 couple (Also denoted as: man + couple) • 2 man + 3 woman + 5 couple • -2 man + 3 woman + couple • man – woman • woman – man (Any linear combination of invariants is an invariant. ) /faculteit technologie management PN-116

Example: traffic light • • • r 1 + g 1 + o 1 Example: traffic light • • • r 1 + g 1 + o 1 r 2 + g 2 + o 2 r 1 + r 2 + g 1 + g 2 + o 1 + o 2 x + g 1 + o 1 + g 2 + o 2 r 1 + r 2 - x /faculteit technologie management PN-117

Exercise: Give place invariants /faculteit technologie management PN-118 Exercise: Give place invariants /faculteit technologie management PN-118

Transition invariant 2 marriage + 2 divorce • Assigns a weight to each transition. Transition invariant 2 marriage + 2 divorce • Assigns a weight to each transition. • If each transition fires the number of times indicated, the system is back in the initial state. • I. e. transition invariants indicate potential firing sets without any net effect. /faculteit technologie management PN-119

Other invariants • 1 marriage + 1 divorce (Also denoted as: marriage + divorce) Other invariants • 1 marriage + 1 divorce (Also denoted as: marriage + divorce) • 20 marriage + 20 divorce Any linear combination of invariants is an invariant, but transition invariants with negative weights have no obvious meaning. Invariants may be not be realizable. /faculteit technologie management PN-120

Example: traffic light • rg 1 + go 1 + or 1 • rg Example: traffic light • rg 1 + go 1 + or 1 • rg 2 + go 2 + or 2 • rg 1 + rg 2 + go 1 + go 2 + or 1 + or 2 • 4 rg 1 + 3 rg 2 + 4 go 1 + 3 go 2 + 4 or 1 + 3 or 2 /faculteit technologie management PN-121

Exercise: Give transition invariants /faculteit technologie management PN-122 Exercise: Give transition invariants /faculteit technologie management PN-122

Exercise: four philosophers • Give place invariants. • Give transition invariants /faculteit technologie management Exercise: four philosophers • Give place invariants. • Give transition invariants /faculteit technologie management PN-123

Two ways of calculating invariants • Two ways of calculating invariants • "Intuitive way": Formulate the property that you think holds and verify it. • "Linear-algebraic way": Solve a system of linear equations. Humans tend to do it the intuitive way and computers do it the linear-algebraic way. /faculteit technologie management PN-124

Incidence matrix of a Petri net • Each row corresponds to a place. • Incidence matrix of a Petri net • Each row corresponds to a place. • Each column corresponds to a transition. • Recall that a Petri net is described by (P, T, I, O). • N(p, t)=O(t, p)-I(p, t) where p is a place and t a transition. /faculteit technologie management PN-125

man Example woman marriage couple divorce /faculteit technologie management PN-126 man Example woman marriage couple divorce /faculteit technologie management PN-126

Place invariant • Let N be the incidence matrix of a net with n Place invariant • Let N be the incidence matrix of a net with n places and m transitions • Any solution of the equation X. N = 0 is a place invariant – X is a row vector (i. e. , 1 x n matrix) – O is a row vector (i. e. , 1 x m matrix) • Note that (0, 0, . . . 0) is always a place invariant. • Basis can be calculated in polynomial time. /faculteit technologie management PN-127

Example /faculteit technologie management Solutions: • (0, 0, 0) • (1, 0, 1) • Example /faculteit technologie management Solutions: • (0, 0, 0) • (1, 0, 1) • (0, 1, 1) • (1, 1, 2) • (1, -1, 0) PN-128

Transition invariant • Let N be the incidence matrix of a net with n Transition invariant • Let N be the incidence matrix of a net with n places and m transitions • Any solution of the equation N. X = 0 is a transition invariant – X is a column vector (i. e. , m x 1 matrix) – 0 is a column vector (i. e. , n x 1 matrix) • Note that (0, 0, . . . 0)T is always a transition invariant. • Basis can be calculated in polynomial time. /faculteit technologie management PN-129

Example Solutions: • (0, 0)T • (1, 1)T • (32, 32)T /faculteit technologie management Example Solutions: • (0, 0)T • (1, 1)T • (32, 32)T /faculteit technologie management PN-130

Exercise • Give incidence matrix. • Calculate/check place invariants. • Calculate/check transition invariants. /faculteit Exercise • Give incidence matrix. • Calculate/check place invariants. • Calculate/check transition invariants. /faculteit technologie management PN-131

Simulation • Most widely used analysis technique. • From a technical point of view Simulation • Most widely used analysis technique. • From a technical point of view just a "walk" in the reachability graph. • By making many "walks" (in case of transient behavior) or a very "long walk" (in case of steady-state) behavior, it is possible to make reliable statements about properties/ performance indicators. • Used for validation and performance analysis. • Cannot be used to prove correctness! /faculteit technologie management PN-132

Stochastic process • Simulation of a deterministic system is not very interesting. • Simulation Stochastic process • Simulation of a deterministic system is not very interesting. • Simulation of an untimed system is not interesting. • In a timed and non-deterministic system, durations and probabilities are described by some probability distribution. • In other words, we simulate a stochastic process! • CPN allows for the use of distributions using some internal random generator. /faculteit technologie management PN-133

Uniform distribution pdf cumulative /faculteit technologie management PN-134 Uniform distribution pdf cumulative /faculteit technologie management PN-134

Negative exponential distribution /faculteit technologie management PN-135 Negative exponential distribution /faculteit technologie management PN-135

Normal distribution /faculteit technologie management PN-136 Normal distribution /faculteit technologie management PN-136

Distributions in CPN Tools Assume some library with functions: • uniform(x, y) • nexp(x) Distributions in CPN Tools Assume some library with functions: • uniform(x, y) • nexp(x) • erlang(n, x) • Etc. A nice function is also C. ran() which returns a randomly selected element of finite color set C, e. g. , color C = int with 1. . 5; fun select 1 to 5() = C. ran() returns a number between 1 and 5 /faculteit technologie management PN-137

Example /faculteit technologie management PN-138 Example /faculteit technologie management PN-138

Example(2) /faculteit technologie management PN-139 Example(2) /faculteit technologie management PN-139

Subruns and confidence intervals • A single run does not provide information about reliability Subruns and confidence intervals • A single run does not provide information about reliability of results. • Therefore, multiple runs or one run cut into parts: subruns. • If the subruns are assumed to be mutually independent, one can calculate a confidence interval, e. g. , the flow time is with 95% confidence within the interval 5. 5+/-0. 5 (i. e. [5, 6]). /faculteit technologie management PN-140

Example of a simulation model • Gas station with one pump and space for Example of a simulation model • Gas station with one pump and space for 4 cars (3 waiting and 1 being served). • Service time: uniform distribution between 2 and 5 minutes. • Poisson arrival process with mean time between arrivals of 4 minutes. • If there are more than 3 cars waiting, the "sale" is lost. • Questions: flow time, waiting time, utilization, lost sales, etc. /faculteit technologie management PN-141

Top-level page: main /faculteit technologie management PN-142 Top-level page: main /faculteit technologie management PN-142

Subpage gas_station /faculteit technologie management PN-143 Subpage gas_station /faculteit technologie management PN-143

Assuming pages for the environment and measurements the last two pages allow for. . Assuming pages for the environment and measurements the last two pages allow for. . . • Calculation of flow time (average, variance, maximum, minimum, service level, etc. ). • Calculation of waiting times (average, variance, maximum, minimum, service level, etc. ). • Calculation of lost sales (average). • Probability of no space left. • Probability of no cars waiting. For each of these metrics, it is possible to formulate a confidence interval given sufficient observations. /faculteit technologie management PN-144

Alternatives Model the following alternatives: • 5 waiting spaces • 2 pumps • 1 Alternatives Model the following alternatives: • 5 waiting spaces • 2 pumps • 1 faster pump /faculteit technologie management PN-145

Simulation of a Production system S X Y Z C A B C /faculteit Simulation of a Production system S X Y Z C A B C /faculteit technologie management PN-146

Use distributions Data /faculteit technologie management PN-147 Use distributions Data /faculteit technologie management PN-147

Top level page: main /faculteit technologie management PN-148 Top level page: main /faculteit technologie management PN-148

Sub page: supplier /faculteit technologie management PN-149 Sub page: supplier /faculteit technologie management PN-149

Sub page: customer /faculteit technologie management PN-150 Sub page: customer /faculteit technologie management PN-150

Sub page: work_center /faculteit technologie management PN-151 Sub page: work_center /faculteit technologie management PN-151

Overview Results: • response time • utilization • % backorders • average stock • Overview Results: • response time • utilization • % backorders • average stock • etc. /faculteit technologie management PN-152

Classical versus high-level Petri nets • • Simulation clearly works for all types of Classical versus high-level Petri nets • • Simulation clearly works for all types of nets. Hierarchy is never a problem. Time allows for new types of analysis. Reachability graphs and invariants can also be extended to high-level nets. – More complex (both technique and computation) • Sometimes abstraction from color is possible to derive invariants (consider previous example). /faculteit technologie management PN-153

Exercise: Five Chinese philosophers • Recall hierarchical CPN model of five Chinese philosophers alternating Exercise: Five Chinese philosophers • Recall hierarchical CPN model of five Chinese philosophers alternating between states thinking and eating. – Give place invariants – Give transition invariants • Change the model such that philosophers can take one chopstick at a time but avoid deadlocks and a fixed ordering of philosophers. – Give place invariants – Give transition invariants /faculteit technologie management PN-154

Top-level page /faculteit technologie management PN-155 Top-level page /faculteit technologie management PN-155

Page philosopher /faculteit technologie management PN-156 Page philosopher /faculteit technologie management PN-156

Flat model is obtained by replacing substitution transitions by subpages Naming: • PH 3. Flat model is obtained by replacing substitution transitions by subpages Naming: • PH 3. think • PH 3. eat • PH 3. take_chopsticks • PH 3. put_down_chopsticks /faculteit technologie management Repeat 5 times. . . PN-157

Alternative page /faculteit technologie management PN-158 Alternative page /faculteit technologie management PN-158

You should be able to. . . • Construct a reachability graph for a You should be able to. . . • Construct a reachability graph for a classical Petri net. • Give meaningful place and transition invariants for a classical Petri net. • Construct a reachability graph and give meaningful place and transition invariants for a hierarchical CPN after abstracting from data and time and removing hierarchy. • Build a simple simulation model using CPN. • Motivate the use of each of the analysis techniques. /faculteit technologie management PN-159




  • Мы удаляем страницу по первому запросу с достаточным набором данных, указывающих на ваше авторство. Мы также можем оставить страницу, явно указав ваше авторство (страницы полезны всем пользователям рунета и не несут цели нарушения авторских прав). Если такой вариант возможен, пожалуйста, укажите об этом.