Nengo.ca

ca.nengo.model.plasticity.impl
Class STDPTermination

java.lang.Object
  extended by ca.nengo.model.impl.EnsembleTermination
      extended by ca.nengo.model.plasticity.impl.PlasticEnsembleTermination
          extended by ca.nengo.model.plasticity.impl.STDPTermination
All Implemented Interfaces:
Resettable, Termination, java.io.Serializable, java.lang.Cloneable

public class STDPTermination
extends PlasticEnsembleTermination

A PlasticTermination implementing a PlasticityRule that accepts spiking input.

Spiking input must be dealt with in order to run learning rules in a spiking SimulationMode. Spiking input is also the only way to simulate spike-timing-dependent plasticity.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class ca.nengo.model.plasticity.impl.PlasticEnsembleTermination
myLearning, myLearningRate, myOriginName, myOutput
 
Constructor Summary
STDPTermination(Node node, java.lang.String name, LinearExponentialTermination[] nodeTerminations)
           
 
Method Summary
 PlasticEnsembleTermination clone()
           
 void reset(boolean randomize)
           
 void setOriginState(java.lang.String name, InstantaneousOutput state, float time)
           
 void updateTransform(float time, int start, int end)
           
 
Methods inherited from class ca.nengo.model.plasticity.impl.PlasticEnsembleTermination
clone, getInput, getLearning, getLearningRate, getOriginName, getOutputs, getTransform, saveTransform, setLearning, setLearningRate, setOriginName, setTransform
 
Methods inherited from class ca.nengo.model.impl.EnsembleTermination
getDimensions, getModulatory, getName, getNode, getNodeTerminations, getTau, setModulatory, setTau, setValues
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

STDPTermination

public STDPTermination(Node node,
                       java.lang.String name,
                       LinearExponentialTermination[] nodeTerminations)
                throws StructuralException
Parameters:
node - The parent Node
name - Name of this Termination
nodeTerminations - Node-level Terminations that make up this Termination. Must be all LinearExponentialTerminations
Throws:
StructuralException - If dimensions of different terminations are not all the same
Method Detail

setOriginState

public void setOriginState(java.lang.String name,
                           InstantaneousOutput state,
                           float time)
                    throws StructuralException
Overrides:
setOriginState in class PlasticEnsembleTermination
Parameters:
name - Name of Origin from which postsynaptic activity is drawn
state - State of named origin
time - Current time
Throws:
StructuralException - if Origin is not set

reset

public void reset(boolean randomize)
Specified by:
reset in interface Resettable
Overrides:
reset in class PlasticEnsembleTermination
Parameters:
randomize - True indicates that the object should be reset to a randomly selected initial state (the object must be aware of the distribution from which to draw from). False indicates that the object should be reset to a fixed initial state (which it must also know). Some objects may not support randomization of the initial state, in which case a fixed state will be used in either case.
See Also:
Resettable.reset(boolean)

updateTransform

public void updateTransform(float time,
                            int start,
                            int end)
                     throws StructuralException
Specified by:
updateTransform in class PlasticEnsembleTermination
Parameters:
time - Current time
start - The start index of the range of transform values to update (for multithreading)
end - The end index of the range of transform values to update (for multithreading)
Throws:
StructuralException - if

clone

public PlasticEnsembleTermination clone()
                                 throws java.lang.CloneNotSupportedException
Specified by:
clone in interface Termination
Overrides:
clone in class EnsembleTermination
Returns:
Valid clone
Throws:
java.lang.CloneNotSupportedException - if clone can't be made

Nengo.ca