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
1.4.4