neuroidnet.ntr
Class AxonArbor

java.lang.Object
  |
  +--java.util.AbstractCollection
        |
        +--java.util.AbstractList
              |
              +--java.util.Vector
                    |
                    +--neuroidnet.ntr.AxonArbor
All Implemented Interfaces:
Cloneable, Collection, Input, List, RandomAccess, Serializable

public class AxonArbor
extends Vector
implements Input

Contains all outgoing synapses of a Neuroid that end up in a particular Area with a similar Synapse template. The main reason for this is for efficient communications in distributed environments.

TODO:

Created: Thu Mar 8 16:43:37 2001

Version:
$Revision: 1.9 $
Author:
Cengiz Gunay
See Also:
Serialized Form

Field Summary
(package private)  Area destArea
          Describe variable destNeuroid here.
(package private)  Synapse destSynapseTemplate
          Template to create all synapses of this AxonArbor.
(package private)  Neuroid srcNeuroid
          Axon's owner neuroid.
 
Fields inherited from class java.util.Vector
capacityIncrement, elementCount, elementData
 
Fields inherited from class java.util.AbstractList
modCount
 
Constructor Summary
AxonArbor(Synapse destSynapseTemplate, Neuroid srcNeuroid, Area destArea)
          Constructor.
AxonArbor(Synapse destSynapseTemplate, Neuroid srcNeuroid, Area destArea, int initialCapacity)
          Specifies initial capacity for the Vector holding the synapses.
 
Method Summary
 void addNeuroid(Neuroid destNeuroid)
          Adds a postsynaptic neuroid to the AxonArbor.
 void addRandomSynapse()
          Creates a new synapse connected to a random member of the Area.
 void addSynapse(Synapse synapse)
          Adds a synapse to list of synapses only if it doesn't already exist.
 void fire()
          Spikes are received at contained synapses.
 Synapse getDestSynapseTemplate()
          Get the value of destSynapseTemplate.
private  void init(Synapse destSynapseTemplate, Neuroid srcNeuroid, Area destArea)
          Called from all constructors.
 void setDestSynapseTemplate(Synapse v)
          Set the value of destSynapseTemplate.
 
Methods inherited from class java.util.Vector
add, add, addAll, addAll, addElement, capacity, clear, clone, contains, containsAll, copyInto, elementAt, elements, ensureCapacity, equals, firstElement, get, hashCode, indexOf, indexOf, insertElementAt, isEmpty, lastElement, lastIndexOf, lastIndexOf, remove, remove, removeAll, removeAllElements, removeElement, removeElementAt, removeRange, retainAll, set, setElementAt, setSize, size, subList, toArray, toArray, toString, trimToSize
 
Methods inherited from class java.util.AbstractList
iterator, listIterator, listIterator
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.List
iterator, listIterator, listIterator
 

Field Detail

srcNeuroid

Neuroid srcNeuroid
Axon's owner neuroid.

See Also:
Neuroid

destArea

Area destArea
Describe variable destNeuroid here.


destSynapseTemplate

Synapse destSynapseTemplate
Template to create all synapses of this AxonArbor.

Constructor Detail

AxonArbor

public AxonArbor(Synapse destSynapseTemplate,
                 Neuroid srcNeuroid,
                 Area destArea)
Constructor. Calls init().

Parameters:
destSynapseTemplate - Template to use when creating a synapse.
srcNeuroid - from which Neuroid the AxonArbor is emanating.
destArea - to which it is projecting.
See Also:
init(neuroidnet.ntr.Synapse, neuroidnet.ntr.Neuroid, neuroidnet.ntr.Area), addNeuroid(neuroidnet.ntr.Neuroid), addRandomSynapse()

AxonArbor

public AxonArbor(Synapse destSynapseTemplate,
                 Neuroid srcNeuroid,
                 Area destArea,
                 int initialCapacity)
Specifies initial capacity for the Vector holding the synapses. Calls init().

Parameters:
destSynapseTemplate - a Synapse value
initialCapacity - an int value
destArea - to which it is projecting.
See Also:
Vector, init(neuroidnet.ntr.Synapse, neuroidnet.ntr.Neuroid, neuroidnet.ntr.Area), addNeuroid(neuroidnet.ntr.Neuroid), addRandomSynapse()
Method Detail

getDestSynapseTemplate

public Synapse getDestSynapseTemplate()
Get the value of destSynapseTemplate.

Returns:
value of destSynapseTemplate.

setDestSynapseTemplate

public void setDestSynapseTemplate(Synapse v)
Set the value of destSynapseTemplate.

Parameters:
v - Value to assign to destSynapseTemplate.

init

private final void init(Synapse destSynapseTemplate,
                        Neuroid srcNeuroid,
                        Area destArea)
Called from all constructors. Cannot be overridden or override another. Attaches the AxonArbor to the srcNeuroid.

Parameters:
destSynapseTemplate - a Synapse value
srcNeuroid - a Neuroid value
destArea - an Area value

addSynapse

public void addSynapse(Synapse synapse)
                throws ResynapseException
Adds a synapse to list of synapses only if it doesn't already exist.

Parameters:
synapse - a Synapse value
Throws:
ResynapseException - if the synapse is already in arbor.

addRandomSynapse

public void addRandomSynapse()
                      throws ResynapseException
Creates a new synapse connected to a random member of the Area.

ResynapseException
See Also:
Area.getRandomNeuroid()

addNeuroid

public void addNeuroid(Neuroid destNeuroid)
                throws ResynapseException,
                       RuntimeException
Adds a postsynaptic neuroid to the AxonArbor. Uses the template synapse of this object to create a Synapse with predefined characteristics.

Parameters:
destNeuroid - the Neuroid to add
Throws:
ResynapseException - (from addSynapse)
RuntimeException - if destNeuroid is not part of destArea.
See Also:
addSynapse(neuroidnet.ntr.Synapse), addNeuroid(neuroidnet.ntr.Neuroid), destSynapseTemplate

fire

public void fire()
Spikes are received at contained synapses.

Specified by:
fire in interface Input
See Also:
Neuroid.fire()