oops! Your browser isn't displaying this right

Introduction to ModLIN

What is ModLIN?

ModLIN is a toolbox of BRAHMS processes designed to enable the rapid development and execution of complex systems of simple rate coded neural models. It is capable of simulating systems in excess of 100,000 neurons and tens of millions of synapses. The modular architecture of the system allows for the use of both efficient, and flexible, solutions to the computation of a system to be utilised where needed. This allows computational resources to be dedicated to the sections of the model that require them.

In addition, ModLIN can easily be joined up with any BRAHMS processes, which can include hardware interfaces, as well as other simulators wrapped in BRAHMS. Thus ModLIN can be easily combined with a range of other tools with minimal effort.

Download ModLIN

Using this documentation.

This documentation should provide you with a reference for the current standard ModLIN component set, and also information about using this set to construct BRAHMS systems and how to develop your own ModLIN processes. For information on using BRAHMS please refer to the BRAHMS documentation.

To the left you will find a bar which contains the site layout in a collapsing tree structure. Branches will open when you click on them, and collapse when you navigate away from them. The site is divided into three main sections: the ModLIN standard component reference; information on using the NodeWeaver Matlab/Octave bindings to create ModLIN systems; and documentation on creating or modifying ModLIN processes.

Component Reference

The component reference provides a list of the currently available standard ModLIN components, their location in the BRAHMS Namespace, a brief description of their function, and a listing of the state data they require. BRAHMS is a 'stateful' framework, and a process can be specified by the 'state data' it is passed. For example, a process that exponentially decayed a value over time could be described by the starting value and the exponential time constant. These would be passed to the process as state data, although they may have default values. The state data listings for each process give the state data name, date type, dimensionality accepted, and the default value if present. If these are incorrect, or required data is not passed to the process, an error will be given. Extra state data given will not generate an error, but will not be used. For information on how to pass state data, see the Bindings sections.


Describes how to create ModLIN systems using high level description (currently only available in Matlab/Octave).

Process Creation

Describes how to create ModLIN processes, and what resources are present to help.

backup content