1 Modeling based on Petri-nets. Lecture 8. 2 High-level Petri nets The classical Petri net was invented by Carl Adam Petri in 1962. A lot of research.

Slides:



Advertisements
Similar presentations
School of Computer Science & Software Engineering
Advertisements

Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Techniques to analyze workflows (design-time)
1 SE-561 Formal Methods in Software Petri Nets - I.
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.
Based on: Petri Nets and Industrial Applications: A Tutorial
IE 469 Manufacturing Systems
Petri net modeling of biological networks Claudine Chaouiya.
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.
Specification Techniques and Formal Specifications
CP — Concurrent Programming 12. Petri Nets Prof. O. Nierstrasz Wintersemester 2005 / 2006.
12/07/2007Jiacun Wang1 SE-561 Math Foundations Petri Nets - II Dr. Jiacun Wang Department of Software Engineering Monmouth University.
Mata kuliah :K0362/ Matematika Diskrit Tahun :2008
Capacity analysis of complex materials handling systems.
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.
Modeling. Conceptual modeling: Petri nets Implementation: Arena, CPN tools Simulation needed: build models. Start with concepts, then select appropriate.
Virtual Storytelling Adam Abonyi Daniel Balaš. Agenda 1.Introduction to virtual storytelling 2.Petri Nets 3.Our improvements in Petri Nets 4.Example.
Petri nets refresher Prof.dr.ir. Wil van der Aalst
CE Operating Systems Lecture 13 Linux/Unix interprocess communication.
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
/faculteit technologie management PN-1 مهندسی مجدد فرآیندهای تجاری بخش دوم: مدلسازی فرآیندها به کمک Petri nets.
Tools, Formats, & Solutions.  Survey of literature found 3 interesting ways Petri Nets are used  BioPNML – Petri Nets for Bio  GJobDL – 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.
Ch8. Analysis Joosung, Ko.
School of Computer Science, The University of Adelaide© The University of Adelaide, Control Data Flow Graphs An experiment using Design/CPN Sue Tyerman.
Specification Techniques. System models are abstract descriptions of systems whose requirements are being analyzed Objectives  To explain why specification.
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
/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,
CS 145A Protocols Netlab.caltech.edu/course. Misc. Extension Extension Textbooks Textbooks.
/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
/faculteit technologie management PN-1 مهندسی مجدد فرآیندهای تجاری بخش دوم: مدلسازی فرآیندها به کمک Petri nets.
Technology of information systems Lecture 5 Process management.
Week 8 Computational Level
Concurrent Systems Modeling using Petri Nets
CSS 496 Business Process Re-engineering for BS(CS)
Exercise class 1.
Dr. Eng Amr T. Abdel-Hamid
Clockless Computing COMP
Week 8 Computational Level
کنترل پیشبین مبتنی بر مدل (MPC) MPC on Discrete Event Systems
Concurrent Systems Modeling using Petri Nets – Part II
Wil van der Aalst Eindhoven University of Technology
CAP 4800/CAP 5805: Computer Simulation Concepts
CAP 4800/CAP 5805: Computer Simulation Concepts
بسمه‌تعالي فصل چهاردهم شبکه‌هاي پتري.
CSCI1600: Embedded and Real Time Software
Modeling based on Petri-nets.
Petri nets refresher Prof.dr.ir. Wil van der Aalst
CSS 496 Business Process Re-engineering for BS(CS)
An Introduction to Petri Nets
CAP 4800/CAP 5805: Computer Simulation Concepts
Petri nets refresher Prof.dr.ir. Wil van der Aalst
Petri nets.
Petri Net :Abstract formal model of information flow Major use:
CSCI1600: Embedded and Real Time Software
Petri Nets Laurie Frazier.
Presentation transcript:

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 has been conducted (> publications). Until 1985 it was mainly used by theoreticians. Since the 80-ties the practical use is increasing because of the introduction of high-level Petri nets and the availability of many tools. High-level Petri nets are Petri nets extended with –color (for the modeling of attributes) –time (for performance analysis) –hierarchy (for the structuring of models, DFD's)

3 The classical Petri net model A Petri net is a network composed of places ( ) and transitions ( ). t2 p1 p2 p3 p4 t3 t1 Connections are directed and between a place and a transition. Tokens ( ) are the dynamic objects. The state of a Petri net is determined by the distribution of tokens over the places.

4 Transition t1 has three input places (p1, p2 and p3) and two output places (p3 and p4). Place p3 is both an input and an output place of t1. p1 p2 p3 p4 t1

5 Enabling condition Transitions are the active components and places and tokens are passive. A transition is enabled if each of the input places contains tokens. t1t2 Transition t1 is not enabled, transition t2 is enabled.

6 Firing An enabled transition may fire. Firing corresponds to consuming tokens from the input places and producing tokens for the output places. t2 Firing is atomic.

7 Example

8 Non-determinism Two transitions fight for the same token: conflict. Even if there are two tokens, there is still a conflict. t1 t2

9 Modeling States of a process are modeled by tokens in places and state transitions leading from one state to another are modeled by transitions. Tokens represent objects (humans, goods, machines), information, conditions or states of objects. Places represent buffers, channels, geographical locations, conditions or states. Transitions represent events, transformations or transportations.

10 Example: traffic light rg red yellow green yr gy

11 Two traffic lights rg1 red1 yellow1 green1 yr1 gy1 rg2 red2 yellow2 green2 yr2 gy2

12 Two safe traffic lights rg1 red1 yellow1 green1 yr1 gy1 rg2 red2 yellow2 green2 yr2 gy2 safe

13 Two safe and fair traffic lights rg1 red1 yellow1 green1 yr1 gy1 rg2 red2 yellow2 green2 yr2 gy2 safe2 safe1

14 Example: life-cycle of a person bachelor child married puberty marriage divorce deathdead

15 The number of arcs between two objects specifies the number of tokens to be produced/consumed. This can be used to model (dis)assembly processes. blackred bbrr br

16 current state The configuration of tokens over the places. reachable state A state reachable form the current state by firing a sequence of enabled transitions. dead state A state where no transition is enabled. Some definitions blackred bbrr br

17 7 reachable states, 1 dead state. blackred bbrr br (3,2) (1,3)(3,1) (1,2)(3,0) (1,1) (1,0) rr br bb\br

18 Exercise: your life-cycle How many states are reachable? Is there a dead state? dead sleeping active startstop die

19 Exercise: readers and writers How many states are reachable? Are there any dead states? How to model the situation with 2 writers and 3 readers? How to model a "bounded mailbox" (buffer size =4)? rest mail_box receive_mail type_mail ready rest begin send_mail read_mail

20 High-level Petri nets In practice the classical Petri net is not very useful: The Petri net becomes too large and too complex. It takes too much time to model a given situation. It is not possible to handle time and data. Therefore, we use high-level Petri nets, i.e. Petri nets extended with: color time hierarchy

21 To explain the three extensions we use the following example of a hairdresser's saloon. start waiting finish busy free ready client waiting hairdresser ready to begin Note how easy it is to model the situation with multiple hairdressers.

22 The extension with color A token often represents an object having all kinds of attributes. Therefore, each token has a value (color) with refers to specific features of the object modeled by the token. start waiting finish busy free ready name: Harry age: 28 experience: 2 name: Sally age: 28 hairtype: BL

23 Each transition has an (in)formal specification which specifies: the number of tokens to be produced, the values of these tokens, and (optionally) a precondition. The complexity is divided over the network and the values of tokens. This results in a compact, manageable and natural process description.

24 Examples c := a+b a b c + b := -a b-a if a> 0 then b:= a else c:=a fi a b c select a >=0 | b :=  a bsqrta Exercise: calculate  |a+b| using these buiding blocks

25 The extension with time For performance analysis we need to model durations, delays, etc. Therefore, each token has a timestamp and transitions determine the delay of a produced token. start waiting finish busy free ready  =3  =0

26 The extension with hierarchy A mechanism to structure complex Petri nets comparable to DFD's. A subnet is a net composed out of places, transitions and subnets. waitingready h1 h2 h3 startfinishbusy free

27 Exercise: remove hierarchy waitingready h1 h2 h3 startfinishbusy free beginendpending beginendpending