Applied System Simulation
Applied System Simulation
Applied System Simulation
www.elsevier.com/locate/ins
Abstract
This paper deals with a tutorial study of applied system simulation. We present the
applications of system simulation, simulation types, and elaborate on discrete-event
simulation, DES. Then we explain the level of details needed in a simulation model. We
investigate the signi®cance of simulation experiments and explain in detail the standard
methodology used in the development of a simulation model. The steps include:
problem formulation and planning, system abstraction, resource estimation, system
analysis, veri®cation and validation, and implementation. Finally, we present a detailed
case study using SIMSCRIPT II.5 simulation language. Ó 2000 Elsevier Science Inc.
All rights reserved.
1. Introduction
The term simulate implies to imitate or mimic while the word modeling
refers to a small object that represents some existing object. A simulation is the
imitation of the operation of a system or process over time. The behavior of a
system as it evolves over time can be studied by a simulation model. Since
mimicking and modeling may be traced back to the beginning of civilization,
*
Correspondence address: 798 Howard Street, Teaneck NJ 07764, USA. Fax: +1-201-837-8112.
E-mail address: obaidat@monmouth.edu or b.sadoun@go.com.jo (B. Sadoun).
0020-0255/00/$ - see front matter Ó 2000 Elsevier Science Inc. All rights reserved.
PII: S 0 0 2 0 - 0 2 5 5 ( 9 9 ) 0 0 0 7 9 - 1
174 B. Sadoun / Information Sciences 124 (2000) 173±192
the history of simulation and modeling is very old. With the advances in
computer and telecommunication technology, the art and science of modeling
and simulation have experienced a remarkable transformation [1±11].
The behavior of a system as it evolves with time can be studied using a
simulation model. Such model takes the form of a set of assumptions regarding
the system under study. The assumptions are represented by mathematical,
logical and symbolic relationships. These relationships are between the entities
(objects) of the system. After the model is developed, it is veri®ed, and vali-
dated. Then, it can used to run simulation experiments in order to investigate a
wide variety of questions and behaviors of the system.
Simulation of systems can be used for the following reasons:
1. It can be used to experiment with a new design or scheme before implement-
ing it.
2. It can be used to enable the study of the internal interactions of a complex
system or subsystem within a complex system.
3. It provides the analyst with a tool to conduct various experiments that can
be done in real time or doing them could be catastrophic.
4. Organizational and environmental changes can be simulated and the eect
of these changes on the model's behavior can be observed.
5. It can be a used as a tool to validate analytic results.
6. Simulation provides a ¯exible means to experiment with the system or its
design. Such experiments can reveal and predict valuable information to
the designer, user, manager and purchaser.
7. Simulation is a cost-eective tool for capacity planning and tuning of
systems or subsystems.
Among the advantages of simulation are:
1. Flexibility: It permits controlled experiments.
2. Speed: It permits time compression operation of a system over extended
period of time.
3. It permits sensitivity analysis.
4. No need to disturb the real system.
5. It is a good training tool.
However, simulation has some disadvantages. These are listed below:
1. It may become expensive in terms of computer time and manpower.
2. There are some hidden critical assumptions that may aect the credibility of
the simulation outputs.
3. It may encounter extensive development time.
4. It may encounter diculties in model's parameters initialization.
There are dierent types of simulation that can be categorized on the basis
of the nature of the system under study, goals of simulation, and availability of
facilities and tools. This section covers key ideas underlying any type of sim-
ulation. The components of a simulation model along with case studies are also
presented.
B. Sadoun / Information Sciences 124 (2000) 173±192 175
2. Simulation types
There are three main types of simulations; Monte Carlo, Trace-driven and
discrete. A brief description of each is given below [1±8]:
(a) Monte Carlo simulation: It is a static simulation technique which does
not have a time axis. It is named after the Count Montgomery de Carlo, an
Italian gambler and random-number generator. Monte Carlo simulation
employs random numbers, and random variates where the passage of time is
not essential. This approach is used to model probabilistic phenomenon that
does not change characteristics with time. The name `Monte Carlo' simulation
originated during World War II, when this simulation approach was applied
to solve problems related to the atomic bomb. Monte Carlo simulation can
also be used to evaluate nonprobabilistic expressions using probabilistic
techniques. It has been applied to estimate the critical values or the power of a
hypothesis test. One important application of Monte Carlo simulation is the
determination of the critical values for the Kolmogorov±Smirnov test for
normality.
(b) Trace-driven simulation: A trace is de®ned as a time-ordered record of
events that is collected by running an application program or part of it on the
real system. Weather prediction, prediction of environmental phenomena,
cache memory analysis, deadlock preventions algorithms, paging algorithms
and virtual memory algorithms are all examples of cases where trace-driven
simulation are used. The use of traces as an input to the simulator give better
credibility to the simulation results. Dierent types of traces are used in
simulation depending on the system under study. These trace types can be
temperature, pressure, altitudes traces that can be used to drive simulators for
environmental engineering and planning. Other types of traces include
instruction, address and Input/Output(I/O) traces that are used to drive
pipeline computer models, cache memory models and subsystem models,
respectively.
Among the advantages of trace-driven simulation are [4]:
1. Results of trace-driven simulation are more credible than other types of sim-
ulation.
2. Validation of trace-driven simulation results is easy since during the process
of trace collection one can also measure performance characteristics of the
system.
3. Output of a trace-driven simulation model has less variance therefore fewer
number of repetitions are required to get the desired con®dence level.
4. A trace-driven model is very similar to the system being modeled. Therefore,
when implementing the model, one can get the feeling of the complexity of
implementing a proposed algorithm or protocol.
5. Trace-driven simulation provides us with a high level of detail in the work-
load which makes it easy to study the eect of small changes in the model.
176 B. Sadoun / Information Sciences 124 (2000) 173±192
event routine is a procedure that updates the state of the system when a
particular type of event occurs [4,5].
In the event-scheduling type of discrete event simulation, the simulation
process begins by placing one or more initial event records in the event list.
Then the timing routine is called to ®nd out the most imminent event in the list.
This imminent event record is taken from the event list and the simulation
clock is updated to the time of this event. Then control is passed to the event
routine corresponding to the event under study, and the state of the system is
updated accordingly. This procedure is continued until a prespeci®ed stopping
rule has been satis®ed. One stopping criterion is to run the simulation until a
speci®ed amount of simulation time has elapsed.
The other type of discrete-event simulation approach is the process ap-
proach. A process is de®ned as a time-ordered sequence of interrelated events.
A discrete-event simulation model representing the system under study may
have several dierent types of processes. In the process approach, simulation
starts by placing one or more initial process notices in the event list. Each
notice corresponds to a realization of a process entity and contains an acti-
vation time. The activation time is the time when the notice is to be removed
from the event list. In order to determine process notice with the smallest ac-
tivation time the timing routine is called. The process with the smallest acti-
vation time is then removed from the event list and simulation clock is updated.
Then control is passed to the process routine corresponding to this type of
process notice. The process notice for the current process entity realization is
placed back into the event list with an activation time equal to the sum of the
current value of the simulation clock and the length of the simulated time.
Then control is returned to the timing routine which determines the process
notice in the event list and it now has the most imminent activation time. The
notice is removed from the event list and simulation clock is updated to its
activation time, and control is passed to the appropriate process procedure.
Fig. 1 shows the overall simulation methodology. In order to simulate a
system we need to observe the operation of the system, formulate hypotheses
that account for its behavior, predict the future behavior of the system based
on assumptions and hypotheses and compare predicted behavior with real
behavior. As shown in Fig. 1 the methodology consists of four major steps: (1)
pre-modeling or planning step, (2) modeling step, (3) validation and veri®ca-
tion step and (4) experimentation and application step. Section 6 elaborates in
detail on these steps.
We now enlist the main components of a discrete-event simulation models [4]:
1. Simulation clock: It gives the current value of simulated time.
2. System state: A collection of state variables de®ne the system at any instant
of time.
3. Event list: A list that contains a sequence of events and the information re-
lated to the occurrence of events.
178 B. Sadoun / Information Sciences 124 (2000) 173±192
There are several levels at which a system can be modeled depending upon
its characteristics and attributes. Also, the goals of simulation determine part
of the detail of simulation. For example, the goals of manufacturing simulation
models are to identify problem areas and quantify system performance such as
throughput, utilization of resources, queueing at work locations, delays caused
by material handling devices, stang requirements, eectiveness of scheduling,
eectiveness of control systems, and bottlenecks and choke points [2±4]. An-
other example is simulation of computer systems. Computer systems can be
180 B. Sadoun / Information Sciences 124 (2000) 173±192
viewpoint. System-level simulation usually deals with the elements of the sys-
tem that aect the performance [4,7].
The major components of any simulation model are: (1) a scheme for rep-
resenting arrivals of new customers (items), (2) a way to represent what hap-
pens inside the system being modeled and (3) a method to terminate the
simulation. The arrival of new items (customers or objects) to the system, to be
modeled, can be obtained from: (1) An explicit sequence of arrivals or (2)
sampling from a stochastic process each time an arrival occurs. Refs. [1±3] give
a nice presentation of the stochastic distributions that are often used.
Once the simulation model has been veri®ed and validated, it can be applied
to analyze the problem under study. The experiments to be conducted must be
de®ned as early as the goal-setting step. A model without a simulation experi-
ment and detailed analysis is not very useful. Simulation experiments reveal
many of the characteristics and behavior of the system under study. Further-
more, experiments save money and eorts in predicting the behavior of the
system when certain design parameters or factors are changed or varied [9±11].
The following are some of the steps involved in the analysis of simulation results:
(a) Experiment design: In order to do proper experimental design, the system
must be observed under speci®c combinations of conditions or environments.
Simulation runs should be conducted under dierent operating conditions.
Sensitivity of performance metrics to variables should be studied using ex-
periments. The simulationist should have a strategic and tactical plan before
starting the experimentation with the simulation model.
(b) Data presentation and analysis: The major goal of every simulation
analysis is to aid in making decisions regarding design, purchase or capacity
planning. It is essential that the analyst conveys the results to the decision
makers in a simple and clear manner. This requires the use of plots, pictures,
and words to explain and discuss results.
Among the graphic charts that could be used to present data are the line
charts, pie charts, bar charts and histograms. There are guidelines that must be
followed when preparing each of these charts. In addition to the general graphic
charts there are a number of graphic charts that have been developed speci®-
cally for computer performance analysis. Among these are the Kiviat graphs,
Gantt charts and Schumacher charts. Graphic charts are usually preferred over
textual explanation to present data. This is due to the following reasons:
1. Graphic charts saves the reader time by presenting data in a concise way.
2. Human beings prefer to see pictures rather than reading text; a picture is
worth a thousand words.
3. Charts are good ways to emphasize conclusions and summarize results. The
type of variables dictates which plot or chart to be used.
(c) Implementation: This refers to the process of integrating the simulation
results into practical decisions and documenting the model. The task of doc-
umenting the simulation model is the responsibility of the simulation team and
it should envelope all project activities. This is important for future use by
others especially if they are in dierent locations or environments.
9. A case study
line (queue). After these customers are served, they leave the system. The term
customers refers to any type of entity that can be viewed as requesting service
from a system. Among the types of queueing systems are production systems,
repair and maintenance facilities, transport and material handling systems, and
computer and communications systems. Queueing models, whether solved
analytically or through simulation, provide the analyst with a powerful and
eective tool for designing and evaluating the performance of queueing sys-
tems. Typical performance metrics (measures or indixes) are server utilization,
queue length, waiting time, throughput and response time. These performance
measures are classi®ed into three categories: (1) Higher Better(HB) metrics
such as throughput, (2) Lower Better (LB) such as waiting time, response time,
and queue length and (3) Nominal Better (NB) metrics such as the utilization
which preferably be between 0.5 and 0.75. Queueing theory and simulation are
usually used to predict the performance measures of a queueing system as a
function of input parameters. The input parameters include the arrival rate of
customers, distributions of interarrival and service times, service demand of
customers, service rate, capacity of the queue (buer), number of servers and
service discipline. For a simple queueing system, these performance measures
are easily computed analytically at a great savings in time and expense com-
pared to simulation. However, for complex real system, simulation is usually
used [4].
In this section, we present the simulation of a time-shared computer system
that has a single processor (CPU), disk drive, tape drive and 15 terminals. The
user of each terminal thinks for an amount of time which is an exponentially
distributed random variable with a mean of 25 s, after which he sends a job to
the computer. The sent job then joins a FIFO queue at the CPU. The service
times of jobs at the CPU are exponential random variables with a mean of 0.8 s.
The job, upon leaving the CPU, is either ®nished with a probability of 0.2
(independent of the system state and returns to its terminal for another think
time), or it requires data from the disk drive with probability 0.72, or needs
some data available on the tape with probability 0.008. If a job leaving the
CPU is sent to the disk drive, it may have to join a FIFO queue until the disk is
free. The service time at the disk drive is an exponential random variable with a
mean of 1.39 s. At the end of disk service, the job queues up again at the CPU.
A job leaving the CPU for the tape drive has an experience similar to a disk
job, except that a service time at the tape is an exponential random variable
with a mean of 12.5 s. Think times and service times are independent and all
terminals are assumed to be in the think state at time zero.
We used SIMSCRIPT II.5 to simulate this system.A PREAMBLE JOB is
de®ned to be a process with an attribute JB.TERMINAL, which is basically a
pointer to the TERMINAL process notice corresponding to the job. Seconds
are de®ned as the basic unit of time for simulation. In the MAIN program,
routine READ.DATA is used to read and print the input parameters and a
B. Sadoun / Information Sciences 124 (2000) 173±192 187
Table 1
Variables used in the model of the time-shared computer system
Variable De®nition
JB.terminal Attribute of process JOB used to represent
the terminal corresponding to a particular job
Avg.number.in.queue The time-average number of jobs in queue
Max.response.time Maximum response time of a job
Max.terminals Maximum number of terminals
In.num.terminals Increment the number of terminals
Mean.service.time Mean service time
Num.terminals Number of terminals for a particular simulation
Response.time Response time of a particular job
Service.time Service time of a particular job
Start.time Time that a job leaves its terminals
Util.cpu Utilization of the CPU
Mean.think.time Mean think time
Mean.response.time Mean response time
188 B. Sadoun / Information Sciences 124 (2000) 173±192
removed from the event list. The timing routine is then called to ®nd out the
process notice with the smallest activation time. This process notice is removed
from the event list and the simulation clock is updated. Then control is passed
to the process routine that corresponds to this type of process notice. In this
example, a process called TERMINAL is used to model the terminal operator
that thinks before sending a job to the CPU for execution. After sending a job
to the CPU, process TERMINAL suspends itself, and is not reactivated until
the corresponding job goes back to the terminal. Each terminal have a
TERMINAL process notice during simulation. The CPU is modeled by a
resource with the name CPU. The variables used in the model are global except
SERVICE.TIME and START.TIME which are local variables in process
B. Sadoun / Information Sciences 124 (2000) 173±192 191
routine JOB. The listings of the PREAMBLE, MAIN and routines (read data,
process terminal, process job and report) are all listed in Figs. 4, 5, 6, 7, 8 and 9,
respectively, and the simulation results are listed in Fig. 10.
References
[1] A.M. Law, W.D. Kelton, Simulation Modeling and Analysis, second ed., McGraw-Hill, New
York, 1991.
192 B. Sadoun / Information Sciences 124 (2000) 173±192
[2] J. Banks, J.S. Carson, B.L. Nelson, Discrete-Event System Simulation, Prentice-Hall, Upper
Saddle River, NJ, 1996.
[3] U.W. Pooch, J.A. Wall, Discrete Event Simulation, CRC Press, Boca Raton, 1993.
[4] M.S. Obaidat, Simulation of Queueing Models in Computer Systems, in: S. Ozekici (Ed.),
Queueing Theory and Applications, Hemisphere, 1990, pp. 111±151.
[5] E.C. Russel, Building Simulation Models with SIMSCRIPT II.5, CACI, 1989.
[6] R. Jain, The Art of Computer Systems Performance Analysis, Wiley, New York, 1991.
[7] M.H. MacDougall, Simulating Computer Systems, MIT Press, Cambridge, 1987.
[8] A.M. Law and C.S. Larmey, An Introduction to Simulation Using SIMSCRIPT II.5, CACI,
1984.
[9] B. Sadoun, A Simulation Methodology for De®ning Solar Access in Site Planning,
SIMULATION Journal, SCS, vol. 66, No. 1, 1996, pp. 357±371.
[10] B. Sadoun, A new simulation methodology to estimate losses on urban sites due to wind
in®litration and ventilation, Information Sciences Journal 107 (1998) 233±246.
[11] M.S. Obaidat, B. Sadoun, An evaluation simulation study of neural network paradigms for
computer users identi®cation, Information Sciences Journal 102 (1±4), (1997) 239±258.