com.xj.anylogic.engine
Class ExperimentParamVariation<ROOT extends ActiveObject>

java.lang.Object
  extended by com.xj.anylogic.engine.Presentable
      extended by com.xj.anylogic.engine.Utilities
          extended by com.xj.anylogic.engine.Experiment<ROOT>
              extended by com.xj.anylogic.engine.ExperimentParamVariation<ROOT>
Type Parameters:
ROOT - class of root object
All Implemented Interfaces:
java.io.Serializable

public abstract class ExperimentParamVariation<ROOT extends ActiveObject>
extends Experiment<ROOT>

Experiment used to run simulation several times with different parameter values. To use this experiment you need to subclass from it.
By default, this experiment works in range parameters variation mode (override getRangeParametersNumber(), calculateRangeParameterValuesNumbers(), setupRangeVariedParameter(ActiveObject, int, int, boolean), setupRootParameters(ActiveObject, int, boolean) methods),
for freeform parameters override getMaximumIterations() and setupRootParameters(ActiveObject, int, boolean) methods
Experiments which use replications should call setUseReplications(boolean) and setFixedReplicationsNumber(int) or setVariableReplicationsNumber(int, int, int, double) from overridden Experiment.setup(java.awt.Container) method,
For varied replications number mode also getValueForConfidenceComputation(ActiveObject) method should be overridden define

Author:
XJ Technologies Company Ltd. www.anylogic.com
See Also:
Serialized Form

Field Summary
static int CONFIDENCE_LEVEL_80
          Confidence level constant 80%
static int CONFIDENCE_LEVEL_90
          Confidence level constant 90%
static int CONFIDENCE_LEVEL_95
          Confidence level constant 95%
static int CONFIDENCE_LEVEL_98
          Confidence level constant 98%
static int CONFIDENCE_LEVEL_99
          Confidence level constant 99%
static int CONFIDENCE_LEVEL_99_9
          Confidence level constant 99.9%
 
Fields inherited from class com.xj.anylogic.engine.Experiment
ERROR, FINISHED, IDLE, modelExecutionCommandQueue, mutexModelActionQueue, OPEN_RESULTS, OPEN_SNAPSHOT, PAUSE, PAUSED, PLEASE_WAIT, RUN, RUNNING, SAVE_RESULTS, SAVE_SNAPSHOT, STEP, STOP
 
Fields inherited from class com.xj.anylogic.engine.Utilities
AM, APRIL, AUGUST, DAY, DECEMBER, FEBRUARY, FRIDAY, HOUR, infinity, JANUARY, JULY, JUNE, MARCH, MAY, MILLISECOND, MINUTE, MONDAY, MONTH, NOVEMBER, OCTOBER, PM, SATURDAY, SECOND, SEPTEMBER, SUNDAY, THURSDAY, TIME_UNIT_DAY, TIME_UNIT_HOUR, TIME_UNIT_MILLISECOND, TIME_UNIT_MINUTE, TIME_UNIT_SECOND, TIME_UNIT_WEEK, TUESDAY, UNDECIMBER, WEDNESDAY, WEEK, YEAR
 
Fields inherited from class com.xj.anylogic.engine.Presentable
ALIGNMENT_CENTER, ALIGNMENT_LEFT, ALIGNMENT_RIGHT, CAD_ANTIALIASING, CAD_INVERTED, LINE_STYLE_DASHED, LINE_STYLE_DOTTED, LINE_STYLE_SOLID, NAVIGATION_FULL, NAVIGATION_LIMITED_TO_Z_ABOVE_ZERO, NAVIGATION_NONE, NAVIGATION_ROTATION_ONLY, SHAPE_ARC, SHAPE_BUTTON, SHAPE_CAD, SHAPE_CHART_BAR, SHAPE_CHART_HISTOGRAM, SHAPE_CHART_HISTOGRAM2D, SHAPE_CHART_PIE, SHAPE_CHART_PLOT, SHAPE_CHART_STACK, SHAPE_CHART_TIME_COLOR, SHAPE_CHART_TIME_PLOT, SHAPE_CHART_TIME_STACK, SHAPE_CHECKBOX, SHAPE_COMBOBOX, SHAPE_CURVE, SHAPE_EMBEDDED_OBJECT, SHAPE_FILECHOOSER, SHAPE_GROUP, SHAPE_IMAGE, SHAPE_LINE, SHAPE_LISTBOX, SHAPE_OVAL, SHAPE_PIXEL, SHAPE_POLYLINE, SHAPE_PROGRESSBAR, SHAPE_RADIOBUTTONS, SHAPE_RECTANGLE, SHAPE_ROUNDED_RECTANGLE, SHAPE_SLIDER, SHAPE_TEXT, SHAPE_TEXTFIELD
 
Constructor Summary
ExperimentParamVariation()
           
ExperimentParamVariation(boolean allowParallelEvaluations)
          Same as ExperimentParamVariation() but allows to disable parallel evaluations on multicore/multiprocessor systems (which are enabled by default)
 
Method Summary
 int[] calculateRangeParameterValuesNumbers()
          This method should be overridden in experiments which work with parameters varied in range
This method will be called only one time
 boolean evaluateStopConditions(ROOT root)
          User's extention point for experiment stop conditions
By default returns false
 int getCurrentIteration()
          Returns the current iteration number (1, 2...)
 int getCurrentReplication()
          Returns the replication number for the current iteration (1, 2...)
 Engine getEngine()
          It is strongly recommended not to call this method because of possible parallel execution environment.
 int getMaximumIterations()
          Returns total number of iterations being performed in this experiment
Default implementation works with range varied parameters
Override in subclass if experiment uses free-form parameters
 java.lang.Object getMutexRead_xjal()
           
 java.lang.Object getMutexWrite_xjal()
           
 int getNumberOfCompletedIterations()
          Returns the number of completed iterations.
 int getParallelEvaluatorsCount()
          Returns the number of parallel evaluators used in this experiment.
 double getProgress()
          Returns the progress of the experiment: a number between 0 and 1 corresponding to the part of the experiment completed so far (based on iteration count or time limit), or -1 if this cannot be calculated.
 int getRangeParametersNumber()
          This method should be overridden to return the number of parameters varied in range in the corresponding experiments
 int getRunCount()
          Returns the number of the current simulation run, more precisely the number of times the model was destroyed.
 double getRunTimeSeconds()
          Returns the real duration of the experiment in seconds.
 double[] getSimulationProgress_xjal(double[] output)
          This method is not designed to be called by user and may be changed/removed in the future releases.
 int getState()
          Returns the current state of the experiment.
 long getStep()
          Returns the number of events executed by the engine.
 double getValueForConfidenceComputation(ROOT root)
          Returns the value used in confidence computation when experiment uses replications and variable replications number is used
Must be implemented in a subclass in such experiments.
 boolean isLastReplication()
          Return true if we have run the last replication for the current iteration
 boolean isUseReplications()
          Returns true if experiment uses replications
 void onAfterIteration()
          User's extension point for after iteration code
By default does nothing
 void pause()
          Pauses the model execution.
 void registerPresentation_xjal(Presentation presentation)
          This method isn't designed to be called by user.
 void run()
          Runs the model from the current state.
 void setFixedReplicationsNumber(int replicationsNumber)
          Sets experiment to use a fixed number of replications.
 void setupRangeVariedParameter(ROOT root, int paramIndex, int valueIndex, boolean callOnChangeActions)
          This method should be overridden in experiments which work with parameters varied in range
 void setupRootParameters(ROOT root, int index, boolean callOnChangeActions)
          Setups all parameters of root object
Default implementation works only with range varied parameters
Override in subclass if experiment uses freeform parameters or uses range varied parameters and has fixed parameters, in this case overridden method should call super.setupRootParameters(root, index); and then setup values for fixed parameters
 void setUseReplications(boolean useReplications)
          Sets experiment to use replications

This is setup method, user should not call it
 void setVariableReplicationsNumber(int minimumReplications, int maximumReplications, int confidenceLevel)
          Deprecated. This method is deprecated.
Use setVariableReplicationsNumber(int, int, int, double) instead
 void setVariableReplicationsNumber(int minimumReplications, int maximumReplications, int confidenceLevel, double errorPercent)
          Sets experiment to stop replications after the minimum replications when the confidence level is reached (i.e. mean confidence is within the given percentage errorPercent of the value obtained at the last replication) maximum replications number is reached For fixed number of replications use setFixedReplicationsNumber(int)

This is optimization setup method, user should not call it
 void step()
          Performs one step of the model execution.
 void stop()
          Terminates the model execution, destroys and forgets the model and calls garbage collector, but keeps all experiment data.
 
Methods inherited from class com.xj.anylogic.engine.Experiment
close, createRoot, error, getCommandLineArguments, getName, getPresentation, getSnapshotFileName, getWindowHeight, getWindowWidth, initDefaultRandomNumberGenerator, isCommandEnabled, isLoadRootFromSnapshot, onBeforeSimulationRun, onDestroy_xjal, onDestroy, onEngineFinished, onError, reset, setCommandLineArguments_xjal, setLoadRootFromSnapshot, setName, setup, setupEngine
 
Methods inherited from class com.xj.anylogic.engine.Utilities
bernoulli, bernoulli, beta, beta, beta, beta, beta, binomial, binomial, binomial, binomial, binomial, briefInfoOn, cauchy, cauchy, cauchy, chi2, chi2, chi2, copyToClipboard, createURL_xjal, date, dateToTime, day, difference, difference, differenceInDateUnits, differenceInDateUnits, dropTime, erlang, erlang, erlang, error, exponential, exponential, exponential, exponential, exponential, exponential, format, format, format, format, format, format, formatDayOfWeek, formatGeoHeading, formatLatitude, formatLongitude, formatMonth, formatTimeInterval, gamma_frac, gamma, gamma, gamma, gamma, gamma, gammaLog, geometric, geometric, getAmPm, getAmPm, getDayOfMonth, getDayOfMonth, getDayOfWeek, getDayOfWeek, getDayOfYear, getDefaultRandomGenerator, getDistance, getDistance, getDistanceFromPointToLine, getDistanceFromPointToLineSq, getDistanceFromPointToSegment, getDistanceFromPointToSegmentSq, getDistanceSq, getDistanceSq, getHour, getHour, getHourOfDay, getHourOfDay, getLength, getLength, getMillisecond, getMillisecond, getMinute, getMinute, getMonth, getMonth, getRandom, getRandom, getSecond, getSecond, getTime, getYear, getYear, gumbel1, gumbel1, gumbel2, gumbel2, hour, hypergeometric, hypergeometric, inspectOf, isLineIntersectingLine, isLineIntersectingRectangle, isPointInsideRectangle, isPointOnTheSameLine, laplace, laplace, limit, limitMax, limitMin, logarithmic, logarithmic, logistic, logistic, lognormal, lognormal, millisecond, minute, negativeBinomial, negativeBinomial, negativeBinomial, negativeBinomial, normal, normal, normal, normal, normal, normal, pareto, pareto, pareto, pert, pert, poisson, poisson, poisson, poisson, prepareBeforeExperimentStart_xjal, pulse, pulseTrain, quantum, ramp, randomFalse, randomFalse, randomTrue, randomTrue, rayleigh, rayleigh, rayleigh, second, setDefaultRandomGenerator, sqr, step, time, timeToDate, toDate, toDateInMillis, toLatitude, toLongitude, toTimeout, trace, traceln, traceln, traceln, triangular, triangular, triangular, triangular, triangular, uniform_discr, uniform_discr, uniform_discr, uniform_pos, uniform_pos, uniform, uniform, uniform, uniform, uniform, week, weibull, weibull, weibull, weibull, weibull, xidz, zidz
 
Methods inherited from class com.xj.anylogic.engine.Presentable
contains, drawCollection, drawDatabase, drawDataset, drawExcelFile, drawFunction, drawHistogram2DData, drawHistogramData, drawInsert, drawKeyValueTable, drawModel, drawModelElements, drawPlainVariable, drawPresentation, drawQuery, drawSchedule, drawShape, drawStatistics, drawTableFunction, drawTextFile, drawUpdate, executeShapeControlAction, executeShapeControlAction, executeShapeControlAction, executeShapeControlAction, executeShapeControlAction, executeShapeControlAction, finishReadObject_xjal, getExperiment, getNameOfShape, getPersistentShape, getShapeArcAngle, getShapeArcAngle, getShapeArcStartAngle, getShapeArcStartAngle, getShapeCADCustomLayerColors, getShapeCADDrawingAttributes, getShapeCADDrawingAttributes, getShapeCADFileName, getShapeCADFileName, getShapeCADVisibleLayerNames, getShapeChartColorFromDouble, getShapeChartDataColors, getShapeChartDataItems, getShapeChartDataPlotOptions, getShapeChartDataSets, getShapeChartDataTitles, getShapeChartHistogram2DOptions, getShapeChartHistogramOptions, getShapeChartHistograms, getShapeChartHistograms2D, getShapeChartProperties, getShapeControl, getShapeControl, getShapeControlDefaultValueBoolean, getShapeControlDefaultValueBoolean, getShapeControlDefaultValueDouble, getShapeControlDefaultValueDouble, getShapeControlDefaultValueInt, getShapeControlDefaultValueInt, getShapeControlDefaultValueString, getShapeControlDefaultValueString, getShapeControlManager, getShapeControlMaximum, getShapeControlMaximum, getShapeControlMinimum, getShapeControlMinimum, getShapeControlMultipleSelectionMode, getShapeControlMultipleSelectionMode, getShapeControlProgressString, getShapeControlProgressString, getShapeControlTexts, getShapeControlTexts, getShapeControlTexts2D, getShapeControlTexts2D, getShapeControlType, getShapeControlType, getShapeControlValueType, getShapeControlValueType, getShapeEmbeddedObject, getShapeEmbeddedObject, getShapeFillColor, getShapeFillColor, getShapeFont, getShapeFont, getShapeGroupContent, getShapeHeight, getShapeHeight, getShapeImageFileNames, getShapeImageFileNames, getShapeImageNumber, getShapeImageNumber, getShapeLineColor, getShapeLineColor, getShapeLineDx, getShapeLineDx, getShapeLineDy, getShapeLineDy, getShapeLineStyle, getShapeLineStyle, getShapeLineWidth, getShapeLineWidth, getShapeNPoints, getShapeNPoints, getShapePackagePrefix, getShapePointsDx, getShapePointsDx, getShapePointsDy, getShapePointsDy, getShapeRadiusX, getShapeRadiusX, getShapeRadiusY, getShapeRadiusY, getShapeReplication, getShapeRotation, getShapeRotation, getShapeScaleX, getShapeScaleX, getShapeScaleY, getShapeScaleY, getShapeText, getShapeText, getShapeTextAlignment, getShapeTextAlignment, getShapeType, getShapeWidth, getShapeWidth, getShapeX, getShapeX, getShapeY, getShapeY, getViewAreas, iconContains, isShapeCADNegative, isShapeCADNegative, isShapeClosed, isShapeClosed, isShapeControlEnabled, isShapeControlEnabled, isShapeControlVertical, isShapeControlVertical, isShapePublic, isShapeVisible, isShapeWithManualControlPoints, isShapeWithManualControlPoints, modelElementContains, modelElementContains, onClickIconAt, onClickModelAt, onClickPresentationAt, onItemRemoved, onSelectionChanged, onShapeClick, onShapeClickAt, onShapeGroupDraw, presentationContains, readCustomData, setControlValueToDefault, setControlValueToDefault, writeCustomData
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CONFIDENCE_LEVEL_80

public static final int CONFIDENCE_LEVEL_80
Confidence level constant 80%

See Also:
setVariableReplicationsNumber(int, int, int, double), Constant Field Values

CONFIDENCE_LEVEL_90

public static final int CONFIDENCE_LEVEL_90
Confidence level constant 90%

See Also:
setVariableReplicationsNumber(int, int, int, double), Constant Field Values

CONFIDENCE_LEVEL_95

public static final int CONFIDENCE_LEVEL_95
Confidence level constant 95%

See Also:
setVariableReplicationsNumber(int, int, int, double), Constant Field Values

CONFIDENCE_LEVEL_98

public static final int CONFIDENCE_LEVEL_98
Confidence level constant 98%

See Also:
setVariableReplicationsNumber(int, int, int, double), Constant Field Values

CONFIDENCE_LEVEL_99

public static final int CONFIDENCE_LEVEL_99
Confidence level constant 99%

See Also:
setVariableReplicationsNumber(int, int, int, double), Constant Field Values

CONFIDENCE_LEVEL_99_9

public static final int CONFIDENCE_LEVEL_99_9
Confidence level constant 99.9%

See Also:
setVariableReplicationsNumber(int, int, int, double), Constant Field Values
Constructor Detail

ExperimentParamVariation

public ExperimentParamVariation()

ExperimentParamVariation

public ExperimentParamVariation(boolean allowParallelEvaluations)
Same as ExperimentParamVariation() but allows to disable parallel evaluations on multicore/multiprocessor systems (which are enabled by default)

Parameters:
allowParallelEvaluations - if false, the iterations/replications of experiment will be performed sequentially
See Also:
getParallelEvaluatorsCount()
Method Detail

getProgress

public final double getProgress()
Returns the progress of the experiment: a number between 0 and 1 corresponding to the part of the experiment completed so far (based on iteration count or time limit), or -1 if this cannot be calculated.

Returns:
the progress of the experiment

getCurrentIteration

public int getCurrentIteration()
Returns the current iteration number (1, 2...)

Returns:
the current iteration number

getNumberOfCompletedIterations

public int getNumberOfCompletedIterations()
Returns the number of completed iterations. Use this method to track the progress in preference to the getCurrentIteration() because of parallel (multi-threaded) implementation.

Returns:
the number of completed iterations

getCurrentReplication

public int getCurrentReplication()
Returns the replication number for the current iteration (1, 2...)
Ensure replications are used (isUseReplications()) before calling this method

Returns:
the current number of replication

isUseReplications

public final boolean isUseReplications()
Returns true if experiment uses replications

Returns:
true if experiment uses replications, false otherwise

setUseReplications

public void setUseReplications(boolean useReplications)
Sets experiment to use replications

This is setup method, user should not call it

See Also:
setFixedReplicationsNumber(int), setVariableReplicationsNumber(int, int, int, double)

setFixedReplicationsNumber

public void setFixedReplicationsNumber(int replicationsNumber)
Sets experiment to use a fixed number of replications.
No confidence testing is to be used
For confidence testing use setVariableReplicationsNumber(int, int, int, double)

This is setup method, user should not call it

Parameters:
replicationsNumber - the number of replications to be run
See Also:
setUseReplications(boolean)

setVariableReplicationsNumber

public void setVariableReplicationsNumber(int minimumReplications,
                                          int maximumReplications,
                                          int confidenceLevel,
                                          double errorPercent)
Sets experiment to stop replications after the minimum replications when For fixed number of replications use setFixedReplicationsNumber(int)

This is optimization setup method, user should not call it

Parameters:
minimumReplications - minimum number of replications
maximumReplications - minimum number of replications
confidenceLevel - one of
errorPercent - the error percentage as a value > 0 and < 1.
See Also:
setUseReplications(boolean)

isLastReplication

public final boolean isLastReplication()
Return true if we have run the last replication for the current iteration

Returns:
true if this is the last replication of the iteration

evaluateStopConditions

public boolean evaluateStopConditions(ROOT root)
User's extention point for experiment stop conditions
By default returns false

Returns:
true if experiment needs to be terminated after current iteration/replication

getRangeParametersNumber

public int getRangeParametersNumber()
This method should be overridden to return the number of parameters varied in range in the corresponding experiments

Returns:
the number of parameters varied in range

setupRangeVariedParameter

public void setupRangeVariedParameter(ROOT root,
                                      int paramIndex,
                                      int valueIndex,
                                      boolean callOnChangeActions)
This method should be overridden in experiments which work with parameters varied in range

Parameters:
root - root ActiveObject whose parameter value is being setup
paramIndex - index of parameter (from 0 to getRangeParametersNumber())
valueIndex - index of parameter value (from 0 to getRangeParameterValuesNumber(paramIndex) - 1)
callOnChangeActions - if true this method should use set_* methods of root to setup parameters, otherwise parameter values should be simply assigned to the fields of root

getMaximumIterations

public int getMaximumIterations()
Returns total number of iterations being performed in this experiment
Default implementation works with range varied parameters
Override in subclass if experiment uses free-form parameters

Returns:
total number of iterations being performed in this experiment

setupRootParameters

public void setupRootParameters(ROOT root,
                                int index,
                                boolean callOnChangeActions)
Setups all parameters of root object
Default implementation works only with range varied parameters
Override in subclass if experiment

Parameters:
root - root ActiveObject whose parameters are being setup
index - iteration number (0-based)
callOnChangeActions - if true this method should use set_* methods of root to setup parameters, otherwise parameter values should be simply assigned to the fields of root

getValueForConfidenceComputation

public double getValueForConfidenceComputation(ROOT root)
Returns the value used in confidence computation when experiment uses replications and variable replications number is used
Must be implemented in a subclass in such experiments.

Parameters:
root - the root active object
Returns:
the value used in confidence computation

calculateRangeParameterValuesNumbers

public int[] calculateRangeParameterValuesNumbers()
This method should be overridden in experiments which work with parameters varied in range
This method will be called only one time

Returns:
array with dimensions of parameters values ranges

getEngine

public final Engine getEngine()
It is strongly recommended not to call this method because of possible parallel execution environment. Use root.getEngine() instead. Although, the method will most likely return the expected engine, this could be conceptually better to get engine by using root.getEngine() where root - is the root (main) active object class.

Returns:
the engine executing the model. There may be different engines running at a time - in parallel - in this case the returned engine depends on the context (where this method is called from).

getStep

public long getStep()
Description copied from class: Experiment
Returns the number of events executed by the engine.

Overrides:
getStep in class Experiment<ROOT extends ActiveObject>
Returns:
the number of events executed

getSimulationProgress_xjal

public double[] getSimulationProgress_xjal(double[] output)
This method is not designed to be called by user and may be changed/removed in the future releases.
Returns the progress of the parallel simulation runs: an array of numbers between 0 and 1. The length of the array is the number of parallel processors. Progress is the part of model time simulated so far in case the stop time is set, or -1 if it is not set.

Parameters:
output - will be used for output if its length matches the number of processors, otherwise new array will be created and returned
Returns:
the progress of the parallel simulation runs.
See Also:
Engine.getProgress()

getRunCount

public final int getRunCount()
Description copied from class: Experiment
Returns the number of the current simulation run, more precisely the number of times the model was destroyed.

Overrides:
getRunCount in class Experiment<ROOT extends ActiveObject>
Returns:
the number of the current simulation run, more precisely the number of times the model was destroyed.

setVariableReplicationsNumber

@Deprecated
public void setVariableReplicationsNumber(int minimumReplications,
                                                     int maximumReplications,
                                                     int confidenceLevel)
Deprecated. This method is deprecated.
Use setVariableReplicationsNumber(int, int, int, double) instead

Sets experiment to stop replications after the minimum replications when the confidence level is reached


onAfterIteration

public void onAfterIteration()
User's extension point for after iteration code
By default does nothing


getMutexRead_xjal

public java.lang.Object getMutexRead_xjal()
Overrides:
getMutexRead_xjal in class Experiment<ROOT extends ActiveObject>

getMutexWrite_xjal

public java.lang.Object getMutexWrite_xjal()
Overrides:
getMutexWrite_xjal in class Experiment<ROOT extends ActiveObject>

registerPresentation_xjal

public void registerPresentation_xjal(Presentation presentation)
Description copied from class: Experiment
This method isn't designed to be called by user.
Public due to technical reasons
May be removed in future releases


getParallelEvaluatorsCount

public int getParallelEvaluatorsCount()
Returns the number of parallel evaluators used in this experiment. On multicore/multiprocessor systems this number may be greater than one - for improved performance.

Returns:
the number of parallel evaluators used in this experiment

getState

public final int getState()
Returns the current state of the experiment. Possible states are: IDLE, RUNNING, PAUSED, FINISHED, ERROR, and PLEASE_WAIT

Specified by:
getState in class Experiment<ROOT extends ActiveObject>
Returns:
the current state of the experiment

getRunTimeSeconds

public final double getRunTimeSeconds()
Returns the real duration of the experiment in seconds.
This includes simulation run time and excludes pause times.

Specified by:
getRunTimeSeconds in class Experiment<ROOT extends ActiveObject>
Returns:
the real duration of the experiment in seconds

run

public final void run()
Runs the model from the current state. If model is not yet existing, resets the experiment, creates and starts the model.

Specified by:
run in class Experiment<ROOT extends ActiveObject>

step

public final void step()
Performs one step of the model execution. If model is not yet existing, resets the experiment, creates and starts the model (not making a step).

Specified by:
step in class Experiment<ROOT extends ActiveObject>

pause

public final void pause()
Pauses the model execution.
This method has different behavior depending on context where it is called:

Specified by:
pause in class Experiment<ROOT extends ActiveObject>

stop

public final void stop()
Terminates the model execution, destroys and forgets the model and calls garbage collector, but keeps all experiment data.
This method has different behavior depending on context where it is called:

Specified by:
stop in class Experiment<ROOT extends ActiveObject>


Copyright © 1991-2008 XJ Technlogies. All Rights Reserved.