ABOUT

This directory contains a bare-bones version of Libphprng, a library for
generating random variates from phase-type distributions. The full version
is part of the BUTools package and is available from

	http://webspn.hit.bme.hu/~butools

The bare-bones version only supports APH and Hyper-Erlang distributions and
does not implement any of the optimisation approaches present in Butools.
It is intended for cases where the full functionality of Butools is not re-
quired or installation of Butools is not feasible.

If you have any questions or problems with this library, then please do not
hesitate to contact philipp.reinecke@fu-berlin.de. We would of course also
like to hear from you if you use the library successfully in your projects.


INSTALLATION

Type `make' to build the shared library and two test programs, testphprng
and testherd. Type `make clean' to remove all files generated by the Makefile.


USAGE

The library is mainly intended to be linked with simulations implemented using
a simulation environment such as OMNeT++ or ns-2/3. The uniform random number
stream from the environment is passed to the random-variate generator code
through the use of an environment-specific wrapper. Wrappers for OMNeT++, ns-2
and ns-3 are provided.

The random-variate generator code is encapsulated in the classes AphGen (for
APH distributions) and HerdGen (for Hyper-Erlang distributions). AphGen reads
input files in CF-1 form, while HerdGen reads input files in G-FIT/HyperStar
output format.

The code in the files testphprng.cc and testherd.cc is probably the best star-
ting point for understanding application of the library in your own simulations.
There is one caveat, though: For illustrative purposes, the test programs use
the UtilRandomSourceWrapper wrapper for obtaining uniform random numbers. This
is a wrapper for the very simple random-number generator implemented in util.cc.
This generator always starts with the same number. DO NOT use this wrapper in
your own simulations, and DO NOT link the util.o file with your simulations.
Doing so could result in the simulation's random number generator being replaced
by the one in util.o, which could invalidate all your simulation results.

For more details see

- Reinecke, P. & Horvath, G., Phase-type Distributions for Realistic Modelling
in Discrete-Event Simulation Proceedings of the 5th International ICST Conference
on Simulation Tools and Techniques, ICST (Institute for Computer Sciences,
Social-Informatics and Telecommunications Engineering), 2012, 283-290


AUTHORS

Philipp Reinecke, philipp.reinecke@fu-berlin.de
Tilman Krauss, tilman.krauss@fu-berlin.de
Alexandra Danilkina, alexandra.danilkina@fu-berlin.de
Katinka Wolter, katinka.wolter@fu-berlin.de

