School of Computer Science & Software Engineering

Slides:



Advertisements
Similar presentations
1 Concurrency: Deadlock and Starvation Chapter 6.
Advertisements

Data Flow Diagram (DFD) Overview
Chapter 6 Concurrency: Deadlock and Starvation Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community.
Principles of Engineering System Design Dr T Asokan
Workflow Management Systems © Dr. Rafael A. Calvo – Edited by Mark Aufflick (pumptheory.com) School of Electrical and Information Eng, University of Sydney.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
1 Petri Nets I Paul Fishwick author From
Petri Net1 :Abstract formal model of information flow Major use: Modeling of systems of events in which it is possible for some events to occur concurrently,
Shortest Violation Traces in Model Checking Based on Petri Net Unfoldings and SAT Victor Khomenko University of Newcastle upon Tyne Supported by IST project.
On Specification and Verification of Location- Based Fault Tolerant Mobile Systems Alexei Iliasov, Victor Khomenko, Maciej Koutny and Alexander Romanovsky.
Time Petri Nets Miriam Zia School of Computer Science McGill University.
Petri Nets Jian-Jia Chen (slides are based on Peter Marwedel)
1 SE-561 Formal Methods in Software Petri Nets - I.
Course: Software Engineering II academic year: Course Web-site: [ Lecturer: Catia Trubiani.
An Introduction to Petri Nets
Principles of Engineering System Design Dr T Asokan
Introduction to Petri Nets Hugo Andrés López
Petri Nets Section 2 Roohollah Abdipur.
Based on: Petri Nets and Industrial Applications: A Tutorial
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.
IE 469 Manufacturing Systems
Discrete Interaction Design Specification Prof. Dr. Matthias Rauterberg Faculty Industrial Design Technical University of Eindhoven
Lei Bu Petri Nets 11 Dining Philosphier 4 States , 5 transitions.
Synthesis of Embedded Software Using Free-Choice Petri Nets.
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.
CP — Concurrent Programming 12. Petri Nets Prof. O. Nierstrasz Wintersemester 2005 / 2006.
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.
FunState – An Internal Design Representation for Codesign A model that enables representations of different types of system components. Mixture of functional.
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
Petri Nets An Overview IE 680 Presentation April 30, 2007 Renata Kopach- Konrad.
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.
Petri Nets Copyright, 2003 © Jerzy R. Nawrocki Models and Analysis of Software Lecture.
CY2003 Computer Systems Lecture 7 Petri net. © LJMU, 2004CY2003- Week 72 Overview Petri net –concepts –Petri net representation –Firing a transition –Marks.
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.
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.
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
CAP 4800/CAP 5805: Computer Simulation Concepts
Petri-Nets and Other Models
2008/10E-Enterprise Integration - eEI1 Lecture 6 Petri Net Techniques for Modeling Workflows and Their Support of Reuse.
Week 8 Computational Level
Requirements Techniques, cont.
Advantages of FSM Their simplicity make it easy for inexperienced developers to implement with little to no extra knowledge (low entry level)
Concurrent Systems Modeling using Petri Nets
Dr. Eng Amr T. Abdel-Hamid
Clockless Computing COMP
Week 8 Computational Level
Workflow Management Systems
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)
Modeling based on Petri-nets.
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:

School of Computer Science & Software Engineering The Petri Net Method By Dr Chris Ling School of Computer Science & Software Engineering Monash University Chris.Ling@csse.monash.edu.au

Introduction First introduced by Carl Adam Petri in 1962. A diagrammatic tool to model concurrency and synchronization in distributed systems. Very similar to State Transition Diagrams. Used as a visual communication aid to model the system behaviour. Based on strong mathematical foundation. (C) Copyright 2001, Chris Ling

Example: EFTPOS System (STD of an FSM) (EFTPOS= Electronic Fund Transfer Point of Sale) Initial 1 digit d1 d2 d3 d4 OK pressed approve Approved Rejected Initial state Final state Reject (C) Copyright 2001, Chris Ling

Example: EFTPOS System (A Petri net) Initial 1 digit d1 d2 d3 d4 OK pressed approve approved Reject Rejected! (C) Copyright 2001, Chris Ling

Scenario 2: Exceptional EFTPOS System Scenario 1: Normal Enters all 4 digits and press OK. Scenario 2: Exceptional Enters only 3 digits and press OK. (C) Copyright 2001, Chris Ling

Example: EFTPOS System (Token Games) Initial 1 digit d1 d2 d3 d4 OK pressed approve approved Reject Rejected! (C) Copyright 2001, Chris Ling

A Petri Net Specification ... consists of three types of components: places (circles), transitions (rectangles) and arcs (arrows): Places represent possible states of the system; Transitions are events or actions which cause the change of state; And Every arc simply connects a place with a transition or a transition with a place. (C) Copyright 2001, Chris Ling

A Change of State … is denoted by a movement of token(s) (black dots) from place(s) to place(s); and is caused by the firing of a transition. The firing represents an occurrence of the event or an action taken. The firing is subject to the input conditions, denoted by token availability. (C) Copyright 2001, Chris Ling

A Change of State A transition is firable or enabled when there are sufficient tokens in its input places. After firing, tokens will be transferred from the input places (old state) to the output places, denoting the new state. Note that the EFTPOS example is a Petri net representation of a finite state machine (FSM). (C) Copyright 2001, Chris Ling

Example: Vending Machine The machine dispenses two kinds of snack bars – 20c and 15c. Only two types of coins can be used – 10c coins and 5c coins. The machine does not return any change. (C) Copyright 2001, Chris Ling

Example: Vending Machine (STD of an FSM) 0 cent 5 cents 10 cents 15 cents 20 cents Deposit 5c Deposit 10c Take 20c snack bar Take 15c snack bar (C) Copyright 2001, Chris Ling

Example: Vending Machine (A Petri net) Take 15c bar Deposit 5c 0c Deposit 10c Deposit 5c 10c Deposit 20c 15c Take 20c bar (C) Copyright 2001, Chris Ling

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. (C) Copyright 2001, Chris Ling

Example: Vending Machine (Token Games) Take 15c bar Deposit 5c 0c Deposit 10c Deposit 5c 10c Deposit 20c 15c Take 20c bar (C) Copyright 2001, Chris Ling

Multiple Local States In the real world, events happen at the same time. A system may have many local states to form a global state. There is a need to model concurrency and synchronization. (C) Copyright 2001, Chris Ling

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 (C) Copyright 2001, Chris Ling

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. (C) Copyright 2001, Chris Ling

Example: In a Restaurant (Scenario 1) Waiter free Customer 1 Customer 2 Take order Order taken Tell kitchen wait Serve food eating (C) Copyright 2001, Chris Ling

Example: In a Restaurant (Scenario 2) Waiter free Customer 1 Customer 2 Take order Order taken Tell kitchen wait Serve food eating (C) Copyright 2001, Chris Ling

Net Structures A sequence of events/actions: Concurrent executions: e1 (C) Copyright 2001, Chris Ling

Net Structures Non-deterministic events - conflict, choice or decision: A choice of either e1, e2 … or e3, e4 ... e1 e2 e3 e4 (C) Copyright 2001, Chris Ling

Net Structures Synchronization e1 (C) Copyright 2001, Chris Ling

Net Structures Synchronization and Concurrency e1 (C) Copyright 2001, Chris Ling

Another Example A producer-consumer system, consist of one producer, two consumers and one storage buffer with the following conditions: The storage buffer may contain at most 5 items; The producer sends 3 items in each production; At most one consumer is able to access the storage buffer at one time; Each consumer removes two items when accessing the storage buffer (C) Copyright 2001, Chris Ling

A Producer-Consumer System k=2 k=1 accepted ready p1 p4 Storage p3 produce accept 3 2 t1 t2 t3 t4 consume send k=5 p2 p5 idle ready k=1 k=2 Producer Consumers (C) Copyright 2001, Chris Ling

A Producer-Consumer Example In this Petri net, every place has a capacity and every arc has a weight. This allows multiple tokens to reside in a place to model more complex behaviour. (C) Copyright 2001, Chris Ling

Behavioural Properties Reachability “Can we reach one particular state from another?” Boundedness “Will a storage place overflow?” Liveness “Will the system die in a particular state?” (C) Copyright 2001, Chris Ling

Recalling the Vending Machine (Token Game) Take 15c bar Deposit 5c 0c Deposit 10c Deposit 5c 10c Deposit 20c 15c Take 20c bar (C) Copyright 2001, Chris Ling

A marking is a state ... M0 = (1,0,0,0,0) M1 = (0,1,0,0,0) p4 M0 = (1,0,0,0,0) t4 M1 = (0,1,0,0,0) p2 t1 M2 = (0,0,1,0,0) M3 = (0,0,0,1,0) p1 M4 = (0,0,0,0,1) t3 t7 t5 Initial marking:M0 t6 p5 t2 p3 t9 (C) Copyright 2001, Chris Ling

Reachability p1 t8 t1 t2 p2 t3 p3 t4 t5 t6 p5 t7 p4 t9 Initial marking:M0 M0 = (1,0,0,0,0) M1 = (0,1,0,0,0) M2 = (0,0,1,0,0) M3 = (0,0,0,1,0) M4 = (0,0,0,0,1) M0 M1 M2 M3 M4 t3 t1 t5 t8 t2 t6 (C) Copyright 2001, Chris Ling

Reachability “M2 is reachable from M1 and M4 is reachable from M0.” A firing or occurrence sequence: “M2 is reachable from M1 and M4 is reachable from M0.” In fact, in the vending machine example, all markings are reachable from every marking. (C) Copyright 2001, Chris Ling

Boundedness A Petri net is said to be k-bounded or simply bounded if the number of tokens in each place does not exceed a finite number k for any marking reachable from M0. The Petri net for vending machine is 1-bounded. A 1-bounded Petri net is also safe. (C) Copyright 2001, Chris Ling

Liveness A Petri net with initial marking M0 is live if, no matter what marking has been reached from M0, it is possible to ultimately fire any transition by progressing through some further firing sequence. A live Petri net guarantees deadlock-free operation, no matter what firing sequence is chosen. (C) Copyright 2001, Chris Ling

Liveness The vending machine is live and the producer-consumer system is also live. A transition is dead if it can never be fired in any firing sequence. (C) Copyright 2001, Chris Ling

An Example A bounded but non-live Petri net t1 p3 t3 t4 p1 p2 p4 t2 (C) Copyright 2001, Chris Ling

Another Example An unbounded but live Petri net M0 = (1, 0, 0, 0, 0) (C) Copyright 2001, Chris Ling

Analysis Methods Reachability Analysis: Reachability or coverability tree. State explosion problem. Incidence Matrix and State Equations. Structural Analysis Based on net structures. (C) Copyright 2001, Chris Ling

Other Types of Petri Nets High-level Petri nets Tokens have “colours”, holding complex information. Timed Petri nets Time delays associated with transitions and/or places. Fixed delays or interval delays. Stochastic Petri nets: exponentially distributed random variables as delays. (C) Copyright 2001, Chris Ling

Other Types of Petri Nets Object-Oriented Petri nets Tokens are instances of classes, moving from one place to another, calling methods and changing attributes. Net structure models the inner behaviour of objects. The purpose is to use object-oriented constructs to structure and build the system. (C) Copyright 2001, Chris Ling

An O-O Petri Net Producer Consumer Producer Consumer data: ITEM ready produce Storage accepted consume Producer Consumer send accept Producer data: ITEM ITEM produce( ) void send(ITEM) Consumer data: ITEM ITEM accept( ) void consume(ITEM) (C) Copyright 2001, Chris Ling

Petri Net References Murata, T. (1989, April). Petri nets: properties, analysis and applications. Proceedings of the IEEE, 77(4), 541-80. Peterson, J.L. (1981). Petri Net Theory and the Modeling of Systems. Prentice-Hall. Reisig, W and G. Rozenberg (eds) (1998). Lectures on Petri Nets 1: Basic Models. Springer-Verlag. The World of Petri nets: http://www.daimi.au.dk/PetriNets/ (C) Copyright 2001, Chris Ling