Top Banner
INTRODUCTION TO EVENT GRAPH MODELS • Definition - The basic building block. • Model Dynamics • Reading an Event Graph • Event Graph Enrichments
223

INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Dec 20, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

INTRODUCTION TO

EVENT GRAPH MODELS

• Definition - The basic building block.

• Model Dynamics

• Reading an Event Graph

• Event Graph Enrichments

Page 2: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

BANK1.MOD

RUN ENTER LEAVESTART(S)

ta

{Q=Q+1}

(S>0)

{S=S-1,Q=Q-1} {S=S+1}

(Q>0)

ts~

~

If want to Close Doors at tc

Quiz: Why won’t this work?

~

(CLK<tc)

Page 3: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

1. In REWORK model, we put a rework job back in original queue... What happens?2. Move (REWORK,ENTER) edge back to (REWORK,START). What if LEAVE REWORK and ENTER events are simultaneously scheduled and the LEAVE event is executed next... In what order should all the other events be executed before the next clock advance?

RUN ENTER LEAVESTART

{S=1}

(Q, P)

ta

{Q=Q+1}

(S>0)

{S=0,Q=Q-1} {S=1}

(Q>0)

ts

tr

REWORK

(S>0)(RND<P)~

~

~

~

Page 4: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Distinguishing Features of Simulation

• Time (CLK) DYNAMICfocused on this aspect during the modeling section of the course

• Pseudorandom variables (RND) STOCHASTICwill focus on this aspect in coming weeks

Page 5: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Motivation

Graphical techniques can provide exceptional modeling power

Mappings between representations Permit alternative implementations Enhance logic checking Aid in model communication Translate analytical methods and

conditions

Page 6: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Modeling Paradigms• State Models - Markov Chains, Queues

and Event Relationship Graphs• Petri Nets - Activity Scanning

and Event Relationship Graphs

• Block Flow Diagrams - Process Interaction and Event Relationship Graphs

• Event Graphs – model relationships between the changes in system state or rules.

Page 7: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

INTRODUCTION TO

EVENT GRAPH MODELS

• Definitions - The basic building block.

• Model Dynamics

• Reading an Event Graph

• Event Graph Enrichments

Page 8: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Elements of a Discrete Event Simulation

Variables that describe the state

Events that change the state

Relationships between Events

Page 9: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Variables that describe the stateEvents that change the state

Relationships between Events

Elements of a Simulation

A

A B

Page 10: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Relationships between Events

• Scheduling and Cancelling

• Conditions

• Time Delays

Page 11: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

A Bt

(i)

Event Graph Modeling

Page 12: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

A Bt

(i)

Whenever event A occurs,

Event Graph Modeling

Page 13: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

A Bt

Whenever event A occurs, if condition (i) is true,

Event Graph Modeling

(i)

Page 14: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

A Bt

(i)

Whenever event A occurs, if condition (i) is true, then event B will be scheduled to occur

Event Graph Modeling

Page 15: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

A Bt (i)

Whenever event A occurs, if condition (i) is true, then event B will be scheduled to occur after a delay of t.

Event Graph Modeling

Page 16: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

A Bt

(i)

Whenever event A occurs, if condition (i) is true, then event B will be scheduled to occur after a delay of t.

Event Graph Modeling

(often / will be used instead of ~ for arc conditions)

Page 17: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

What about simultaneously scheduled events? priorities associated with edges

Indirect state changes that occur when testing edge conditions (the curse of C and Java programmers)

Sequence Issues

Page 18: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

A Bt

(i)

1. Execute State Changes for current event.2. Then test conditions for all exiting edges. 3. Finally compute delay times and schedule

destination events for all true edges.

Execution Sequence

Page 19: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

EVENT EXECUTION SEQUENCE(may differ slightly for different simulation languages)

1. Evaluate any "parameters" for the event (eg. which machine starts?).

2. Perform all state changes defined for the event.

3. Test ALL conditions for scheduling or canceling other events.

4. For ALL true conditions:

4.1 Cancel ALL events that are to be cancelled

4.2. For ALL events that are to be scheduled

4.2.1. Evaluate the attributes of the event to be scheduled

4.2.2. Evaluate the times that the event will be scheduled

4.2.3. Schedule the event

Page 20: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

INTRODUCTION TO

EVENT GRAPH MODELS

• Definition - The basic building block.

• Model Dynamics

• Reading an Event Graph

• Event Graph Enrichments

Page 21: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Single Resource Model• Variables

R = Number of ResourcesR = 0: Resource is busyR > 0: Resource is idle

Q = Number of jobs waiting in line (initially = 6)• Timing Data

ta = interarrivals ts = service times

• Events– Jobs ENTER the system every ta time units– START servicing the job taking ts time units– Jobs LEAVE the system

Page 22: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Single Resource Model

RUN(Q)

START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

ts

Page 23: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Single Resource Model

RUN(Q)

START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

ts

Marking: Tokens at Scheduled Events

Page 24: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Single Resource Model

RUN(Q)

START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

ts

CLK = 0.0

Page 25: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Single Resource Model

RUN(Q)

START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

ts

CLK = 0.0

Page 26: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Single Resource Model

RUN(Q)

START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

ts

CLK = 0.0

Page 27: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Q, The Number of Jobs Waiting

Time

Q=7

67

0

Page 28: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

RUN(Q)

START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

ts

CLK = 0.0

Time

Q = 7

0

Page 29: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

RUN(Q)

START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

ts

CLK = 0.0

Time

Q = 7

0

Page 30: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

RUN(Q)

START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

ts

CLK = 0.0 (Say, for example, that ta = 5.5)

Time

Q = 7

0

0

Page 31: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

RUN(Q)

START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

ts

CLK = 0.0

5.5 0

Time

Q = 7

0

Page 32: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

RUN(Q)

START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

CLK = 0.0

5.5

Time

Q = 6

0

ts

Page 33: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

RUN(Q)

START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

ts

CLK = 0.0 (Say, for example, that ts = 2.3)

5.5

Time

Q = 6

0

Page 34: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

RUN(Q)

START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

ts

CLK = 0.0

5.5 2.3

Time

Q = 6

0

Page 35: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

RUN(Q)

START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

ts

CLK = 2.3

5.5

Time

Q = 6

0 2.3

Page 36: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Q, The Number of Jobs Waiting

Time

Q=6

67

0

5

2.3

Page 37: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

RUN(Q)

START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

ts

CLK = 2.3

5.5

Time

Q = 6

0 2.3

2.3

Page 38: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

RUN(Q)

START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

ts

Which Event is Executed Next? When?

5.5 2.3

Time

Q = 6

0 2.3

Page 39: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

RUN(Q)

START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

ts

What is the value of Q after the next event?

5.5 2.3

Time

Q = 6

0 2.3

Page 40: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Time

Q = 5

0 2.3

RUN(Q)

START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

CLK = 2.3

5.5

ts

Page 41: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

RUN(Q)

START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

ts

CLK = 2.3

5.5

Assume that ts = 1.8. QUIZ: When is the LEAVE scheduled?

Time

Q = 5

0 2.3

Page 42: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

RUN(Q)

START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

ts

CLK = 2.3

5.5 4.1

Time

Q = 5

0 2.3

LEAVE is scheduled at CLK +1.8 =2.3 +1.8 = 4.1

Page 43: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

RUN(Q)

START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

ENTER

ta

ts

CLK = 4.1

5.5

0

Time

Q = 5

2.3 4.1 (Q>0)

4.1

Page 44: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

RUN(Q)

START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

ts

Quiz: For what range of service times, ts , would Q=5 before Q=3?(i.e., a customer ENTERs before the next service START?)

5.5

CLK = 4.1

0

Time

Q= 4

2.3 4.1

4.1

Page 45: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

• Say, for example that the next service time is equal to 1.5.

• Thus the next LEAVE will be scheduled to occur at 4.1 + 1.5 = 5.6.

• The next ENTER event was scheduled at time, 5.5 so it happens next.

• Q will then increase from 4 to 5.

The Service Time Needs to be Greater than 1.4.

Page 46: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

RUN(Q)

START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

ts5.5

CLK = 4.1

0

Time

Q= 4

2.3 4.1

(Say, for example, now ts = 1.5)

Page 47: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

RUN(Q)

START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

ts5.5

CLK = 4.1

0

Time

Q= 4

2.3 4.1

5.6

Page 48: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

RUN(Q)

START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

ts

CLK = 5.5

0

Time

Q= 5

2.3 4.1 5.5

5.6

Page 49: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Let’s review the sequence of Events and watch how the clock and output changed as the Events occur.

Page 50: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Q = The Number of Jobs Waiting in Line

Time

Q = 6

0

RUN

67

54

3

2

1

Page 51: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Time

Q = 7

0

ENTER

67

54

3

2

1

Page 52: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Time

Q = 6

0

START

67

54

3

2

1

Page 53: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Time

Q = 6

2.30

LEAVE

67

54

3

2

1

Page 54: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Time

Q=5

2.30 4.1

START

67

54

3

2

1

Page 55: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Time

Q=5

2.30 4.1

LEAVE

67

54

3

2

1

Page 56: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Time

Q=4

2.30 4.1

67

54

3

2

1

START

Page 57: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Time

Q=5

2.30 4.1

67

54

3

2

1

ENTER

5.5

Page 58: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Time

2.30 4.1

67

54

3

2

1

Aside: Time Average Statistics

5.5

TAV{Q} = Ave height = area/length

Q

Page 59: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

• Easy to Build Simple Models

• Very Restrictive Modeling Assumptions

• Powerful Analytical Development

• Suffers from the “Curse of Dimensionality”

State Machines

Page 60: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

State Machine

1 2 3 40

Graph with Vertices Representing State Values

eg: A Single Server Queue

Page 61: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

State MachineGraph with Vertices Representing State Values

eg: A Single Server Queue

1 2 3 40

Customer Arrival rate

Customer Departure rate

Page 62: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

State MachineGraph with Vertices Representing State Values

Marking: Single Token At Current State (Start at 0)

1 2 3 40

Page 63: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

State MachineArrival Event Occurs (State = 1)

1 2 3 40

Page 64: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

State MachineAnother Arrival Occurs (State = 2)

1 2 3 40

Page 65: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

1 2 3 40

State Machine Departure Event Occurs Next (State again is 1)

Page 66: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

State Machine Arrival Occurs (State is 2)

1 2 3 40

Page 67: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Arrival Occurs (State is 3)

State Machine

1 2 3 40

Page 68: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

1 2 3 40

State Machine Departure Occurs (State again is 2)

Page 69: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

State Diagram (Single Server Queue)

1 2 3 40

Page 70: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Single Resource QueueVertices in State Machine Representing State Values

1 2 3 40

Page 71: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Edges represent Changes in State

Arrive

Depart

1 2 3 40

Page 72: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Reduced Event Graph for Single Server Queue

Q = number in system.

ARRIVE FINISH

{Q=Q+1} {Q=Q-1}

(Q= =1)

(Q>0)

ta tsts

Page 73: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

QUIZ: Modify this EG for R Identical Parallel Resources.

ARRIVE FINISH

{Q=Q+1} {Q=Q-1}

(Q= =1)

(Q>0)

ta tsts

Page 74: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

What is Reduced EGM for a Multiple (say R) Servers?

Note: Can still model any level of congestion with a single integer variable

ARRIVE FINISH

{Q=Q+1} {Q=Q-1}

(Q= =R)

(Q≥R)

ta tsts

Page 75: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Single Resource Event Graph Condenses into a Single Vertex

DEPART

(Q==0)

(Q>0)

ts

ta+ t

s

{Q = Q - 1 + A}

A = Number of Arrivals During a Service Epoch

Page 76: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Weather Model(Assume independence)

S = Sunny DayS = Sunny Day

C = Cloudy DayC = Cloudy Day

S C

Page 77: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Two Day Weather Patterns

S = Sunny DayS = Sunny Day

C = Cloudy DayC = Cloudy Day

K classes, N-Day Dependence…KN States

SS SC

CS CC

Page 78: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

2 classes, 2-Day Dependence

Homework*: How many vertices for aK class, N dependent model?

Change

tS ~ (S) (C) ~

tC

tS = number of Sunny Days

Page 79: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Event Graph Daily Weather Model (any Markov Process)

Day

History

(W)

1

Page 80: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

EVENT OCCURANCES

Advance TIME

Change the STATE

Page 81: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

EVENT OCCURANCES

Advance TIME - Graph Edges

Change the STATE - Vertices

Page 82: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

EVENT OCCURANCES

Advance TIME - Graph Edges

Change the STATE - Vertices

Tied together into a Model by the Event Graph

Page 83: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Minimalist Approach

Discrete Event Simulations model boththe passage of Time and Uncertainty....SIGMA has two basic variables.

• CLK Current simulated clock time. For modeling dynamics.

• RND Randomly chosen number, greater than 0 and less than 1. For modeling randomness.

Page 84: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Figure 2.7: Verbal Event Graph of a Single Server Queue

Initializethe RUN

Customer ENTERSystem

Customer LEAVEsSystem

Customer STARTsService

(Are Customers Waiting?)

(Is Server Idle?)~

ta

~

ts

ta

t s

= Time Between Customer Arrivals (Possibly Random)

= Time to Service a Single Customer (Possibly Random)

Page 85: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Figure 2.4: Simple Event Graph of a Carwash

RUN ENTER LEAVESTART

{Idle=1,Busy=0,Server=Idle}

{Queue=Queue+1} {Server=Busy, Queue=Queue-1}

{Server=Idle}

Page 86: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

What actually happens?

Scheduled events are on the Pending Events list, which acts as the “appointment book” for the system.

PENDING EVENTS LIST

Time Event Priority String of Attributes

3.32 Breakdown 2 3,4,6

4.52 Finish 3 3,4,6

5.42 Arrival 1 7

5.42 Finish 3 2,5,1

(Aside: “Future” Events List is a bad name…events are not necessarily in the future – may be now.)

Page 87: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

What actually happens?

Scheduled events are on the Pending Events list, which acts as the “appointment book” for the system.

PENDING EVENTS LIST

Time Event Priority String of Attributes

3.32 Breakdown 2 3,4,6

4.52 Finish 3 3,4,6

5.42 Arrival 1 7

5.42 Finish 3 2,5,1

Tool 3, Worker 4, Part 6

Part 7

Page 88: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Figure 2.2: Main Event Scheduling Algorithm

Cancel Events

Initialize

Advance Clock to Time of Next Event

Execute Event

Remove Event From List

State

Event List

Change State

Schedule Events

Summary StatisticsStop YesNo

Page 89: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Table 2.1: Future Events List for a System with Three Machines (Number everything starting with 0...) Time, CLK = 3.00 ARRIVAL event just executed Scheduling the next ARRIVAL at 3.37

Time Event Type Event Attribute (machine)

(Current time) 3.00 ARRIVAL

3.20 FINISH 0

3.35 BREAKDOWN 1

3.37 ARRIVAL

3.40 FINISH 1

3.43 REPAIRED 2

9.01 BREAKDOWN 0 Of the 3 machines – two are busy and one broken – why?

Page 90: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Table 2.2: Future Events List for a System with Three Machines(CLK = 3.20 FINISH event executed, scheduling the

next START event “now”).

Time Event Type Event Attributes

(Current time) 3.20 FINISH 0

3.20 START 0

3.35 BREAKDOWN 1

3.37 ARRIVAL

3.40 FINISH 1

3.43 REPAIRED 2

9.01 BREAKDOWN 0

Page 91: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Table 2.3: Future Events List for a System with Three Machines (CLK = 3.20 START event schedules FINISH at 4.40)

Time Event Type Event Attributes

(Current time) 3.20 START 0

3.35 BREAKDOWN 1

3.37 ARRIVAL

3.40 FINISH 1

3.43 REPAIRED 2

4.40 FINISH 0

9.01 BREAKDOWN 0

Page 92: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Table 2.4: Future Events List for a System with Three Machines (CLK = 3.35 BREAKDOWN 1 cancels FINISH and schedules a REPAIRED event for machine 1)

Time Event Type Event Attributes

(Current time) 3.35 BREAKDOWN 1

3.37 ARRIVAL

3.43 REPAIRED 2

4.40 FINISH 1

8.35 REPAIRED 1

9.01 BREAKDOWN 0

Page 93: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

A B

Whenever event A occurs, if condition (i) is true, then cancel the next scheduled event B, if any.

Event Canceling

(i)

Page 94: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Event Cancelling

Event Canceling Options in SIGMA:

1. Next scheduled (FIFO to break ties)

2. All events of this type

3. Only specific events of this type with matching event parameters (more later)

Page 95: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

BANK1.MOD

RUN ENTER LEAVESTART(S)

ta

{Q=Q+1}

(S>0)

{S=S-1,Q=Q-1} {S=S+1}

(Q>0)

ts~

~

What if want to Close Doors at tc?

Page 96: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

BANK1.MOD

RUN ENTER LEAVESTART(S)

ta

{Q=Q+1}

(S>0)

{S=S-1,Q=Q-1} {S=S+1}

(Q>0)

ts~

~

If want to Close Doors at tc

Quiz: Why won’t this work?

~

(CLK<tc)

Page 97: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

ENTER LEAVESTART

ta

{Q=Q+1}

(S>0)

{S=S-1,Q=Q-1} {S=S+1}

(Q>0)

ts~

~

RUN

CLOSE

{S=1}tc

(Q, tc)

Want to Close Doors at tc?

CLOSEIT.MOD

Exercise: Read this Graph

Page 98: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

How might we model a Failure/Reject policy where we discard active job when failure occurs?

tF is the time until failure (again, never use TBF, why?)

tR is the time to repair

RUN ENTER LEAVESTART

ta

(S>0)

(Q>0)

ts

~

~

Page 99: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Modeling Fundamental: You need to RESTART any resource cycle you break…

RUN ENTER LEAVESTART

ta

(S>0)

(Q>0)

ts

FIX FAILtF

tR

{S= -1}{S=1}

~

~

Page 100: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

RUN ENTER LEAVESTART

ta

(S>0)

(Q>0)

ts

FIX FAIL

tR

(Q>0)

~

~

~tF

Modeling Fundamental: You must initially schedule every strongly connected event graph component.

Page 101: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

BRKDN.MOD

RUN ENTER LEAVESTART

{S=1}

(Q)

ta

{Q=Q+1}

(S>0)

{S=0,Q=Q-1}

{S=1}

(Q>0)

ts

FIX FAIL

tF

tR

{S= -1}{S=1}

(Q>0)

~

~

~tF

Page 102: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

A Bt

(i)

Whenever event A occurs, if condition (i) is true, then event B will be scheduled to occur after a delay of t.

Reading an Event Graph

Simply read the “exiting” edges of each vertex.

Page 103: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Single Resource Model

RUN START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

ts

A simulation run is started by having the first job enter the system.

Page 104: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Single Resource Model

RUN START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

ts

New jobs enter the system at random intervals.

Page 105: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Single Resource Model

RUN START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

ts

When a job enters, if the resource is available the job can start service.

Page 106: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Single Resource Model

RUN START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

ts

Once a job starts, it will leave after a service time delay.

Page 107: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Single Resource Model

RUN START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

ts

Whenever a job leaves, if there is more work waiting, then service can start on the next job.

Page 108: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Putting the “edge” sentences together...

A simulation run is started by having the first job enter the system. New jobs enter the system at random intervals. When a job enters, if the resource is available the job can start service. Once a job starts, it will leave after a service time delay. Whenever a job leaves, if there is more work waiting, then service can start on the next job.

Page 109: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

…we have a concise system description.

A simulation run is started by having the first job enter the system. New jobs enter the system at random intervals. When a job enters, if the resource is available the job can start service. Once a job starts, it will leave after a service time delay. Whenever a job leaves, if there is more work waiting, then service can start on the next job.

Page 110: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Multiple Resource Model?

RUN START LEAVE

{R=1} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

ts

What if there were 5 identical resources ?

Page 111: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

RUN START LEAVE

{R=5} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

ts

Five resources are now available to work in parallel.

Multiple Resource Model

Page 112: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Batched Service Model?

RUN START LEAVE

{R=5} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(R>0)

(Q>0)

ENTER

ta

ts

B is the process batch size

Page 113: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Batched Service Model

RUN START LEAVE

{R=5} {Q=Q+1} {R=R-1,Q=Q-B}

{R=R+1}

(R>0&Q>=B)

(Q>=B)

ENTER

ta

ts

B is the process batch size

Page 114: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Flexible Batched Service?

RUN START LEAVE

{R=5} {Q=Q+1} {R=R-1,Q=Q-1}

{R=R+1}

(Q>0)

ENTER

ta

ts

B,b are Max and Min Process Batch Size

(R>0)

Page 115: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

RUN START LEAVE

{R=5} {Q=Q+1} {R=R-1,Q=Q-min(B,Q)}

{R=R+1}

(Q>=b)

ENTER

ta

ts

B,b are Max and Min Process Batch Size

(R>0&

Q>=b)

Flexible Batched Service

Page 116: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

1. In REWORK model, we put a rework job back in original queue... What happens?2. Move (REWORK,ENTER) edge back to (REWORK,START). What if LEAVE REWORK and ENTER events are simultaneously scheduled and the LEAVE event is executed next... In what order should all the other events be executed before the next clock advance?

RUN ENTER LEAVESTART

{S=1}

(Q, P)

ta

{Q=Q+1}

(S>0)

{S=0,Q=Q-1} {S=1}

(Q>0)

ts

tr

REWORK

(S>0)(RND<P)~

~

~

~

131 Student ID______________________

Page 117: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

REWORK1.MOD

RUN ENTER LEAVESTART

{S=1}

(Q, P)

ta

{Q=Q+1}

(S>0)

{S=0,Q=Q-1} {S=1}

(Q>0)

ts

tr

REWORK

{Q=Q+1}(S>0)(RND<P)~~

~

~

Page 118: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

SLOFAST0.MOD

RUN

{S[0]=S[0]-1,Q=Q-1} {S[0]=S[0]+1}

LEAVE0START0

(Q>0)

ts[0]

CHECK

(S[0]>0)

ARRIVE

ta

{Q=Q+1}

{S[1]=S[1]-1,Q=Q-1} {S[1]=S[1]+1}

LEAVE1START1

(Q>0)

ts[1]

(S[0]<=0 &S[1]>0)

{S[0]=1, S[1]=1}

~

~

~~

Page 119: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

ASSEMKIT.MOD

RUN KIT PACKOPRN3

{S=1}

(P)

(S>0)

{S=0,Q[3]=Q[3]-1} {S=1}

(Q[3]>0)

ts

OPRN1

t1

t2

OPRN2

(Q[2]>=P & Q[1]>0)

{Q[1]=Q[1]+1}

{Q[2]=Q[2]+1}

(Q[2]>=P)

{Q[1]=Q[1]-1,Q[2]=Q[2]-P,Q[3]=Q[3]+1

~

~

~~

Page 120: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

PERT Example - Table 5.3: Activity Precedence for a Project

Activity Must Follow Activities

COUNTER[I]

A None 0

B A 1

C None 0

D B and C 2

E B and D 2

F C 1

Page 121: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

END_A

END_C

END_D

END_F

END_B END_E

DoneStart

PERT CHART FOR PROJECT Initialize Ni with number of predecessors

State change is Ni=Ni-1, Conditions Ni== 0Generate edge delay times in vertices!!!

Page 122: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

A{Z=W}

{Z=Q}

~

~(X>Y)

(XY)

If-Then-Else: Event Graph or Boolean Variables

{Z=(X>Y)*W + (XY)*Q}

A...Or...

Page 123: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

BUFFERQ.MOD

RUN

{S=1}

(Q, B)ARRIVE

ta

(Q<B)

{S=0,Q=Q-1} {S=1}

LEAVESTART

(Q>0)

tsENTER

{Q=Q+1}

(S>0)

~ ~

~

Page 124: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

BUFFERQ.MOD (Using Boolean Variables)

RUN

{S=1}

(Q, B)

ta

{S=0,Q=Q-1} {S=1}

LEAVESTART

(Q>0)

tsENTER

{Q=Q+(Q<B)}

(S>0)

~

~

Page 125: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Modeling Resource Failures

Most languages offer some method for modeling failure and repair using:

TTF = time to failureTTR = time to repair

Most languages do not offer many options of what to do with the job when a failure occurs.

Page 126: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Notes:

1. Do NOT use exponential TTF with PMs - “lack of memory”

- “infinite tail”

2. Do NOT use TBF = time between failures - this data is often available, but can cause “queued failures” where resources can fail when the are already broken! or worse, Broken Tools Failing !

Page 127: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Basic Questions:

1. Is TTF in “working” time or “clock” time? - clock time is common but nonsense. How do you know it failed if it is idle?

2. What happens to the job being processed when the resource fails?

Page 128: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Basic Questions:

1. Is TTF in “working” time or “clock” time? - clock time is common but nonsense. How do you know it failed if it is idle?

2. What happens to the job being processed when the resource fails?

These are often not even answered in the Language Documentation!

Page 129: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

We may...Reject: the part is discardedResume: continue work on the part where left off.Restart: processing is started over.

Some Policies for the Job being Processed

Page 130: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

We may...Reject: the part is discardedResume: continue work on the part where left off.Restart: processing is started over.

Perhaps After -Rework: additional work is needed before work on the part can be restarted.

Some Policies for the Job being Processed

Page 131: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

We may...Reject: the part is discardedResume: continue work on the part where left off.Restart: processing is started over.

Perhaps After -Rework: additional work needs to be done before work on the part can be restarted....Or...Reroute: Have another resource finish the work.

Some Policies for the Job being Processed

Page 132: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

RESOURCE FAILURE WITH RESUME (update PT after TTF)(Note: assumed only one failure per part! min{TF)>max{TP})

START EVENT (with comments){S = 0, / Make server unavailableQ = Q - 1, / Remove job from queuePT = TP, / Generate job processing timeFAIL = (TTF<=PT), / Is there a failure during processing?TTF=(FAIL= =0) *(TTF-PT) / No failure - decrement Time To Failure + (FAIL= =1)*(TF-(PT-TTF)) / Failure - set new Time To Failure

PT = (FAIL= =0)*PT / No failure: process job + (FAIL= =1)*(PT + TR), / Failure: resume processing after repair

{S=1,

TTF = TF}

PT

(Q>0)

{S =1}

(S>0)

{Q=Q+1}

ta

EnterRun Start Finish

(See text)

TP = processing timeTF = time to failureTR = time to repair

Page 133: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Once a Resource Starts a Job, if it does not fail it will Finish in PT

Verbal EG of Resource Cycle

PTFinishStart

...OR...

(Not Fail)~

Page 134: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

It Fails in TTF .

(Fail)

TTF

Fail

~PTFinishStart

~

(Not Fail)

Page 135: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

It is Repaired

(Fail)

TTF

Fail

PTFinishStart

~

RepairTTR

~(Not Fail)

Page 136: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Job May be Reworked

(Fail)

TTF

Fail

~(Not Fail)PTFinishStart

~

RepairTTR

ReworkTw

(Rework) ~~

NoRework

(NoRework)

Page 137: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Job is then finished or discarded

(Fail)

TTF

Fail

~(Not Fail)

PT-TTF

FinishStart

~

RepairTTR

Reject

Resume

Restart

PT

~

~

~

PT

(Restart)

(Resume)

(Reject)

ReworkTw

(Rework) ~~

NoRework

(NoRework)

Page 138: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Fundamental Idea:Focus only on “interesting” events in the Resident Entity Cycles changes in fundamental state variables.

Here S = resource state = 0/1 = busy/idleQ = number of jobs waiting

Page 139: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Key Idea:Focus only on “interesting” events in the Resident Entity Cycles changes in fundamental state variables

Here S = resource state = 0/1 = busy/idleQ = number of jobs waiting

Eliminate Uninteresting events usingConditional Delays between Interestingevents.

Page 140: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Only the Start and the Finish Events are “Interesting”

(Fail)

TTF

Fail

~(Not Fail)

PT-TTF

FinishStart

~

RepairTTR

Reject

Resume

Restart

PT

~

~

~

PT

(Restart)

(Resume)

(Reject)

ReworkTw

(Rework) ~~

NoRework

(NoRework)

Page 141: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Key Idea:To model Resident Entity Cycle We Need To Compute only the Delay from Start to Finish.

Reduce the event graph!

Page 142: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Key Idea:To model Resident Entity Cycle We Need To Model only the Delay from Start to Finish.

Reduce the event graph!

The Delay time until a Resource becomes free is the Conditional Length of the Path from Start to Finish.

Page 143: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Key Idea:To model Resident Entity Cycle We Need To Model only the Delay from Start to Finish.

Reduce the event graph!

The Delay time until a Resource becomes free is the conditional length (in time) of the path from Start to Finish

Delay = Time*(Boolean Conditions)paths

Page 144: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

We define the Boolean, FAIL = (TTFPT)

(Fail)

TTF

Fail

~(Not Fail)

PT-TTF

FinishStart

~

RepairTTR

Reject

Resume

Restart

PT

~

~

~

PT

(Restart)

(Resume)

(Reject)

ReworkTw

(Rework) ~~

NoRework

(NoRework)

Page 145: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

(NoRework)

(Fail)

TTF

Fail

~(Not Fail)

PT-TTF

FinishStart

~

RepairTTR

Reject

Resume

Restart

PT

~

~

~

PT

Delay=(FAIL==0)*PT...

(Restart)

(Resume)

(Reject)

ReworkTw

(Rework) ~~

NoRework

Page 146: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

(Fail)

TTF

Fail

~(Not Fail)

PT-TTF

FinishStart

~

RepairTTR

Reject

Resume

Restart

PT

~

~

~

PT

Delay=(FAIL==0)*PT+((FAIL)*(TTF+TTR+(Rework)*Tw+...

(Restart)

(Resume)

(Reject)

ReworkTw

(Rework) ~~

NoRework

(NoRework)

Page 147: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

PT-TTF

Finish

Reject

Resume

Restart

PT

~

~

~

Delay=(FAIL==0)*PT+((FAIL)*(TTF+TTR+(Rework)*Tw

+(Restart)*PT + (Resume)*(PT-TTF))

(Restart)

(Resume)

(Reject)

(Fail)

TTF

Fail

~

RepairTTR

~(Not Fail)

StartPT

ReworkTw

(Rework) ~~

NoRework

(NoRework)

Page 148: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Define: R = {1,2,3,4}={rework,restart,resume,reject} Q = Number of jobs waiting S = Resource Busy/idle = 0/1 ts = Processing times (random?) tF = Time to failure (random?) tR = Time to repair (random?) tW = Time to rework (random?)

Page 149: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

{Q = Q - 1, S = S - 1,

PT = ts,

FAIL=( TTF <= PT ), DELAY = ( FAIL==0 ) * PT +( ( FAIL==1 ) * ( TTF + tR

+(R==1) * ( tW + PT ) +(R==2) * PT +(R==3) * ( PT-TTF ) ) ), TTF = ( FAIL==0 ) * ( TTF - PT ) +( ( FAIL==1 ) *( ( R==1 ) * ( tF - tW - PT ) +( R==2 ) * ( tF - PT )

+( R==3 ) * (tF - (PT-TTF) ) ) )}

FinishStart DELAY

{S = S + 1}

Note: Multiple Resources will have different TTF,TTR, etc. (use event parameters and arrays… more later)

General Resource Failure Model – Modified Start Event

Failure.mod

Page 150: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Messages

1. Identify “Interesting” Events - where basic state variables change (here Q and S).

Page 151: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Messages

1. Identify “Interesting” Events - where basic state variables change (here Q and S).

2. Use Verbal Event Graphs to develop logic for conditional paths between interesting events (here Start and Finish).

Page 152: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Messages

1. Identify “Interesting” Events - where basic state variables change (here Q and S).

2. Use Verbal Event Graphs to develop logic for conditional paths between interesting events (here Start and Finish).

3. Eliminate Uninteresting Events using Conditional Delays

Delay = Time*Conditionpaths

Page 153: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Messages

1. Identify “Interesting” Events - where basic state variables change (here Q and S).

2. Use Verbal Event Graphs to develop logic for conditional paths between interesting events (here Start and Finish).

3. Eliminate Uninteresting Events using Conditional Delays

Delay = Time*Conditionpaths

Boolean

Page 154: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

BUILDING VERY LARGEMODELS Using Event

Parameters

What is the difference between a COMPLEX model and a BIG model?

Page 155: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

A B

After executing Event A, the expressions, k, are evaluated. Later, before B is executed, the variables, j, are assigned the values previously computed for k.

Event Parameters

( j )k

Page 156: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

A B

Rigorous Edge Definition

( j )k

t (i)~

After executing event A, a vector of expressions, k, is

evaluated. If condition (i) is then true, event B will be

scheduled to occur after a delay of t with variable vector, j, initialized to the values of k computed when B was scheduled.

Page 157: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

T values of k become the attributes of scheduled events…

PENDING EVENTS LIST (“Future” Events list is not necessarily in future)

Time Event Priority Attributes

3.32 Breakdown 2 3,4,6

4.47 Finish 3 3,4,6

5.64 Arrival 4 7 Part number 7 5.64 Finish 3 2,5,1

Tool 3, worker 4, part 6

Page 158: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

T values of k become the attributes of scheduled events…

PENDING EVENTS LIST (“Future” Events list is not necessarily in future)

Time Event Priority Attributes

3.32 Breakdown 2 3,4,6

4.47 Finish 3 3,4,6

5.64 Arrival 4 7 Part number 7 5.64 Finish 3 2,5,1

Tool 3, worker 4, part 6

The “attributes” for the edge that scheduled the Breakdown event are expressions for the values for the “parameters”, (Tool,Worker,Part)

Page 159: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

I+1

EVENT (I)

~ (I < 7)

(I = = 7)

~2

Do EVENT: FOR I = 2 to 7

Page 160: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Do EVENT FOR I = 2 to 7 and J = 0 to I

I+1 , 0

EVENT (I,J)

~ ( I < 7 & J = = I )

~

I , J+1

~

( I 7 & J < I )

2 , 0

( I 7 & J I )

Page 161: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

CLKA B(j)

10

1

Page 162: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

CLKA B(j)

10

1

Page 163: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

CLKA B(j)

10

1

What does Future Event List look like at time 13?

Page 164: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.
Page 165: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Recall SLOFAST0.MOD with two classes of serversWhat is particularly weak about this model? (say, for 1000 classes?)

RUN

{S[0]=S[0]-1,Q=Q-1} {S[0]=S[0]+1}

LEAVE0START0

(Q>0)

ts[0]

CHECK

(S[0]>0)

ARRIVE

ta

{Q=Q+1}

{S[1]=S[1]-1,Q=Q-1} {S[1]=S[1]+1}

LEAVE1START1

(Q>0)

ts[1]

(S[0]<=0 &S[1]>0)

{S[0]=1, S[1]=2}

~

~

~~

Page 166: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Simulating Many Servers of Many Different Types SLOFAST1.MOD

RUN

{S[A]=S[A]-1,Q=Q-1} {S[A]=S[A]+1}

LEAVESTART

(Q>0)

ts(A)CHECK

(S[A]>0)ARRIVE

ta

{Q=Q+1}

A(A) (A) (A)

A+1

S[A]<=0&A<N-1)

~

~

~

{N=,S[1]=,...S[N]=}

1

A

A

`

Page 167: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

State for BANK2.MOD

Customers Waiting In Line

16 14 13 1215 11

8

10

6

Customers In Service

NEXT=11ID=15

Pending Events ListTime Type Parameters3.243 Leave 84.210 Enter5.593 Leave 66.478 Leave 10

Page 168: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

BANK2.MOD

RUN

{Q=Q-1, S=S-1, NEXT=NEXT+1}

{S=S+1,W[IN]=CLK-W[IN]}

LEAVE

(Q>0)

tsSTART

(S>0)ENTER

ta

{ID=ID+1, Q=Q+1, W[ID]=CLK}

(S) (IN)

NEXT

(IN)ID IN

~

~

Page 169: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

BANK2.MOD – can you simplfy? (IN not used in START)

RUN

{Q=Q-1, S=S-1, NEXT=NEXT+1}

{S=S+1,W[IN]=CLK-W[IN]}

LEAVE

(Q>0)

tsSTART

(S>0)ENTER

ta

{ID=ID+1, Q=Q+1, W[ID]=CLK}

(S) (IN)

NEXT

(IN)ID IN

~

~

Page 170: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

BANK2.MOD (modifiedWhat about collecting wait in line only?)

RUN

{Q=Q-1, S=S-1, NEXT=NEXT+1}

{S=S+1,W[IN]=CLK-W[IN]}

LEAVE

(Q>0)

tsSTART

(S>0)ENTER

ta

{ID=ID+1, Q=Q+1, W[ID]=CLK}

(S) (IN)

~

~ NEXT

Page 171: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

BANK2.MOD (modified – wait in queue only)

RUN

{Q=Q-1, S=S-1, W[IN]=CLK-W[IN],NEXT=NEXT+1}

{S=S+1}

LEAVE

(Q>0)

tsSTART(IN)

(S>0)ENTER

ta

{ID=ID+1, Q=Q+1, W[ID]=CLK}

(S)

~

~

NEXT

ID

Page 172: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

BANK2.MOD – LIFO? Error – why?

RUN

{Q=Q-1, S=S-1}

{S=S+1,W[IN]=CLK-W[IN]}

LEAVE

(Q>0)

tsSTART

(S>0)ENTER

ta

{Q=Q+1, W[ID]=CLK}

(S) (IN)(IN)Q+1

~

~

Page 173: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

REWORK

RUN ENTER LEAVESTART

{S=1}

(Q,P,LM)

ta

{Q=Q+1}

(S>0)

{S=0,Q=Q-1} {S=1, R=RND}

(Q>0 & (R>P)

ts

tr

REWORK

{Q=Q+1}

(R<=P)

~

~

~~(S>0)

Page 174: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

REWORK2.MOD

RUN ENTER LEAVESTART(Q,P,LM)

ta(S>0)

(Q>0 & (R>P | RW>=LM)

ts

tr

REWORK

(R<=P&RW<LM)

(RW)(RW)

1

RW RW+1

~

~

~

(RW)

RW1

LIMITED REWORK: Can rework only LM times

{S=1} {Q=Q+1} {S=0,Q=Q-1} {S=1, R=RND}

{Q=Q+1}

~(S>0)

Page 175: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

RUN KIT PACKOPRN3

{S=1}

(P)

(S>0)

{S=0,Q[3]=Q[3]-1} {S=1}

(Q[3]>0)

ts

OPRN1

t1

t2

OPRN2

(Q[2]>=P & Q[1]>0)

{Q[1]=Q[1]+1}

{Q[2]=Q[2]+1}

(Q[2]>=P)

{Q[1]=Q[1]-1,Q[2]=Q[2]-P,Q[3]=Q[3]+1

~

~

~~

Recall ASSEMKIT.MOD with two types of components for assembly, what is particularly weak about this model? (say, for 1000 components?)

Page 176: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Event Parameters with an Assembly Operations

{S=S+1,Q[N]=Q[N]-1}

OPRN

t[I]

{S=1} {Q[I]=Q[I]+1}

I

(I)

{S=S-1}

KIT PACKASSEM(S) ts

(Q[N])(Q[I]>P[I] I<N)

A

{Q[I]=Q[I]-P[I] I<N,Q[N]=Q[N] +1}

A

~~

~

RUN(N,P[I]’s)

1

2

N

Page 177: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Tandem Queues

1 2 N

Q1 Q2 QN

•••

Page 178: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

N Tandem Queues

START LEAVEENTER

Page 179: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

N Tandem Queues

START LEAVEENTER(i) (i)

i i

i

(i)

Page 180: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

N Tandem Queues

START LEAVEENTER

(i<N)

i+1

(i) (i) (i)i i

i

Page 181: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

N Tandem Queues

START LEAVEENTER

1

(i=1)

(i<N)

i+1

(i) (i) (i)i i

i

Page 182: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

N Multiple-Server Tandem Queues

Page 183: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

N Multiple-Server Tandem Queues

ii

t

ti

(i<N)

(i==1)

i

LEAVE(i)

START(i)

ENTER(i)

1

i+1

(R[i])

(Q[i])

Page 184: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

EG Enrichment: Model Size

N Stage Tandem Process

i+1i

i

t t

(i<N)

(i==1)

i

i

LEAVE(i)

START(i)

ENTER(i)

Page 185: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

EG Model Enrichment - Adding to Graph

Example: Tandem Queues

tt

LEAVE(i)

START(i)

ENTER(i)

Page 186: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

EG Model Enrichment - Adding to Graph

Example: Tandem Queues with Failures

F = Failure State Flag

tt

t

(Q&!F)

(S&!F) (Q)

(F)

LEAVE(i)

START(i)

ENTER(i)

FAIL(i)

FIX(i)

Page 187: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Start NextM

Enter

NextJ Finish Queue

Exit(m,j)

(m,j)(m)

(j)(j)

(m,j)

Job Shop Event Graph Model

Page 188: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Start NextM

Enter

NextJ Finish Queue

Exit(m,j)

(m,j)(m)

(j)(j)

(m,j)

Jobs Flowing Through System

Page 189: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Start NextM

Enter

NextJ Finish Queue

Exit(m,j)

(m,j)(m)

(j)(j)

(m,j)

Machines Processing Jobs

Page 190: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Start NextM

Enter

NextJ Finish Queue

Exit(m,j)

(m,j)(m)

(j)(j)

(m,j)

j

m,j

m,j

m,j

j

j

m

m,j

~

~~(j done)

Job Shop Verbal Event Graph

~(Q[m])

(j not done& m idle)

( j not done& m busy)

j

Page 191: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Event Graph Summary

General, Minimalist DEDS Modeling.

A Single Modeling Object

Completely General

– Models Turing Machine (Yucesan - Savage)

No event cancellation or parameters

Mappings from other paradigms offer alternative models (logic and efficiency)

Conditions for mappings to other paradigms can be used to establish modeling power

(i)t

Page 192: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

A B

Complete Edge Definition

( j )k

t (i)~

After executing event A, a vector of expressions, k, is evaluated. If condition (i) is then true, event B will be scheduled to occur after a delay of t with variable vector, j, equal to those values of k.

Page 193: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

What actually happens?

Scheduled events are on the Pending Events list, which acts as the “appointment book” for the system.

PENDING EVENTS LIST

Time Event Priority String of Attributes

3.32 Breakdown 2 3,4,6

4.52 Finish 3 3,4,6

5.42 Arrival 1 7

5.42 Finish 3 2,5,1

(Aside: “Future” Events List is a bad name…events are not necessarily in the future – may be now.)

Page 194: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Figure 2.2: Main Event Scheduling Algorithm

Cancel Events

Initialize

Advance Clock to Time of Next Event

Execute Event

Remove Event From List

State

Event List

Change State

Schedule Events

Summary StatisticsStop YesNo

Page 195: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

When to Use Event Graphs

• Very Large Scale Systems

• Complex Model Logic

• Whenever Speed and Flexibility are important

Page 196: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Ease of Use

Power

Tool Development

Page 197: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Ease of Use

Power

Tool Development

Simulators.

Languages

. .Petri Nets

Queueing.

Page 198: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Ease of Use

Power

Tool Development

Simulators.

Languages

. .Petri Nets

Queueing.

Page 199: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Ease of Use

Power

Tool Development

Simulators.

Languages

. .Petri Nets

Turing Machine

Queueing.

Page 200: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Ease of Use

Power

Tool Development

Simulators.

Languages

. .Petri Nets

Turing Machine

Event Graphs(Sigma)

Queueing.

Page 201: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

ERG Applications• Teaching Simulation Languages

other languages can be written in SIGMA

• Semiconductor Manufacturing• Robotics• Banking Operations• Pharmaceutical Manufacturing• TV Spot Market Operations• Food Production and Logistics• Disease Control (Human and animal)• Sports (Golf course Management)

• Teaching Simulation Languages other languages can be written in SIGMA

• Semiconductor Manufacturing• Robotics• Banking Operations• Pharmaceutical Manufacturing• TV Spot Market Operations• Food Production and Logistics• Disease Control (Human and animal)• Sports (Golf course Management)

Page 202: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

General Design for Cluster Tools

Load Locks: Single or Double

Single Chamber

Batch Chamber

Index Module

Robot(s): Chamber(s), Arm(s), Hand(s).

Page 203: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Process Modules(Chambers)

Transport Module(Robot)

Cassette Module(Load Lock)

Cluster Tool Used In Semiconductor Manufacturing

Page 204: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

?

Start

End

Move

Startor

End

Loadlock Events

Robot Events

Chamber Processing Events

Decisions

Event Symbols

Page 205: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Event Graph: Generic Cluster Tool

Page 206: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Generic Cluster Tool Model (ref: Ding and Yi)

used for scheduling robot moves

Decision

Move

Done

tParameters

Parameters

General Electric modeled full factory with only two events

Page 207: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

- LSC (delay the wafer with the Later Start from Cassette)

- ESC (delay wafer with the Earlier Start from Cassette)

- LSDM (delay wafer that Later Starts on Deadlock Module)

- FFDM (delay wafer Finishing First on Deadlock Module)

- MD (select wafer with Minimum Delay to break deadlock)

- LRT (select wafer with Least Remaining processing Time)

Some Wafer Delay Rules

Page 208: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Two Systems

System 1 Processing TimeOptimal 691 seconds,LSC/LFDM/LSDM 749 secondsLSC/LFDM 876 seconds

System 2 Processing TimeOptimal 698 secondsLSC/LSDM 708 secondsLSC/LFDM/LSDM 710 seconds

Which system is best?

Page 209: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

(ft3)

HO

HR

HI

HCAP

HH (ft3)

HL (ft3)

HI - Hopper Input

HO - Hopper Output

HR - Net Rate

HCAP - Maximum Capacity

HH - High Probe Volume

HL - Low Probe Volume

Hopper Definitions

Bulk Flow Process Simulator

Page 210: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

HCLP Cover Low ProbeHULP Uncover Low ProbeHCHP Cover High ProbeHUHP Uncover High Probe

HCLD Cover Low Probe Delay DPM - 1 second, BIB 3 seconds.

HULD Uncover Low Probe Delay DPM - 5 seconds, BIB 3 seconds

HCHD Cover High Probe Delay DPM and BIB - 6 seconds*

HUHD Uncover High Probe Delay DPM - 20 seconds, BIB 30,25,0r 20 sec.

* To allow conveyor to stop sending product

Hopper Events

Page 211: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Objective: Find Capacity - MAXT

Page 212: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

A B(i)

Reschedule event B in t time units (from when?)

Event Rescheduling

t

Page 213: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Event Graph of GMI Simulation

RUN ChRate

CLP CHP

UHP

Empty

ConfigStartL

ULP

PUSH

CALL

All double arrows areRescheduling edges

Page 214: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

SURGE VOLUME (at MAXT+)

NORTH SURGE vs TIME (190 ft3/min.)

Time

0

1

2

3

4

5

6

7

8

0 3 6 9 12 15 18

SURGE

Page 215: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

SURGE VOLUME (at MAXT-)

NORTH SURGE vs TIME (170 ft3/min.)

Time

-1

0

1

2

3

4

5

0 1 2 3 4 5 6 7

SURGE

Page 216: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

50% Reliable Line Run at MAXT- rate.

LINEBRK.MOD (SURGE vs Time - 0% starvatuib - 50% up)

Time

0

69

138

207

276

345

414

0 10 20 30 40 50 60 70

SURGE

Page 217: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

LINEBRK.MOD (SURGE vs Time - 50% starvation - 50% up)

Time

0

13

26

39

52

65

78

0 10 20 30 40 50 60 70

SURGE

LINEBRK.MOD (SURGE vs Time - 50% starvation - 50% up)

Time

0

13

26

39

52

65

78

0 10 20 30 40 50 60 70

SURGE

Hopper Volume for 50% reliableDPM Line run at 1/2 MAXT rate

Page 218: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Run

Cash

Flow

Term

BONDRATE.MOD

Page 219: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Event Graph Disease Model

Clear

1

Sub-Clinical

1

Cinical

1

1

1

1

1

(S )i

(S )i

(S )i

Si = state of ith

member

H= population, treatments, and member histories

H

H

H

H

H

H

Page 220: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Event Graph EnrichmentsModeling

Event Graph Objects - Buss, Pierce and Nehme Qualitative Event Graphs – Ingalls Hierarchical graphs - Nehme (e.g. delay time = graph)

Analysis State Space and Event Reduction - Som, Sargent Initial Conditions Complexity Analysis - Jacobson, Yucesan Computation (bounds on events lists) Process Deadlock – Woodward and Mackulak Simultaneous Replication and Time Dilation - Hyden Response Sample Path Gradients – Freimer MIP representations

Page 221: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Event Graph Summary

A Simple, Completely General, Minimalist Approach To DEDS Modeling and Analysis.

An Easy Path to Discrete Event Simulation Applications and Education.

Page 222: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Event Graph Summary

General Applications and Education.

Many Simulation texts.

Process Language and Petri Net Emulation

Continuous Dynamics Modeling

Parametric Modeling of Large Scale Systems

Page 223: INTRODUCTION TO EVENT GRAPH MODELS Definition - The basic building block. Model Dynamics Reading an Event Graph Event Graph Enrichments.

Modeling Process1. Determine system and model functions.

2. Identify entities and their important attributes.

3. Identify the dynamic attributes and the events that cause their values to change .

4. Draw Event Relationship Graph.