SOFTWARE ABSTRACTIONS FOR PROBABILITY MEASURES. R.W. Oldford Department of Statistics and Actuarial Science University of Waterloo

Key Words: statistical software, programming environments, object-oriented programming, program abstraction and specification, probability calculation, pseudo-random variables, quantiles

In this talk we explore the definition of software abstractions that match the mathematical abstractions of probability (as commonly used by statisticians). Object-oriented programming is used to define classes which inherit program structure and behaviour from one another. Each class represents a statistical abstraction of a distribution — from probability-measure to continuousdistribution all the way down to standard distributions like the gaussian-dist. An instance of any class should be capable of giving probabilities, quantiles, pseudo-random values, evaluating expectations etc. The overall structure of the inheritance network defining the relations between classes is designed to match that relating the corresponding statistical abstractions. This allows the network to be extended easily to other distributions. The implementation in Quail illustrates the methodology.