Quick start guide to ContactCenters

This page gives a small tutorial on how to use the generic simulator provided with the ContactCenters simulation library. We show how to call the simulator from the command-line to make simulations and print statistical reports.

Directory structure of ContactCenters

The contactcenters directory has the following structure:

Contains convenience scripts to run the simulator
Contains the documentation
HTML documentation
PDF documentation
Contains examples and documentation for the generic blend/multi-skill simulator
Contains example programs using the core library
Contains HTML documentation for XML Schemas used by the generic simulator
Contains the Java archives for ContactCenters

Running simulations

The main command to run the simulator is


If ContactCenters is properly installed, this command with no argument should generate a result similar to

Usage: java umontreal.iro.lecuyer.contactcenters.msk.CallCenterSim
           <call center data file name> <experiment parameter file>
           [<output file name>]

Most common errors:

mskcallcentersim command not found
mskcallcentersim is a script located in the bin subdirectory of ContactCenters. This subdirectory needs to be referred to in the PATH environment variable.
java command not found
A Java Virtual Machine may not be installed on the target host. A JVM such as Sun's Java Runtime Environment must be installed for ContactCenters to work.
A NoClassDefFoundError occurs
The archive contactcenters.jar, located in the lib subdirectory of ContactCenters, must be referred to in the CLASSPATH environment variable.

Detailed installation instructions are provided for Windows and Linux/UNIX.

Running the simulator with no argument triggers an information message indicating that the simulator needs at least two arguments: a first parameter file for the simulated model, and a second parameter file specifying how to perform the experiment. Examples of both types of parameter files can be found in the msk subdirectory of ContactCenters. The name of parameter files for the experiment begin with batch or rep while other parameter files are for the model.

For example, if we take singleQueue.xml as the model parameter file, repSimParams.xml as the experiment parameter file, and assuming that the current directory is the subdirectory msk of ContactCenters, the command-line for running the simulator becomes:

mskcallcentersim singleQueue.xml repSimParams.xml

The optional third argument of the mskcallcentersim command can be used to give an output file name. The format of the output depends on the file extension as well as the platform on which the simulator is executed. The following extensions are recognized.

A plain text file, using the platform default character encoding and line separator
A workbook to be opened by Microsoft Excel or any compatible spreadsheet
A XML file usable by Java (and possibly other) programs

Specifying any other extension results in a plain text file. Note that the level of details of the report can be adjusted with options in the experiment parameter file.

Creating new parameter files

Of course, using the simulator requires writing some parameter files. This can be done by any text editor such as Notepad. Using an editor specialized for XML might help in avoiding errors, especially if the XML Schemas located in the schemas subdirectory of ContactCenters are loaded into the editor. See the documentation of the XML editor for a procedure to load schemas.

The recommended way to go is to start with a sample XML file, and change some parameters. The doc/msk subdirectory of ContactCenters contains a PDF file, guidemsk.pdf, giving some commented examples as well as a manual describing the simulated model, supported types of performance measures, etc. The directory also contains the source code of the commented examples.

On the other hand, the directory doc/schemas contains HTML documentation for each supported option. It also describes how the parameters should be organized to form a valid XML file for the simulator.

Extending or creating simulators

Extending the provided generic simulator with new probability distributions, arrival processes, routing policies, etc. requires Java programming. The user's manual of the simulator, guidemsk.pdf located in the doc/msk subdirectory, provides basic information about this. For a detailed description of the architecture of the generic simulator and the library, see the API specifications, which is available both in PDF and HTML formats. The PDF version is located in the doc/pdf subdirectory of ContactCenters. The HTML version can be found by opening the index.html file located in the doc/html subdirectory, using any Web browser.

All the referred documents are also available on-line.

Transitioning from ContactCenters 0.8

Many changes were made since ContactCenters 0.9, the most important one being the use of XML Schemas for parameter files. As a result, parameter files for ContactCenters 0.8 do not work with ContactCenters 0.9. One must use oldmskccparamsconverter and oldsimparamsconverter to process the old-style parameter files into new-style ones.

Also note that in this release, the API specification of the generic simulator, located in the package umontreal.iro.lecuyer.contactcenters.msk, has changed.