Improved model description functionality in brian
Brian is a spiking neural networks simulator, which provides desirable syntactic sugar and flexibility to allow a wide variety of models without compromising rapidity. With a plethora of different sets of governing equations, neuronal models with complex biophysical properties, synapses with plasticity and parameters, a mechanism to derive generalized platform-independent model description becomes inevitable. Further, the model description mechanism helps in easy access and reproduction of the models, and thereby exasperating reference to the platform-specific source code can be avoided. Currently, Brian uses `brian2tools.nmlexport` package to elegantly export Brian models to NeuroML, with minimal changes. However, this model description mechanism is only confined to the NeuroML/LEMS framework, and cannot be extended easily to various other generalized model descriptors and human-readable formats. Also, the `nmlexport` package is currently limited to specific components and incompatible with key components like Synapses, Network input, etc. Therefore, the project proposes an idea to create a generalized basic framework, which can coherently describe Brian models in a standard format. The standard format shall act as the foundation for exporting Brian models to NeuroML/LEMS format, human-readable like LaTeX typesetting, ModelView description and also shall be flexible enough to extend with various other model descriptors or frameworks. The proposed idea would substantially enhance the interfacing functionality of Brian models with other standard model descriptors and thereby helps numerous users and research communities.
- Create a general, interoperable framework to coherently describe Brian models in a standard format
- The standard format shall act as the foundation for exporting Brian models to NeuroML/LEMS format, human-readable like LaTeX typesetting, and ModelView description