From: Dave B. <db...@do...> - 2006-05-31 20:39:11
|
Dear GENESIS Developers, At the WAM-BAMM*06 GENESIS developers meeting, we decided to assign priorities to the GENESIS 2 objects and commands that, for backwards compatibility, will need to be reimplemented in MOOSE/GENESIS 3. (You can read the full summary of the discussions on the GENESIS Developers web site.) Of course, there will also be new object types (classes) and commands in GENESIS 3, in order to take advantage of new capabilities in GENESIS 3. As a first step, I am circulating my first pass at assigning priorities. I urge you see if you use any objects or commands that I have listed as "Low priority" or "Not to be implemented". There are also a number in the "Not sure" category. These are ones that might not exist in MOOSE because of differences in the way that solvers, scheduling, messaging, and OS-independence are handled in MOOSE. I would particularly like to hear your commments and suggestions on these. Of course, the GENESIS Reference Manual or "help" within GENESIS can remind you what some of these are used for. (To be sure that everyone gets this, I am sending it to both the Moo...@li... mailing list and the genesis-dev mailing list. For most of you, this means that you will get it twice.) After arriving af some consensus on which ones to reimplement first, we can assign manpower to do the work, and solicit GENESIS users with programming skills to reimplement the many objects and commands that are very loosely coupled to the core simulator code. The current version of MOOSE has fairly good documentation on writing new MOOSE objects in C++. You can download it from the MOOSE-G3 Sourceforge Development site at http://sourceforge.net/projects/moose-g3 I will do this in four parts, tackling the non-graphical objects and commands first. Dave Beeman ------------------------------------------------------------------------- Suggested priorities for reimplementing GENESIS 2 objects and commands in MOOSE/GENESIS 3. Part 1: non-graphical objects Already implemented in MOOSE: Ca_concen compartment concchan enz nernst neutral reac spikegen synchan table pool (same as MOOSE Molecule?) tabchannel == HHChannel What is MOOSE HHgate? -------------------------------------------------------------------------- High Priority asc_file closely elated objects that aren't high priority, but should be implemnented at the same time as asc_file: par_asc_file res_asc_file Mg_block symcompartment leakage randomspike voltage clamp circuitry: PID RC diffamp other commonly used device objects: efield pulsegen -------------------------------------------------------------------------- Medium Priority script_out tab2Dchannel table2D facsynchan hebbsynchan Other device objects: autocorr calculator crosscorr event_tofile freq_monitor funcgen interspike peristim spikehistory timetable File I/O objects - need to redo in context of NETCDF replacement: disk_in disk_out par_disk_out -------------------------------------------------------------------------- Low Priority (Note that this does not necessarily mean "unimportant" or "unlikely to be implemented". But, implemenation will probably wait until someone needs them enough to volunteer to implement them, or other higher priority items are done first.) Leech library objects: SynE_object SynG_object SynS_object Kpores Napores (These are specialized markov channels that should be reimplemented in a more efficient and general manner.) izcell rarely used device objects: playback sigmoid Misc olflib objects: ddsyn receptor receptor2 hh_channel (should be considered obsolete, but is widely used. Implement as a special case of tabchannel, or force users to change to tabchannels?) tabgate vdep_channel vdep_gate (Widely used, although can generally be replaced with tabchannel or tab2Dchannel.) NOTE: The concen and param libraries are not really low priority, but will take a lot of work. Unless someone volunteers to implement these, they will have to wait until the other pieces of GENESIS 3 are in place. Concen library objects concpool dif2buffer difbuffer fura2 ghk difshell fixbuffer hillpump mmpump tabcurrent taupump Parameter search objects paramtableBF paramtableCG paramtableGA paramtableSA paramtableSS (paramtableSA is the most commonly used) -------------------------------------------------------------------------- "Not sure" - these may be implemented in MOOSE under different names, implemented implicitly without need for a class, or not needed, due to differences between MOOSE and GENESIS 2 -- Comments are requested! gsolve/hsolve - will these be handled transparently in MOOSE? text (Used only in kkit - breaks the separation between Xodus and non-Xodus objects) -------------------------------------------------------------------------- Not to be implemented oldconn library: axon axonlink channelA channelB channelC channelC2 channelC3 defsynapse random spike synapse synapseA synapseB undocumented buffer objects and other obsolete or unused objects: expthresh graded linear passive_buffer periodic print_out manuelconduct site synchan2 (unused alias for synchan) unit (An isolated compartment that receives INJECT messages) Objects related to NETCDF - replace with another way of implementing platform-independent binary files: diskio metadata variable -------------------------------------------------------------------------- |