NESTML - A modeling language for spiking neuron and synapse models for NEST

Biological nervous systems exhibit astonishing complexity. Neuroscientists aim to capture this complexity by modeling and simulation of biological processes. Often very complex models are needed to represent these processes, which makes the models difficult to construct.

Neuron and synapse models in the NEST simulator have been traditionally written as C++ classes. They inherit from base classes, which provide a framework of common functionality such as calibration and update of the model, handling of input and setting and retrieval of parameters. Writing models thus requires knowledge about the C++ programming language and about the architecture of NEST.

Using a high-level modeling language for describing models frees researchers from this requirement and lets them develop models using neuroscientific concepts as first-class language constructs. Several modeling languages for computational neuroscience have been proposed (Gleeson et al., 2010; Raikov et al. 2011). However, since these languages seek simulator independence, they typically only support a subset of the features desired by NEST modelers. NESTML is a modular and extensible domain specific language which provides neuroscience domain concepts as first-class language constructs and supports domain experts in creating neuron models for the neural simulation tool NEST.

The main achievements in this project so far have been published in an article at Modellierung 2016(Plotnikov et al., 2016).
The source code of NESTML and a set of example models are publically available on GitHub.

Our Contribution

  • Development of NESTML
  • User support
  • Maintenance of development and code review infrastructure

Related Publications

Bos, H; Morrison, A; Peyser, A; Hahne, J; Helias, M; Kunkel, S Ippen, T; Eppler, J M; Schmidt, M; Seeholzer, A; Djurfeldt, M; Diaz, S; Morén, J; Deepu, R; Stocco, T; Deger, M; Michler, F; Plesser, H E (2016) NEST 2.10.0. doi:10.5281/zenodo.44222

Gleeson, P; Crook, S; Cannon, R C; Hines, M L; Billings, G O.; Farinella, M; Morse, T M; Davison, A P; Ray, S; Bhalla, U S; Barnes, S R; Dimitrova, Y D; Silver, R: NeuroML: A Language for Describing Data Driven Models of Neurons and Networks with a High Degree of Biological Detail. PLoS Comput Biol, 6(6), 06 2010.

Plotnikov, D; Blundell, I; Ippen, T; Eppler, J M; Morrison, A; Rumpe, B (2016) NESTML: a modeling language for spiking neurons. Modellierung2016, Prof. Dr. Andreas Oberweis, Prof. Dr. Ralf Reussner, Bonn (eds.) Gesellschaft für Informatik e.V.

Raikov, I; Cannon, R; Clewley, R; Cornelis, H; Davison, A; De Schutter, E; Djurfeldt, M; Gleeson, P; Gorchetchnikov, A; Plesser, H E; Hill, S; Hines, M; Kriener, B; Le Franc, Y; Lo, C C; Morrison, A; Muller, E; Ray, S; Schwabe, L; Szatmary, B: NineML: the network interchange for neuroscience modeling language. BMC Neuroscience, 12(Suppl 1):P330, 2011.


This work is supported by the JARA-HPC Seed Fund project “NESTML – A modeling language for spiking neuron and synapse models for NEST”, the Initiative and Networking Fund of the Helmholtz Association and the Hemholtz Portfolio Theme “Simulation and Modeling for the Human Brain”.

Simlab Contact

Project Partners

Chair of software engineering of RWTH Aachen University

Computational and Systems Neuroscience (INM-6) - Theoretical Neuroscience (IAS-6)

Last Modified: 17.02.2024