13
Inside Discrete-Event Simulation Software: How It Works and Why It Matters Thomas J. Schriber, Daniel T. Brunner WSC05’ Presented by Geng Yue Mar 24

Inside Discrete-Event Simulation Software: How It Works and Why It Matters

Embed Size (px)

DESCRIPTION

Inside Discrete-Event Simulation Software: How It Works and Why It Matters. Thomas J. Schriber, Daniel T. Brunner WSC05’ Presented by Geng Yue Mar 24. Syllabus. 1. Nature of discrete event simulation 2. Basic simulation constructs 3. Entity states 4. Entity management data structure - PowerPoint PPT Presentation

Citation preview

Page 1: Inside Discrete-Event Simulation Software:  How It Works and Why It Matters

Inside Discrete-Event Simulation Software: How It Works and Why It Matters

Thomas J. Schriber, Daniel T. BrunnerWSC05’

Presented by Geng YueMar 24

Page 2: Inside Discrete-Event Simulation Software:  How It Works and Why It Matters

Syllabus

1. Nature of discrete event simulation2. Basic simulation constructs3. Entity states4. Entity management data structure5. Specific implementations6. Why it matters

Page 3: Inside Discrete-Event Simulation Software:  How It Works and Why It Matters

1. Nature of Discrete-Event Simulation

Event time: discrete; state: usually discreteTransaction-flow world view: discrete units

of traffic that move from point to point while competing for scarce resources

Two or more events often have to be manipulated at the same time point. How to order them?

Page 4: Inside Discrete-Event Simulation Software:  How It Works and Why It Matters

Discrete-Event Modeling Languages

There are different implementations, which aim to provide convenience for modelers.

Arena for example, provides graphical user interface for the users to input the simulation model.

Page 5: Inside Discrete-Event Simulation Software:  How It Works and Why It Matters

2. Basic Simulation Constructs

Topics includes: Entity – a unit of trafficResources – service machineControl Elements – support delay or

logical alternativesOperations - an action for an entity

Page 6: Inside Discrete-Event Simulation Software:  How It Works and Why It Matters

Model Execution

The simulation advances with the simulation clock, which advances when an event happens

Carry out all possible actions at the current simulated time -> advance the simulated clock;

and repeat;

initialize event list

get next (nearest future)event from event list

time = event time

process event(change state values, add/delete

future events from event list

update statistics

done?n

Page 7: Inside Discrete-Event Simulation Software:  How It Works and Why It Matters

3. Entity States

Active State: current moving stateReady State: ready but wait due to limited

resourceTime-Delayed State: entity waiting for a known

future time so they can enter ready stateCondition-Delayed State: remove automatically

when conditions permitDormant State: modelers set it

Page 8: Inside Discrete-Event Simulation Software:  How It Works and Why It Matters

4. Entity Management Structure

Active State – kept in a listReady State – in current event listTime-Delayed State – in future event listConditional-Delayed State – delay listDormant State – user-managed list

All these lists are used to store data and provide easy access to their elements

Page 9: Inside Discrete-Event Simulation Software:  How It Works and Why It Matters

5. Different Implementation in Tools

The paper together with its WSC96’ version gives 6 representative implementations.

Two examples here: AutoMod, version 9 (Phillips 1997) Siman, the core of Arena

To get some intuitive, refer to

“A Simple Simulation Language: simlib   P114” of the text book, which is around 30KB in C

Page 10: Inside Discrete-Event Simulation Software:  How It Works and Why It Matters

AutoMod LanguageGeneric Term AutoMod Equivalent

External Entity Load

Internal Entity Logical Load

Resource Resource; Queue; Block

Control Element Counter;

Process Traffic Limit

Operation Action

Current Events List Current Event List

Future Events List Future Event List

Delay List Delay List;

Condition Delay List;

Load Ready List

User-Managed List Order List

Page 11: Inside Discrete-Event Simulation Software:  How It Works and Why It Matters

Siman Language

It is the engine for Arena.

Page 12: Inside Discrete-Event Simulation Software:  How It Works and Why It Matters

6. Why It Matters

Trying to re-capture a resource immediatelyThe first in line is still delayedYielding controlConditions involving the clockMix Mode Waiting

Page 13: Inside Discrete-Event Simulation Software:  How It Works and Why It Matters

Why It Helps and Performance Issues

Why it helps: interactive model verification

Performance: given the same model, computer time depends on the design and implementation of the software used to build the model