Main Page | Namespace List | Alphabetical List | Class List | Directories | File List | Class Members | File Members

PVMMessages.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  *   SpikeStream Library                                                   *
00003  *   Copyright (C) 2007 by David Gamez                                     *
00004  *   david@davidgamez.eu                                                   *
00005  *   Version 0.1                                                           *
00006  *                                                                         *
00007  *   This program is free software; you can redistribute it and/or modify  *
00008  *   it under the terms of the GNU General Public License as published by  *
00009  *   the Free Software Foundation; either version 2 of the License, or     *
00010  *   (at your option) any later version.                                   *
00011  *                                                                         *
00012  *   This program is distributed in the hope that it will be useful,       *
00013  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00014  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
00015  *   GNU General Public License for more details.                          *
00016  *                                                                         *
00017  *   You should have received a copy of the GNU General Public License     *
00018  *   along with this program; if not, write to the                         *
00019  *   Free Software Foundation, Inc.,                                       *
00020  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
00021  ***************************************************************************/
00022 
00023 //-------------------------- PVM Messages ---------------------------------
00024 /*! Defines the different messages that are used between tasks.
00025         This header is included in both SpikStream Application, SpikeStream 
00026         Archiver and SpikeStream Simulation. Message tags in PVM are integers.
00027 
00028         NOTE Any changes in this class require the recompilation of SpikeStream
00029         Application, SpikeStream Simulator and SpikeStream Archiver. */
00030 //-------------------------------------------------------------------------
00031 
00032 #ifndef PVMMESSAGES_H
00033 #define PVMMESSAGES_H
00034 
00035 
00036 /*! Confirms that archive task has started up.*/
00037 #define ARCHIVE_TASK_STARTED_MSG 10
00038 
00039 
00040 /*! Cancels request for firing neuron data.*/
00041 #define CANCEL_FIRING_NEURON_DATA_MSG 20
00042 
00043 
00044 /*! Cancels request of spike data.*/
00045 #define CANCEL_SPIKE_DATA_MSG 30
00046 
00047 
00048 /*! Message sent with error information.*/
00049 #define ERROR_MSG 40
00050 
00051 
00052 /*! Instructs task to quit enabling freeing of memory resources and other stuff.*/
00053 #define EXIT_MSG 50
00054 
00055 
00056 /*! Fires a list of specified neurons.*/
00057 #define FIRE_SPECIFIED_NEURONS_MSG 60
00058 
00059 
00060 /*! List of firing neurons. Differs from the spike list message because only 
00061         the neurons in the layer are included - not the to neurons.*/
00062 #define FIRING_NEURON_LIST_MSG 70
00063 
00064 
00065 /*! Message containing some information to help with debugging.*/
00066 #define INFORMATION_MSG 80
00067 
00068 
00069 /*! Instructs the task to create random firing patterns in its neurons.*/
00070 #define INJECT_NOISE_MSG 90
00071 
00072 
00073 /*! Instructs task to load the global parameters.*/
00074 #define LOAD_GLOBAL_PARAMETERS_MSG 100
00075 
00076 
00077 /*! Instructs task to load the neuron parameters from the database.*/
00078 #define LOAD_NEURON_PARAMETERS_MSG 110
00079 
00080 
00081 /*! Instructs task to load the noise parameters controlling the amount
00082         of noise in the neurons.*/
00083 #define LOAD_NOISE_PARAMETERS_MSG 120
00084 
00085 
00086 /*! Load communication information. Once all the tasks have written their task 
00087         ids to the database the main node instructs them to load up the neuron data.*/
00088 #define LOAD_SIMULATION_DATA_MSG 130
00089 
00090 
00091 /*! Instructs task to load synapse parameters from the database.*/
00092 #define LOAD_SYNAPSE_PARAMETERS_MSG 140
00093 
00094 
00095 /*! Instructs tasks to reload their weights from the database.*/
00096 #define LOAD_WEIGHTS_MSG 150
00097 
00098 
00099 /*! Sent when weights have been loaded successfully by a task.*/
00100 #define LOAD_WEIGHTS_SUCCESS_MSG 160
00101 
00102 
00103 /*! Data about the monitored state of the neuron.*/
00104 #define MONITOR_NEURON_DATA_MSG 170
00105 
00106 
00107 /*! Information about the data being monitored by the neuron.*/
00108 #define MONITOR_NEURON_INFO_MSG 180
00109 
00110 
00111 /*! Data about the monitored state of the synapse.*/
00112 #define MONITOR_SYNAPSE_DATA_MSG 190
00113 
00114 
00115 /*! Information about the data being monitored by the synapse.*/
00116 #define MONITOR_SYNAPSE_INFO_MSG 200
00117 
00118 
00119 /*! Request list of firing neurons to be sent to this task. */
00120 #define REQUEST_FIRING_NEURON_DATA_MSG 210
00121 
00122 
00123 /*! Request information about the variables that are available for monitoring 
00124         in a neuron.*/
00125 #define REQUEST_MONITOR_NEURON_INFO_MSG 220
00126 
00127 
00128 /*! Request information about the variables that are available for monitoring 
00129         in a synapse.*/
00130 #define REQUEST_MONITOR_SYNAPSE_INFO_MSG 230
00131 
00132 
00133 /*! Sent by network monitor to request spike list messages from a task processing 
00134         a neuron group.*/
00135 #define REQUEST_SPIKE_DATA_MSG 240
00136 
00137 
00138 /*! Instructs the tasks to write their current weights to the database.*/
00139 #define SAVE_VIEW_WEIGHTS_MSG 250
00140 
00141 
00142 /*! Instructs the tasks to write their current weights to the database.*/
00143 #define SAVE_WEIGHTS_MSG 260
00144 
00145 
00146 /*! Sets the minimum duration of each time step to slow the simulation down for 
00147         easier visualisation.*/
00148 #define SET_MIN_TIMESTEP_DURATION_US_MSG 270
00149 
00150 
00151 /*! Sets whether updates are event driven or whether all neurons and/or synapse 
00152         classes are updated at each timestep.*/
00153 #define SET_UPDATE_MODE_MSG 280
00154 
00155 
00156 /*! Sent after loading is complete.*/
00157 #define SIMULATION_LOADING_COMPLETE_MSG 290
00158 
00159 
00160 /*! Confirms that simulation task has started up.*/
00161 #define SIMULATION_TASK_STARTED_MSG 300
00162 
00163 
00164 /*! The list of spikes sent between tasks during simulation.*/
00165 #define SPIKE_LIST_MSG 310
00166 
00167 
00168 /*! Instructs the archiver to start archiving messages.*/
00169 #define START_ARCHIVING_MSG 320
00170 
00171 
00172 /*! Instructs the simulator to start sending monitoring data from a specified neuron.*/
00173 #define START_MONITORING_NEURON_MSG 330
00174 
00175 
00176 /*! Instructs the simulator to start sending monitoring data from a specified synapse.*/
00177 #define START_MONITORING_SYNAPSE_MSG 340
00178 
00179 
00180 /*! Start simulation. 
00181         Tasks are instructed to start simulating their neurons and propagating spike lists.*/
00182 #define START_SIMULATION_MSG 350
00183 
00184 
00185 /*! Step simulation.
00186         Advances the simulation one step and then stops it.*/
00187 #define STEP_SIMULATION_MSG 360
00188 
00189 
00190 /*! Instructs the archiver to stop archiving messages.*/
00191 #define STOP_ARCHIVING_MSG 370
00192 
00193 
00194 /*! Instructs the simulator to stop monitoring the specified neuron.*/
00195 #define STOP_MONITORING_NEURON_MSG 380
00196 
00197 
00198 /*! Instructs the simulator to stop monitoring the specified neuron.*/
00199 #define STOP_MONITORING_SYNAPSE_MSG 390
00200 
00201 
00202 /*! Stop simulation.
00203         Tasks are instructed to stop simulating neurons and propagating spike lists.*/
00204 #define STOP_SIMULATION_MSG 400
00205 
00206 
00207 /*! Sent by a task when it is just about to exit.*/
00208 #define TASK_EXITED_MSG 410
00209 
00210 
00211 /*! Message sent as a test*/
00212 #define TEST_MSG 420
00213 
00214 
00215 /*! Confirms that weights have been successfully saved.*/
00216 #define VIEW_WEIGHTS_SAVE_SUCCESS_MSG 430
00217 
00218 
00219 /*! Confirms that weights have been successfully saved.*/
00220 #define WEIGHT_SAVE_SUCCESS_MSG 440
00221 
00222 
00223 
00224 #endif//PVMMESSAGES_H
00225 

Generated on Mon Sep 3 22:18:50 2007 for SpikeStream Library by  doxygen 1.4.4