Download presentation
Presentation is loading. Please wait.
1
Mapping Petri Nets into Event Graphs
2
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
3
Transitions become timed edges Places become conditional edges PN->EG MAPPING
4
PN->EG Mapping: eg. G/G/s queue PN: Q s T a T S A
5
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
6
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
7
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!
8
PN->EG Mapping: eg. G/G/s queue (S&Q) { Q++} {Q--, S--} {S++} T s a T Empty Vertex is unnecessary!
9
PN->EG Mapping: eg. G/G/s queue (S&Q) { Q++} {Q--, S--} {S++} T s a T S&Q conditions redundant too...
10
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
11
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.
12
Analytical Methods and Conditions PNs Reachabilty, decidability, liveness, and deadlock EGs State definition, event reduction, priorities, equivalence, boundary conditions, resource deadlock, MIP representations
13
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...
14
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
15
Each transition becomes a timed edge... tata AQ1 R1 tata t s1 Q2 R2 B t s2 0 W t s1 0t s2
16
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)
17
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)
18
{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)
19
{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
20
Implications PN analysis of Event Graphs State reachability Liveness Deadlock EG analysis of Petri Nets State space Model reduction Equivalence Boundary Conditions Resource Deadlock
21
Petri Net Simulator
22
t f t r t f t r Fail-Repair PN: EG: 0 0 a A B C D (A&!B) (D&B) (C) (D&B)
23
PN->EG Mapping Transformed EG Failure-Repair Model A++ B++ A-- B-- D-- C++ C-- D++ (A&&!B) (B&&D) (C) (A&&!B) (B&&D) D=3 // // // // // 0
24
PN->EG Mapping Reduced EG Failure-Repair Model {N- -} {N++} t f t r FailFix
25
EG -> PN Mapping Conditions: Need to have non-negative, integral state changes Test only for non-negativity of integers Needs to “edge bi-partite” pure-timed and pure- conditional edges alternate Single state change at each vertex - upstream of timed decrement, downstream of timed increment Expansion Algorithm of Yucesan and Schruben Add conditions upstream when breaking up a self- scheduling edge (Yucesan and Schruben)
26
EG -> PN Mapping 1. Split all self-scheduling edges (add conditions upstream of new vertex) 2. Add void edges (either conditional or timed but not both) to make graph “edge-bipartite” (expansion rules) 3. Timed edges become transitions and conditional edges become places
27
EG -> PN Mapping EG->PN not possible (Q>0) (S>0) ENTER {Q=Q+1} {S=0,Q=Q-1} {S=1} t a t s STARTLEAVE (CLK<100)
28
EG -> PN Mapping QUEUE START FINISH t t (Q) (S) s a {Q=Q+1} {Q=Q - 1, S=S - 1} {S=S+1}
29
EG -> PN Mapping QUEUE START FINISH t t (Q) (S) s a {Q=Q+1} {Q=Q - 1, S=S - 1} {S=S+1} QUEUE START FINISH t t (Q) (S) s a ? “Edge Bipartite”
30
EG -> PN Mapping QUEUE START FINISH t t (Q) (S) s a {Q=Q+1} {Q=Q - 1, S=S - 1} {S=S+1} QUEUE START FINISH t (Q) (S) s t a t s Timed Edges become Transitions t a ?
31
EG -> PN Mapping QUEUE START FINISH t t (Q) (S) s a {Q=Q+1} {Q=Q - 1, S=S - 1} {S=S+1} QUEUE START FINISH t (Q) (S) s t a t s Conditional Edges become PN places ??? t a ?
32
EG -> PN Mapping QUEUE START FINISH t t (Q) (S) s a {Q=Q+1} {Q=Q - 1, S=S - 1} {S=S+1} Q S ? QUEUE START FINISH t (Q) (S) s t a t s State changes on conditional edges determine labels t a ?
33
RunEnterStart1End1Start2 End2 tata t s1 t s2 ~ ~ ~ ~ ~ (i) COMMUNICATIONS BLOCKING: Edges Mapped from Petri Net Conditions to Start “Activities”: (i )= (R1&B&Q1) (ii) = (R2&Q2) (i) (ii)
34
RunEnterStart1End1Start2 End2 {R1=1, R2=1, B=4} {Q1--} {R1--, B--, Q1--} {R1++, Q2++} {R2--, Q2--} {R2++, B++} COMMUNICATIONS BLOCKING: State Changes R1,R2 = Number of idle resources Q1,Q2 = Number of waiting jobs B = Number of empty buffer spaces
35
RunEnterStart1End1Start2 End2 {R1=1, R2=1, B=4} {Q1--} {R1--, B--, Q1--} {R1++, Q2++} {R2--, Q2--} {R2++, B++} tata t s1 t s2 ~ ~ ~ ~ ~ (R2&Q2) (R1&B&Q1) (R2&Q2) (R1&B&Q1) COMMUNICATIONS BLOCKING: Final EGM Model R1,R2 = Number of idle resources Q1,Q2 = Number of waiting jobs B = Number of empty buffer spaces
36
Using Activity Scanning to Develop Process Models “Color” tokens that represent Transient Entities - - track these tokens’ paths. Parse Activities into “SEIZE”, “DELAY” and “RELEASE” Blocks. SEIZE DELAY RELEASE Idle Resources Queue
37
Process -> EG Mapping Process World View: Automated SLAM to Event Graphs (Woodward and Mackulak, ASU) Resource deadlock detection SIMAN to Event Graphs (Barton and Gonzalez, PSU) Premature run termination
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.