[sci.virtual-worlds] simpack

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