RVGEN: a tool for generation of random variates

A number of applications in simulation and software testing require random number generation, both uniform and non-uniform. Although libraries are available for random number generation, there is no user-friendly tool to enable the user to use and build random number generators. This paper presents the RVGEN tool, developed at TRDDC. Using the tool, the software developer can design a random number generator specific to a particular pattern. The tool takes specifications at a high level and also partly in C++, and generates C++ code for a number of user-friendly functions. These include setting and getting of random variate parameters, GUIs for inputting parameters, validation of parameters, parameter input and output from a file, generation of random variate class declarations, generation of seeds for multiple streams, and testing of the random variate generator. The tool provides a number of classical, generalpurpose and empiric distributions by default.

[1]  Paul A. Fishwick,et al.  A simulation environment for multimodeling , 1993, Discret. Event Dyn. Syst..

[2]  P. A. W. Lewis,et al.  A Pseudo-Random Number Generator for the System/360 , 1969, IBM Syst. J..

[3]  Harald Niederreiter,et al.  On the statistical independence of nonlinear congruential pseudorandom numbers , 1994, TOMC.

[4]  Alfred V. Aho,et al.  The awk programming language , 1988 .

[5]  Jürgen Eichenauer-Herrmann,et al.  A new inversive congruential pseudorandom number generator with power of two modulus , 1992, TOMC.

[6]  Pierre L'Ecuyer,et al.  Efficient and portable combined random number generators , 1988, CACM.

[7]  E. Keith Lloyd The art of computer programming, vol. 2, seminumerical algorithms (2nd edition), Donald E. Knuth, Addison‐Wesley, Reading, Mass, 1981. No. of pages: xiv+688. Price: £17·95. ISBN 0 20103822 6 , 1982 .

[8]  Donald E. Knuth,et al.  The art of computer programming. Vol.2: Seminumerical algorithms , 1981 .

[9]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[10]  L. Devroye Non-Uniform Random Variate Generation , 1986 .

[11]  Takuji Nishimura,et al.  Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator , 1998, TOMC.

[12]  Harald Niederreiter,et al.  Digital inversive pseudorandom numbers , 1994, TOMC.

[13]  K. Mani Chandy,et al.  Computer Systems Performance Modeling , 1981 .

[14]  Pierre L'Ecuyer,et al.  Efficient and portable combined Tausworthe random number generators , 1990, TOMC.

[15]  S. K. Park,et al.  Random number generators: good ones are hard to find , 1988, CACM.