SSJ is a Java library for stochastic simulation, developed in the Département d'Informatique et de Recherche Opérationnelle (DIRO), at the Université de Montréal, by Pierre L'Ecuyer and his research group. It provides facilities for generating uniform and nonuniform random variates, computing different measures related to probability distributions, performing Monte Carlo and quasi-Monte Carlo simulations, collecting (elementary) statistics, and programming discrete-event simulations.
From the first version of SSJ in 2000 until version 2.6.2 in 2015, a detailed documentation was written in LaTeX and the source code was written inside the LaTeX documentation. This permitted us to produce nicely formatted documentation in .pdf files, with math formulas, etc., with the code in the same source file, and to make sure that everything was documented in details when writing the code, or even before. Unfortunately, popular Java development environments do not support this. Starting from version 3.1, to make it more convenient to those who want to modify or extend the library, the source is now written directly in Java and is openly available. The documentation is in Javadoc. There is no detailed .pdf documentation (for now) for the new version, but the .pdf documentation of version 2.6.2 still (mostly) applies. In all package names, umontreal.iro.lecuyer has been shortened to umontreal.ssj.
To use the library (and not access the source) it suffices to install it using Maven. This is very easy under Eclipse or NetBeans, for instance.
To get everything: Get SSJ on GitHubThis latest open-source version is released under the Apache 2.0 License. SSJ copyright.
Older version 2.6.2 of SSJ, with detailed user guides in .pdf.
SSJ was initiated around 2000 by Pierre L'Ecuyer. Several collegues and students have participated in its development. A (partial) list can be found in the SSJ User's Guide.
SSJ is free, but if you use it for your work, please cite in your reports and articles the references given here in BibTeX format.
If you find a bug or want to suggest improvements, you can open a new issue on GitHub.
For important inquiries, you may send mail to
simul@iro.umontreal.ca.
We try to follow-up to correct problems and make improvements the best we can,
but we cannot respond to every email and we do not offer programming support (we just do not have the time and resources for that).