J-Sim is an object-oriented library for discrete-time process-oriented simulation. Its main application area is queueing network simulation, however, the range of its use can be very wide – almost any system where object states change discretely can be modelled using J-Sim. J-Sim is a Simula-like simulation environment written in Java. For the programmer, it provides the same possibilities as the Simula language does. Plus much more.
The basic building blocks of every J-Sim simulation are processes, optionally queues, semaphores, message boxes, random-number generators, and other user-defines objects. Processes are active while other elements of the simulation are passive. The simulation is executed in a step-by-step manner. During a step, just one process is given an chance to run.
J-Sim is built up upon some very well known principles inherited from the Simula language, such as:
In addition to the standard features that a Simula user might expect, some extra features are provided:
More information is available in the J-Sim Tutorial.