Presentation is loading. Please wait.

Presentation is loading. Please wait.

Petri Nets Copyright, 2003 © Jerzy R. Nawrocki Models and Analysis of Software Lecture.

Similar presentations


Presentation on theme: "Petri Nets Copyright, 2003 © Jerzy R. Nawrocki Models and Analysis of Software Lecture."— Presentation transcript:

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?


Download ppt "Petri Nets Copyright, 2003 © Jerzy R. Nawrocki Models and Analysis of Software Lecture."

Similar presentations


Ads by Google