Overview | Package | Class | Tree | Deprecated | Index | Help
| ContactCenters V. 0.9.9.
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES

## 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 Bλ(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 Bλ(t)≤B 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

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.

Overview | Package | Class | Tree | Deprecated | Index | Help
| ContactCenters V. 0.9.9.
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES

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