mosaic.sim.neuron
Class PLSynapse

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--mosaic.sim.kernel.AbstractModelComponent
                          |
                          +--mosaic.sim.kernel.BasicModel
                                |
                                +--mosaic.sim.kernel.BasicActiveModel
                                      |
                                      +--mosaic.sim.neuron.Synapse
                                            |
                                            +--mosaic.sim.neuron.PLSynapse
All Implemented Interfaces:
mosaic.sim.util.artificialidentifier.ArtificialIDOwner, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, mosaic.sim.kernel.ModelComponent, NeuronInput, java.beans.PropertyChangeListener, java.io.Serializable, mosaic.sim.kernel.simevent.SimEventComponent, mosaic.sim.kernel.simevent.SimEventListener, mosaic.sim.kernel.simevent.TimeEventComponent, mosaic.sim.kernel.simevent.TimeEventListener, mosaic.sim.kernel.variable.VariableChangeListener
Direct Known Subclasses:
ConstantPLSynapse

public abstract class PLSynapse
extends Synapse

This class represents synapses with piecewise linear response functions.

See Also:
Serialized Form

Inner classes inherited from class mosaic.sim.neuron.Synapse
Synapse.LearningMethod
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent, javax.swing.JComponent.ActionStandin, javax.swing.JComponent.IntVector, javax.swing.JComponent.KeyboardState
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.AWTTreeLock
 
Field Summary
protected  float delay
          The delay of the synapse.
protected  float weight
          The weight of the synapse, i.e. its strenght.
 
Fields inherited from class mosaic.sim.neuron.Synapse
lastEventTime, learningMethod, receiver, sender
 
Fields inherited from class mosaic.sim.kernel.BasicActiveModel
activeVar, artificialID, deltaT, initTime, selectOrder, stopped, timeEvent, timeEventListeners, tl, tn
 
Fields inherited from class mosaic.sim.kernel.BasicModel
listenerVariables, priority, simEventComponents
 
Fields inherited from class mosaic.sim.kernel.AbstractModelComponent
application, components, enabled, label, parentModelComponent, sCESupport
 
Fields inherited from class javax.swing.JComponent
_bounds, accessibleContext, actionMap, ACTIONMAP_CREATED, alignmentX, alignmentY, ANCESTOR_INPUTMAP_CREATED, ANCESTOR_USING_BUFFER, ancestorInputMap, ancestorNotifier, autoscroller, border, changeSupport, clientProperties, CREATED_DOUBLE_BUFFER, flags, FOCUS_INPUTMAP_CREATED, focusInputMap, HAS_FOCUS, htmlKey, htmlView, inputVerifier, IS_DOUBLE_BUFFERED, IS_OPAQUE, IS_PAINTING_TILE, IS_PRINTING, IS_PRINTING_ALL, KEY_EVENTS_ENABLED, KEYBOARD_BINDINGS_KEY, listenerList, maximumSize, minimumSize, NEXT_FOCUS, paintImmediatelyClip, paintingChild, preferredSize, readObjectCallbacks, REQUEST_FOCUS_DISABLED, tmpRect, TOOL_TIP_TEXT_KEY, ui, uiClassID, UNDEFINED_CONDITION, verifyInputWhenFocusTarget, vetoableChangeSupport, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW, WHEN_IN_FOCUSED_WINDOW_BINDINGS, WIF_INPUTMAP_CREATED, windowInputMap
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dbg, dispatcher, layoutMgr, listeningBoundsChildren, listeningChildren, maxSize, ncomponents, printing, printingThreads, serialVersionUID
 
Fields inherited from class java.awt.Component
actionListenerK, adjustmentListenerK, appContext, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, eventMask, focusListener, focusListenerK, font, foreground, graphicsConfig, hasFocus, height, hierarchyBoundsListener, hierarchyBoundsListenerK, hierarchyListener, hierarchyListenerK, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, metrics, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, privateKey, RIGHT_ALIGNMENT, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowClosingException, windowListenerK, x, y
 
Fields inherited from interface mosaic.sim.kernel.ModelComponent
INF, INFINITY, NEGATIVE_INFINITY, NEGINF, NEGINFINITY, POSITIVE_INFINITY
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
PLSynapse(NeuronOutput pre, Neuron post)
          Initializes the sender and receiver objects (by calling the super() constructor) and the weight and delay values with default.
PLSynapse(NeuronOutput pre, Neuron post, float weight)
          Calls the constructor with two parameters, but also allows to specify the synapse weight.
PLSynapse(NeuronOutput pre, Neuron post, float weight, float delay)
          Calls the constructor with three parameters, but also allows to specify the synapse delay.
PLSynapse(NeuronOutput pre, Neuron post, float weight, float delay, Synapse.LearningMethod learningMethod)
          Calls the constructor with four parameters, but also allows to specify the learning method.
 
Method Summary
 float getDelay()
          Gets the currently set synaptic delay.
 java.lang.Object getResponseParameters()
          This implementation of Synapse.getResponseParameters returns an object of type PLFunction, i.e. 2 one-dimensional arrays describing the piecewise linear response function of this synapse.
protected abstract  PLFunction getStandardResponse()
          getResponseParameters uses this method to retrieve the function gradients used for constructing the response object.
 float getWeight()
          Gets the currently set synaptic weight.
 void setDelay(float delay)
          Sets the synaptic delay.
 void setWeight(float weight)
          Sets the synaptic weight.
 
Methods inherited from class mosaic.sim.neuron.Synapse
clone, getLastEventTime, getReceiver, getSender, postNeuronFired, setLearningMethod, setReceiver, setSender, spikeEvent
 
Methods inherited from class mosaic.sim.kernel.BasicActiveModel
activate, activateAt, activateIn, addActiveListener, addSimEventComponent, addSimEventListener, addTimeEventComponent, addTimeEventListener, before, getArtificialID, getInitTime, getSelectOrder, getTL, getTN, initialize, isActive, isNextToFire, isPassive, isStopped, jbInit, passivate, processSimEvent, registerEvent, removeActiveListener, removeSimEventComponent, removeSimEventListener, removeTimeEventComponent, removeTimeEventListener, restart, setActive, setInitTime, setSelectOrder, setStopped, setTL, setTN, stop, triggerEvent, unregisterEvent
 
Methods inherited from class mosaic.sim.kernel.BasicModel
addListenerVariable, getListenerVariables, getNthListenerVariable, getPriority, propertyChange, removeListenerVariable, setPriority, variableChange
 
Methods inherited from class mosaic.sim.kernel.AbstractModelComponent
addModelComponent, addModelComponentEventListener, addModelComponentEventListener, addNotify, containsModelComponent, disable, enable, findParentModelComponent, fireModelComponentAdded, fireModelComponentChanged, fireModelComponentChanged, fireModelComponentDisabled, fireModelComponentEnabled, fireModelComponentGotContinuous, fireModelComponentGotDiscrete, fireModelComponentRemoved, getInfo, getLabel, getMinimumSize, getModelComponents, getParentModelComponent, getPreferredSize, getSimApplication, getTime, isDisabled, isEnabled, paintComponent, printDebugOutput, printDebugOutput, printDebugOutput, printDebugOutput, printErrorOutput, printErrorOutput, printLogOutput, printLogOutput, removeModelComponent, removeModelComponentEventListener, removeModelComponentEventListener, removeNotify, reset, setEnabled, setLabel, setParentModelComponent, setSimApplication
 
Methods inherited from class javax.swing.JComponent
_paintImmediately, , addAncestorListener, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, adjustPaintFlags, alwaysOnTop, checkIfChildObscuredBySibling, clearFocusOwners, componentInputMapChanged, computeVisibleRect, computeVisibleRect, compWriteObjectNotify, contains, createToolTip, enableSerialization, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperties, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getCreatedDoubleBuffer, getDebugGraphicsOptions, getFlag, getGraphics, getHeight, getInputMap, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getNextFocusableComponent, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getUIClassID, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paintWithBuffer, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyBindings, processKeyBindingsForAllComponents, processKeyEvent, processMouseMotionEvent, putClientProperty, readObject, rectangleIsObscured, rectangleIsObscuredBySibling, registerKeyboardAction, registerKeyboardAction, registerWithKeyboardManager, registerWithKeyboardManager, removeAncestorListener, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setCreatedDoubleBuffer, setDebugGraphicsOptions, setDoubleBuffered, setFlag, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPaintingChild, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, shouldDebugGraphics, superProcessMouseMotionEvent, unregisterKeyboardAction, unregisterWithKeyboardManager, unregisterWithKeyboardManager, update, updateUI, writeObject
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, adjustListeningChildren, applyOrientation, checkGD, countComponents, createChildHierarchyEvents, createHierarchyEvents, deliverEvent, dispatchEventImpl, dispatchEventToSelf, doLayout, eventEnabled, findComponentAt, findComponentAt, findComponentAt, getAccessibleAt, getAccessibleChild, getAccessibleChildrenCount, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getLayout, getMouseEventTarget, getWindow, initIDs, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPaint, lightweightPrint, list, list, locate, minimumSize, nextFocus, numListening, paintComponents, paintHeavyweightComponents, postProcessKeyEvent, postsOldMouseEvents, preferredSize, preProcessKeyEvent, printComponents, printHeavyweightComponents, processContainerEvent, processEvent, proxyEnableEvents, proxyRequestFocus, remove, remove, removeAll, removeContainerListener, setFocusOwner, setLayout, transferFocus, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, areInputMethodsEnabled, bounds, checkImage, checkImage, checkWindowClosingException, coalesceEvents, constructComponentName, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getAccessibleIndexInParent, getAccessibleStateSet, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen_NoTreeLock, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getToolkit, getToolkitImpl, getTreeLock, getWindowForObject, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabledImpl, isLightweight, isRecursivelyVisible, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resetGC, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 
Methods inherited from interface mosaic.sim.kernel.ModelComponent
addModelComponent, addModelComponentEventListener, addModelComponentEventListener, containsModelComponent, disable, enable, fireModelComponentAdded, fireModelComponentChanged, fireModelComponentChanged, fireModelComponentDisabled, fireModelComponentEnabled, fireModelComponentGotContinuous, fireModelComponentGotDiscrete, fireModelComponentRemoved, getInfo, getLabel, getModelComponents, getParentModelComponent, getSimApplication, getTime, isDisabled, isEnabled, removeModelComponent, removeModelComponentEventListener, removeModelComponentEventListener, reset, setEnabled, setParentModelComponent, setSimApplication
 

Field Detail

weight

protected float weight
The weight of the synapse, i.e. its strenght. It defines how much the post-synaptic neuron potential changes when a spike is received by this synapse. This parameter will typically be changed during the learning phase.

delay

protected float delay
The delay of the synapse. It defines the delay between the receipt of the incoming spike on this synapse and the time when the post-synaptic neuron potential starts to change due to this spike. This parameter will typically be changed during the learning phase.
Constructor Detail

PLSynapse

public PLSynapse(NeuronOutput pre,
                 Neuron post)
Initializes the sender and receiver objects (by calling the super() constructor) and the weight and delay values with default.

PLSynapse

public PLSynapse(NeuronOutput pre,
                 Neuron post,
                 float weight)
Calls the constructor with two parameters, but also allows to specify the synapse weight.

PLSynapse

public PLSynapse(NeuronOutput pre,
                 Neuron post,
                 float weight,
                 float delay)
Calls the constructor with three parameters, but also allows to specify the synapse delay.

PLSynapse

public PLSynapse(NeuronOutput pre,
                 Neuron post,
                 float weight,
                 float delay,
                 Synapse.LearningMethod learningMethod)
Calls the constructor with four parameters, but also allows to specify the learning method.
Method Detail

getResponseParameters

public java.lang.Object getResponseParameters()
This implementation of Synapse.getResponseParameters returns an object of type PLFunction, i.e. 2 one-dimensional arrays describing the piecewise linear response function of this synapse. The weight and delay parameters are applied to the function before returning it here, so they do not need to be taken into account somewhere else.
Overrides:
getResponseParameters in class Synapse
See Also:
PLFunction

getWeight

public float getWeight()
Gets the currently set synaptic weight.

setWeight

public void setWeight(float weight)
Sets the synaptic weight.

getDelay

public float getDelay()
Gets the currently set synaptic delay.

setDelay

public void setDelay(float delay)
Sets the synaptic delay.

getStandardResponse

protected abstract PLFunction getStandardResponse()
getResponseParameters uses this method to retrieve the function gradients used for constructing the response object. The gradients should have the standard values for this synapse without taking the weight and delay parameters into account.