Presentation is loading. Please wait.

Presentation is loading. Please wait.

Modeling Worldviews Activity Scanning – Petri Nets and Event Graphs Event Scheduling – Event Graphs State Machines Process Interaction –Block Flow Diagrams.

Similar presentations


Presentation on theme: "Modeling Worldviews Activity Scanning – Petri Nets and Event Graphs Event Scheduling – Event Graphs State Machines Process Interaction –Block Flow Diagrams."— Presentation transcript:

1 Modeling Worldviews Activity Scanning – Petri Nets and Event Graphs Event Scheduling – Event Graphs State Machines Process Interaction –Block Flow Diagrams and Event Graphs

2 Petri Nets: Definition and Behavior Bipartite Directed Graph with Place (balls) and Transition (bars) Nodes Marking: Multiple Tokens at Places (Indicate State of Resident Entities)

3 Petri Nets: Definition and Behavior Firing Rule: A transition “fires” when ALL of its input places are marked. A token is removed from each input place and added to each output place.

4 Petri Nets: Definition and Behavior How might we keep Net Alive?

5 PN Enrichments for Simulation Non-Zero (Random) Firing Times: Random process indices Colored Tokens: Different classes of transient entities - change colors? Input and Output Counts: Analytical and aggregation production Inhibitor arcs: Prevents firing...resource priorities

6 When a transition is enabled, a timer starts. After it times out, the transition fires. Remove on Fire rule = remove and deposit tokens when the transition fires. Remove on Enable rule = remove tokens when timer starts, deposit tokens when it times out (used here to save space). Non-Zero (Random) Firing Times: Random process indices

7 PN Example: G/G/1 Queue s T a T (Random Firing Times) Number in Queue Number of Idle Servers

8 Petri Nets Example: Tandem queue with limited input t 2 1 t Q A 100

9 Activity Modeling View Time = Duration of Activity... Things needed to START Activity What you get when FINISH Activity

10 s T Q 2 s T S S Q B Tandem Queue with Buffer – Production Blocking What about Communication Blocking ?

11 T a T 1 T 2 2 3 PN Enrichments for Simulation Transition Input and Output Counts

12 PN Enrichments for Simulation Inhibitor Arcs (Fail/Repair Model) t f r t Working Machines Failed Machines

13 Time Bound Sequence 12 T1T1 T2T2 TcTc Job must start step 2 within T C of finishing step 1. Give a Petri Net for this system? T a between arrivals

14 Time Bound Sequence...Error? TaTa (timer running) TcTc (timer expired) T1T1 T2T2 (scrap)

15 Time Bound Sequence...Error? TaTa (timer running) TcTc (timer expired) T1T1 T2T2 (scrap)(kill timer)

16 Time Bound Sequence...Error? TaTa (timer running) TcTc (timer expired) T1T1 T2T2 (scrap)(kill timer) What if there are no tokens at Q 2 and 1 active transition in T c ? (“Timer expired” place may grab next part from Q 2 early!) Q2Q2

17 Time Bound Sequence... TaTa (timer terminator) TcTc (timer expired) T1T1 T2T2 (scrap)(kill timer) (zero-time transition) (inhibitor arc) Q1Q1 Q2Q2 R2R2 R1R1 Note: need to set transition priorities to make killing the timer have priority if resource R 2 becomes idle simultaneously with the timer expiring.

18 Petri Nets - Summary Modeling:  Concurrency and contention (Simultaneous Resource Usage) Analysis:  Reachability tree, CTMC Analysis, and much more!

19 Mapping Petri Nets into Event Graphs

20 Alternative Implementations Activity World View Petri Net Formalism: Simple fundamental elements and behavior Concurrent resource usage and contention Event Scheduling View Event Graph Formalism: Simple fundamental element and behavior Concurrency and contention - large model representations

21 Transitions become timed edges Places become conditional edges PN->EG MAPPING

22 PN->EG Mapping: eg. G/G/s queue PN: Q s T a T S A

23 PN->EG Mapping: eg. G/G/s queue PN: EG: Q s T a T S A {A--} {A++, Q++} {Q--, S--} {S++} T s a T

24 PN->EG Mapping: eg. G/G/s queue PN: EG: Q s T a T S A (S&Q) (A) (S&Q) {A--} {A++, Q++} {Q--, S--} {S++} T s a T

25 PN->EG Mapping: eg. G/G/s queue (S&Q) (A) (S&Q) {A--} {A++, Q++} {Q--, S--} {S++} T s a T Variable A is unnecessary!

26 PN->EG Mapping: eg. G/G/s queue (S&Q) { Q++} {Q--, S--} {S++} T s a T Empty Vertex is unnecessary!

27 PN->EG Mapping: eg. G/G/s queue (S&Q) { Q++} {Q--, S--} {S++} T s a T S&Q conditions redundant too...

28 PN->EG Mapping: eg. G/G/s queue (Q) (S) { Q++} {Q--, S--} {S++} T s a T Result: a conventional G/G/s queue EG model

29 P = set of Places, T = set of transitions in PN d(t) = delay time (RV) for transition t  T {Ip(t),Op(t)}= Set of Input and Output Places for t  T {It(p),Ot(p)}= Set of Input and Output Transitions for p  P Step 0.  p  P: define an integer state variable, X(p). Step 1.  t  T: create an edge (O(t), D(t)) with delay d(t). Step 2.  p  P with unique (It(p),Ot(p)) pair: create the edge (D(It(p)),O(Ot(p))) with the condition that all p  Ip(Ot(p)) are marked. (For inhibitor arcs these places must not be marked.) Step 3. Add State changes: for O(t), decrement X(p)  p  Ip(t); for D(t), increment X(p)  p  Op(t). PN  EG MAPPING Advanced homework: Confirm this or find a counter example.

30 Analytical Methods and Conditions PNs Reachabilty, decidability, liveness, and deadlock EGs State definition, event reduction, priorities, equivalence, boundary conditions, resource deadlock, MIP representations

31 COMMUNICATIONS BLOCKING (R1 needs empty buffer to Start) R1,R2 = Number of idle resources Q1,Q2 = Number of waiting jobs B = Number of empty buffer spaces... t a,t s1,t s2 = Arrival and processing times...

32 COMMUNICATIONS BLOCKING: Petri Net AQ1 R1 tata t s1 Q2 R2 B t s2 0 W Q1 = number of jobs waiting in queue 1 Q2 = number waiting in queue 2 R1 = idle resources for step 1 R2 = idle resources for step 2 B = available buffer slots

33 Each transition becomes a timed edge... tata AQ1 R1 tata t s1 Q2 R2 B t s2 0 W t s1 0t s2

34 Next, each place becomes a conditional edge... (ALL input places marked is condition) AQ1 R1 tata t s1 Q2 R2 B t s2 0 W (A) (Q1&R1&B) tata t s1 0t s2 ~ ~ ~ ~ ~ ~ ~ (Q1&R1&B) (Q2&R2) (W)

35 tata Mapping Petri Net to Event Graph Finally, increment and decrement tokens as state changes {A++, Q1++} {Q1--, R1--. B--} {A--}{R1++, Q2++} {R2-- Q2--} {R2++} AQ1 tata t s1 Q2 B t s2 0 W tata t s1 0t s2 ~ ~ ~ ~ ~ ~ ~ (Q1&R1&B) (Q2&R2) (W) R1R2 {W++ B++} {W--} (Q1&R1&B) (A)

36 {A++, Q1++} {Q1--, R1--. B--} {A--}{R1++, Q2++} {R2-- Q2--} {R2++} tata t s1 0t s2 ~ ~ ~ ~ ~ ~ ~ (Q1&R1&B) (Q2&R2) (W) {W++ B++} {W--} (Q1&R1&B) (A) Final Event Graph: How can this be simplified? (ref: Seila, et. al. Text)

37 {Q1++} {Q1--, R1--. B--} {R1 ++, Q2++} {R2-- Q2-- B++} {R2++} tata t s1 t s2 ~ ~ ~ ~ ~ (R1&B) (Q1&B) (R2) (Q2) (Q1&R1) A Simplified Event Relationship Graph

38 Implications PN analysis of Event Graphs State reachability Liveness Deadlock EG analysis of Petri Nets State space Model reduction Equivalence Boundary Conditions Resource Deadlock

39 Petri Net Simulator

40 EG -> PN Mapping Remove-on-Fire Rule Remove-on-Enable Rule

41 Ref: Peter Haas’ book on Stochastic Petri Nets – resets all timers each scan, prob. deposit Remove on Fire rule – vs Remove on enable (Ref: Fishwick) Simulation – Activity Scanning algorithm. (Cancel if transition is disabled!) Inhibitor arc Examples of Petri Net Models – Activity Scanning Models

42 Multiple server queues?

43 Note: is an “event graph” – one out-transition per place State dep deposit to d 11 or d 12...

44

45

46 tFtF M B “failing” – need “new” machine get broken machine M,R R,B tRtR “fixing” – need broken machine and repairman get good machine and repairman “Modeling Activities with ERGs” “Implied ERG” tFtF M B R,M B,R tRtR {M--} {B++} M = “new” machines B = broken machines waiting R = idle repairmen {R--, B--} {R++, M++} ~ ~ (B) (R)

47 “Implied ERG” tFtF M B R,M B,R tRtR {M--} {B++} M = “new” machines B = broken machines R = idle repairmen {R--, B--} {R++, M++} ~ ~ (B) (R) “Reduced ERG – M is not tested” tFtF B R B,R tRtR {B++} {R--, B--} {R++} ~ ~ (B) (R) Exercise: can you further reduce this? hint: assume more machines than repairmen. Define new variable(s).

48 tFtF B R B,R tRtR {B++} {R--, B--} {R++} ~ ~ (B) (R) tFtF tRtR {B++} {B--} ~ (B<=R) Fix ~ (B>=R) Fail R = total number of repairmen (const.) B = number of broken machines (incl in rep.)

49 Colored Petri Nets (transitions are enabled by color or tokens)

50

51

52

53

54

55

56 d 1,i,j = part i waiting Or processing on mach j

57

58

59 GSMP->EGM Mapping (Computer Network) Prop. Reset New Packet Clear End Trans Obs. End Tran. Start Tran

60

61 Need Pg 397….

62

63 e1 deposits in d2 or d5 with equal probabilty Transition has two times – e 3 or e 5 with 50/50 probs.

64 NEED PAGE 137 for this example

65 1 Inhibitor arcs are note strictly necessary (but very convenient!) Add d2 had token iff d1 empty And no tokens if d1 has any.

66 Measuring Delays Need Example 1.4 of Chapter 2

67

68

69 Need figure 9.2 of section 2.6 without colors


Download ppt "Modeling Worldviews Activity Scanning – Petri Nets and Event Graphs Event Scheduling – Event Graphs State Machines Process Interaction –Block Flow Diagrams."

Similar presentations


Ads by Google