Download presentation
Presentation is loading. Please wait.
Published byCurtis Chambers Modified over 9 years ago
1
Petri Nets Copyright, 2003 © Jerzy R. Nawrocki Jerzy.Nawrocki@put.poznan.pl www.cs.put.poznan.pl/jnawrocki/mse/mss/ Models and Analysis of Software Lecture 7 Models and Analysis of Software Lecture 7
2
J. Nawrocki, Models & Analysis of Soft. From the previous lecture.. AB e(c) / a e - event c - condition a - action Examples: sending a signal, assignment statement. Action: an instantaneous occurrence ideally takes zero time.
3
J. Nawrocki, Models & Analysis of Soft. From the previous lecture.. while (a != b) if (a > b) if (a > b) a -= b; a -= b; else b -= a; else b -= a; while (a != b) if (a > b) if (a > b) a -= b; a -= b; else b -= a; else b -= a; E S Loop AB (a>b) / a-=b (b>a) / b-=a B (a=b) a: b:
4
J. Nawrocki, Models & Analysis of Soft. OrthogonalityOrthogonality B C (in G) A E F G D
5
J. Nawrocki, Models & Analysis of Soft. From the previous lecture.. Activity: similar to action but takes a nonzero amount of time Examples: reading input beeping displaying lengthy computations
6
J. Nawrocki, Models & Analysis of Soft. Plan of the lecture From the previous lecture.. Introduction Simple examples Concurrent transitions Transitions in conflict Another example Readers and writers Properties of Petri Nets
7
J. Nawrocki, Models & Analysis of Soft. Carl Adam Petri Born on July, 12, 1926 in Leipzig Since 1988: Honorary Prof. at the Univ. of Hamburg Kommunikation mit Automaten. Petri, C.A., Bonn: Institut für Instrumentelle Mathematik, Schriften des IIM Nr. 2, 1962, Second Edition:, New York: Griffiss Air Force Base, Technical Report RADC-TR-65-- 377, Vol.1, 1966, English translation.
8
J. Nawrocki, Models & Analysis of Soft. IntroductionIntroduction Petri nets: a graphical language a good mathematical background Applications: modelling concurrent and/or distributed systems communication protocols, computer networks, manufacturing system, public transport systems etc.
9
J. Nawrocki, Models & Analysis of Soft. TerminologyTerminology A place A transition A token An input arc An output arc
10
J. Nawrocki, Models & Analysis of Soft. Plan of the lecture From the previous lecture.. Introduction Simple examples Concurrent transitions Transitions in conflict Another example Readers and writers Properties of Petri Nets
11
J. Nawrocki, Models & Analysis of Soft. A very simple example A reader in a library: waiting, reading. waiting reading strt_reading stop_reading
12
J. Nawrocki, Models & Analysis of Soft. A very simple example A reader in a library: waiting, reading. waiting reading strt_reading stop_reading
13
J. Nawrocki, Models & Analysis of Soft. A very simple example A reader in a library: waiting, reading. waiting reading strt_reading stop_reading
14
J. Nawrocki, Models & Analysis of Soft. A very simple example A reader in a library: waiting, reading. waiting reading strt_reading stop_reading
15
J. Nawrocki, Models & Analysis of Soft. A very simple example A reader in a library: waiting, reading. waiting reading strt_reading stop_reading
16
J. Nawrocki, Models & Analysis of Soft. waiting reading strt_reading stop_reading Another simple example Two readers in a library: waiting, reading.
17
J. Nawrocki, Models & Analysis of Soft. waiting reading strt_reading stop_reading Another simple example Two readers in a library: waiting, reading.
18
J. Nawrocki, Models & Analysis of Soft. waiting reading strt_reading stop_reading Another simple example Two readers in a library: waiting, reading.
19
J. Nawrocki, Models & Analysis of Soft. waiting reading strt_reading stop_reading Another simple example Two readers in a library: waiting, reading.
20
J. Nawrocki, Models & Analysis of Soft. Plan of the lecture From the previous lecture.. Introduction Simple examples Concurrent transitions Transitions in conflict Another example Readers and writers Properties of Petri Nets
21
J. Nawrocki, Models & Analysis of Soft. Concurrent transitions 2
22
J. Nawrocki, Models & Analysis of Soft. Concurrent transitions 2
23
J. Nawrocki, Models & Analysis of Soft. Concurrent transitions 2
24
J. Nawrocki, Models & Analysis of Soft. Plan of the lecture From the previous lecture.. Introduction Simple examples Concurrent transitions Transitions in conflict Another example Readers and writers Properties of Petri Nets
25
J. Nawrocki, Models & Analysis of Soft. Transitions in conflict
26
J. Nawrocki, Models & Analysis of Soft. Transitions in conflict
27
J. Nawrocki, Models & Analysis of Soft. Transitions in conflict A decision point
28
J. Nawrocki, Models & Analysis of Soft. Plan of the lecture From the previous lecture.. Introduction Simple examples Concurrent transitions Transitions in conflict Another example Readers and writers Properties of Petri Nets
29
J. Nawrocki, Models & Analysis of Soft. Another example while (true) { t 1 ;... t 2 ;... t 3 ; } while (.. t 4..) {... t 5 ;... } Client Server
30
J. Nawrocki, Models & Analysis of Soft. Another example while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5
31
J. Nawrocki, Models & Analysis of Soft. Another example while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5
32
J. Nawrocki, Models & Analysis of Soft. Another example while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5
33
J. Nawrocki, Models & Analysis of Soft. Another example while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5
34
J. Nawrocki, Models & Analysis of Soft. Another example while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5
35
J. Nawrocki, Models & Analysis of Soft. Another example while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5
36
J. Nawrocki, Models & Analysis of Soft. Another example while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5
37
J. Nawrocki, Models & Analysis of Soft. Another example while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5
38
J. Nawrocki, Models & Analysis of Soft. Another example while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5
39
J. Nawrocki, Models & Analysis of Soft. Another example while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5
40
J. Nawrocki, Models & Analysis of Soft. Another example while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5
41
J. Nawrocki, Models & Analysis of Soft. Another example while (1) { t 1 ;... t 2 ;... t 3 ; } while (..t 4..) {... t 5 ;... } t1t1 t2t2 t3t3 t4t4 t5t5 (t 1 (t 2 || t 4 (t 5 t 4 )*) t 3 )*
42
J. Nawrocki, Models & Analysis of Soft. Plan of the lecture From the previous lecture.. Introduction Simple examples Concurrent transitions Transitions in conflict Another example Readers and writers Properties of Petri Nets
43
J. Nawrocki, Models & Analysis of Soft. Readers and writers while(1) { Read(d); Use(d); } while(1) { Think(d); Write(d); }
44
J. Nawrocki, Models & Analysis of Soft. Readers and writers Library
45
J. Nawrocki, Models & Analysis of Soft. Readers and writers Library
46
J. Nawrocki, Models & Analysis of Soft. Readers and writers while(1) { Read(d); Use(d); } while(1) { Think(d); Write(d); }
47
J. Nawrocki, Models & Analysis of Soft. Readers and writers while(1) { StartRead(); Read(d); StopRead(); Use(d); } while(1) { Think(d); StartWrite(); Write(d); StopWrite(); }
48
J. Nawrocki, Models & Analysis of Soft. Readers and writers void StartRead() { ReadersIn++; } void StartWrite() { WritersIn++; } void StopRead() {ReadersIn--; } void StopWrite() {WritersIn--; }
49
J. Nawrocki, Models & Analysis of Soft. Readers and writers void StartRead() { wait(Readers); ReadersIn++; } void StartWrite() { wait(Writers); WritersIn++; } void StopRead() {ReadersIn--; signal(Writers); } void StopWrite() {WritersIn--; signal(Writers); signal(Readers); }
50
J. Nawrocki, Models & Analysis of Soft. Readers and writers void StartRead() {if(WritersIn > 0) wait(Readers); ReadersIn++; } void StartWrite() {if(ReadersIn > 0 || WritersIn > 0) wait(Writers); WritersIn++; } void StopRead() {ReadersIn--; if(ReadersIn == 0) signal(Writers); } void StopWrite() {WritersIn--; if(!Empty(Writers)) signal(Writers); else if(!Empty(Readers)) signal(Readers); }
51
J. Nawrocki, Models & Analysis of Soft. Readers and writers StartRead while(1) { StartRead(); Read(d); StopRead(); Use(d); } while(1) { Think(d); StartWrite(); Write(d); StopWrite(); } StopRead StopWrite StartWrite 2 2
52
J. Nawrocki, Models & Analysis of Soft. Readers and writers StartRead while(1) { StartRead(); Read(d); StopRead(); Use(d); } while(1) { Think(d); StartWrite(); Write(d); StopWrite(); } StopRead StopWrite StartWrite 2 2
53
J. Nawrocki, Models & Analysis of Soft. Readers and writers StartRead while(1) { StartRead(); Read(d); StopRead(); Use(d); } while(1) { Think(d); StartWrite(); Write(d); StopWrite(); } StopRead StopWrite StartWrite 2 2
54
J. Nawrocki, Models & Analysis of Soft. Readers and writers StartRead while(1) { StartRead(); Read(d); StopRead(); Use(d); } while(1) { Think(d); StartWrite(); Write(d); StopWrite(); } StopRead StopWrite StartWrite 2 2
55
J. Nawrocki, Models & Analysis of Soft. Readers and writers StartRead while(1) { StartRead(); Read(d); StopRead(); Use(d); } while(1) { Think(d); StartWrite(); Write(d); StopWrite(); } StopRead StopWrite StartWrite 2 2
56
J. Nawrocki, Models & Analysis of Soft. Readers and writers StartRead while(1) { StartRead(); Read(d); StopRead(); Use(d); } while(1) { Think(d); StartWrite(); Write(d); StopWrite(); } StopRead StopWrite StartWrite 2 2
57
J. Nawrocki, Models & Analysis of Soft. Readers and writers StartRead while(1) { StartRead(); Read(d); StopRead(); Use(d); } while(1) { Think(d); StartWrite(); Write(d); StopWrite(); } StopRead StopWrite StartWrite 2 2
58
J. Nawrocki, Models & Analysis of Soft. Readers and writers StartRead while(1) { StartRead(); Read(d); StopRead(); Use(d); } while(1) { Think(d); StartWrite(); Write(d); StopWrite(); } StopRead StopWrite StartWrite 2 2
59
J. Nawrocki, Models & Analysis of Soft. Readers and writers StartRead while(1) { StartRead(); Read(d); StopRead(); Use(d); } while(1) { Think(d); StartWrite(); Write(d); StopWrite(); } StopRead StopWrite StartWrite 2 2
60
J. Nawrocki, Models & Analysis of Soft. Readers and writers StartRead while(1) { StartRead(); Read(d); StopRead(); Use(d); } while(1) { Think(d); StartWrite(); Write(d); StopWrite(); } StopRead StopWrite StartWrite 2 2
61
J. Nawrocki, Models & Analysis of Soft. Readers and writers StartRead while(1) { StartRead(); Read(d); StopRead(); Use(d); } while(1) { Think(d); StartWrite(); Write(d); StopWrite(); } StopRead StopWrite StartWrite 2 2
62
J. Nawrocki, Models & Analysis of Soft. Readers and writers StartRead while(1) { StartRead(); Read(d); StopRead(); Use(d); } while(1) { Think(d); StartWrite(); Write(d); StopWrite(); } StopRead StopWrite StartWrite 2 2
63
J. Nawrocki, Models & Analysis of Soft. Readers and writers StartRead while(1) { StartRead(); Read(d); StopRead(); Use(d); } while(1) { Think(d); StartWrite(); Write(d); StopWrite(); } StopRead StopWrite StartWrite 2 2
64
J. Nawrocki, Models & Analysis of Soft. Plan of the lecture From the previous lecture.. Introduction Simple examples Concurrent transitions Transitions in conflict Another example Readers and writers Properties of Petri Nets
65
J. Nawrocki, Models & Analysis of Soft. Properties of Petri Nets Reachability of a given marking k-Boundedness: A number of tokens in each place never exceeds k for any marking M reachable from the initial marking. K-Boundedness
66
J. Nawrocki, Models & Analysis of Soft. Properties of Petri Nets A PN is live if for every marking M reachable from the initial marking M 0 it is possible eventually to fire every transition in the net in some marking M’ which is reachable from M. Liveness
67
J. Nawrocki, Models & Analysis of Soft. Properties of Petri Nets An infinite firing sequence s is said to be globally fair if every transition appears in s infinitely often. Global fairness
68
J. Nawrocki, Models & Analysis of Soft. SummarySummary Petri nets: a simple modelling tool oriented towards concurrent and distributed systems. Timed Petri Nets Coloured Petri Nets Stochastic Petri Nets
69
J. Nawrocki, Models & Analysis of Soft. Further readings James L. Peterson, Petri Nets, Computing Surveys, vol. 9, No. 3, September 1977, 223 – 252. N. Nissanke, Realtime Systems, Prentice Hall, London, 1997.
70
J. Nawrocki, Models & Analysis of Soft. HomeworkHomework Translate the statechart given below to Petri Nets. B C (in G) A E F G D
71
J. Nawrocki, Models & Analysis of Soft. HomeworkHomework Prepare a model of a file access control protocol allowing up to four concurrent readers in read- only mode or a single writer in exclusive read and write mode. Draw statechart counterparts of the presented Petri Nets.
72
J. Nawrocki, Models & Analysis of Soft. Quality assessment 1. What is your general impression? (1 - 6) 2. Was it too slow or too fast? 3. What important did you learn during the lecture? 4. What to improve and how?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.