CSIM17 USERS’ GUIDE
CSIM is copyrighted by Microelectronics and Computer Technology, 1985-1994. Its use is
covered by the CSIM17 Software License Agreement included with the software. This manual
is copyrighted by Mesquite Software, Inc. It may not be copied in any manner without written
permission from Mesquite Software, Inc.
INTRODUCTION
CSIM is a process-oriented discrete-event simulation package for use with C or C++ programs. It is
implemented as a library of routines which implement all of the necessary operations. The end result is a
convenient tool which programmers can use to create simulation programs.
A CSIM program models a system as a collection of CSIM processes which interact with each other by using
the CSIM structures. The purpose of modeling a system is to produce estimates of time and performance. The
model maintains simulated time, so that the model can yield insight into the dynamic behavior of the modeled
system.
This document provides a description of:
CSIM structures (objects) and the statements that manipulate them
Reports available from CSIM
Information on compiling, executing and debugging CSIM programs.
CSIM Objects
Every CSIM object is implemented in the same manner. For each CSIM structure, the program must have a
declaration, which is a pointer to an object (an instance of structure). Before an object can be used, it must be
initialized by the initialize function for that kind of object. These serve the same functions as object declarations
and constructors in an object-oriented language such as C++.
The structures provided in CSIM are as follows:
Processes - the active entities that request service at facilities, wait for events, etc. (i.e. processes deal
with all of the other structures in this list)
Facilities - queues and servers reserved or used by processes
Storage blocks- resources which can be partially allocated to processes
Events - used to synchronize process activities
Mailboxes - used for inter-process communications
Table structures - used to collect data during the execution of a model
Process classes - used to segregate statistics for reporting purposes
Streams - streams of random numbers
It is the processes which mimic the behavior of active entities in the simulated system.
A list of statements and data structures and constants
is also included as an Appendix.
Syntax Notes
All parameters are required.
Whenever a parameter is included within double quotes (e.g. “name”), it can also be passed as a pointer to
a character array which contains the string.
Constants, which are represented by names that are entirely in capital letters, are defined in the header
file, “csim.h”.