Petri-Nets and Other Models

Slides:



Advertisements
Similar presentations
Chapter 3 The Data Link Layer.
Advertisements

An Introduction to Petri Nets
Principles of Engineering System Design Dr T Asokan
Lecture 8: Asynchronous Network Algorithms
Based on: Petri Nets and Industrial Applications: A Tutorial
PROTOCOL VERIFICATION & PROTOCOL VALIDATION. Protocol Verification Communication Protocols should be checked for correctness, robustness and performance,
26 September 2003U. Buy -- SEES 2003 Sidestepping verification complexity with supervisory control Ugo Buy Department of Computer Science Houshang Darabi.
Channel Allocation Protocols. Dynamic Channel Allocation Parameters Station Model. –N independent stations, each acting as a Poisson Process for the purpose.
IE 469 Manufacturing Systems
ECE 4450:427/527 - Computer Networks Spring 2015
LECTURE 11 CT1303 LAN. DYNAMIC MAC PROTOCOL No fixed assignment for transmission media or any network resources.. It allows transmission when needed.
Bridging. Bridge Functions To extend size of LANs either geographically or in terms number of users. − Protocols that include collisions can be performed.
Discrete Interaction Design Specification Prof. Dr. Matthias Rauterberg Faculty Industrial Design Technical University of Eindhoven
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.
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.
Modeling Worldviews Activity Scanning – Petri Nets and Event Graphs Event Scheduling – Event Graphs State Machines Process Interaction –Block Flow Diagrams.
12/07/2007Jiacun Wang1 SE-561 Math Foundations Petri Nets - II Dr. Jiacun Wang Department of Software Engineering Monmouth University.
1 Petri Nets Marco Sgroi EE249 - Fall 2001 Most slides borrowed from Luciano Lavagno’s lecture ee249 (1998)
Petri Net Modeling for dynamic MM composite Object.
Mata kuliah :K0362/ Matematika Diskrit Tahun :2008
Core 3: Communication Systems. On any network there are two types of computers present – servers and clients. By definition Client-Server architecture.
PETRINETS Nipun Devlekar Zauja Lahtau. PETRINETS DEFINITION : DEFINITION :  PETRINET (place/ transition net): a formal, graphical, executable technique.
Capacity analysis of complex materials handling systems.
Probability Review Thinh Nguyen. Probability Theory Review Sample space Bayes’ Rule Independence Expectation Distributions.
The Transport Layer  introduction  fundamental problems in networking  communicating reliably over an unreliable channel  congestion and flow control.
Automata. Summary Deterministic Automata  Languages Stochastic Automata Other Automata Formalisms  Automata with input and output Protocol Representation.
ARQ Mechanisms Rudra Dutta ECE/CSC Fall 2010, Section 001, 601.
Propagation Delay and Receiver Collision Analysis in WDMA Protocols I.E. Pountourakis, P.A. Baziana and G. Panagiotopoulos School of Electrical and Computer.
Bridging. Bridge Functions To extend size of LANs either geographically or in terms number of users. − Protocols that include collisions can be performed.
Network Design and Analysis-----Wang Wenjie Queueing System IV: 1 © Graduate University, Chinese academy of Sciences. Network Design and Analysis Wang.
Chapter 12 Transmission Control Protocol (TCP)
COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 3.
Kurt Jensen Lars M. Kristensen 1 Coloured Petri Nets Department of Computer Science Coloured Petri Nets Modelling and Validation of Concurrent Systems.
1 Chapters 8 Overview of Queuing Analysis. Chapter 8 Overview of Queuing Analysis 2 Projected vs. Actual Response Time.
2000 년 11 월 20 일 전북대학교 분산처리실험실 TCP Flow Control (nagle’s algorithm) 오 남 호 분산 처리 실험실
Stochastic Activity Networks ( SAN ) Sharif University of Technology,Computer Engineer Department, Winter 2013 Verification of Reactive Systems Mohammad.
CS3505: DATA LINK LAYER. data link layer  phys. layer subject to errors; not reliable; and only moves information as bits, which alone are not meaningful.
LOCAL AREA NETWORKS. CSMA/CD Carrier Sense Multiple Access with Collision Detection The CSMA method does not specify the procedure following a collision.
Generalized stochastic Petri nets (GSPN)
Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.
CAP 4800/CAP 5805: Computer Simulation Concepts
Modelling by Petri nets
Ch5: Software Specification. 1 Petri Nets  Introduced by C. Adams Petri in  Widely used in the modeling and analysis of computer systems.  Basic.
Protocol Specification Prof Pallapa. Venkataram Department of Electrical Communication Engineering Indian Institute of Science Bangalore – , India.
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
School of Computer Science & Software Engineering
CAP 4800/CAP 5805: Computer Simulation Concepts
1 Chapter 4 Fundamental Queueing System. 2 3 Ref: Mischa Schwartz “Telecommunication Networks” Addison-Wesley publishing company 1988.
Transport Layer: Sliding Window Reliability
CS 145A Protocols Netlab.caltech.edu/course. Misc. Extension Extension Textbooks Textbooks.
Review n System dynamics : A sequence of state transition n model : A set of rules for state transition System S X Y Discrete event system FSM (Automata)
CSCI 465 D ata Communications and Networks Lecture 10 Martin van Bommel CSCI 465 Data Communications & Networks 1.
1 Chapter 4 Fundamental Queueing System
High Performance Embedded Computing © 2007 Elsevier Lecture 4: Models of Computation Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte.
Simulation Examples And General Principles Part 2
Discrete-Event System Simulation in Java. Discrete Event Systems New dynamic systems New dynamic systems Computer and communication networks Computer.
DATA LINK CONTROL. DATA LINK LAYER RESPONSIBILTIES  FRAMING  ERROR CONTROL  FLOW CONTROL.
Computer Networking Lecture 16 – Reliable Transport.
Data Link Layer.
Distributed Systems Lecture 6 Global states and snapshots 1.
9. Principles of Reliable Data Transport – Part 1
Data Link Layer Flow Control.
Advantages of FSM Their simplicity make it easy for inexperienced developers to implement with little to no extra knowledge (low entry level)
Dr. Eng Amr T. Abdel-Hamid
Clockless Computing COMP
CAP 4800/CAP 5805: Computer Simulation Concepts
CAP 4800/CAP 5805: Computer Simulation Concepts
CSCI1600: Embedded and Real Time Software
Chapter 5 Peer-to-Peer Protocols and Data Link Layer
CAP 4800/CAP 5805: Computer Simulation Concepts
Presentation transcript:

Petri-Nets and Other Models

Summary Petri-Net Models Max-Plus Algebra Definitions Modeling protocols using Petri-Nets Modeling Queueing Systems using Petri-Nets Max-Plus Algebra

Marked Petri Net Graph A Petri net graph is a weighted bipartite graph P is a finite set of places, P={p1,…,pn} T is a finite set of transitions, T={t1,…,tm} A is the set of arcs from places to transitions and from transitions to places (pi, tj) or (tj, pi) represent the arcs w is the weight function on arcs x is the marking vector x =[x1,…,xn] represents the number of tokens in each place.

Petri Net Example I(tj) = {pi P : (pi, tj) A} Place 0 Place 1 Transition 1 Transition 0 I(tj) = {pi P : (pi, tj) A} O(tj) = {pi P : (tj, pi) A} I(pi) ={tj T : (tj, pi) A} O(pi) ={tj T : (pi, tj) A}

xi ≥ w(pi, tj) for all pi  I(tj) Petri Net Marking A transition tj T is enabled when each input place has at least a number of tokens equal to the weight of the arc, i.e., xi ≥ w(pi, tj) for all pi  I(tj) When a transition fires it removes a number of tokens (equal to the weight of each input arc) from each input place and deposits a number of tokens (equal to the weight of each output arc) to each output place. p1 p2 t2 t1

xi ≥ w(pi, tj) for all pi  I(tj) Petri Net Dynamics The state transition function f of a Petri net is defined for transition tj if and only if xi ≥ w(pi, tj) for all pi  I(tj) If f(x, tj) is defined, then we set Define uj=[0,…0,1,0,…0] where all elements are 0 except the j-th one. Also define the matrix A=[aji] where In vector form x’= x + ujA

Example: Computer Basic Functions Design a Petri-net that imitates the basic behavior of a computer, i.e., being down, idle or busy

Modeling Protocols Using Petri Nets (Stop and Wait Protocol) The transmitter sends a frame and stops waiting for an acknowledgement from the receiver (ACK) Once the receiver correctly receives the expected packet, it sends an acknowledgement to let the transmitter send the next frame. When the transmitter does not receive an ACK within a specified period of time (timer) then it retransmits the packet. Timer Transmitter Receiver Frame 0 Frame 1 ACK 0 ACK 1

Stop and Wait Protocol: Normal Operation Transmitter State Receiver State Channel State

Stop and Wait Protocol: Normal Operation Ack 1 pkt 0 Ack 0 pkt 1 Get Pkt 0 Get Pkt 1 Send Pkt 0 Send Pkt 1 Wait Ptk 1 Wait Pkt 0 Wait Ack 0 Wait Ack 1 Transmitter State Receiver State Channel State

Stop and Wait Protocol: Deadlock Ack 1 pkt 0 Ack 0 pkt 1 Get Pkt 0 Get Pkt 1 Send Pkt 0 Send Pkt 1 loss Wait Ptk 1 Wait Pkt 0 Wait Ack 0 Wait Ack 1 Transmitter State Receiver State Channel State

Stop and Wait Protocol: Deadlock Avoidance Using Timers Ack 1 pkt 0 Ack 0 pkt 1 Get Pkt 0 Get Pkt 1 Send Pkt 0 Send Pkt 1 loss Wait Ptk 1 Wait Pkt 0 Wait Ack 0 Wait Ack 1 Transmitter State Receiver State Channel State

Stop and Wait Protocol: Loss of Acknowledgements pkt 0 Ack 0 pkt 1 Get Pkt 0 Get Pkt 1 Send Pkt 0 Send Pkt 1 loss timer Wait Ptk 1 Wait Pkt 0 Wait Ack 0 Wait Ack 1 timer Transmitter State Receiver State Channel State

Example: Queueing Model What are some possible Petri nets that can model the simple FIFO queue a d

Example: Queueing Model A “richer” Petri-net model a d

Example: Queueing Model with Server Breakdown How does the previous model change if server may break down when it serves a customer?

Example: Finite Capacity Queueing Model What is a Petri net model for a finite capacity queue?

Other Petri Net Variations Inhibitor Arcs: A transition with an inhibitor arc is enabled when All input places connected to normal arcs (arrows) have a number of tokens at least equal to the weight of the arcs and All input places connected to inhibitor arcs (circles) have no tokens. p1 t p2 p1 t p2 p1 t p2 DISABLED ENABLED DISABLED

Other Petri Net Variations Colored Petri Nets In this case, tokens have various properties associated with them. This can be an attribute or an entire data structure. For example, Priority Class Etc.

Timed Petri Net Graph In the previous discussion, the Petri net models had no time dimension. In other words, we did not consider the time when a transition occurred. Timed Petri nets are similar to Petri nets with the addition of a clock structure associated with each timed transition A timed transition tj (denoted by a rectangle) once it becomes enabled fires after a delay vjk.

Example: Timed Petri Net t1=a p1=Q p3=I Transitions t1 and t3 fire after a delay given by the model clock structure t2=s p2=B t3=d

Petri Net Timing Dynamics Notation x is the current state e is the transition that caused the Petri net into state x t is the time that the corresponding event occurred e’ is the next transition to fire (firing transition) t’ is the next time the transition fires x’ is the next state given by x’ = f(x, e’). N’i is the next score of transition i y’i is the next clock value of transition i (after e’ occurs)

The Event Timing Dynamics Step 1: Given x evaluate which transitions are enabled Step 2: From the clock value yi of all enabled transitions (denoted by Γ(x)) determine the minimum clock value y*= miniΓ(x){yi} Step 3: Determine the firing transition e’= arg miniΓ(x){yi} Step 4: Determine the next state x’ = f(x, e’) where f() is the state transition function.

The Event Timing Dynamics Step 5: Determine t’= t + y* Step 6: Determine the new clock values Step 7: Determine the new transition scores

Two Operation (Dioid) Algebras The operation of timed automata or timed Petri nets can be captured with two simple operations: Addition Multiplication This is also called the max-plus algebra

Basic Properties of Max-Plus Algebra Commutativity Associativity: Distribution of addition over multiplication Null element For example let η= -∞

Example

Queueing Models and Max-Plus Algebra time a b t=0 t=0.5 t=1 t=1.5 t=2 t=2.5 t=3 t=3.5 t=4 t=4.5 t=5 0.5 0.5 1 0.5 2 0.5 1 1.5 0.5 0.5 1

Queueing Dynamics Let ak be the arrival time of the k-th customer and dk its departure time, k=1,…,K, then k=1,2,…, a0=0, d0=0 In matrix form, let xk=[ak, dk]T then where –L is sufficiently small such that max{ak+vak, dk-L}=ak+vak

Example Determine the sample path of the FIFO queue when va={0.5, 0.5, 1.0, 0.5, 2.0, 0.5, …} vd={1.0, 1.5, 0.5, 0.5, 1.0, …}

Communication Link How would you model a transmission link that can transmit packets at a rate G packets per second and has a propagation delay equal to 100ms?