william@hitl.vrnet.washington.edu (William Bricken) (07/24/90)
SimPack is a collection of C routines and C programs to do both
continuous and discrete-event simulation. This note is to announce
its availability. It has been used for a computer simulation class (for
seniors and graduate students) at the University of Florida. Students
use SimPack as "seed" simulation software upon which they can easily
design their own simulations.
Although, the software is complete, completing the on-line documentation will
take another two weeks. If you want to try things out given the
current state of the documentation, you can freely obtain SimPack
by FTP'ing to the simulation tools library:
%ftp bikini.cis.ufl.edu (login as 'anonymous')
%binary
%cd /pub/simdigest/tools
%get simpack.tar.Z
Here is some general information on SimPack:
S I M P A C K
C-based Simulation Tool Package
Copyright 1990, Paul A. Fishwick
ALPHA RELEASE
SimPack is a collection of C tools (routines and
programs) for computer simulation in teaching and/or
research. It has been used in a classroom environment
for teaching computer simulation to seniors and
graduate students at the University of Florida.
SimPack is copyright, and re-distribution is granted
so long as SimPack is not sold (in any form) for a
profit. Users of SimPack use the tools at their own risk.
The philosophy behind SimPack is simple: the provided
tools are minimal but comprehensive so that users can
combine different features and expand existing features
to "home-brew" their own simulations. Many of the tools
are meant to be used as "seed" software tools, allowing
one to learn a general template for doing a specific
kind of simulation. Once the template is learned, the
program can be easily expanded by the user to fit
his/her needs.
CONTENTS:
SimPack comes with 5 sub-directories. Programs are
written in C and may be compiled and executed on
workstations and PC's that support the C language
such as the SUN Workstation and IBM/PC or compatible.
Look at the Make File in each sub-directory to create
the necessary executables. For PC's, look at the make
file to understand the dependencies, and then use
the resident linker/loader to create executables.
Sub-Directories
1. Queuing
This code is used for 2 purposes: for constructing
discrete event simulations and for constructing simulation
software that incorporates parallel events. All queuing
network simulations require a future event list for
simulated parallelism, however, it is possible to create
simulations that require only the parallelism (without
the queuing) -- see the Petri net simulator in the 'graphs'
sub-directory for an example of this.
This code was heavily influenced by both CSIM syntax by
Herb Schwetman (at MCC) and SMPL syntax by M.H. MacDougall
(at Apple Computer). The syntax is almost identical
to SMPL's with differences noted in the README file.
It extends SMPL's functional capabilities to permit:
(1) The choice of either a HEAP or LINKED list future
event list.
(2) A visual (graphical) tracer that allows you to
step through all changes to the key discrete event
data structures (event list,facility queues,clock).
With UNIX, curses is invoked to permit animation.
2. Graphs
This contains the following sub-directories:
A) CPUDISK - a simulation of a single CPU connected to
4 disk units operating in parallel.
B) PETRI - a general purpose timed Petri network
simulator.
C) NETWORK - a general purpose communications network
simulator.
D) QUEUE - a single server queue.
3. State
This contains 3 simulation programs:
(1) Simulate a Finite State Automaton with labelled
states. States and transitions are time tagged.
(2) Simulate a Markov Process with labelled states.
States and transitions are time tagged.
(3) Simulate a Pulse Process with labelled vertices.
Time is implictly incremented in single units.
4. Difference
Difference equation set simulation.
5. Differential
Differential equation set simulation. Examples of Euler and
Runge-Kutta (4th order) integration.
6. Combined
(1) A delay differential equation simulator combining facets
of difference and differential equations.
(2) A combined continuous, discrete event simulation.
Prof. Paul A. Fishwick
University of Florida
Dept. of Computer and Information Science
Bldg. CSE, Room 301
Gainesville, FL. 32611
INTERNET: fishwick@fish.cis.ufl.edu