clarion.system
Class ACSLevelProbabilitySettingModule

java.lang.Object
  extended by clarion.system.ACSLevelProbabilitySettingModule

public class ACSLevelProbabilitySettingModule
extends java.lang.Object

This class implements an ACS level probability setting module within CLARION.

Usage:

This module can be optionally added to the MCS if the user wishes to have the MCS provide a probability measure to the ACS to influence level selection. This module uses an implicit module to determine the probability measure. The user can decide, during initialization, the implicit module they wish to use.

Note that the level probability setting implicit module MUST have an output chunk that has an ID that specifies which level probabilities are to be set. The ID must be either "TL" (for top level probability) or "BL" (for bottom level probability).

If this module is initialized without specifying an implicit module to use, the ACSLevelProbabilitySettingEquation will be used.

Version:
6.0.4
Author:
Nick Wilson

Field Summary
private  AbstractImplicitModule LevelProbabilitySettingImplicitModule
          The implicit module used for level probability setting.
 
Constructor Summary
ACSLevelProbabilitySettingModule(AbstractImplicitModule im)
          Initializes the ACS level probability setting module given the implicit module specified.
ACSLevelProbabilitySettingModule(java.util.Collection<DriveStrength> AffiliatedDrives)
          Initializes the ACS level probability setting module using the ACS level probability setting equation.
 
Method Summary
 double getBottomLevelProbability(DriveStrengthCollection DriveStrengths)
          Gets the probability of using the bottom level of the ACS given the drive strengths specified.
 AbstractImplicitModule getImplicitModule()
          Gets the implicit module used by this module.
 double getTopLevelProbability(DriveStrengthCollection DriveStrengths)
          Gets the probability of using the top level of the ACS given the drive strengths specified.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LevelProbabilitySettingImplicitModule

private AbstractImplicitModule LevelProbabilitySettingImplicitModule
The implicit module used for level probability setting.

Constructor Detail

ACSLevelProbabilitySettingModule

public ACSLevelProbabilitySettingModule(java.util.Collection<DriveStrength> AffiliatedDrives)
Initializes the ACS level probability setting module using the ACS level probability setting equation.

Parameters:
AffiliatedDrives - The drives affiliated with ACS level selection probability setting.

ACSLevelProbabilitySettingModule

public ACSLevelProbabilitySettingModule(AbstractImplicitModule im)
                                 throws InvalidFormatException
Initializes the ACS level probability setting module given the implicit module specified.

The input nodes of the specified implicit module must be specified as value objects that have the same ID as the drives in the MS that you wish to use for setting ACS level probabilities.

Note that the specified level probability setting implicit module MUST have an output chunk that has an ID that specifies which level probabilities are to be set. The ID must be either "TL" (for top level probability) or "BL" (for bottom level probability). If no such output chunk(s) exist(s), this constructor throws an exception. If the specified implicit module contains more than the aforementioned output chunks in its output, those other chunks will be ignored.

Parameters:
im - The level probability setting implicit module to use.
Throws:
InvalidFormatException - If the specified implicit module does not contain an output chunk with a dimension that has an ID "TL\" and/or "BL".
Method Detail

getTopLevelProbability

public double getTopLevelProbability(DriveStrengthCollection DriveStrengths)
Gets the probability of using the top level of the ACS given the drive strengths specified.

Parameters:
DriveStrengths - The drive strengths to use for calculating the probability.
Returns:
The probability of using the top level.

getBottomLevelProbability

public double getBottomLevelProbability(DriveStrengthCollection DriveStrengths)
Gets the probability of using the bottom level of the ACS given the drive strengths specified.

Parameters:
DriveStrengths - The drive strengths to use for calculating the probability.
Returns:
The probability of using the bottom level.

getImplicitModule

public AbstractImplicitModule getImplicitModule()
Gets the implicit module used by this module. This method is primarily meant for internal purposes. It should NOT be used outside of the CLARION Library for purposes other than reporting the internal state.

Returns:
The implicit module used by this module.