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