NESTML models

The NEST Simulator kernel contains a number of built-in neuron models and synaptic plasticity rules. With NESTML, the user no longer needs to write C++ code (used by NEST for performance reasons), eliminating the challenge for researchers without a programming background to customize and extend the NEST built-in neuron and synapse models. However, previously, NEST Desktop could only access the built-in models of NEST.

Here, the integration of NEST Desktop and NESTML allows researchers and students to customize existing models or develop new ones using NESTML. Then NEST Desktop have them instantly available to create networks using the graphical interface of NEST Desktop, before simulating them scalably and efficiently using NEST thanks to code generation. The combined strength of these components creates a low-barrier environment for rapid prototyping and exploration of neuron, synapse and network models.

Note

You have to start NESTML server that you are able to create your custom models.

For more information about NESTML server, please follow these instructions here

Workflow

../../../_images/create-model-button.png

In model navigation sidebar, you find a + button to create a new model. Clicking it opens a dialog.

../../../_images/create-model-dialog.png

In dialog you enter name for new model and select a template of NESTML models which can also be fetched from GitHub.

Next, you are able to enter text editor in Model editor view and then save it. It gets parameter and state specifications from NESTML Server which are fetched from NESTML code.

../../../_images/model-editor1.png

After the NESTML model has been defined, the code for the NESTML backend can be generated. Clicking the module button in model bar opens a dialog.

../../../_images/module-button.png

In dialog user can select a module to generate its models on NESTML backend.

../../../_images/module-dialog.png

Now, the module is then available for loading in the simulation kernel on the NEST backend.

The neuron model is now available to be instantiated in a network. As a first validation step, we create one single neuron and stimulate it with a constant current, while measuring the membrane potential and recovery variable. The recordings can be viewed interactively within the NEST Desktop environment.