CAP 4800/CAP 5805: Computer Simulation Concepts

Slides:



Advertisements
Similar presentations
School of Computer Science & Software Engineering
Advertisements

Principles of Engineering System Design Dr T Asokan
1 Petri Nets I Paul Fishwick author From
Models of Concurrency Manna, Pnueli.
1 SE-561 Formal Methods in Software Petri Nets - I.
Course: Software Engineering II academic year: Course Web-site: [ Lecturer: Catia Trubiani.
Knowledge Based Synthesis of Control for Distributed Systems Doron Peled.
An Introduction to Petri Nets
Principles of Engineering System Design Dr T Asokan
Introduction to Petri Nets Hugo Andrés López
1 Analysis of workflows : Verification, validation, and performance analysis. Wil van der Aalst Eindhoven University of Technology Faculty of Technology.
A university for the world real R © 2009, Chapter 3 Advanced Synchronization Moe Wynn Wil van der Aalst Arthur ter Hofstede.
Based on: Petri Nets and Industrial Applications: A Tutorial
1 A class of Generalized Stochastic Petri Nets for the performance Evaluation of Mulitprocessor Systems By M. Almone, G. Conte Presented by Yinglei Song.
IE 469 Manufacturing Systems
Lei Bu Petri Nets 11 Dining Philosphier 4 States , 5 transitions.
10. Petri Nets Prof. O. Nierstrasz. Roadmap  Definition: —places, transitions, inputs, outputs —firing enabled transitions  Modelling: —concurrency.
Petri Nets Overview 1 Definition of Petri Net C = ( P, T, I, O) Places P = { p 1, p 2, p 3, …, p n } Transitions T = { t 1, t 2, t 3, …, t n } Input.
Classification of Simulation Models
CP — Concurrent Programming 12. Petri Nets Prof. O. Nierstrasz Wintersemester 2005 / 2006.
A Schedulability-Preserving Transformation of BDF to Petri Nets Cong Liu EECS 290n Class Project December 10, 2004.
1 Gas Station and Cruise Control Specifications Ronnie Apcar Edwin Chiu Hasmik Jerejian November 2, 2000 CSCI 599 Formal Methods November 2, 2000 Concurrency.
1 Petri Nets H Plan: –Introduce basics of Petri Net models –Define notation and terminology used –Show examples of Petri Net models u Calaway Park model.
1 Petri Nets Marco Sgroi EE249 - Fall 2001 Most slides borrowed from Luciano Lavagno’s lecture ee249 (1998)
Mata kuliah :K0362/ Matematika Diskrit Tahun :2008
PETRINETS Nipun Devlekar Zauja Lahtau. PETRINETS DEFINITION : DEFINITION :  PETRINET (place/ transition net): a formal, graphical, executable technique.
From requirements to specification Specification is a refinement of requirements Can be included together as Software Requirements Specifications (SRS)
An Introduction to Petri Nets Marjan Sirjani Formal Methods Laboratory University of Tehran.
Modeling with ordinary Petri Nets Events: Actions that take place in the system The occurrence of these events is controlled by the state of the system.
CY2003 Computer Systems Lecture 7 Petri net. © LJMU, 2004CY2003- Week 72 Overview Petri net –concepts –Petri net representation –Firing a transition –Marks.
Jana Flochová and René K. Boel Faculty of Informatics and Information Technology Slovak university of Technology, Bratislava, Slovakia EESA Department,
Petri Nets: Their Development and Use in Production Planning Jeffrey E. Short, P.E. December 6, 2000.
Stochastic Activity Networks ( SAN ) Sharif University of Technology,Computer Engineer Department, Winter 2013 Verification of Reactive Systems Mohammad.
Generalized stochastic Petri nets (GSPN)
Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.
Petri Nets Invented by Carl Adam Petri in 1962 Concurrent systems with timing problems  Synchronization, race problem, deadlock A petri net consists of.
CAP 4800/CAP 5805: Computer Simulation Concepts
Modelling by Petri nets
Modeling Mobile-Agent-based Collaborative Processing in Sensor Networks Using Generalized Stochastic Petri Nets Hongtao Du, Hairong Qi, Gregory Peterson.
Ch5: Software Specification. 1 Petri Nets  Introduced by C. Adams Petri in  Widely used in the modeling and analysis of computer systems.  Basic.
CS212: Object Oriented Analysis and Design Lecture 34: UML Activity and Collaboration diagram.
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
School of Computer Science & Software Engineering
/faculteit technologie management PN-1 Petri nets refresher Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management,
/faculteit technologie management PN-1 Petri nets refresher Prof.dr.ir. Wil van der Aalst Eindhoven University of Technology, Faculty of Technology Management,
High Performance Embedded Computing © 2007 Elsevier Lecture 4: Models of Computation Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte.
Petri-Nets and Other Models
State Modeling. Introduction A state model describes the sequences of operations that occur in response to external stimuli. As opposed to what the operations.
Week 8 Computational Level
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini VIII. Specifications (II)
Concurrent Systems Modeling using Petri Nets
Dr. Eng Amr T. Abdel-Hamid
Modeling and Simulation (An Introduction)
CHAPTER 8 Operations Scheduling
2. Specification and Modeling
Clockless Computing COMP
Week 8 Computational Level
COT 5611 Operating Systems Design Principles Spring 2014
Stochastic Activity Networks
Concurrent Systems Modeling using Petri Nets – Part II
CAP 4800/CAP 5805: Computer Simulation Concepts
CAP 4800/CAP 5805: Computer Simulation Concepts
CSCI1600: Embedded and Real Time Software
Introduction to Petri Nets (PNs)
COT 5611 Operating Systems Design Principles Spring 2012
An Introduction to Petri Nets
CAP 4800/CAP 5805: Computer Simulation Concepts
Petri Net :Abstract formal model of information flow Major use:
CSCI1600: Embedded and Real Time Software
Petri Nets Laurie Frazier.
Presentation transcript:

CAP 4800/CAP 5805: Computer Simulation Concepts Petri Nets Sunday, November 18, 2012 Unviersity of Florida

Definition of Petri Net C = ( P, T, I, O) Places P = { p1, p2, p3, …, pn} Transitions T = { t1, t2, t3, …, tn} Input I : T  Pr (r = number of places) Output O : T  Pq (q = number of places) marking µ : assignment of tokens to the places of Petri net µ = µ1, µ2, µ3, … µn

CAP 4800/CAP 5805: Computer Simulation Concepts Basics of Petri Nets Petri net is primarily used for studying the dynamic concurrent behavior of network-based systems where there is a discrete flow. Petri net consist two types of nodes: places and transitions. And arc exists only from a place to a transition or from a transition to a place. A place may have zero or more tokens. Graphically, places, transitions, arcs, and tokens are represented respectively by: circles, bars, arrows, and dots. Unviersity of Florida

Below is an example Petri net with two places and one transaction. Basics of Petri Nets … Below is an example Petri net with two places and one transaction. Transition node is ready to fire if and only if there is at least one token at each of its input places state transition of form (1, 0)  (0, 1) p1 : input place p2: output place p1 t1 p2

Basics of Petri Nets … Sequential Execution Transition t2 can fire only after the firing of t1. This impose the precedence of constraints "t2 after t1." Synchronization Transition t1 will be enabled only when a token there are at least one token at each of its input places. Merging Happens when tokens from several places arrive for service at the same transition. p1 t1 p2 t2 p3 t1

Basics of Petri Nets … Concurrency t1 and t2 are concurrent. - with this property, Petri net is able to model systems of distributed control with multiple processes executing concurrently in time. t1 t2

Basics of Petri Nets … Conflict t1 and t2 are both ready to fire but the firing of any leads to the disabling of the other transitions. t1 t2 t1 t2

Example: In a Restaurant (A Petri Net) Waiter free Customer 1 Customer 2 Take order Take order wait Order taken wait eating eating Tell kitchen Serve food Serve food

Example: In a Restaurant (Two Scenarios) Waiter takes order from customer 1; serves customer 1; takes order from customer 2; serves customer 2. Scenario 2: Waiter takes order from customer 1; takes order from customer 2; serves customer 2; serves customer 1.

Example: In a Restaurant (Scenario 1) Waiter free Customer 1 Customer 2 Take order Order taken Tell kitchen wait Serve food eating

Example: In a Restaurant (Scenario 2) Waiter free Customer 1 Customer 2 Take order Order taken Tell kitchen wait Serve food eating

Example: Vending Machine (A Petri net) CAP 4800/CAP 5805: Computer Simulation Concepts Example: Vending Machine (A Petri net) 5c Take 15c bar Deposit 5c 0c Deposit 10c Deposit 5c 10c Deposit 20c 15c Take 20c bar Unviersity of Florida

Example: Vending Machine (3 Scenarios) Deposit 5c, deposit 5c, deposit 5c, deposit 5c, take 20c snack bar. Scenario 2: Deposit 10c, deposit 5c, take 15c snack bar. Scenario 3: Deposit 5c, deposit 10c, deposit 5c, take 20c snack bar.

Example: Vending Machine (Token Games) CAP 4800/CAP 5805: Computer Simulation Concepts Example: Vending Machine (Token Games) 5c Take 15c bar Deposit 5c 0c Deposit 10c Deposit 5c 10c Deposit 20c 15c Take 20c bar Unviersity of Florida

Petri Net examples (Dining Philosophers) Five philosophers alternatively think and eating Chopsticks: p0, p2, p4, p6, p8 Philosophers eating: p10, p11, p12, p13, p14 Philosophers thinking/meditating: p1, p3, p5, p7, p9

Time in Petri Net General approach: Original model of Petri Net was timeless. Time was not explicitly considered. Even though there are arguments against the introduction of time, there are several applications that require notion of time. General approach: Transition is associated with a time for which no event/firing of a token can occur until this delay time has elapsed. This delay time can be deterministic or probabilistic.

Modeling of Time Constant times Stochastic times Transition occurs at pre-determined times (deterministic) Stochastic times Time is determined by some random variable (probabilistic) Stochastic Petri Nets(SPN)

Stochastic Petri Nets An SPN is defined as a 7-tuple SPN= (P, T, I(.), O(.), H(.), W(.), M0) where PN = (P, T, I(.), O(.), H(.), M0) is the P/T system underlying the SPN Transitions have an exponentially distributed delay W(.): T --> R assigns a rate to each transition (inverse of the mean firing time)

Stochastic Petri Nets … The stochastic process underlying an SPN is a CTMC in which the state transition rate diagram is isomorphic to the reachability graph the transition labels are computed from the W(.) functions of the transitions enabled in a state.

Stochastic Petri Nets …

Generalized Stochastic Petri Net (GSPN) Two types of transitions timed with an exponentially distributed delay immediate, with constant zero delay immediate have priority over timed Why immediate transitions: to account for instantaneous actions (typically choices) to implement logical actions (e.g. emptying a place) to account for large time scale differences (e.g. bus arbitration vs. I/O accesses)

Generalized Stochastic Petri Net (GSPN) …

Stochastic Activity Network (SAN) The desire to represent system characteristics of parallelism and timeliness, as well as fault tolerance and degradable performance, precipitated the development of general level performability models known as stochastic activity networks. Stochastic activity networks are probabilistic extensions of activity networks the nature of the extension is similar to the extension that constructs stochastic Petri nets from (classical) Petri nets.

Stochastic Activity Network (SAN) …