Topic 3 Introduction to ARENA
Topic 3 Introduction to ARENA
1.1 Introduction
We will use Arena simulation software as an introduction to simulation modeling. The
parent company for Arena is Rockwell Software. As part of their continuous
improvement efforts, upgrades are made every couple of years. Most of the features are
the same from one version to the next; however, both obvious and subtle differences do
exist between versions. The user must pay great attention to detail in construction a
simulation model from using the modules in each panel to using the data modules to
adding both static and dynamic animation features to defining the run length to de-
bugging a model. Developing a new model from scratch can be a very tedious, but also
very rewarding, experience once the model runs to completion.
1.2 Arena Simulation Software
Arena is a user-friendly software package that is based on, and includes, the SIMAN
simulation language. Arena provides interchangeable templates of graphical simulation-
modeling and analysis modules that can be used to build a wide array of simulation
models. The modules are typically grouped into panels. By switching panels, you gain
access to a different set of modeling constructs and capabilities. In most cases, modules
from different panels can be used in the same simulation model.
Chapter 2 – Elements of a Simulation Model
Various elements of a simulation model are discussed in this section, all in reference to
Sample Model 1 in Figure 2.1 below.
Figure 2.2. Dialog box for Initialize Between Replications in Run > Setup
2.7 Events
An event is something that happens at an instant of simulated time that may change
attributes, variables, or statistical accumulators. Examples of events include: 1) the
Arrival of a new part that enters the system; 2) the Departure of a part that exits the
system, and 3) a Terminating Condition, such as the end of the simulation run. Another
example is when a part leaves a queue and enters a machine center for processing. This
only occurs if the machine center is currently empty or when a previous part has
finished processing on that machine center and exits the machine, thus allowing the
next part in queue to replace it in the machine center.
Arena keeps track of events that are supposed to happen in the simulated feature in
an event calendar. When the model runs, a record of information pertaining to a future
event is placed on the event calendar. The event record contains information on the
entity involved, the event time, and the kind of event it will be. Arena stores each newly
scheduled event on the event calendar so that the next event is at the top of the event
calendar. When it is time to execute the next event, the top record is removed from the
calendar and the information in this event record is used to execute the appropriate
logic. Then the next scheduled event moves to the top of the event calendar. This event
action sequence is repeated until the end of the simulation run.
2.8 Simulation Clock
The variable called simulation clock stores the current value of simulated time during
the simulation run. The simulation clock in Arena does not track real time when
nothing changes between events. Rather, the simulated time lurches forward from the
time of one event to the time that the next event is scheduled to happen. How each
event is executed depends on the kind of event it is as well as the model state at that
time, but could include the updating of variables and statistical accumulators, altering
entity attributes, removing the top event on the event calendar, and placing newly
scheduled event records onto the event calendar.
2.9 Starting and Stopping Times
The analyst must determine the starting and stopping times for your model. Arena
cannot do this for you. For example, the analyst must determine the appropriate
starting conditions (such as starting at time 0 or build in a delayed start time), how long
a simulation run should last (such as the run length in seconds, minutes, hours, or
days), and whether the simulation run should stop at a particular time (such as
designating the run length) or whether the simulation run should stop when something
specific happens (such as designating a terminating condition such as a specific time at
the end of a work day). Assumptions should be consistent with what you are modeling.
Chapter 3 – Navigating Through Arena
Various elements of the Arena window are discussed in this section, all in reference to
Sample Model 1 in Figure 3.1 below.
Figure 4.29. Completed dialog box with checkmarked Record into Set.
4.2 Data Modules
Data modules define the characteristics of various process elements, such as entities,
resources, and queues. They can also be used to set up variables and other types of
numerical values and expressions that pertain to the entire model. The icons for data
modules look like small spreadsheets in the Project Bar below the Modules section. Data
modules for the Basic Process panel include Attribute, Entity, Queue, Resource,
Variable, Schedule, and Set. Other panels contain different sets of data modules.
Data modules exist “behind the scenes” and define different kinds of values,
expressions, and conditions. To edit a data module, click on it in the Project Bar and it
will automatically appear in the Spreadsheet view of the Model Window, below the
Flowchart view. If the Flowchart view takes up the entire Model Window, move your
cursor down to “grab” the top of the spreadsheet view and pull it up into view. Unlike
Modules that may be used more than once in the Flowchart, there is only one of each
type of data module in every model. Within each data module, however, there may be
any number of rows that correspond to what is included in the model for that type of
data module.
Flowchart and data modules in the model are related by the names for objects that they
have in common, for example, queues, resources, entity types, and variables. Arena
stores in memory the names of objects the analyst defines and then presents these
names in a drop-down menu in the appropriate places in the flowchart and data
modules. This helps the analyst to remember what you’ve named things and maintains
consistency in the model development.
4.2.1 Attribute Data Module
By clicking on the Attribute data module in the Project Bar, the Attribute spreadsheet
opens up at the bottom of the Model Window, as shown in Figure 4.30.
Figure 4.30. The Attribute data module.
In this example, we observe four rows in the Attribute data module, each row
representing a different Attribute included in the model. In the Data Type column, we
are given two options in the invisible drop-down arrow to the right of this field: Real
and String. If you select String, double-click to add new attributes or select those you
wish to edit. The value of the string attribute is assigned via the ReadWrite module. In
most cases, the analyst would opt for Real to show real numbers rather than a string of
numbers. In the Initial Values column, the Default is 0 rows. If an Attribute needed an
initial value other than the value of 0, then click to add a row, then enter the initial
value. If the Attribute’s initial value is 0, then do nothing.
4.2.2 Entity Data Module
By clicking on the Entity data module in the Project Bar, the Entity spreadsheet opens
up at the bottom of the Model Window, as shown in Figure 4.31.
Figure 4.31. The Entity data module.
The Entity data module shows all entities currently in the model in the Entity Type
column. Entities are typically added in the Create module; however, an entity can also
be added in the Batch module by entering a new entity name. In the Initial Picture
column, a drop-down menu exists that displays numerous entity pictures, arranged in
alphabetical order as shown in Figure 4.32. Select an entity picture to represent the
given entity. Initial cost values can be manually entered in the various cost columns, if
appropriate.
Figure 4.32. Drop-down menu for Initial Picture in the Entity data module
spreadsheet view.
4.2.3 Queue Data Module
By clicking on the Queue data module in the Project Bar, the Queue spreadsheet opens
up at the bottom of the Model Window, as shown in Figure 4.33.
Figure 4.33. The Queue data module.
By clicking on the Queue data module, the Spreadsheet view displays rows for each
queue in the model. In the Name column, we see the name of each queue, which
follows the pattern of the name of a Process followed by a .queue. The Type column
displays the priority rule used for each queue. A drop-down menu displays the
following options for the analyst to select: First In First Out, Last In First Out, Lowest
Attribute Value, and Highest Attribute Value. Select the appropriate priority rule for
each queue. If Lowest Attribute Value or Highest Attribute Value is selected, then select
the appropriate Attribute in the drop-down menu for the Attribute Name column. The
selected Attribute would be a previously defined Attribute in the model that was stored
in memory by Arena.
4.2.4 Resource Data Module
By clicking on the Resource data module in the Project Bar, the Resource spreadsheet
opens up at the bottom of the Model Window, as shown in Figure 4.34.
Figure 4.34. The Resource data module.
By clicking on the Resource data module, the Spreadsheet view displays rows for each
resource in the model. The Name column displays all resources included in the model
by row. In the Type column, there are two options in the invisible drop-down menu:
Fixed Capacity and Schedule. Select Fixed Capacity if the analyst wants to edit the
number of each resource in the model by changing the capacity value in the Capacity
column. Select Schedule if the resource will be used based on some schedule to be
further defined in the Schedule data module. For example, a forklift driver in the
Receiving area might only unload incoming trucks between the hours of 7am-8am
rather than all day long. Values for the number of each resource that are busy or idle
per hour can be manually entered in the respective columns. The analyst can also build
in a Failure for a given resource, such as a machine breakdown. Failures can be added
by clicking to add a new row in the Failures column, then describing the type of Failure
and the Failure Rule (Wait, Ignore, Preempt) that should be applied (see Figure 4.35).
The Wait option will wait until the in-process entities release their units of the resource
before starting the actual capacity decrease. The Ignore option immediately decreases
the resource capacity, ignoring the fact that the resource is currently allocated to an
entity, but work (or processing) on the in-service entities continues unabated. The
Preempt option attempts to preempt the last unit of the resource seized by taking it
away from the controlling entity. If the preempt is successful and a single unit of
capacity is enough, then the capacity reduction begins immediately. If the preempt is
unsuccessful or if more than one unit is needed, then the Ignore rule will be used for
any remaining capacity.
Figure 4.42. Replication Parameters tab for Run > Setup in Sample Model 2.
You will notice seven tabs of which we will use only three: Replication Parameters,
Reports, and Project Parameters. From Figure 8.3, we see the dialog box for the
Replication Parameters tab. In the Number of Replications field, manually enter the
number of replications to wish to run. The Start Date and Time field automatically
displays the current date and time. In the Warm-up Period field, you can leave the
Default value of 0.0 or you can change this to a numerical value that is coupled with the
Time Units field, which offers options such as Seconds, Minutes, Hours, and Days,
thereby creating a warm-up period before the model gets to a normal operating
condition status. There are two ways to define a terminating condition, or the run
length, of your model: 1) enter values in the Replication Length and Time Units fields.
For example, the run length in Sample Model 2 from Figure 8.3 is 20 Days; or 2) enter an
expression in the Terminating Condition field. Enter a value in the Hours Per Day field.
In the Base Time Units field, select from the options in the drop-down menu: Seconds,
Minutes, Hours, or Days. Your selection here converts all time measurements in your
model to your chosen selection in the output report.
In the Reports tab shown in Figure 4.43, select from the choices in the drop-down menu.
Figure 4.43. The Reports tab for Run > Setup in Sample Model 2.
As you can see, there are quite a number of different output reports that Arena
generates when the model runs to completion. If the model crashes because it has one
or more bugs, or errors, in the model, an output report will not be generated. Two of the
most common output reports are the Category Overview report and the SIMAN
Summary Report. Both reports contain the same output information, albeit in different
formats.
The analyst can click on a radio dial to let Arena know whether to always display the
selected output report when the model runs to completion, or to never show the output
report, or to prompt the analyst for the selected output report. The analyst would then
have the option to accept or decline viewing the output report.
In the Project Parameters tab shown in Figure 4.44, the analyst can enter a Project Title,
the Analyst Name(s), and a brief description of what the simulation model represent in
the Project Description field.
In the Statistics Collection section, the analyst can check the boxes for which he/she
wants Arena to capture statistics during the simulation run. These results would be
incorporated in the output report.
Figure 4.44. The Project Parameters tab in Run > Setup for Sample Model 2.
Chapter 5 – Advanced Transfer Panel
5.1 Modules
We will use Sample Model 3 in Figure 5.1, Sample Model 4 in Figure 5.6, and Sample
Model 5 in Figure 5.20 are used to discuss both the Modules and Data Modules used
from the Advanced Transfer panel in this course.
Figure 7.6. Adding a static image of a wood pallet from Arena Symbol Factory.
Take a few minutes to explore the many templates and see the images that you may one
day want to add to your future simulation models.
7.1.4 Dynamic Resource Images
Dynamic resource images are images of resources that change states (i.e., from Idle state
to Busy state) during a simulation run. These images are added by clicking on the
Resource icon in the Toolbar. The Resource icon is a green icon that resembles a
gasoline pump from yesteryear with a line arrow going through it from top left to right.
Clicking on the Resource icon opens a dialog box, as shown in Figure 7.7.
Figure 7.7. Dialog box of Resource icon.
In the Identifier field, select the appropriate Resource from the drop-down menu. The
Identifier must be a previously defined Resource in your model, which typically comes
from a resource that was added in a Process module. You can select an image to
represent Idle and Busy states from a picture library file. The Basic Process picture
library file is shown in Figure 7.7. The slider bar to the right of the images moves up
and down to reveal all images associated with the Basic Process picture library. Other
picture libraries are available by clicking on the Open button and then selecting another
picture library, as shown in Figure 7.8. Remember where you saved this file so you can
open it whenever needed.
Figure 7.8. Finding the .plb files.
Once you locate the .plb files, click on the folder labeled .plb files to view all picture
library files, as shown in Figure 7.9. Then select the picture library file of interest.
Figure 7.9. Viewing all .plb files from the .plb Folder.
Here, we’ve selected the Workers .plb file, which now appears in our Resources dialog
box in Figure 7.10.
Figure 7.20. Dialog box for Time Plot icon in Sample Model 6.
You will notice six tabs in the dialog box of which we typically use only three. The Data
Series tab will be blank; however, after you enter a name in the Name field of the Source
Data section, Arena will automatically create a Data Series. Also in the Source Data
section, select the variable that you want Arena to track over time from the drop-down
menu.
Make appropriate selections in the Fill section, including your choice of color. In the
Line section, the Draw Mode field offers two options as shown in Figure 7.21: Point to
Point and Stairs.