Extending NEST
From NEST
If you inted to extend NEST, please read our Coding Guidelines first!
NEST is built in a modular fashion so that users can extend it in several ways. This section contains documentation for these together with example source code. We recommend to put custom code into a module, instead of the NEST source tree. This will make it easy to update NEST without destroying anything.
- Writing an Extension Module: NEST supports dynamically loadable modules that can contain special devices, neuron models or synapse types. This section contains an example module and explains the necessary steps to get it connected to NEST.
- Developing Models: In NEST, all models (either neurons, devices or subnetworks) are implemented as C++ classes. Here, you will learn how to write such a class and how to register it with the simulation kernel.
- Developing Synapse Types: The default synapse type in NEST is static, meaning that each connection is defined by a connection weight and a delay. To have dynamic synapses or types that perform some black magic on each event, you have to write your own type. This part explains how!
To provide a kick-start into NEST extension development, you can download a complete example module, which contains a custom synapse type and a custom model. It can be downloaded [here].
