Skip to main content

JPhase

What is jPhase?

jPhase is an object-oriented tool for modeling Phase-Type (PH) distributions in a computational framework. It is built on Java, which allows the encapsulation and easy extension of the developed structure. It allows the computation of relevant quantities related to PH distributions, such as the probability density or mass function, the cumulative distribution function as well as its moments, among others.

Another important issue is the implementation of closure properties, which are the result of operations on the set of PH variables. These include the minimum, maximum and convex mixture between PH variables, the distribution of the waiting time in the M/PH/1 queue, among others. For the matrix and vector represention, it makes extensive use of MTJ, which supports dense and sparse representations as well as solvers for linear systems.

The tool is divided in three main packages: jPhase, the core package for representation and computation of several quantities around PH variables; jPhaseFit, that contains several algorithms for fitting the paramaters of a PH distribution from a data trace; jPhaseGenerator, that allows the generation of random variates according to a continuous or discrete PH distribution.

jPhaseFit

One of the complementary packages of the tool (jPhaseFit) has a set of classes to fit the parameters of a Phase-Type distribution from a data set, through the implementation of some recently developed algorithms. These classes are included in a computational structure that allows the characterization of the desired input and output of any fitting algorithm, in terms of computational objects.

jPhaseGenerator

This tool includes another complementary package (jPhaseGenerator), which defines the structure for any Phase-Type random variates generator, and implements the algorithms developed by Neuts and Pagano for the discrete and the continuous cases.