Currently, neuron and synapse models in NEST are written as C++ classes. These classes implement the simulator API for updating the neuronal dynamics, sending and receiving events, and auxiliary tasks such as initialization, recording of internal variables, calibration and handling of parameters.
As the model code is hand-written and often created by copy and paste, this method is prone to errors and hinders the programmatic re-use of components such as neuronal dynamics, post-synaptic responses and synaptic plasticity mechanisms.
Moreover, as many neuroscientists are not experts in C++, the process of creating models is often seen as complicated and in many cases the resulting model implementations are not optimal with respect to performance, consistency and testability.
To ease writing models for NEST and improve the general quality of the code, we have created the NEST Modelling Language. NESTML comprises a language specification to describe neuron models in terms of neuroscience concepts and a set of tools to generate efficient C++ code for NEST from this description.
During the workshop, we will give a general introduction to model creation for NEST and an in-depth introduction to the concepts and application of NESTML. In hands-on sessions the participants have the opportunity to write their own models in NESTML with the assistance of experienced tutors. The feedback collected in a dedicated session will be used to shape the future design and development of NESTML.