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

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

  • View
    223

  • Download
    0

Embed Size (px)

Citation preview

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

Modeling Worldviews

• Activity Scanning – Petri Nets and Event Graphs

• Event Scheduling – Event Graphs

State Machines

• Process Interaction –Block Flow Diagrams and Event Graphs

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

Petri Nets: Definition and BehaviorBipartite Directed Graph with Place (balls) and

Transition (bars) Nodes

Marking: Multiple Tokens at Places

(Indicate State of Resident Entities)

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

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.

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

Petri Nets: Definition and Behavior

How might we keep Net Alive?

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

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

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

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

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

PN Example: G/G/1 Queue

sTaT

(Random Firing Times)

Number in Queue

Number of Idle Servers

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

Petri Nets Example: Tandem queue with limited input

t21tQA

100

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

Activity Modeling View

Time = Duration of Activity

. . .

Things needed to STARTActivity

What you get when FINISHActivity

Activity

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

sT

Q

2sT

S S

Q

B

Tandem Queue with Buffer – Production Blocking

What about Communication Blocking?

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

Ta

T1 T2

2

3

PN Enrichments for Simulation Transition Input and Output Counts

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

PN Enrichments for Simulation

• Inhibitor Arcs (Fail/Repair Model)

tfrt

Working Machines

Failed Machines

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

Time Bound Sequence

1 2

T1 T2

Tc

Job must start step 2 within TC of finishing step 1.

Give a Petri Net for this system?

Ta between arrivals

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

Time Bound Sequence...Error?

Ta

(timer running)

Tc

(timer expired)

T1 T2

(scrap)

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

Time Bound Sequence...Error?

Ta

(timer running)

Tc

(timer expired)

T1 T2

(scrap)

(kill timer)

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

Time Bound Sequence...Error?

Ta

(timer running)

Tc

(timer expired)

T1 T2

(scrap)

(kill timer)

What if there are no tokens at Q2 and 1 active transition in Tc? (“Timer expired” place may grab next part from Q2 early!)

Q2

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

Time Bound Sequence...

Ta

(timer terminator)

Tc

(timer expired)

T1 T2

(scrap)

(kill timer)

(zero-timetransition)

(inhibitorarc)

Q1 Q2

R2R1

Note: need to set transition priorities to make killing the timer have priority if resource R2 becomes idle simultaneously with the timer expiring.

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

Petri Nets - Summary

• Modeling: Concurrency and contention (Simultaneous

Resource Usage)

• Analysis: Reachability tree, CTMC Analysis, and

much more!

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

Mapping Petri Netsinto

Event Graphs

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

Alternative ImplementationsActivity World View

Petri Net Formalism: Simple fundamental elements and behaviorConcurrent resource usage and contention

Event Scheduling ViewEvent Graph Formalism:

Simple fundamental element and behaviorConcurrency and contention - large model

representations

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

Transitions become timed edges

Places become conditional edges

PN->EG MAPPING

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

PN->EG Mapping: eg. G/G/s queue

PN:

Q

sTaT

S

A

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

PN->EG Mapping: eg. G/G/s queue

PN:

EG:

Q

sTaT

S

A

{A--} {A++, Q++}

{Q--, S--}

{S++}

TsaT

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

PN->EG Mapping: eg. G/G/s queue

PN:

EG:

Q

sTaT

S

A

(S&Q)(A)

(S&Q)

{A--} {A++, Q++}

{Q--, S--}

{S++}

TsaT

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

PN->EG Mapping: eg. G/G/s queue

(S&Q)(A)

(S&Q)

{A--} {A++, Q++}

{Q--, S--}

{S++}

TsaT

Variable A is unnecessary!

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

PN->EG Mapping: eg. G/G/s queue

(S&Q)

(S&Q)

{ Q++} {Q--, S--}

{S++}

TsaT

Empty Vertex is unnecessary!

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

PN->EG Mapping: eg. G/G/s queue

(S&Q)

(S&Q)

{ Q++} {Q--, S--}

{S++}

TsaT

S&Q conditions redundant too...

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

PN->EG Mapping: eg. G/G/s queue

(Q)

(S)

{ Q++} {Q--, S--}

{S++}

Ts

aT

Result: a conventional G/G/s queue EG model

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

P = set of Places, T = set of transitions in PN d(t) = delay time (RV) for transition tT {Ip(t),Op(t)}= Set of Input and Output Places for tT {It(p),Ot(p)}= Set of Input and Output Transitions for pP

Step 0. pP: define an integer state variable, X(p). Step 1. tT: create an edge (O(t), D(t)) with delay d(t). Step 2. pP with unique (It(p),Ot(p)) pair: create the edge

(D(It(p)),O(Ot(p))) with the condition that all pIp(Ot(p)) are marked. (For inhibitor arcs these places must not be marked.)

Step 3. Add State changes: for O(t), decrement X(p) pIp(t); for D(t), increment X(p) pOp(t).

PNEG MAPPING

Advanced homework: Confirm this or find a counter example.

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

Analytical Methods and Conditions

• PNsReachabilty, decidability, liveness, and

deadlock

• EGsState definition, event reduction, priorities,

equivalence, boundary conditions, resource deadlock, MIP representations

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

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

...

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

COMMUNICATIONS BLOCKING: Petri Net

A Q1

R1

ta ts1

Q2

R2

Bts20

W

Q1 = number of jobs waiting in queue 1Q2 = number waiting in queue 2R1 = idle resources for step 1R2 = idle resources for step 2B = available buffer slots

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

Each transition becomes a timed edge...

ta

A Q1

R1

ta ts1

Q2

R2

Bts20

W

ts1 0 ts2

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

Next, each place becomes a conditional edge...(ALL input places marked is condition)

A Q1

R1

ta ts1

Q2

R2

Bts20

W

(A)

(Q1&R1&B)

ta ts1 0 ts2

~

~

~

~

~~

~

(Q1&R1&B)

(Q1&R1&B)

(Q2&R2)

(Q2&R2)

(W)

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

ta

Mapping Petri Net to Event GraphFinally, increment and decrement tokens as state changes

{A++,Q1++}

{Q1--,R1--.B--}

{A--} {R1++,Q2++}

{R2--Q2--}

{R2++}

A Q1ta ts1

Q2

Bts20

W

ta ts1 0 ts2

~

~

~

~

~~

~(Q1&R1&B)

(Q1&R1&B)

(Q2&R2)

(Q2&R2)

(W)

R1 R2

{W++B++}

{W--}

(Q1&R1&B)

(A)

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

{A++,Q1++}

{Q1--,R1--.B--}

{A--} {R1++,Q2++}

{R2--Q2--}

{R2++}

ta ts1 0 ts2

~

~

~

~

~~

~

(Q1&R1&B)

(Q1&R1&B)

(Q2&R2)

(Q2&R2)

(W)

{W++B++}

{W--}

(Q1&R1&B)

(A)

Final Event Graph: How can this be simplified? (ref: Seila, et. al. Text)

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

{Q1++} {Q1--,R1--.B--}

{R1++,Q2++}

{R2--Q2--B++}

{R2++}

ta ts1ts2~

~

~

~

~

(R1&B)

(Q1&B)

(R2)

(Q2)

(Q1&R1)

A Simplified Event Relationship Graph

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

ImplicationsPN analysis of Event Graphs

State reachability LivenessDeadlock

EG analysis of Petri NetsState spaceModel reductionEquivalenceBoundary ConditionsResource Deadlock

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

Petri Net Simulator

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

EG -> PN Mapping

Remove-on-Fire Rule

Remove-on-Enable Rule

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

Ref: Peter Haas’ book on Stochastic Petri Nets – resets all timers each scan, prob. depositRemove 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

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

Multiple server queues?

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

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

Page 44: Modeling Worldviews Activity Scanning – Petri Nets and Event Graphs Event Scheduling – Event Graphs State Machines Process Interaction –Block Flow Diagrams
Page 45: Modeling Worldviews Activity Scanning – Petri Nets and Event Graphs Event Scheduling – Event Graphs State Machines Process Interaction –Block Flow Diagrams
Page 46: Modeling Worldviews Activity Scanning – Petri Nets and Event Graphs Event Scheduling – Event Graphs State Machines Process Interaction –Block Flow Diagrams

tFM B “failing” – need “new” machine get broken machine

M,R R,BtR “fixing” – need broken machine

and repairman get good machine and repairman

“Modeling Activities with ERGs”

“Implied ERG”

tFM B

R,M B,RtR

{M--} {B++}M = “new” machinesB = broken machines waitingR = idle repairmen

{R--,B--}

{R++,M++}

~

~

(B)

(R)

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

“Implied ERG”tF

M B

R,M B,RtR

{M--} {B++}M = “new” machinesB = broken machinesR = idle repairmen

{R--,B--}

{R++,M++}

~

~

(B)

(R)

“Reduced ERG – M is not tested”

tF

B

R B,RtR

{B++}

{R--,B--}

{R++}

~~

(B)

(R)

Exercise: can you further reduce this? hint: assume more machines than repairmen. Define new variable(s).

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

tF

B

R B,RtR

{B++}

{R--,B--}

{R++}

~

~

(B)

(R)

tF

tR

{B++}

{B--}

~(B<=R)

Fix~(B>=R)

Fail

R = total number of repairmen (const.)B = number of broken machines (incl in rep.)

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

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

Page 50: Modeling Worldviews Activity Scanning – Petri Nets and Event Graphs Event Scheduling – Event Graphs State Machines Process Interaction –Block Flow Diagrams
Page 51: Modeling Worldviews Activity Scanning – Petri Nets and Event Graphs Event Scheduling – Event Graphs State Machines Process Interaction –Block Flow Diagrams
Page 52: Modeling Worldviews Activity Scanning – Petri Nets and Event Graphs Event Scheduling – Event Graphs State Machines Process Interaction –Block Flow Diagrams
Page 53: Modeling Worldviews Activity Scanning – Petri Nets and Event Graphs Event Scheduling – Event Graphs State Machines Process Interaction –Block Flow Diagrams
Page 54: Modeling Worldviews Activity Scanning – Petri Nets and Event Graphs Event Scheduling – Event Graphs State Machines Process Interaction –Block Flow Diagrams
Page 55: Modeling Worldviews Activity Scanning – Petri Nets and Event Graphs Event Scheduling – Event Graphs State Machines Process Interaction –Block Flow Diagrams
Page 56: Modeling Worldviews Activity Scanning – Petri Nets and Event Graphs Event Scheduling – Event Graphs State Machines Process Interaction –Block Flow Diagrams

d1,i,j = part i waitingOr processing on mach j

Page 57: Modeling Worldviews Activity Scanning – Petri Nets and Event Graphs Event Scheduling – Event Graphs State Machines Process Interaction –Block Flow Diagrams
Page 58: Modeling Worldviews Activity Scanning – Petri Nets and Event Graphs Event Scheduling – Event Graphs State Machines Process Interaction –Block Flow Diagrams
Page 59: Modeling Worldviews Activity Scanning – Petri Nets and Event Graphs Event Scheduling – Event Graphs State Machines Process Interaction –Block Flow Diagrams

GSMP->EGM Mapping (Computer Network)

Prop.

Prop.Reset

NewPacket

Clear

EndTrans

Obs.End Tran.

Start Tran

Page 60: Modeling Worldviews Activity Scanning – Petri Nets and Event Graphs Event Scheduling – Event Graphs State Machines Process Interaction –Block Flow Diagrams
Page 61: Modeling Worldviews Activity Scanning – Petri Nets and Event Graphs Event Scheduling – Event Graphs State Machines Process Interaction –Block Flow Diagrams

Need Pg 397….

Page 62: Modeling Worldviews Activity Scanning – Petri Nets and Event Graphs Event Scheduling – Event Graphs State Machines Process Interaction –Block Flow Diagrams
Page 63: Modeling Worldviews Activity Scanning – Petri Nets and Event Graphs Event Scheduling – Event Graphs State Machines Process Interaction –Block Flow Diagrams

e1 depositsin d2 or d5with equal probabilty

Transition has two times – e3 or e5 with 50/50 probs.

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

NEED PAGE 137 for this example

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

1

Inhibitor arcs are note strictly necessary (but very convenient!)

Add d2 had token iff d1 emptyAnd no tokens if d1 has any.

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

Measuring DelaysNeed Example 1.4 of Chapter 2

Page 67: Modeling Worldviews Activity Scanning – Petri Nets and Event Graphs Event Scheduling – Event Graphs State Machines Process Interaction –Block Flow Diagrams
Page 68: Modeling Worldviews Activity Scanning – Petri Nets and Event Graphs Event Scheduling – Event Graphs State Machines Process Interaction –Block Flow Diagrams
Page 69: Modeling Worldviews Activity Scanning – Petri Nets and Event Graphs Event Scheduling – Event Graphs State Machines Process Interaction –Block Flow Diagrams

Need figure 9.2 of section 2.6 without colors