Computer Simulation: The Art and Science of Digital World Construction*
Paul A. Fi-h', -i.
Computer & Information Science and Engineering Department
University of Florida, CSE 301
Gainesville, FL 32611, USA
E-mail: fJ-I, '. 7 '-.ufl.edu
September 21, 1995
WHAT IS SIMULATION?
Computer simulation is the discipline of designing a model of an actual or theoretical physical
system, executing the model on a digital computer, and analyzing the execution output.
Simulation embodies the principle of "learning by 1, in i, to learn about the system we
must first build a model of some sort and then operate the model. Tli, use of simulation is an
activity that is as natural as a child who role plays. Cliilren understand the world around
them by simulating (with toys and figurines) most of their interactions with other people,
animals and objects. As adults, we lose some of this childlike behavior but recapture it later
on through computer simulation. To understand reality and all of its complexity, we must
build artificial objects and dynamically act out roles with them. Computer simulation is the
electronic equivalent of this type of role playing and it serves to drive synthetic environments
and virtual worlds. Within the overall task of simulation, there are three primary sub-fields:
model design, model execution and model analysis (see Fig. 1). T111 chapter annotations
in Fig. 1 relate to the author's recent simulation textbook (see the section READ M.IORE
ABOUT IT) which focuses on the first two sub-fields. To simulate something physical, you
will first need to create a mathematical model which represents that physical object. ., ,dels
can take many forms including declarative, functional, constraint, spatial or multimodel. A
multimodel is a model containing multiple integrated models each of which represents a level
of granularity for the physical system. T111 next task, once a model has been developed, is
to execute the model on a computer -that is, you need to create a computer program
which steps through time while updating the state and event variables in your mathematical
model. Ti, I are many ways to i' through time." You can, for instance, leap through
time using event scheduling or you can employ small time increments using time slicing. You
can also execute (i.e., simulate) the program on a massively parallel computer. This is called
parallel and distributed simulation. For many large-scale models, this is the only feasible way
of getting answers back in a reasonable amount of time.
*A Hypermedia version of this document can be found at
Surface Response Techniques
Visualization of Data
Figure 1: Three Sub-Fields of Computer Simulation.
Figure 2: Falling cans stereo pair.
Simulation of a system can be done at many different levels of fidelity so that whereas one
reader will think of physics-based models and output, another may think of more abstract
models which yield higher-level, less detailed output as in a queuing network. '., models are
designed to provide answers at a given abstraction level -the more detailed the model,
the more detailed the output. Tli kind of output you need will -il-.i -f the type of model
you will employ. An example of graphical output from a physically-based model (generated
using the program AERO1 is shown as a stereo pair of ,i i1i bodies" in Fig. 2). You can
view this stereo pair without the use of external viewing aids, by diverging the eyes2
WHY DO SIMULATION?
You may wonder whether simulation must be used to study dynamic systems. T11, are
many methods of modeling systems which do not involve simulation but which involve the
solution of a closed-form system (such as a system of linear equations). Simulation is often
'The stereo pair was provided courtesy of Thomas Brdunl, University of S ,I il A1i.1 ii be
obtained from ftp. informatik.uni-stuttgart.de/pub/AER F and it provides a useful tool, using the X
windows -- -, i! for exploring rigid body dynamics.
2Divergence can be achieved in a i. of ways. Try focussing on an object three or four feet from your
eyes. Then place these figures between your eyes and the object. You will see three frames, with the middle
frame being the combined left-right stereo frame.
essential in the following cases: 1) the model is very complex with many variables and
interacting components; 2) the underlying variables relationships are nonlinear; 3) the model
contains random variates; 4) the model output is to be visual as in a 3D computer animation.
Tlii power of simulation is that -even for easily solvable linear systems- a uniform model
execution technique can be used to solve a large variety of systems without resorting to a Iki.g
of tricks" where one must choose special-purpose and sometimes arcane solution methods to
avoid simulation. Another important aspect of the simulation technique is that one builds a
simulation model to replicate the actual system. When one uses the closed-form approach,
the model is sometimes twisted to suit the closed-form nature of the solution method rather
than to accurately represent the physical system. A harmonious compromise is to tackle
system modeling with a hybrid approach using both closed-form methods and simulation.
For example, we might begin to model a system with closed-form analysis and then proceed
later with a simulation. This evolutionary procedure is often very effective.
Let's consider an industrial manufacturing example where we will build a model which has nu-
merical, not graphical, output. Terms such as .ii pili r-integrated iii[iill., i ii.ij" (CIM)
and 11., ilI !iiiii.i li i iiin." guide the development of more productive plant configura-
tions for building products from raw material. We introduce the following categories and
1. Material. Plants are built to process material-often called raw material stock-and
shape the material into a product. As raw material goes through its changes, it turns
into a part to be processed.
2. Machines. Plants are composed of machines of all kinds which process material and
parts. Some examples are ovens, lubricators, flame cutters, lathes, and robots.
3. Transportation. :.',I1i ,ii1 flows through a network of machines. T!i, method of trans-
port is effected by devices such as conveyors and automated guide vehicles (AGVs).
During this transit, it encounters storage areas and accumulators which buffer parts
until the machines can operate upon them.
Figure 3 shows a sample manufacturing system containing nine parts. This type of
drawing is essentially a schematic defining the overall structure of the system but lacking
details on dynamics and geometry. Tli, raw stock arrives from the left via a central conveyor.
At this point, the material stock is a cylinder shape. Tli, cylinder parts are loaded into a
spiral accumulator (A) which holds parts for the pick-and-place robot (R) until both it and
the lathe (L) are ready. Once both are ready to work with the part, the cylinder is turned
into a barbell shape by the lathe and sent on toward a second spiral accumulator using
a conveyor belt. A second robot also performs a pick-and-place operation and hands the
barbell part to a drill machine (D) which punches a longitudinal hole through the part.
T11i.i is the final product part, which proceeds to a small storage bin taken by the AGV
which runs around a closed track while dropping the bin contents into longer-term storage.
This type of application involves discrete parts flowing through a network of resources. Tli,
(o ) -----o-- (
A = Accumulator
R = Robot
L = Lathe
D = Drill
Figure 3: '. 1, 1ii1 i iilin line with two robots and two machines..
Robot #1 Lathe Transit Robot #2 Drill Transit
Ac #1 Acc #2 Bin Storage
Figure 4: Petri net model for manufacturing line.
resource constraints and network flow -il-.- -i-. the use of a Petri net to model the system as
in Fig. 4.
Figure 4 is the mathematical model for the system and is categorized as a declarative
model (i.e., the Petri net sub-states and events are visible and emphasized in the model
structure). In a nutshell, a Petri net operates by having tokens (the black circles) flow
through the network while encountering resources (lathe,drill press, robot arm, AGV). Each
resource operates or "pro --i -" a token as it passes by. This is the specification that we
need to encode in the form of a program and then execute on a computer. T111i, are
many Petri net simulators to be found. One such simulator is a tool within SimPack (See
section SIMPACK SIMULATION TOOLKIT), which is a toolkit for exploring mathematical
modeling and simulation. Once simulated, this Petri net can yield data which is subject to
analysis (the third sub-field of computer simulation). Ti,1 types of analysis methods for
simulations are plentiful. For our manufacturing example, we may simply want to analyze
the throughput of the system as a whole to determine how many parts can be processed in
one hour. Actually, we pre-determined our use of a Petri net model because we knew ahead
of time that we wanted throughput information. If we had wanted, say, information on the
stability of the robot arm controller then a Petri net would not have served our purpose.
.'1ieover, if our Petri net model has a stochastic element (i.e., it uses random variates)
then it is vital to make many simulation runs of the same model but with different samples;
otherwise, we will not know the accuracy (measured by a confidence interval) associated
with the simulation output.
THE SIMULATION DISCIPLINE
To characterize simulation, it is useful to compare it with other fields such as computer
graphics/animation and virtual reality (VR), since these fields have much in common with
simulation. Computer graphics is the computational study of light and its effect on geometric
objects -the focus on graphics is to produce meaningful rendered images of real world or
hypothetical objects. Animation is the use of computer graphics to generate a sequence of
frames which, when passed before your eyes very quickly, produce the illusion of continuous
motion. VR is primarily focused on immersive human-computer interaction as found in
devices such as head-mounted displays (HMDs), position sensors and data gloves. Think
of simulation as the ", ii il, which drives the graphics and VR technologies. T11i11 is, by
doing simulation (creating a model, executing the model, and analyzing the output), you
build the infrastructure necessary for other fields. T1i, ultimate test of a computer animation
is that "it looks good" to the viewer. '..1,-, computer simulationists, however, regard this
as only one component of validation (called face validation). As long as you are not doing
engineering or science, creating a geometric model that looks good, as it undergoes motion,
is satisfactory. However, if you are trying to validate a mathematical model with real world
data (often of a non-visual nature), we must be concerned with more than mere "looks."
.1i, VR researchers are concerned with the human-machine interaction and not with the
mathematical models which actually create the artificial reality. For such models, we require
computer graphics (for representing the geometry) and computer simulation (for representing
Working closely with people of other technical disciplines is one of the things that makes
simulation fascinating. If you take a moment to talk with faculty and students in different
departments spread throughout a typical university's colleges, you will find simulation being
used everywhere. T1i person in a specific department is usually interested in simulation
to satisfy a class of problem. For instance, someone doing work in Ecology and Wetlands
Restoration will be doing simulation for hydrology and population growth and decay for
wildlife species in a given geographic region. Someone in Astronomy will want to simulate
the collision of galaxies and the formation of dark matter. Simulation provides these workers
with a tool to let them explore their worlds without having to run extensive physical, on
site, experiments which tend to be expensive both in time and money3. As a simulationist,
your responsibility is to understand the common vocabulary of systems, modeling terminol-
ogy and algorithmic procedures which form the simulation foundation. You will often find
yourself seeing relationships between someone's problem, for instance, in astrophysics and
someone else's problem in molecular dynamics. It is this .i.. ..i, which creates a great deal
of satisfaction for the simulation discipline.
SIIILI 1. .11, should be closely inter-woven with empirical studies where possible; it is not a substitute for
'1,! 1 ,1 experimentation.
WHAT TO STUDY
Let's suppose that you want to make a career in the computer simulation field. What sub-
jects do you study? Is there an academic major in computer simulation, or do simulation
departments exist? Simulation is not yet at the ,i, l1 i ii i i stage of academic infrastruc-
ture evolution, but there are some important guidelines:
1. Take computer simulation classes, and make sure that you get a good douse of mod-
eling, algorithms and analysis. Some simulation classes may offer only one or two of
these three sub-fields. Computer Science, Industrial and Systems Engineering, Decision
Science, and Statistics departments usually have simulation courses in their curricula.
2. Look at some closely related subjects which form the foundation for simulation such
as Cybernetics, System Ti, iry and System Science. Some of these topics may not
be widely disseminated through lectures, but there are lots of good references in the
3. Take classes which serve as good auxiliary forums for computer simulation work. Com-
puter Graphics and Human-Computer Interaction (HCI) are good courses.
READ MORE ABOUT IT
Tli 1, are many resources for getting more information on simulation. Some are provided
below. I.i,1.!r, special note of the World Wide Web pages, since they will point you to yet
other locations of relevance:
Electronic *-, Groups on USENET:
Electronic Simulation Journal:
Computer Simulation '. ideling and Analysis (CSMA)
Ashby, W. Ross, "An Introduction to Cybernetics," John Wiley and Sons, 1963.
Padulo, Louis and Arbib, i.ii', i1, I A., "Systems T!i ,,ry: A Unified State Space
Approach to Continuous and Discrete Systems," W.B. Saunders, Philadelphia,
Zeigler, Bernard P., "Tli ._ry of i. ,delling and Simulation," John Wiley and Sons,
Law, Averill '.1 and Kelton, David W., "Simulation '., dealingg and Analysis,"
1.i. Graw Hill, 1991, Second Edition.
Collier, Francois E., "Continuous System '.ideling," Springer Verlag, 1991.
Fi- li-i, 1:, Paul A. "Simulation '.i, del Design and Execution: Building Digital
Worlds," Prentice Hall, 1995.
-Society for Computer Simulation International (SCSI), San Diego, California.
Association for Computing .i, 1 ,ii ry (A .1 SIGSIM), :. York, :. "- York.
Institute for Electrical and Electronics Engineers (IEEE Computer Society TC-
SIM), N- York, :-' York, IEEE Computer Society. Web: http://www. computer
T111 Institute for Operations Research and the !i..111i; 11 i', Sciences: INFOI .'i
College on Simulation. VWeb:http://www. isye. gatech. edu/informs-sim/
* Periodicals with a Simulation emphasis:
SCSI Simulation, SCSI Transactions on Simulation
AC':.1 Transactions on M.ideling and Computer Simulation
IEEE Transactions on Systems, .I1iii and Cybernetics
International Journal in Computer Simulation, Ablex
International Journal of General Systems, Gordon and Breach
-Simulation Practice and T1i ,ry, Elsevier
* Simulation-Specific Conferences (with greater than 300 attendees)
SCS Simulation '.i il conferencee (held in April) Web: see the SCS home page
Winter Simulation Conference (WSC, held in December) http: //www. isye. gatech. edu/
SCS European '.il il conference (ESM)
European Simulation Conference (EUROSIM) http://eurosim.tuwien.ac. at
* Recent Simulation Conferences with Online Web Proceedings:
1994 AIS (Distributed Interactive Simulation Environments Conference) http:
ELECSIM Conference http://www.mystech. com:80/ ~smithr/elecsim95
Technologies such as Simulation and Virtual Reality will dominate the entertainment and
science forefronts well into the next Century. Since early childhood, we have always learned
by role playing and building models of things. With today's computer prices, personal
computers are highly affordable. Armed with your computer, you can proceed to build
models of reality and "let them ....- to see what happens and to learn more about reality
by modeling it. While what we may do today may be primitive by standards set in science
fiction shows such as Star Trek (T!i, Holodeck) and Lawnmower '.1 i1, the present computer
simulation discipline will lead the way to these eventual goals. T111 key word is li.i;. !" as
pointed out by many such as Nicholas N' .roponte at the .liT :.I ali., Lab in his recent text
"Being Digital." We want to create digital replicas of everything you see as you look around
you while reading this article. When you want to construct a digital world, you will pick
digital objects, using a 3D, immersive construction tool to put them together. T11I digital
objects may be located anywhere on the Internet and you will use help tools (or autonomous
agents) to locate the building block objects for your digital world. Some of this type of
work is being done in Distributed Interactive Simulation which is a thrust pioneered by the
Department of Defense. Ti, implications of these types of simulations are profound since the
idea of distributed simulation has enormous potential, also, in industrial and entertainment
SIMPACK SIMULATION TOOLKIT
To obtain SimPack, access the author's World Wide Web home page World Wide Web
home page http://www.cis.ufl.edu/~fishwick by using 'i-Vi, pe, 'i...I- ii or another
Web browser, and click on "SimPack Simulation Toolkit." SimPack is a collection of C tools
(routines and programs) for computer simulation. Ti, purpose of SimPack is to provide
people with a -, i .1 ii; i i ,it for simulating a system. T!i, intention is that people will view
what exists as a template (or "-i I I") and then "grow a simulation program." SimPack tools
have been used for six years of teaching computer simulation at the undergraduate (senior)
and graduate levels at the University of Florida. You can subscribe to the SimPack mailing
list by sending mail to majordomorrc' is .uf edu with the message: subscribe simpack. A
message containing the first word help will provide you with all the commands available
through the list server.
ABOUT THE AUTHOR
Paul Fi-,li i, 1 is an Associate Professor in the Department of Computer and Information
Sciences at the University of Florida. He received a BS in '.i 1 111 i i ii s from the Pennsyl-
vania State University, 1.iS in Applied Science from the College of William and '.i.ry, and
PhD in Computer and Information Science from the University of Pennsylvania in 1986.
He also has six years of industrial/government production and research experience work-
ing at 'I "-port 7'" -, Shipbuilding and Dry Dock Co. (doing CAD/CAM'.I parts definition
research) and at NASA Langley Research Center (studying engineering data base models
for structural engineering). His research interests are in computer simulation modeling and
analysis methods for complex systems. He is a senior member of the IEEE and the Society
for Computer Simulation. He is also a member of the IEEE Society for Systems, -.i11 and
Cybernetics, AC' .1 and AAAI. Dr. Fi-li" i 1: founded the comp.simulation Internet news
group (Simulation Digest) in 1987, which now serves over 15,000 subscribers. He was chair-
man of the IEEE Computer Society technical committee on simulation (TCSIM) for two
years (1988-1990) and he is on the editorial boards of several journals including the AC': .
Transactions on ., modeling and Computer Simulation, IEEE Transactions on Systems, .I111
and Cybernetics, T111 Transactions of the Society for Computer Simulation, International
Journal of Computer Simulation, and the Journal of Systems Engineering. Dr. Fi-l i-' 1:
can be reached by email at f-lJ,., '. '-. ufl.edu or via his World Wide Web home page