nest / nest-simulator

The NEST simulator
http://www.nest-simulator.org
GNU General Public License v2.0
537 stars 364 forks source link

Defined interface to neuron models with multiple receptors #534

Closed heplesser closed 4 years ago

heplesser commented 7 years ago

Currently, there is no well-defined interface for neuron models which have multiple receptors. Compare, e.g., ht_neuron and iaf_psc_alpha_multisynapse. The former offers a receptor_type dictionary mapping channel names to numbers, while the latter provides n_synapses implying that valid receptor numbers are 1 ... n_synapses.

The lack of standardization makes testing difficult. We should define at least a minimal interface that is common for all models with multiple receptors.

jougs commented 7 years ago

@heplesser, I agree that there should be at least some conventions for this. @DimitriPlotnikov, @ingablundell: can you please comment from the NESTML perspective?

DimitriPlotnikov commented 7 years ago

ht_neuron: has different but fixed named ports. iaf_psc_alpha_multisynapse: has arbitrary many unnamed ports.

For me it is just different concepts that should be also tested with different strategies. Currently, in NESTML we follow the NEST convention.

Of course, we can add indexes to the ht_neuron, which can used to work with a particular channel (and where do I get information which index corresponds to GABA_B port? Or even worse how can I do it uniformly in both cases).

Or we can add receptor_type which contain the trivial mapping {n:'n'}, n in [1, n_synapses]. But what would be the added value? Ok, you can use the same test code, but it could overload the model's API (since you would have 2 way to do the same).

PS 1) Just as a side note: if there were a quality assured NESTML code generator, we could do both or just select as desired option of code generator. 2) Also an automatic generation of tests would be possible, which then use the appropriate API 3) Summarizing: putting more development into NESTML would solve these issues:)

DimitriPlotnikov commented 7 years ago

@heplesser, @jougs Could you, please, provide concrete use-cases where the unified API would be use-full? "Testing" sounds a way to abstract for me.

heplesser commented 6 years ago

Should be addressed in the context of NESTML.

heplesser commented 4 years ago

Closing this issue: Models with named and enumerated synapses are different beasts and having different semantics makes sense.