0% found this document useful (0 votes)
6 views22 pages

Arena Simulation for Single Server Systems

Chapter 6 discusses Arena Simulation Software, focusing on its modeling capabilities using SIMAN block-oriented language. It covers the structure of simulation models, including flowchart and data modules, and illustrates the M/M/1 queue system as an example. The chapter also details the functionalities of various modules and their interactions within the simulation environment.

Uploaded by

anh.phamsvbk2710
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views22 pages

Arena Simulation for Single Server Systems

Chapter 6 discusses Arena Simulation Software, focusing on its modeling capabilities using SIMAN block-oriented language. It covers the structure of simulation models, including flowchart and data modules, and illustrates the M/M/1 queue system as an example. The chapter also details the functionalities of various modules and their interactions within the simulation environment.

Uploaded by

anh.phamsvbk2710
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Chapter 6- Arena Simulation Software

Nguyen VP Nguyen, Ph.D.


Department of Industrial & Systems Engineering, HCMUT
Email: nguyennvp@[Link]

An Illustration model and event graph of the


single server system

Chapt. 3 -- Handout 1
Event Routines for the Event Nodes of the Event Graph

Simulation model trajectory of the single server system

Q(t)

M(t)
or
B(t)

“Expected” average
^ 1 n
delay in queue
d (n)   Di
n i 1
Expected average number of customers in
queue (excluding any in service)
T (n)
Expected utilization T (n)
^ 1 1 
(proportion of time
^
u ( n) 
1
 B(t )
q (n) 
T ( n)  Q (t )   iTi
T (n) i 1
busy) of the server T ( n) 0
0

Chapt. 3 -- Handout 2
Entity-flow diagram and Arena flowchart of the single server system.

The Arena Simulation System


• Arena is a powerful simulation environment and is
built around SIMAN block-oriented language, consists
of
 modeling object templates, called modules,
 and transactions that move among them, called entities
• SIMAN consists of two classes of objects:
 Blocks (khối) are basic logic constructs that represent
operations,
 Example: SEIZE blocks seize a facility/resource by a
transaction entity; RELEASE blocks release the facility for
use by other transaction entities
 and Elements (bộ phận) are objects that represent
facilities, such as RESOURCES and QUEUES
• Arena modules are are selected from template
panels, examples: Basic Process, Advanced Process,
Advanced Transfer

Chapt. 3 -- Handout 3
Title Bar
The Arena Home Screen
Menu Bar Run Interaction Toolbar View Toolbar

Standard Drawing Toolbar Animate


Toolbar
Toolbar

Animate
Template Transfer
Panel Toolbar

Model Window Canvas


Project Bar
Flowchart View
Toolbar

Model Window Canvas


Spreadsheet View

Example: A Simple Workstation

• Consider a single workstation, known in queueing


theory as the M/M/1 queue, where
 there is a machine with an infinite buffer in front of it
 jobs arrive randomly and wait in the buffer while the machine is
busy
 jobs are processed by the machine and then leave the system
 job inter-arrival times are exponentially distributed with mean 30
minutes
 job processing times are exponentially distributed with mean 24
minutes

Chapt. 3 -- Handout 4
Simulation Objects and Actions
• Simulating the above workstation calls for the
following actions: the .doe
 jobs are created, one at a time, according to their default
arrival distribution extension to
Arena model
 if the machine is busy processing another job, then
filenames
the arriving job is queued in the buffer
 when a job advances to the head of the buffer, it
seizes the machine for processing once it becomes
available, and holds it for a time period that follows
a processing-time distribution
 on process completion, the job departs the
machine and is removed from the system
• Simulation objects and their actions and
interactions
 are modeled by Arena modules
 parameterized by associated dialog boxes
9

Flowchart and Spreadsheet Views


• Model window split into two views
 Flowchart view
– Graphics
– Process flowchart
– Animation, drawing
– Edit things by double-clicking on them, get into a
dialog
 Spreadsheet view
– Displays model data directly
– Can edit, add, delete data in spreadsheet view
– Displays all similar kinds of modeling elements at
once
• Many model parameters can be edited in either
view

Chapt. 3 -- Handout 5
Status Bar
Project Bar • At very bottom of Arena window
• Usually down the left edge of Arena • Displays various information sensitive to
window status:
• Hosts panels with modeling building 1. Coordinates of cursor in “worldspace”
blocks: modules, both flowchart and 2. Simulation clock value
spreadsheet modules 3. Replication number being executed,
number of replications to be done

Moving Around in Flowchart View


• Pan with scroll bars, arrow keys
• Zoom in (down): or + key To navigate via
keyboard, the model
• Zoom out (up): or – key window must be
active ... click in it.
• See all at min altitude: or * key
• Named views: Assign a Hot key (case-sensitive)
 Access via View > Named Views … or ? key

Chapt. 3 -- Handout 6
Modules
• Basic building blocks of a simulation model
• Two basic types: flowchart and data
• Different types of modules for different actions,
specifications
• “Blank” modules are on the Project Bar
 To add a flowchart module to your model, drag it from the
Project Bar into the flowchart view of the model window
– Can have many instances of the same kind of flowchart
module in your model
 To use a data module, select it (single-click) in the Project
Bar and edit in the spreadsheet view of the model window
– Only one instance of each kind of data module in your
model, but it can have many entries (rows) in the
spreadsheet view
– Can edit via dialog – double-click on number in leftmost
column

Flowchart Modules
• Describe dynamic processes
 Nodes/places through which entities flow
 Typically connected to each other in some way
• Basic Process panel flowchart module types:
 Create, Dispose, Process, Decide, Batch, Separate,
Assign, Record
 The process shapes like flowcharting (also use colors
for hints)
• Two ways to edit
 Double-click to open up, then fill out dialogs
 Select (single-click) a module type in model, get all
modules of that type in the spreadsheet view

Chapt. 3 -- Handout 7
Data Modules
• Set values, conditions, etc. for whole model
 No entity flow, no connections
• Basic Process panel data module types:
 Entity, Queue, Resource, Variable, Schedule, Set
 Data module Icons look like little spreadsheets
• To use a data module, select it (single-click) in the
Project Bar, edit in spreadsheet view
 Can edit via dialog – double-click in leftmost column
 Double-click where indicated to add new row
 Right-click on row, column to do different things

Relations Among Modules


• Flowchart and data modules are related via
names for objects
 Queues, Resources, Entity types, Variables … others
• All names you make up in a model must be
unique across the model, even across different
types of modules

Chapt. 3 -- Handout 8
Internal Model Documentation
• Data Tips on modules, graphics – hover mouse
over object to see
 Default part – generic info on object (name, type)
 User-defined part – right-click on object, select
Properties, enter text under Property Description
 Toggle display of Data tips via View > Data Tips
• Project Description – Run > Setup > Project
Parameters, enter text under Project Description
• Model Documentation Report – Tools > Model
Documentation Report
 Generates HTML file with model details (can choose
which kinds of details to include)

Editing Model 1
• Three flowchart modules (Create, Process,
Dispose)
• Entries in three data modules (Entity, Queue,
Resource)
• Animation objects
 Resource animation
 Two plots
 Some (passive) labels, artwork

Chapt. 3 -- Handout 9
The Create Flowchart Module

• “Birth” node for entities


• Gave this instance of the Create-type module the
Name Part Arrives to System
 If we had other Create modules (we don’t) they’d all have
different Names
• Double-click on module to open property dialog:

The Create Flowchart Module (cont’d.)


• Name – for module (type it in, overriding default)
• Entity Type – enter a descriptive name
 Can have multiple Entity Types with distinct names
• Time Between Arrivals area
 Specify nature of the time separating consecutive arrivals
 Value – depends on Type … for Random (Expo) is mean
 Units – time units for Value
• Entities per Arrival – constant, random variable, very
general “Expression” (more later …)
• Max Arrivals – choke off arrivals (from this source)
after this many entities
• First Creation – time of first arrival (need not be 0)

Chapt. 3 -- Handout 10
Display for the Create Module

Editing Flowchart Modules in the Spreadsheet View

• Selecting a data module in either flowchart or spreadsheet


view
 Click, double-click fields to view, edit
 Right-click in row to Edit via Dialog, define a user Data Tip (via
Properties)
 Right-click in expression fields to get Expression Builder for help
in constructing complex expressions with Arena variables (more
later …)

The Entity Data Module


• A data module, so edit in spreadsheet view only
• View, edit aspects of different Types of entities in your model (we have
just one Type, Part)
• Pull-down lists activated as you select fields
• Our only edit – Initial Picture for animation
 We picked [Link] Ball from the default list

Chapt. 3 -- Handout 11
The Process Flowchart Module
• Represents the machine, including the resource,
queue, and entity delay time (processing)
• Enter Name – Drilling Center
• Type – picked Standard to define logic here
rather than in a submodel (more later …)
• Report Statistics check box at bottom
 To get utilizations, queue lengths, queue waiting times,
etc.

The Process Flowchart Module (cont’d.)


• Logic area – what happens to entities here
 Action
– Seize Delay Release – entity Seizes some number of units of a
Resource (maybe after a wait in queue), Delay itself there for the
processing time, then Release the units of the Resource it had Seized –
we chose this option
– Could just Delay entity (red traffic light) – no Resources or queueing
– Could also Seize Delay (no Release … Release downstream)
– Could also Delay Release (if Resource had been Seized upstream)
– Priority for seizing – lower numbers mean higher priority
– Different Action choices could allow stringing together several Process
modules for modeling flexibility
 Resources – define Resource(s) to be seized, released
– Double-click on row to open subdialog
– Define Resource Name, Quantity of units to be Seized/Released here
– Several Resources present (Add) – entities must first Seize all

Chapt. 3 -- Handout 12
Display for the Process Module

The Process Flowchart Module (cont’d.)


• Delay Type – choice of probability distributions,
constant or general Expression (more later …)
• Units – time units for the delay
• Allocation – how to “charge” delay in costing
• Can also edit in spreadsheet view
 Subdialogs (e.g., Resource here) become secondary
spreadsheets that pop up, must be closed

Chapt. 3 -- Handout 13
The Resource Data Module
• Defining the Drilling Center Resource in
the Process module automatically creates an
entry (row) for it in the Resource data module
• Can edit it here for more options
 Type – could vary capacity via a Schedule instead of
having a fixed Capacity
– Would define the Schedule via Schedule data
module … more later
 Failures – could cause resource to fail according to
some pattern
– Define this pattern via Failure data module
(Advanced Process panel) … more later

Types of failure rules.


• The "Ignore" failure rule means that we complete the current
customer's service and reduce the repair time correspondingly.
For example, if the repair time is 60 minutes, and the failure
happens while a customer has 10 minutes left of service, the
customer finishes service, and the repair time completes in the
remaining 50 minutes.

• The "Wait" failure rule means that we complete service of the


current customer and delay repair. For example, if the repair
time is 60 minutes, and the failure happens while a customer
has 10 minutes left of service, the customer finishes service.
Then the repair time starts, finishing 60 minutes later.

• The "Preempt" failure rule means that we stop service of the


current customer and complete service after the repair. In the
case of our example, that means we resume the customer's
service 60 minutes later and finish them at the 70-minute mark.

Chapt. 3 -- Handout 14
The Queue Data Module
• Specify aspects of the queues in the model
 We only have one, named Drilling [Link]
(the default name given the Process name)
• Type – specifies queue discipline or ranking rule
 If Lowest or Highest Attribute Value, then another field
appears where you specify which attribute
• Shared – it this queue will be shared among
several resources (more later …)
• Report Statistics – check to get automatic
collection and reporting of queue length, time in
queue

Animating Resources and Queues


• Got queue animation automatically by
specifying a Seize in the Process module
 Entity pictures (blue balls) will line up here in animation
• Don’t get Resource animation automatically
 To add it, use Resource button in Animate toolbar … get
Resource Picture Placement dialog
– Identifier – link to Resource name in pull-down list
– Specify different pictures for Idle, Busy state
• For pre-defined artwork, Open a picture library (.plb
filename extension)
• Scroll up/down on right, select (single-click) a picture
on right, select Idle or Busy state on left, then to
copy the picture
 To edit later, double-click on picture in flowchart view

Chapt. 3 -- Handout 15
The Dispose Flowchart Module
• Represents entities leaving model boundaries
• Name the module
• Decide on Record Entity Statistics (average and
maximum time in system of entities exiting here,
costing information)

Check boxes for statistics collection and reporting:


 Most are checked (turned on) by default
 Little or no modeling effort to say yes to these
 However, in some models this can slow execution markedly
 Moral – if you have speed problems, clear these if you don’t care about them

Display for the Dispose Module

Chapt. 3 -- Handout 16
Connecting Flowchart Modules
• Establishes the (fixed) sequence of flowchart
modules through which entities will flow
• To make a connection
 Click Connect button (or Object > Connect)
 Cursor changes to cross hairs
 Click on exit point from source module, then entry
point on destination module
 Make intermediate clicks for non-straight line in
segments
• Object menu toggles
 Auto-Connect – automatically connect entry point of
newly placed module from exit point of selected
module
 Smart Connect – force segments to horizontal/vertical
 Animate Connectors – show entities moving along
connectors (zero time for statistics collection)

Dynamic Plots
• Trace variables, queues
as simulation runs
• Disappear after run is
ended
 to keep, must save data,
postprocess via Output
Analyzer
 Plot button from Animate
toolbar… “Add” for
 Expression to plot (help via
Expression Builder … )
 Min/Max y-axis values
(initially guesses, maybe
revise)
 Number of “corners” to show
(# History Points) at a time
 Stepped option (for
piecewise-constant curves)

Chapt. 3 -- Handout 17
Display for the Queue-Length Plot

Expression Builder for Queue-Length-Plot Expression

Chapt. 3 -- Handout 18
Dressing Things Up
• Add drawing objects from Draw toolbar
 Similar to other drawing, CAD packages
 Object-oriented drawing tools (layers, etc.), not just a
painting tool
• Add Text to annotate things
 Control font, size, color, orientation

Setting the Run Conditions


• Run > Setup menu dialog – five tabs
 Project Parameters – Title, your name, output statistics,
Project Description
 Replication Parameters
– Number of Replications
– Initialization options Between Replications
– Start Date/Time to associate with start of simulation
– Warm-up Period (when statistics are cleared)
– Length of Replication (and Time Units)
– Base Time Units (output measures, internal
computations)
– Hours per “Day” (convenience for 16-hour days, etc.)
– Terminating Condition (complex stopping rules)
 Other tabs for animation speed, run conditions, reporting
Terminating your simulation:
 You must specify – part of modeling
 Arena has no default termination
 If you don’t specify termination, Arena will usually keep running forever

Chapt. 3 -- Handout 19
Running It
• Click from Standard toolbar (like audio/video
players)
 First time or after changes: Check
 Enters run mode — can move around but not edit
 Speed up (> on keyboard) or slow down (<) animation
display
 When done, asked if you want to see summary reports
 Click to get out of run mode (can’t edit until you do)
 Can pause run with or Esc key
• Other run control, viewing, checking options

Viewing the Reports

• Click Yes in the Arena box at the end of the run


• Default installation shows Category Overview
report – summarizes many things about the run
• Times are in Base Time Units for the model

Chapt. 3 -- Handout 20
Viewing the Reports – Examples
• Entity  Time  Total Time  Part:
 Avg. time in system was 6.4397 min., max was 12.6185
• Resource  Usage  Instantaneous Utilization 
Drill Press:
 Utilization was 0.9171 (busy 91.71% of the time)
• Process  Other  Number In  Drilling Center:
 During the run, 7 parts entered the Drilling Center
• Process  Other  Number Out  Drilling Center:
 5 entities left the Drilling Center (so were produced)
• Entity  Time  Wait Time  Part:
 Avg. wait time in all queues was 3.0340 min. (counts only
entities that left the system, but Queue  Time  Waiting
Time  Drilling [Link] counts all entities that left this
queue, so can differ)
• Entity  Other  Wip  Part:
 Average Work in Process was 1.7060, max WIP was 4

Types of Statistics Reported


• Many output statistics are one of three types:
 Tally – avg., max, min of a discrete list of numbers
– Used for discrete-time output processes like waiting times in
queue, total times in system
 Time-persistent – time-average, max, min of a plot of something
where the x-axis is continuous time
– Used for continuous-time output processes like queue lengths,
WIP, server-busy functions (for utilizations)
 Counter – accumulated sums of something, usually just nose counts
of how many times something happened
– Often used to count entities passing through a point in the
model

Chapt. 3 -- Handout 21
More on Running Models
• Run Menu; Standard & Run Interaction toolbars
• Run > Setup – many options to control the run
 These are attached to the model, and are not global
• Run > Go – run simulation “normally” (depends
on selections from Run > Run Control and Tools >
Options > Run Control)
• Run > Step – one “step” at a time (verify,
debug)
• Run > Fast-Forward – disable animation
(faster)
• Run > Pause (or Esc key) – freeze run,
resume with Go
• Run > Start Over – go back to beginning of
simulation

Chapt. 3 -- Handout 22

You might also like