ContactCenters
V. 0.9.9.

Package umontreal.iro.lecuyer.contactcenters.contact

Manages contact arrivals into the contact center system.

See:
          Description

Interface Summary
ContactFactory Allows contact sources to create contact objects of user-defined classes.
ContactSource Represents a contact source which produces contacts during a simulation.
ContactStepInfo Represents an information object about a single step (end of service, exit of waiting queue, etc.) in the life cycle of a contact in the contact center.
NewContactListener Defines a new-contact listener that receives incoming contacts for further processing.
 

Class Summary
Busyness FOR NOW, THIS CLASS IS UNUSED.
Contact Represents a contact (phone call, fax, e-mail, etc.) into the contact center.
ContactArrivalProcess Represents a contact arrival process modeling the arrival of inbound contacts.
ContactSumMatrix This sum matrix can be used to compute contact-related observations.
CorrelationMatrixCorrector Implements the algorithm POSDEF that transforms the approximate correlation matrix that may contain negative eigenvalues to the valid positive definite correlation matrix.
CorrelationMtxFitting Fits the parametric model for the correlation matrix using method of least squares.
DirichletArrivalProcess Represents an arrival process where the number of arrivals are spread in periods using a Dirichlet distribution [3].
DirichletCompoundArrivalProcess Represents a generalization of the non-homogeneous Poisson process where the arrival rates are generated from a Dirichlet compound negative multinomial distribution [19].
FixedCountsArrivalProcess Represents an arrival process in which the numbers of arrivals per-period Cp (the counts) are given (in a file or directly).
GammaParameterEstimator This class implements the parameter estimation for the doubly Gamma-Poisson process.
NORTADrivenArrivalProcess Represents an arrival process in which the numbers of arrivals per-period are correlated negative binomial random variables, generated using the NORTA method.
PiecewiseConstantPoissonArrivalProcess Represents a non-homogeneous Poisson arrival process with piecewise-constant arrival rates.
PoissonArrivalProcess Represents a Poisson-based contact arrival process.
PoissonArrivalProcessWithInversion Defines a Poisson arrival process with arrival rate (t) at time t and generated by inversion.
PoissonArrivalProcessWithRandomRates Represents a poisson arrival process with piecewise-constant randomized arrival rates following a user-defined distribution.
PoissonArrivalProcessWithThinning Defines a Poisson arrival process with arrival rate (t)≤B$ \bar{\lambda}$ for time t, and generated using the thinning method.
PoissonArrivalProcessWithTimeIntervals Represents a Poisson arrival process with piecewise-constant arrival rates that can change at arbitrary moments during the simulation.
PoissonGammaArrivalProcess Represents a doubly-stochastic Poisson process with piecewise-constant randomized arrival rates [13].
PoissonGammaNortaRatesArrivalProcess Represents a doubly-stochastic Gamma-Poisson process with piecewise-constant randomized correlated arrival rates.
PoissonUniformArrivalProcess This arrival process can be used when the number of arrivals per period Ap is known (when B = 1).
RandomTypeContactFactory Represents a contact factory that can create contacts of random types.
ServiceTimes Stores service times for a contact.
ServiceTimesAgent Stores service times for a contact.
SimpleContactFactory This implements the ContactFactory interface to instantiate Contact objects with fixed parameters.
SingleTypeContactFactory Represents a contact factory used to create contacts of a single type.
StationaryContactArrivalProcess Defines a contact arrival process with inter-arrival times following a stationary distribution.
TrunkGroup Represents a group of trunks, i.e., phone lines or more generally communication channels, in a contact center.
 

Exception Summary
ContactInstantiationException This exception is thrown when a contact factory cannot instantiate a contact on a call to its ContactFactory.newInstance() method.
 

Package umontreal.iro.lecuyer.contactcenters.contact Description

Manages contact arrivals into the contact center system. Any contact traveling in the system is represented by an object from the Contact class being defined in this package. This class defines a number of attributes associated with all contacts, and the user can add custom attributes by defining a subclass.

Although an object representing a contact can be freely instantiated, it is usually constructed by a contact source. Two types of contact sources are available: contact arrival processes provided by this package, and dialers supported by the umontreal.iro.lecuyer.contactcenters.dialer package. Arrival processes determine when contact objects need to be created, according to specific (stochastic) arrival processes. Each concrete arrival process must correspond to an algorithm for generating inter-arrival times. These times could depend on the entire state of the system in a complicated way, but they often depend only on the simulation time and previous inter-arrival times. For each process, the first arrival is scheduled when the arrival process is started, often at the beginning of the simulation. Figure 1 gives a UML diagram for this contact creation facility.

Figure 1: UML diagram describing the facilities for creating contacts
\begin{figure}\begin{center}
\begin{tikzpicture}[>=open triangle 60,shape=rectan...
..., below] {1,1}
(ContactFactory);
\end{tikzpicture}\end{center}\par\end{figure}

The factory design pattern is used to allow the sources to construct contacts without knowing their types explicitly. The ContactFactory interface specifies a method called newInstance returning a newly-constructed and configured contact object. A contact source can create contacts from any class that implements this interface simply by invoking this newInstance method. Thus, changing the type of contact (and the name of its explicit constructor) requires no change to the implementation of the contact source.

When a new contact occurs, it is instantiated by the associated factory and broadcast to the registered new-contact listeners. Then the next arrival is scheduled. Each contact source is assigned a factory that typically constructs contacts of a single type. All contact sources can be initialized, started, and stopped.


ContactCenters
V. 0.9.9.

To submit a bug or ask questions, send an e-mail to Richard Simard.