Petri Nets Copyright, 2003 © Jerzy R. Nawrocki Models and Analysis of Software Lecture 7 Models and Analysis of Software Lecture 7
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.
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:
J. Nawrocki, Models & Analysis of Soft. OrthogonalityOrthogonality B C (in G) A E F G D
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
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
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 , Vol.1, 1966, English translation.
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.
J. Nawrocki, Models & Analysis of Soft. TerminologyTerminology A place A transition A token An input arc An output arc
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
J. Nawrocki, Models & Analysis of Soft. A very simple example A reader in a library: waiting, reading. waiting reading strt_reading stop_reading
J. Nawrocki, Models & Analysis of Soft. A very simple example A reader in a library: waiting, reading. waiting reading strt_reading stop_reading
J. Nawrocki, Models & Analysis of Soft. A very simple example A reader in a library: waiting, reading. waiting reading strt_reading stop_reading
J. Nawrocki, Models & Analysis of Soft. A very simple example A reader in a library: waiting, reading. waiting reading strt_reading stop_reading
J. Nawrocki, Models & Analysis of Soft. A very simple example A reader in a library: waiting, reading. waiting reading strt_reading stop_reading
J. Nawrocki, Models & Analysis of Soft. waiting reading strt_reading stop_reading Another simple example Two readers in a library: waiting, reading.
J. Nawrocki, Models & Analysis of Soft. waiting reading strt_reading stop_reading Another simple example Two readers in a library: waiting, reading.
J. Nawrocki, Models & Analysis of Soft. waiting reading strt_reading stop_reading Another simple example Two readers in a library: waiting, reading.
J. Nawrocki, Models & Analysis of Soft. waiting reading strt_reading stop_reading Another simple example Two readers in a library: waiting, reading.
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
J. Nawrocki, Models & Analysis of Soft. Concurrent transitions 2
J. Nawrocki, Models & Analysis of Soft. Concurrent transitions 2
J. Nawrocki, Models & Analysis of Soft. Concurrent transitions 2
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
J. Nawrocki, Models & Analysis of Soft. Transitions in conflict
J. Nawrocki, Models & Analysis of Soft. Transitions in conflict
J. Nawrocki, Models & Analysis of Soft. Transitions in conflict A decision point
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
J. Nawrocki, Models & Analysis of Soft. Another example while (true) { t 1 ;... t 2 ;... t 3 ; } while (.. t 4..) {... t 5 ;... } Client Server
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
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
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
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
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
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
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
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
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
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
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
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 )*
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
J. Nawrocki, Models & Analysis of Soft. Readers and writers while(1) { Read(d); Use(d); } while(1) { Think(d); Write(d); }
J. Nawrocki, Models & Analysis of Soft. Readers and writers Library
J. Nawrocki, Models & Analysis of Soft. Readers and writers Library
J. Nawrocki, Models & Analysis of Soft. Readers and writers while(1) { Read(d); Use(d); } while(1) { Think(d); Write(d); }
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(); }
J. Nawrocki, Models & Analysis of Soft. Readers and writers void StartRead() { ReadersIn++; } void StartWrite() { WritersIn++; } void StopRead() {ReadersIn--; } void StopWrite() {WritersIn--; }
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); }
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); }
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
J. Nawrocki, Models & Analysis of Soft. HomeworkHomework Translate the statechart given below to Petri Nets. B C (in G) A E F G D
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.
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?