Closed heplesser closed 4 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?
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:)
@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.
Should be addressed in the context of NESTML.
Closing this issue: Models with named and enumerated synapses are different beasts and having different semantics makes sense.
Currently, there is no well-defined interface for neuron models which have multiple receptors. Compare, e.g.,
ht_neuron
andiaf_psc_alpha_multisynapse
. The former offers areceptor_type
dictionary mapping channel names to numbers, while the latter providesn_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.