11
The Arena modeling system is a flexible and powerful tool that allows analysts to create animated simulation models that accurately represent virtually any system.
Arena employs an object-oriented design for entirely graphical model development. Simulation analysts place graphical objects—called modules—on a layout in order to define system components such as machines, operators, and material handling devices.
A programming paradigm that uses "objects" to design applications and computer programs.
Classical terms: class, object, method…
ARENA
1 - ARENA DISCRETE EVENT SIMULATION SOFTWARE
In Arena, modules are the flowchart and data objects that define the process to be
simulated. All information required to simulate a process is stored in modules.
22
ARENA
2 - THE CORE OF THE SOFTWARE
The core technology of Arena is the SIMAN simulation language.
Arena is a Microsoft® Windows® compliant product. The entire product is written in object-oriented Visual C++™. This allows users to leverage Microsoft’s open architecture to integrate external data and applications with Arena models.
Other possible connections: Microsoft Office, ActiveX, ODBC, Visual Basic.
33
ARENA
3 - FLOWCHART MODEL DEVELOPMENT
Arena was designed to make creating simulation models an entirely graphical process. All system behaviors are represented by using graphical modules. For system logic such as IF/THEN/ELSE-type branching and queue selection rules, the user creates a flowchart of his system by placing the appropriate graphical modules on the Arena layout and directly connecting these modules.
Model – Simulate – Visualize - Analyze
Before opening the program (which will approximately happen in Slide 10), let us speak about SOME components: entities, resources,
queues, variables, processes.
44
ARENA
3.1 - Entities
Entities are dynamic elements that pass through the system.
Entities are distinguished by their attributes.
Entities must be created to get them into the module and are disposed when they leave.
Attributes must be numerical values.
You may have different types of entities in the same model.
As we build the flowchart, it’s helpful to think of the process from the perspective of the entity.
The trigger for an action to be accomplished is the arrival of an entity.
55
ARENA
3.2 - Resources
Resources have a name and a capacity (number of identical units of the resource).
Resources may have a schedule (how many of them are available and when).
Resources are automatically defined by some modules (e.g., Process).
Resources can be defined manually, and the properties of all resources can be edited in the same way.
66
ARENA
3.3 - Queues
Entities queue when they need processing
An entity tries to seize a resource.
The time the entity uses the resource is the delay.
If the resource is not available, the entity waits in a queue.
The entity releases the resource when processing is complete.
Queues are created automatically by some modules (e.g., Process), and can be defined manually.
77
ARENA
3.4 - Variables
Arena allows the user to work with simulation variables. They contain information about particular dimensions of the model.
Many of them are built-in.
Time Attribute Variables, Cost Attribute Variables…
Variables can be referenced in modules, can be reassigned a new value with a particular module, and can be used in any expression.
See the “Variables Guide”
88
ARENA
3.5 - Processes
Entity must be processed.
This activity is performed by one or more resources and requires some time to complete.
99
An Entity Generator…
ARENA
3.6 – Until Now
A Process……The Entity …Its Queue…
…And The Resource
The Output
1010
ARENA
4 - OPENING THE PROGRAM
(Turn on the PC ) Start Programs Rockwell Software Arena
Project Bar
Spreadsheet View
Flowchart View
1111
ARENA
4.1 – The Three Regions
The Project Bar hosts panel with the primary types of object to work with.
Basic Process, Advanced Process, Advanced Transfer Panels
Reports Panel
Navigate Panel
The Flowchart View is the real environment and it will contain all of your model graphics, including the process flowchart, animation, and other drawing elements.
The Spreadsheet View displays model data, such as times, costs, and other parameters.
Here the objects are connected by a particular instrument: there is no difference between data
connectors and logical connectors.
1212
ARENA
4.1.1 – THE PROJECT BAR
We will mainly work with Basic Process modules.
The modules are the classes.
As you drag a module to the Flowchart View, you create an instance of that module; thus, you have an object.
It is a “visual representation” of object-oriented programming language (such as Java or VB.NET).
Esempio Classe: ASTRONAVE
Esempio Oggetto: MILLENNIUM FALCON
1313
ARENA
4.1.1.1 – The Main Modules /1
Push (possibly) batches of entities into the model with a (possibly) random time between.
Models Queue-Seize-Delay-Release of Resource, or any part of this (like pure Delay).
Make decisions about where to go next based on conditions or chance.
Take entities out of the model and (perhaps) record statistics.
1414
ARENA
4.1.1.1 – The Main Modules /2
Assign values (especially Attributes) when an entity passes through.
Record information when entities pass through, typically statistics on entities.
Combine multiple entities into a single entity.
Split multiple entities that were combined, or duplicate a single entity.
1515
ARENA
4.1.2 – THE SPREADSHEET VIEW
Each time you create an instance of an object, you have to define its attributes, in order to completely definite it.
These attributes can be set in the prompt window obtained by double-clicking on the object itself.
You can see all the attributes of the modules watching the spreadsheet in the corresponding window.
There are elements not represented by modules: their attributes can only be set via spreadsheet.
1616
ARENA
4.2 – Probability Distributions
Working with ARENA, you will have to spend very much time with probability distributions. Luckily, the software contains a set of built-in functions.
These distributions appear on pull-down menus in many Arena modules where they’re likely to be used.
To see them all together, you have to look for the filed “Expression” and follow the hints given by the program.
Beta, Continuous, Discrete, Erlang, Exponential, Gamma, Johnson, Lognormal, Normal, Poisson, Triangular, Uniform, Weibull
Probability distributions let you generate random numbers. The correct distribution can be known a
priori or can be obtained from an analyzer.
1717
ARENA
4.3 - Analyzers
The Input Analyzer is useful for determining an appropriate distribution for input to an Arena model. The Input Analyzer allows the user to take raw data and fit it to a statistical distribution which can be incorporated directly into your model.
The Output Analyzer is used to display and analyze model data after the simulation run (or runs) has been performed. The Output Analyzer also provides analysis features such as confidence intervals.
Both the Input and Output Analyzers are directly available on the Arena Tools menu.
1818
ARENA
4.4 – Internal Variables
Arena keeps a number of internal variables continually updated.Create – Name.NumberOutProcess – Name.NumberIn, Name.NumberOut, Name.WIP, Name.WaitTimeDecide - Name.NumberOut True, Name.NumberOut FalseAssign – Name.NumberOutBatch – Name.NumerOutSeparate – Name.NumberOut Orig, Name.NumberOut DupRecord – Name.NumberOutDispose – Name.NumberOut
The time on the simulation clock is accessible through the Arena variable TNOW.
1919
ARENA
4.5 – The Menus
• File – Classic Windows File Menu
• Edit – Classic Windows Edit Menu
• View – Zoom, grid, layers, toolbars
• Tools – Input/Output Analyzer, Add-Ins, VBA
• Arrange – Drawing, group, rotate
• Module – Connections, panel, breakpoint
• Run – Run, check, pause step through
• Windows – Classic Windows Windows Menu
• Help – Help about Arena
2020
ARENA
4.6 - Running
Go Step Fast-Forward Pause Start Over End
Check Model Like compilingReview Errors For most recent checkView Results Summary for most recent runSIMAN See, save underlying SIMAN filesCommand Interactive command-line windowBreak Set times, conditions to interruptTrace Generate detailed historyWatch Watch a variable or expression during runReport See a numerical status when pausedSetup Alter run conditionsSpeed Control speed of animation display
2121
ARENA
5 - AN EXERCISE /1
The first model we are going to build is a single server queuing model. The underlying system can be defined as follows.
- Customers arrive in the system one at a time.
- The inter-arrival times, follow a certain probability distribution.
Further assumptions of the arrival process are not made at this point.
- There is a single server that can serve one customer at a time.
2222
ARENA
5 - AN EXERCISE /2
- The processing times follow a certain probability distribution.
Further assumptions of this distribution are not made yet.
- If the server is busy at the time when a customer arrives in the system, the customer is placed in a queue to wait for the server to become free.
- The customers in the queue are served according to FIFO queuing discipline, i.e. the first of the customers to arrive in the queue is served first.
2323
ARENA
5.1 – Performance Figures /1
Expected average queuing time of a customer
D is the delay in queue of the ith customer.
Expected average number of customers in the queue
Q(t) is the number of customers in queue at time t and T(n) the total
simulation time when simulatingthe passage of n customers
through the system.
2424
ARENA
5.2 – Performance Figures /2
Utilization of the server
Let B(t) be 0, if the server is idle at time t and 1, if it is working.
2525
ARENA
5.3 – The Model With Arena
Now, your model should look like the following picture.
The create-module represents the arrival of customers into the system. The process module represents customer service and the dispose-module represents the departure of customers from the system.
2626
ARENA
5.3.1 – THE CREATE MODULE
Correct namingName-field: Customer arrivalsEntity type-field: Customer
Distribution of inter-arrival time of customersConstant inter-arrival time of 1 hour
Parameters- Entities per arrival: 1 – It states that each customer arrives alone.- Max arrivals: 3 – Defines the maximum number of customers created during the simulation.- First creation: 0 – The first customer is created at time 0.
2727
ARENA
5.3.2 – THE PROCESS MODULE /1
The process-module defines, what happens during customer service.
Correct namingName-field: Customer serviceEntity type-field: Standard
Define the logic of the processAction-field: Seize-Delay-ReleaseThis means that an entity that is being processed first takes the control of (seizes) the required resources. Then, the entity experiences a processing delay and, when done, releases the control of the resources it has held.
The resource is seized and released. The activity is delayed.As we selected Seize-Delay-Release, a queue named Customer service.Queue was automatically created by Arena to handle
entities that wait for service.
2828
ARENA
5.3.2 – THE PROCESS MODULE /2
Selecting the Seize-Delay-Release option opens another field named Resources to define what resources are required to complete the task. Click Add and define in the opening dialogue box: Type Resource, Name Server and Quantity 1.
The Server resource takes care of customer service and serves 1 customer at a time.
Lastly, define a constant 2 hour processing delay.
Still, make sure that the Report statistics option is selected and leave the dialogue box.
This value is the number of resources simultaneously used by the resource.
The capacity of the resource (how many resource-items are in the system) must be edited in the spreadsheet
field.
2929
ARENA
5.3.3 – THE DISPOSE MODULE
Correct namingName-field: Departures
Check that the Record entity statistics -option is selected.
3030
ARENA
5.4 - Simulation
Our model is now complete and we can start simulating. The specifics of the simulation run are defined by selecting from the Run-menu Setup.
Our simulation ends when the three entities leave the system. So, we don’t need to make specifications. Usually, it is possible to specify the run simulation length.
Start the simulation by selecting Go from the Run-menu and wait.
3131
ARENA
5.5 – Viewing The Results /1
The type of report that Arena will show is by default the Category overview –report. It basically lists the values of all performance indicators for which the statistics collection option was activated.
Remember that we used constant inter-arrival (1 hour) and processing times (2 hours) as input data and created only 3 customers.
This allows us to say, without simulating the system, that the expected average queuing delay for a customer is 1 hour, the expected average queue length is 0.5 and that the server utilization is 1.
3232
ARENA
5.5 – Viewing The Results /2
The simulation results should tell us exactly the same thing and allow us to be a little more confident about the implementation of the model.
Now, go through the report and locate the values of Wait time in the Entity-category, Number waiting in the Queue-category as well as Instantaneous utilization in the Resource-category.
3333
ARENA
BIBLIOGRAPHY
• Arena Software Tutorial; David A. Takus, David M. Profozich
• Simulation with Arena, Chapter 4; Working with Arena
• Mat-2.170 Simulation Spring 2006, Exercise 3 – Introduction to Arena Software
• Arena Basics; ISyE 6644; Seong-Hee-Kim (Georgia Tech), Barry Nelson (Nortwestern)
• Arena User’s Guide; Doc ID ARENA-UM001A-EN-P