1 / 69

Modeling Worldviews

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

Download Presentation

Modeling Worldviews

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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. Non-Zero (Random) Firing Times: Random process indices 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).

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

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

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

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

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

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

  13. Time Bound Sequence Tc 1 2 Ta between arrivals T1 T2 Job must start step 2 within TC of finishing step 1. Give a Petri Net for this system?

  14. (timer expired) Tc (scrap) Time Bound Sequence...Error? T1 Ta T2 (timer running)

  15. (timer expired) Tc (scrap) (kill timer) Time Bound Sequence...Error? T1 Ta T2 (timer running)

  16. (timer expired) Tc (scrap) (kill timer) Time Bound Sequence...Error? Q2 T1 Ta T2 (timer running) What if there are no tokens at Q2 and 1 active transition in Tc? (“Timer expired” place may grab next part from Q2 early!)

  17. (timer expired) Tc (scrap) (kill timer) Time Bound Sequence... R2 R1 Q1 Q2 T1 Ta T2 (timer terminator) (zero-time transition) Note: need to set transition priorities to make killing the timer have priority if resource R2 becomes idle simultaneously with the timer expiring. (inhibitor arc)

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

  19. Mapping Petri Netsinto 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. PN->EG MAPPING Transitions become timed edges Places become conditional edges

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

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

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

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

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

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

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

  29. PNEG MAPPING 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). 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 ta,ts1,ts2 = Arrival and processing times

  32. R1 R2 A Q1 Q2 W ts2 ta ts1 0 B COMMUNICATIONS BLOCKING: Petri Net 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. ts1 ts2 0 Each transition becomes a timed edge... R1 R2 A Q1 Q2 W ts2 ta ts1 0 B ta

  34. (Q2&R2) (Q1&R1&B) ~ ~ ~ (Q1&R1&B) (Q2&R2) 0 ts2 ta ts1 ~ ~ ~ (W) ~ Next, each place becomes a conditional edge... (ALL input places marked is condition) R1 R2 A Q1 Q2 W ts2 ta ts1 0 B (A) (Q1&R1&B)

  35. A Q1 Q2 W ts2 ta ts1 0 B Mapping Petri Net to Event Graph Finally, increment and decrement tokens as state changes R1 R2 ta (Q2&R2) (A) (Q1&R1&B) ~ ~ ~ (Q1&R1&B) (Q2&R2) 0 ts2 ta (W) ts1 ~ ~ ~ {A++, Q1++} {R2-- Q2--} {A--} {R1++, Q2++} {R2++} {Q1--, R1--. B--} {W++ B++} {W--} ~ (Q1&R1&B)

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

  37. A Simplified Event Relationship Graph (Q2) (Q1&B) ~ ~ (R1&B) (R2) ta ts2 ts1 ~ ~ {R1++, Q2++} {R2-- Q2-- B++} {Q1--, R1--. B--} {Q1++} {R2++} ~ (Q1&R1)

  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. Examples of Petri Net Models – Activity Scanning Models Inhibitor arc 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!)

  42. Multiple server queues?

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

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

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

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

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

More Related