ca.nengo.model
Interface Node

All Superinterfaces:
java.lang.Cloneable, Resettable, java.io.Serializable, SimulationMode.ModeConfigurable, VisiblyMutable
All Known Subinterfaces:
DecodableEnsemble, Ensemble, ExpandableNode, GolgiTendonOrgan, LinkSegmentModel, MuscleSpindle, NEFEnsemble, NEFNode, Network, Neuron, PlasticEnsemble, SkeletalMuscle
All Known Implementing Classes:
AbstractEnsemble, AbstractNode, CriticallyDampedMuscle, DecodableEnsembleImpl, EnsembleImpl, ExpandableSpikingNeuron, FunctionInput, HillMuscle, LinkSegmentModelImpl, NEFEnsembleImpl, NetworkImpl, PassthroughNode, PlasticEnsembleImpl, PyramidalNetwork, SkeletalMuscleImpl, SpikingNeuron

public interface Node
extends java.io.Serializable, Resettable, SimulationMode.ModeConfigurable, VisiblyMutable, java.lang.Cloneable

A part of a Network that can be run independently (eg a Neuron). Normally a source of Origins and/or Terminations.

Author:
Bryan Tripp

Nested Class Summary
 
Nested classes/interfaces inherited from interface ca.nengo.util.VisiblyMutable
VisiblyMutable.Event, VisiblyMutable.Listener, VisiblyMutable.NameChangeEvent, VisiblyMutable.NodeRemovedEvent
 
Method Summary
 Node clone()
           
 java.lang.String getDocumentation()
           
 java.lang.String getName()
           
 Origin getOrigin(java.lang.String name)
           
 Origin[] getOrigins()
           
 Termination getTermination(java.lang.String name)
           
 Termination[] getTerminations()
           
 void run(float startTime, float endTime)
          Runs the Node (including all its components), updating internal state and outputs as needed.
 void setDocumentation(java.lang.String text)
           
 void setName(java.lang.String name)
           
 
Methods inherited from interface ca.nengo.model.Resettable
reset
 
Methods inherited from interface ca.nengo.model.SimulationMode.ModeConfigurable
getMode, setMode
 
Methods inherited from interface ca.nengo.util.VisiblyMutable
addChangeListener, removeChangeListener
 

Method Detail

getName

java.lang.String getName()
Returns:
Name of Node (must be unique in a Network)

setName

void setName(java.lang.String name)
             throws StructuralException
Parameters:
name - The new name
Throws:
StructuralException

run

void run(float startTime,
         float endTime)
         throws SimulationException
Runs the Node (including all its components), updating internal state and outputs as needed. Runs should be short (eg 1ms), because inputs can not be changed during a run, and outputs will only be communicated to other Nodes after a run.

Parameters:
startTime - simulation time at which running starts (s)
endTime - simulation time at which running ends (s)
Throws:
SimulationException - if a problem is encountered while trying to run

getOrigins

Origin[] getOrigins()
Returns:
Sets of ouput channels (eg spiking outputs, gap junctional outputs, etc.)

getOrigin

Origin getOrigin(java.lang.String name)
                 throws StructuralException
Parameters:
name - Name of an Origin on this Node
Returns:
The named Origin if it exists
Throws:
StructuralException - if the named Origin does not exist

getTerminations

Termination[] getTerminations()
Returns:
Sets of input channels (these have the same dimension as corresponding Origins to which they are connected).

getTermination

Termination getTermination(java.lang.String name)
                           throws StructuralException
Parameters:
name - Name of a Termination onto this Node
Returns:
The named Termination if it exists
Throws:
StructuralException - if the named Termination does not exist

getDocumentation

java.lang.String getDocumentation()
Returns:
User-specified documentation for the Node, if any

setDocumentation

void setDocumentation(java.lang.String text)
Parameters:
text - New user-specified documentation for the Node

clone

Node clone()
           throws java.lang.CloneNotSupportedException
Returns:
An independent copy of the Node
Throws:
java.lang.CloneNotSupportedException