Ch8. Analysis Joosung, Ko.

Slides:



Advertisements
Similar presentations
ALGEBRA TILES Jim Rahn LL Teach, Inc.
Advertisements

Workflow Mining: Concepts and Algorithm Dr. Boleslaw Mikolajczak.
Techniques to analyze workflows (design-time)
1 SE-561 Formal Methods in Software Petri Nets - I.
Applied Algorithmics - week7
1 Analysis of workflows : Verification, validation, and performance analysis. Wil van der Aalst Eindhoven University of Technology Faculty of Technology.
Michael Alves, Patrick Dugan, Robert Daniels, Carlos Vicuna
CS433: Modeling and Simulation
Workflow Management Kap. 4. Analyzing Workflows Wil van der Aalst has copyrights to almost all figures in the following slideshow made by Lars Frank.
1 Modeling based on Petri-nets. Lecture 8. 2 High-level Petri nets The classical Petri net was invented by Carl Adam Petri in A lot of research.
Petri nets Classical Petri nets: The basic model
IE 469 Manufacturing Systems
4. FREQUENCY DISTRIBUTION
Markov Analysis Jørn Vatn NTNU.
Event-drive SimulationCS-2303, C-Term Project #3 – Event-driven Simulation CS-2303 System Programming Concepts (Slides include materials from The.
Petri net modeling of biological networks Claudine Chaouiya.
Banker’s Algorithm Implementation in CPN Tools Michal Žarnay Department of Transportation Networks University of Žilina, Slovakia.
Performance Analysis and Monitoring Facilities in CPN Tools Tutorial CPN’05 October 25, 2005 Lisa Wells.
1 Performance Evaluation of Computer Networks Objectives  Introduction to Queuing Theory  Little’s Theorem  Standard Notation of Queuing Systems  Poisson.
Simulation.
1 Prepared for SSAC by Semra Kilic-Bahi, Colby-Sawyer College, New London NH Modified by Fred Annexstein © The Washington Center for Improving the Quality.
Kendall & KendallCopyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 9 Kendall & Kendall Systems Analysis and Design, 9e Process Specifications.
© Copyright 2011 John Wiley & Sons, Inc.
/faculteit technologie management DEMO CPN-tools Ronny Mans Eindhoven University of Technology, Faculty of Technology Management, Department of Information.
/faculteit technologie management PN-1 Petri nets refesher Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management,
Curve Modeling Bézier Curves
Decidability of Minimal Supports of S-invariants and the Computation of their Supported S- invariants of Petri Nets Faming Lu Shandong university of Science.
Capacity analysis of complex materials handling systems.
Lesson 6: Market Research. Objectives Outline the five major steps in the market research process Describe how surveys can be used to learn about customer.
Market Research Lesson 6. Objectives Outline the five major steps in the market research process Describe how surveys can be used to learn about customer.
Finite Element Method.
Workflow Treatment with Coloured Petri Nets Alexandru Cicortaş Diana
February 18, 2015CS21 Lecture 181 CS21 Decidability and Tractability Lecture 18 February 18, 2015.
Lecture 14 – Queuing Networks Topics Description of Jackson networks Equations for computing internal arrival rates Examples: computation center, job shop.
Modeling. Conceptual modeling: Petri nets Implementation: Arena, CPN tools Simulation needed: build models. Start with concepts, then select appropriate.
To accompany Quantitative Analysis for Management, 9e by Render/Stair/Hanna 17-1 © 2006 by Prentice Hall, Inc. Upper Saddle River, NJ Chapter 17.
Kurt Jensen Lars M. Kristensen 1 Coloured Petri Nets Department of Computer Science Coloured Petri Nets Modelling and Validation of Concurrent Systems.
CS717 Algorithm-Based Fault Tolerance Matrix Multiplication Greg Bronevetsky.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems with Multi-programming Chapter 4.
Chapter 11 Data Descriptions and Probability Distributions Section 1 Graphing Data.
1 Recursion Recursion is a powerful programming technique that provides elegant solutions to certain problems. Chapter 11 focuses on explaining the underlying.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
CAP 4800/CAP 5805: Computer Simulation Concepts
/faculteit technologie management PN-1 Petri nets refresher Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management,
Chapter 7 Queues Introduction Queue applications Implementations.
Algorithms For Solving History Sensitive Cascade in Diffusion Networks Research Proposal Georgi Smilyanov, Maksim Tsikhanovich Advisor Dr Yu Zhang Trinity.
10.1 Properties of Markov Chains In this section, we will study a concept that utilizes a mathematical model that combines probability and matrices to.
Division with Biochemical Reactions Presenter : 鄭棋勻.
/faculteit technologie management PN-1 مهندسی مجدد فرآیندهای تجاری بخش دوم: مدلسازی فرآیندها به کمک Petri nets.
A SUPPORT TOOL FOR THE REACHABILITY AND OTHER PETRI NETS- RELATED PROBLEMS AND FORMAL DESIGN AND ANALYSIS OF DISCRETE SYSTEMS Department of Computers and.
A fault tree – Based Bayesian network construction for the failure rate assessment of a complex system 46th ESReDA Seminar May 29-30, 2014, Politecnico.
Reliability Engineering
OPERATING SYSTEMS CS 3502 Fall 2017
OPERATING SYSTEMS CS 3502 Fall 2017
Lecture 14 – Queuing Networks
Java Software Structures: John Lewis & Joseph Chase
Stochastic Activity Networks
Wil van der Aalst Eindhoven University of Technology
Modeling based on Petri-nets.
Wil van der Aalst Eindhoven University of Technology
Chapter 1: Exploring Data
Chapter 1: Exploring Data
Introduction to Data Structures
Lecture 14 – Queuing Networks
Chapter 1: Exploring Data
Petri nets refresher Prof.dr.ir. Wil van der Aalst
Chapter 1: Exploring Data
Mathematical Analysis of Algorithms
Chapter 1: Exploring Data
Workflow Mining: Concepts and Algorithm
Presentation transcript:

Ch8. Analysis Joosung, Ko

outline Introduction What do we want to analyze? Reachability analysis Structural analysis Place invariants Transition invariants Automated calculation of invariants Simulation Example the taxi company simulation using CPN Tools Classical Petri nets Vs High level Petri nets

1. Introduction It is reasonable to make such a process model. Making a process model can help us to understand it better. A Petri-net-based process model can be used as a specification or a design of a system to be developed. A Petri-net-based process model can also be used for the analysis of a system. In this chapter, we study how to use Petri nets for the purpose of analysis.

2. What do we want to analyze? We can ask some questions to know about some systems. Two question types : qualitative and quantitative questions. If you answer, ‘yes’ or ‘no’ -> qualitative If you answer, ‘number, frequency’ -> quantitative There are two reasons to distinct these questions

3. Reachability Analysis In reachability analysis, the reachability graph of a Petri net is analyzed. With this graph of the Petri net, we can answer a number of qualitative Questions. By inspecting the reachability graph Of a high-level Petri net, we can gain insight into the occupation rates, efficiency, performance and costs of the modeled situation.

A model for two traffic lights. rg1 rg2 r1 r2 go1 go2 g1 g2 or1 or2 o1 o2 x A model for two traffic lights.

4. Structural Analysis The number of nodes in the reachability graph on the initial state. It is difficult to use reachability analysis when you have unlimited reachable states. start_production start_consumption producer free consume wait product end_production end_consumption Producers and consumers

a. Place Invariants A place invariants assigns to each place a weight, in such a way that no transition can change the weighted token sum. A place invariant represents a kind of preservation law. man woman couple marriage divorce A classical Petri net

A business process involving a specialist free docu end wait done start change busy inside A business process involving a specialist

rg1 rg2 g2 g1 r2 r1 go1 x go2 o1 o2 or1 or2 Two traffic lights

b. Transition invariants We use transition invariants to prove that a Petri net returns to the initial state after a certain series of firings A transition invariant assigns each transition t a weight wt in such a way that firing each transition t wt times does not change the state. The weight of a transition is not allowed to be a negative number. A transition invariant does not indicate in which order the transition should fire. Only the number of firings per transition is fixed. Transition invariants are the counterparts of place invariants. We can use invariants in two ways We can verify whether previously determined properties indeed apply. We can derive invariants and subsequently check which properties they represent.

A classical Petri net The four seasons winter p1 p4 p2 p3 man couple divorce marriage woman winter p1 p4 spring autumn The four seasons p2 p3 summer

c. Automated calculation of invariants Place and transition invariants are structural techniques, and the invariants can be checked and calculated efficiently. We can simply describe how invariants can be computed. It is important to note that a Petri net can be represented by a matrix having a row for each place and a column for each T. The incidence matrix of a Petri net can be used for all kinds of analysis. It is not difficult to calculate a basis and there are many techniques to obtain the most interesting invariants.

5. Simulation The purpose of simulation is to avoid too costly or dangerous experiments. We study the simulation in the sense of experimenting with a high-level Petri net representing processes of reality. We can run the simulation through the reachability graph. To clarify things we need to discuss the concept “probability distribution” since these are typically used to specify delays in a simulation model. During the simulation all kinds of things can be measured. To determine the reliability of the measurements, the simulation run is often divided into a number of subruns.

A uniform distribution of probability for service durations 0.3 0.2 0.1 2 4 6 8 10 duration (min) 2 4 6 8 10 duration (min) 0.1 0.2 0.3 probability A negative exponential probability distribution for the time in between two arrivals

a. Example: The Taxi Company color Car=string arrive Car environment gas_station drive_on depart HS HS Page main modeling the gas station and its environment

fun len(q:Queue) = if q=[] then 0 ln arrive Car drive_on c [len(q)<3] put_in_queue queue Queue q^^[c] q [] start () Pump c@+uniform(2,5) pump_free TCar end out depart c::q fill_up color Car = string; color Pump = until; color TCar = Car timed; color Queue = list Car; var c:Car; var q:Queue; fun len(q:Queue) = if q=[] then 0 else 1+len(tl(q)); Page gas_station

b. simulation using cpn tools

Page gas_station in CPN Tools ln arrive c [len(q)<3] [len(q)>=3] c Car put_in_queue q drive_on q^^[c] q [] queue q 1 1’0 Queue q c::q start () () c c@+discrete(2000,5000) fill_up Car pump_free Pump c () 1 1’1@0 end c depart drive_on out out Car Car Page gas_station in CPN Tools

Page environment in CPN Tools. j+1@+round(exponential(1.0/4000.0)) 1 1’1@0 1 (“car_”^Int.toString(i),IntInf.toInt(time())) i counter create arrive out Car percentage 1 1’0 (i*100)div(i+1) INT 1 1’0 i+1 k i c count_do drive_on record_depart_on in INT Car 1 1’0 count_d INT 1 1’0 i average_d i+1 k INT 1 1’0 i I div(i+1) (cid,t) j sum_do depart record_drive_do in INT Car Page environment in CPN Tools.

The top level of the simulation model arrive Car environment gas_station drive_on depart gas_station environment The top level of the simulation model

The effect of adding three extra places to the waiting space.

6. classical petri nets Vs high-level petri nets The classical Petri net allows for many types of analysis and many questions are tractable To gain insight into applicability of analysis methods to high level nets we discuss each f the three extensions and their effect on analysis The extension with color increases the expressive power of Petri nets considerably. The extension with time adds a dimension to the Petri net The extension with hierarchy allows for the construction of large and complex models but does not complicate analysis.

Definition of top-level page five _philosopher left = CS2 right = CS1 color BlackToken = unit; var b:BlackToken HS () CS2 () CS1 BlackToken BlackToken PH1 HS PH2 PH5 philosopher left = CS1 right = CS5 HS philosopher left = CS3 right = CS2 CS5 CS3 () () BlackToken BlackToken CS4 () PH4 PH3 HS HS philosopher left = CS5 right = CS4 philosopher left = CS4 right = CS3 BlackToken Definition of top-level page five _philosopher

Thank you