|
ContactCenters V. 0.9.9. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface ContactCenterEval
Represents a system evaluating some performance measures of a contact center. An evaluation is a process estimating some performance measures according to user-defined parameters. It can be performed by approximation formulas or by simulations while parameters can be obtained from any data source, e.g., files, programs, etc.
This interface represents an evaluation system adapted
for contact centers. Each system uses internal, implementation-specific
parameters usually read from files and stored into
dedicated objects, e.g., CallCenterParams
.
It also defines some external parameters called evaluation options
which can be modified through this interface, by using the
setEvalOption(umontreal.iro.lecuyer.contactcenters.app.EvalOptionType, java.lang.Object)
method.
Evaluations are triggered by using the eval()
method,
and matrices of performance measures are accessible
through the getPerformanceMeasure(umontreal.iro.lecuyer.contactcenters.app.PerformanceMeasureType)
method.
The methods setEvalOption(umontreal.iro.lecuyer.contactcenters.app.EvalOptionType, java.lang.Object)
and getPerformanceMeasure(umontreal.iro.lecuyer.contactcenters.app.PerformanceMeasureType)
are
generic methods accepting an argument indicating the evaluation
option or group of performance measures of interest, respectively.
This design allows the interface to be extended in the future,
by adding new options or groups of measures, without affecting
current implementations.
The construction of the contact center and the supported evaluation options and performance measures are specific to the implementation of this interface, but the access to the evaluation mechanism is unified. A contact center evaluation system is not forced to support all of the defined performance measures and evaluation options, because the interface specifies facilities to enumerate supported groups of performance measures and evaluation options, and to test the support of a specific measure or option.
Method Summary | |
---|---|
void |
eval()
Evaluates the contact center's supported performance measures using the current values of implementation-specific parameters and evaluation options. |
String |
formatStatistics()
Formats information about every performance measure after eval() is called. |
boolean |
formatStatisticsExcel(WritableWorkbook wb)
Constructs and returns an JExcel API workbook containing the results of the evaluation, and appends the contents of the generated report to the workbook wb. |
String |
formatStatisticsLaTeX()
Formats and returns a statistical report that can be included into a LATEX document. |
Map<String,Object> |
getEvalInfo()
Represents information about this evaluation system that should be included in any report produced by formatStatistics() . |
Object |
getEvalOption(EvalOptionType option)
Returns the current value of the evaluation option option. |
EvalOptionType[] |
getEvalOptions()
Returns the array of the evaluation option types supported by the implementing object. |
DoubleMatrix2D |
getPerformanceMeasure(PerformanceMeasureType m)
Returns the matrix of values corresponding to the group of performance measures m estimated by the last call to eval() . |
PerformanceMeasureType[] |
getPerformanceMeasures()
Returns an array containing all the groups of performance measures this object can estimate. |
ReportParams |
getReportParams()
Returns the parameters for reports formatted by formatStatistics() , or
formatStatisticsExcel(WritableWorkbook) . |
boolean |
hasEvalOption(EvalOptionType option)
Determines if the evaluation option option is supported by the implemented system. |
boolean |
hasPerformanceMeasure(PerformanceMeasureType m)
Determines if the evaluation system can estimate performance measures in group m. |
boolean |
isVerbose()
Determines if the implementation should print information during the evaluation of the performance measures. |
void |
reset()
Resets this contact center evaluation system for new parameters. |
boolean |
seemsUnstable()
Determines if the system seems to be unstable. |
void |
setEvalOption(EvalOptionType option,
Object value)
Sets the evaluation option option to value. |
void |
setReportParams(ReportParams reportParams)
Sets the report parameters to reportParams. |
void |
setVerbose(boolean v)
Sets the verbose status to v. |
Method Detail |
---|
EvalOptionType[] getEvalOptions()
eval()
.
This should never return a null pointer;
if no evaluation options are supported for some reasons,
this should return an array with length 0.
boolean hasEvalOption(EvalOptionType option)
getEvalOptions()
. Otherwise, it
returns false.
option
- the queried evaluation option.
NullPointerException
- if option is null.Object getEvalOption(EvalOptionType option)
EvalOptionType.getType()
.
If the option is not supported, this should
throw a NoSuchElementException
.
This exception can be thrown if and only if
hasEvalOption(umontreal.iro.lecuyer.contactcenters.app.EvalOptionType)
returns false for
the given option.
option
- the queried evaluation option.
NoSuchElementException
- if the option
is not available.
NullPointerException
- if option is null.void setEvalOption(EvalOptionType option, Object value)
NoSuchElementException
. If the class of the given
value is incompatible, this throws a ClassCastException
.
If the evaluation option cannot be changed, this
throws an UnsupportedOperationException
.
option
- the option to be set.value
- the new value of the option.
NoSuchElementException
- if the given option
is not supported.
ClassCastException
- if the given value is
from an incompatible class.
IllegalArgumentException
- if the given value
is invalid.
UnsupportedOperationException
- if the
evaluation option is read-only.
NullPointerException
- if the option is null or
the value is unexpectedly null.void eval()
IllegalStateException
if there is
an inconsistency in the system's parameters.
It can throw an ArithmeticException
if,
for the given parameters, the performance
measures cannot be estimated.
IllegalStateException
- if there are
invalid parameter values.
ArithmeticException
- if no solution
can be computed.boolean seemsUnstable()
IllegalStateException
if it is called before eval()
and
always return false if no
stability check applies.
IllegalStateException
- if this method
is called before the evaluation is performed.Map<String,Object> getEvalInfo()
formatStatistics()
.
The information is organized as
(key, value) pairs in a map. This information may include
steps of an approximation, number of iterations, etc.
One can modify the returned map to add
custom information.
The content of this map should not
affect the process of the evaluation;
it is used only for building
the statistical report.
One can use evaluation options for
system parameters.
String formatStatistics()
eval()
is called.
It can be simulation statistics, information
about the steps of an approximation algorithm,
or simply the values of all performance measures.
This method should call getEvalInfo()
to obtain general information about the evaluation
and incorporate the information into the
returned string.
For each entry in the map, the method
should add a key: value line
in the string.
Then, the method appends the performance measures
to the returned string.
The PerformanceMeasureFormatText
class
can be used to convert matrices of performance measures
into strings.
If the evaluation was not triggered by
calling eval()
before this method is called,
an IllegalStateException
is thrown.
If no statistical information is available even
after the evaluation, this method should return
an empty string instead of throwing an exception.
IllegalStateException
- if no statistical information
is available because the evaluation was not triggered.String formatStatisticsLaTeX()
formatStatistics()
,
except the generated report is in LATEX rather than
plain text.
boolean formatStatisticsExcel(WritableWorkbook wb)
getEvalInfo()
to a sheet in the
workbook.
This method returns true if and only if the given
workbook was modified.
One can then customize the returned workbook as needed.
The method WritableWorkbook.write()
can
be used to export the workbook to an output
stream.
This can be used to create files that can be opened
directly by Microsoft Excel for
results analysis and reporting.
Excel documents can also be opened by
open source software such as OpenOffice.org,
KOffice, etc.
wb
- the workbook to append report to.
ReportParams getReportParams()
formatStatistics()
, or
formatStatisticsExcel(WritableWorkbook)
.
If no object containing report parameters
is available, this method
should create a new one using
the default constructor of
ReportParams
.
void setReportParams(ReportParams reportParams)
reportParams
- the report parameters..getReportParams()
PerformanceMeasureType[] getPerformanceMeasures()
boolean hasPerformanceMeasure(PerformanceMeasureType m)
getPerformanceMeasures()
.
m
- the group of performance measures being tested.
NullPointerException
- if m is null.DoubleMatrix2D getPerformanceMeasure(PerformanceMeasureType m)
eval()
. The dimensions
of the matrix and the role of its elements depend on the
queried group of performance
measures, and the capabilities of the implementing
evaluation system. See the PerformanceMeasureType
class for more information about the defined performance
measures.
If the queried measure is not supported by this evaluation object, this throws a
NoSuchElementException
. If the values of
the measures are not available, e.g., the eval()
method was never called after the last call to reset()
,
this throws an IllegalStateException
.
m
- the queried group of performance measures.
NoSuchElementException
- if the given performance
measure is not supported by this object.
IllegalStateException
- if the values are not
available.
NullPointerException
- if m is null.void reset()
boolean isVerbose()
void setVerbose(boolean v)
v
- true to activate verbose mode, false to disable it.isVerbose()
|
ContactCenters V. 0.9.9. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |