edu.memphis.ccrg.lida.pam.tasks
Class ExcitationTask

java.lang.Object
  extended by edu.memphis.ccrg.lida.framework.initialization.InitializableImpl
      extended by edu.memphis.ccrg.lida.framework.shared.activation.ActivatibleImpl
          extended by edu.memphis.ccrg.lida.framework.shared.activation.LearnableImpl
              extended by edu.memphis.ccrg.lida.framework.tasks.FrameworkTaskImpl
                  extended by edu.memphis.ccrg.lida.pam.tasks.ExcitationTask
All Implemented Interfaces:
FullyInitializable, Initializable, Activatible, Learnable, FrameworkTask, java.util.concurrent.Callable<FrameworkTask>

public class ExcitationTask
extends FrameworkTaskImpl

A task which performs the excitation of a single PamNode.

Author:
Ryan J. McCall
See Also:
PerceptualAssociativeMemory.receiveExcitation(PamLinkable, double)

Field Summary
 
Fields inherited from class edu.memphis.ccrg.lida.framework.tasks.FrameworkTaskImpl
status
 
Fields inherited from interface edu.memphis.ccrg.lida.framework.shared.activation.Learnable
DEFAULT_BASE_LEVEL_ACTIVATION, DEFAULT_LEARNABLE_REMOVAL_THRESHOLD
 
Fields inherited from interface edu.memphis.ccrg.lida.framework.shared.activation.Activatible
DEFAULT_ACTIVATIBLE_REMOVAL_THRESHOLD, DEFAULT_ACTIVATION
 
Constructor Summary
ExcitationTask(int ticksPerRun, PamNode n, double excitation, PerceptualAssociativeMemory pam)
          Instantiates a new excitation task to excite supplied PamNode specified amount.
 
Method Summary
protected  void runThisFrameworkTask()
          This method first excites the PamNode, if this puts the PamNode over the percept threshold it creates an AddNodeToPerceptTask to add it to the percept.
 
Methods inherited from class edu.memphis.ccrg.lida.framework.tasks.FrameworkTaskImpl
call, cancel, equals, getControllingTaskSpawner, getNextTicksPerRun, getScheduledTick, getTaskId, getTaskStatus, getTicksPerRun, hashCode, setAssociatedModule, setControllingTaskSpawner, setNextTicksPerRun, setScheduledTick, setTaskStatus, setTicksPerRun, stopRunning, toString
 
Methods inherited from class edu.memphis.ccrg.lida.framework.shared.activation.LearnableImpl
decay, decayBaseLevelActivation, getBaseLevelActivation, getBaseLevelDecayStrategy, getBaseLevelExciteStrategy, getLearnableRemovalThreshold, getTotalActivation, getTotalActivationStrategy, init, isRemovable, reinforceBaseLevelActivation, setBaseLevelActivation, setBaseLevelDecayStrategy, setBaseLevelExciteStrategy, setBaseLevelRemovalThreshold, setTotalActivationStrategy
 
Methods inherited from class edu.memphis.ccrg.lida.framework.shared.activation.ActivatibleImpl
excite, getActivatibleRemovalThreshold, getActivation, getDecayStrategy, getExciteStrategy, setActivatibleRemovalThreshold, setActivation, setDecayStrategy, setExciteStrategy
 
Methods inherited from class edu.memphis.ccrg.lida.framework.initialization.InitializableImpl
containsParameter, getParam, getParameters, init
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface edu.memphis.ccrg.lida.framework.shared.activation.Learnable
decayBaseLevelActivation, getBaseLevelActivation, getBaseLevelDecayStrategy, getBaseLevelExciteStrategy, getLearnableRemovalThreshold, getTotalActivationStrategy, reinforceBaseLevelActivation, setBaseLevelActivation, setBaseLevelDecayStrategy, setBaseLevelExciteStrategy, setBaseLevelRemovalThreshold, setTotalActivationStrategy
 
Methods inherited from interface edu.memphis.ccrg.lida.framework.shared.activation.Activatible
decay, excite, getActivatibleRemovalThreshold, getActivation, getDecayStrategy, getExciteStrategy, getTotalActivation, isRemovable, setActivatibleRemovalThreshold, setActivation, setDecayStrategy, setExciteStrategy
 
Methods inherited from interface edu.memphis.ccrg.lida.framework.initialization.Initializable
containsParameter, getParam, getParameters, init, init
 

Constructor Detail

ExcitationTask

public ExcitationTask(int ticksPerRun,
                      PamNode n,
                      double excitation,
                      PerceptualAssociativeMemory pam)
Instantiates a new excitation task to excite supplied PamNode specified amount.

Parameters:
ticksPerRun - the ticks per run
n - to be excited
excitation - amount to excite
pam - PerceptualAssociativeMemory module
Method Detail

runThisFrameworkTask

protected void runThisFrameworkTask()
This method first excites the PamNode, if this puts the PamNode over the percept threshold it creates an AddNodeToPerceptTask to add it to the percept. In either case it calls PerceptualAssociativeMemory.propagateActivationToParents(PamNode) to pass the node's activation, then the tasks finishes.

Specified by:
runThisFrameworkTask in class FrameworkTaskImpl