{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,8,15]],"date-time":"2026-08-15T16:33:45Z","timestamp":1786811625758,"version":"3.56.0"},"reference-count":79,"publisher":"Frontiers Media SA","license":[{"start":{"date-parts":[[2025,6,4]],"date-time":"2025-06-04T00:00:00Z","timestamp":1748995200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["frontiersin.org"],"crossmark-restriction":true},"short-container-title":["Front. Neuroinform."],"abstract":"<jats:p>With increasing model complexity, models are typically re-used and evolved rather than starting from scratch. There is also a growing challenge in ensuring that these models can seamlessly work across various simulation backends and hardware platforms. This underscores the need to ensure that models are easily findable, accessible, interoperable, and reusable\u2014adhering to the FAIR principles. NESTML addresses these requirements by providing a domain-specific language for describing neuron and synapse models that covers a wide range of neuroscientific use cases. The language is supported by a code generation toolchain that automatically generates low-level simulation code for a given target platform (for example, C++ code targeting NEST Simulator). Code generation allows an accessible and easy-to-use language syntax to be combined with good runtime simulation performance and scalability. With an intuitive and highly generic language, combined with the generation of efficient, optimized simulation code supporting large-scale simulations, it opens up neuronal network model development and simulation as a research tool to a much wider community. While originally developed in the context of NEST Simulator, NESTML has been extended to target other simulation platforms, such as the SpiNNaker neuromorphic hardware platform. The processing toolchain is written in Python and is lightweight and easily customizable, making it easy to add support for new simulation platforms.<\/jats:p>","DOI":"10.3389\/fninf.2025.1544143","type":"journal-article","created":{"date-parts":[[2025,6,4]],"date-time":"2025-06-04T05:36:24Z","timestamp":1749015384000},"update-policy":"https:\/\/doi.org\/10.3389\/crossmark-policy","source":"Crossref","is-referenced-by-count":10,"title":["NESTML: a generic modeling language and code generation tool for the simulation of spiking neural networks with advanced plasticity rules"],"prefix":"10.3389","volume":"19","author":[{"given":"Charl","family":"Linssen","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Pooja N.","family":"Babu","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jochen M.","family":"Eppler","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Luca","family":"Koll","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Bernhard","family":"Rumpe","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Abigail","family":"Morrison","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"1965","published-online":{"date-parts":[[2025,6,4]]},"reference":[{"key":"B1","doi-asserted-by":"crossref","first-page":"274","DOI":"10.1109\/EMPDP.2019.8671560","article-title":"\u201cArbor \u2013 a morphologically-detailed neural network simulation library for contemporary high-performance computing architectures,\u201d","volume-title":"2019 27th Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP)","author":"Abi Akar","year":"2019"},{"key":"B2","unstructured":"Alliance\n              A.\n            \n          \n          Manifesto for Agile Software Development\n          \n          2001"},{"key":"B3","doi-asserted-by":"publisher","first-page":"167","DOI":"10.3847\/1538-4357\/ac7c74","article-title":"The Astropy Project: sustaining and growing a community-oriented open-source project and the latest major release (v5.0) of the core package","volume":"935","author":"Astropy Collaboration, Price-Whelan","year":"2022","journal-title":"Astrophys. J"},{"key":"B4","doi-asserted-by":"publisher","first-page":"10464","DOI":"10.1523\/JNEUROSCI.18-24-10464.1998","article-title":"Synaptic modifications in cultured hippocampal neurons: dependence on spike timing, synaptic strength, and postsynaptic cell type","volume":"18","author":"Bi","year":"1998","journal-title":"J. Neurosci"},{"key":"B5","doi-asserted-by":"publisher","first-page":"68","DOI":"10.3389\/fninf.2018.00068","article-title":"Code generation in computational neuroscience: a review of tools and techniques","volume":"12","author":"Blundell","year":"","journal-title":"Front. Neuroinform"},{"key":"B6","doi-asserted-by":"publisher","first-page":"50","DOI":"10.3389\/fninf.2018.00050","article-title":"Automatically selecting a suitable integration scheme for systems of differential equations in neuron models","volume":"12","author":"Blundell","year":"","journal-title":"Front. Neuroinform"},{"key":"B7","doi-asserted-by":"publisher","first-page":"e1010233","DOI":"10.1371\/journal.pcbi.1010233","article-title":"Sequence learning, prediction, and replay in networks of spiking neurons","volume":"18","author":"Bouhadjar","year":"2022","journal-title":"PLoS Comput. Biol"},{"key":"B8","doi-asserted-by":"publisher","first-page":"349","DOI":"10.1007\/s10827-007-0038-6","article-title":"Simulation of networks of spiking neurons: a review of tools and strategies","volume":"23","author":"Brette","year":"2007","journal-title":"J. Comput. Neurosci"},{"key":"B9","doi-asserted-by":"crossref","first-page":"183","DOI":"10.1023\/A:1008925309027","article-title":"Dynamics of sparsely connected networks of excitatory and inhibitory spiking neurons","volume":"8","author":"Brunel","year":"2000","journal-title":"J. Comput. Neurosci"},{"key":"B10","doi-asserted-by":"publisher","first-page":"79","DOI":"10.3389\/fninf.2014.00079","article-title":"LEMS: a language for expressing complex biological models in concise and hierarchical form and its use in underpinning neuroml 2","volume":"8","author":"Cannon","year":"2014","journal-title":"Front. Neuroinform"},{"key":"B11","doi-asserted-by":"publisher","first-page":"131","DOI":"10.3109\/0954898X.2012.722743","article-title":"Creating, documenting and sharing network models","volume":"23","author":"Crook","year":"2012","journal-title":"Network: Comp. Neural Syst"},{"key":"B12","doi-asserted-by":"publisher","first-page":"11","DOI":"10.3389\/neuro.11.011.2008","article-title":"PyNN: a common interface for neuronal network simulators","volume":"2","author":"Davison","year":"2009","journal-title":"Front. Neuroinform"},{"key":"B13","unstructured":"EBRAINS Knowledge Graph\n          \n          2025"},{"key":"B14","doi-asserted-by":"publisher","first-page":"735","DOI":"10.1016\/j.neuron.2019.03.027","article-title":"The scientific case for brain simulations","volume":"102","author":"Einevoll","year":"2019","journal-title":"Neuron"},{"key":"B15","doi-asserted-by":"publisher","first-page":"12","DOI":"10.3389\/neuro.11.012.2008","article-title":"PyNEST: a convenient interface to the NEST Simulator","volume":"2","author":"Eppler","year":"2009","journal-title":"Front. Neuroinform"},{"key":"B16","unstructured":"GNU General Public License, version 2\n          \n          1991"},{"key":"B17","doi-asserted-by":"publisher","first-page":"652","DOI":"10.1109\/JPROC.2014.2304638","article-title":"The SpiNNaker project","volume":"102","author":"Furber","year":"2014","journal-title":"Proc. IEEE"},{"key":"B18","doi-asserted-by":"publisher","first-page":"1430","DOI":"10.4249\/scholarpedia.1430","article-title":"NEST (NEural Simulation Tool)","volume":"2","author":"Gewaltig","year":"2007","journal-title":"Scholarpedia"},{"key":"B19","doi-asserted-by":"publisher","first-page":"395","DOI":"10.1016\/j.neuron.2019.05.019","article-title":"Open Source Brain: a collaborative resource for visualizing, analyzing, simulating, and developing standardized models of neurons and circuits","volume":"103","author":"Gleeson","year":"2019","journal-title":"Neuron"},{"key":"B20","doi-asserted-by":"publisher","first-page":"e1000815","DOI":"10.1371\/journal.pcbi.1000815","article-title":"NeuroML: A language for describing data driven models of neurons and networks with a high degree of biological detail","volume":"6","author":"Gleeson","year":"2010","journal-title":"PLoS Comp. Biol"},{"key":"B21","doi-asserted-by":"publisher","first-page":"627620","DOI":"10.3389\/fncom.2021.627620","article-title":"Fast simulations of highly-connected spiking cortical models using GPUs","volume":"15","author":"Golosio","year":"2021","journal-title":"Front. Comp. Neurosci"},{"key":"B22","doi-asserted-by":"publisher","first-page":"9598","DOI":"10.3390\/app13179598","article-title":"Runtime construction of large-scale spiking neuronal network models on GPU devices","volume":"13","author":"Golosio","year":"2023","journal-title":"Appl. Sci"},{"key":"B23","unstructured":"\u201cPEP 257 - docstring conventions,\u201d\n          \n          \n            \n              Goodger\n              D.\n            \n            \n              van Rossum\n              G.\n            \n          \n          Doc-SIG List\n          \n          2001"},{"key":"B24","doi-asserted-by":"publisher","first-page":"90","DOI":"10.3389\/fninf.2018.00090","article-title":"Reproducible neural network simulations: statistical methods for model validation on the level of network activity data","volume":"12","author":"Gutzen","year":"2018","journal-title":"Front. Neuroinform"},{"key":"B25","doi-asserted-by":"publisher","first-page":"e1010353","DOI":"10.1371\/journal.pcbi.1010353","article-title":"Brain signal predictions from multi-scale networks using a linearized framework","volume":"18","author":"Hagen","year":"2022","journal-title":"PLOS Comp. Biol"},{"key":"B26","doi-asserted-by":"publisher","first-page":"113","DOI":"10.3389\/fninf.2010.00113","article-title":"A general and efficient method for incorporating precise spike times in globally time-driven simulations","volume":"4","author":"Hanuschkin","year":"2010","journal-title":"Front. Neuroinform"},{"key":"B27","doi-asserted-by":"publisher","DOI":"10.48550\/arXiv.2404.14364","article-title":"Toward research software categories","author":"Hasselbring","year":"2024","journal-title":"arXiv"},{"key":"B28","doi-asserted-by":"publisher","first-page":"309","DOI":"10.1007\/s10827-011-0353-9","article-title":"Accuracy evaluation of numerical methods used in state-of-the-art simulators for spiking neural networks","volume":"32","author":"Henker","year":"2012","journal-title":"J. Comput. Neurosci"},{"key":"B29","doi-asserted-by":"publisher","first-page":"995","DOI":"10.1162\/089976600300015475","article-title":"Expanding NEURON's repertoire of mechanisms with NMODL","volume":"12","author":"Hines","year":"2019","journal-title":"Neural Comp"},{"key":"B30","first-page":"48","article-title":"\u201cMontiCore Language Workbench and Library Handbook: Edition 2021,\u201d","volume-title":"Aachener Informatik-Berichte, Software Engineering","author":"H\u00f6lldobler","year":"2021"},{"key":"B31","doi-asserted-by":"publisher","first-page":"327","DOI":"10.1089\/omi.2010.0022","article-title":"Standardization and omics science: technical and social dimensions are inseparable and demand symmetrical study","volume":"14","author":"Holmes","year":"2010","journal-title":"OMICS"},{"key":"B32","doi-asserted-by":"publisher","first-page":"524","DOI":"10.1093\/bioinformatics\/btg015","article-title":"The systems biology markup language (SBML): a medium for representation and exchange of biochemical network models","volume":"19","author":"Hucka","year":"2003","journal-title":"Bioinformatics"},{"key":"B33","volume-title":"Energetics, Dynamics and Structure of Spiking Neural Networks Under Metabolic Constraints","author":"Jaras Casta\u00f1os","year":"2023"},{"key":"B34","doi-asserted-by":"publisher","first-page":"2","DOI":"10.3389\/fninf.2018.00002","article-title":"Extremely scalable spiking neuronal network simulation code: from laptops to exascale computers","volume":"12","author":"Jordan","year":"2018","journal-title":"Front. Neuroinform"},{"key":"B35","doi-asserted-by":"crossref","DOI":"10.1007\/978-3-540-88562-7_15","article-title":"\u201cSED-ML-an XML format for the implementation of the MIASE guidelines,\u201d","author":"K\u00f6hn","year":"2008","journal-title":"Computational Methods in Systems Biology"},{"key":"B36","doi-asserted-by":"publisher","first-page":"353","DOI":"10.1007\/s10009-010-0142-1","article-title":"Monticore: a framework for compositional development of domain specific languages","volume":"12","author":"Krahn","year":"2010","journal-title":"Int. J. Softw. Tools Technol. Transfer"},{"key":"B37","doi-asserted-by":"publisher","first-page":"75","DOI":"10.3389\/fninf.2017.00075","article-title":"Perfect detection of spikes in the linear sub-threshold dynamics of point neurons","volume":"11","author":"Krishnan","year":"2018","journal-title":"Front. Neuroinform"},{"key":"B38","doi-asserted-by":"crossref","first-page":"45","DOI":"10.1007\/978-3-030-50371-0_4","article-title":"\u201cAn optimizing multi-platform source-to-source compiler framework for the NEURON MODeling Language,\u201d","author":"Kumbhar","year":"2020","journal-title":"Computational Science-ICCS 2020"},{"key":"B39","volume-title":"NESTML 8.0.0","author":"Linssen","year":"2024"},{"key":"B40","doi-asserted-by":"publisher","DOI":"10.5281\/zenodo.7193351","article-title":"ODE-toolbox: Automatic selection and generation of integration schemes for systems of ordinary differential equations","author":"Linssen","year":"2022","journal-title":"Zenodo."},{"key":"B41","volume-title":"NESTML 6.0.0","author":"Linssen","year":"2023"},{"key":"B42","doi-asserted-by":"publisher","first-page":"903","DOI":"10.1162\/0899766053429453","article-title":"Independent variable time-step integration of individual neurons for network simulations","volume":"17","author":"Lytton","year":"2005","journal-title":"Neural Computation"},{"key":"B43","doi-asserted-by":"publisher","DOI":"10.48550\/arXiv.1911.02385","article-title":"SpiNNaker 2: A 10 million core processor system for brain simulation and machine learning","author":"Mayr","year":"2019","journal-title":"arXiv"},{"key":"B44","doi-asserted-by":"publisher","first-page":"125","DOI":"10.1016\/j.entcs.2005.10.021","article-title":"A taxonomy of model transformation","volume":"152","author":"Mens","year":"2006","journal-title":"Elect. Notes Theoret. Comp. Sci"},{"key":"B45","doi-asserted-by":"publisher","first-page":"e103","DOI":"10.7717\/peerj-cs.103","article-title":"SymPy: symbolic computing in Python","volume":"3","author":"Meurer","year":"2017","journal-title":"PeerJ Comp. Sci"},{"key":"B46","doi-asserted-by":"publisher","first-page":"119","DOI":"10.1007\/s10827-006-7949-5","article-title":"Parallel network simulations with NEURON","volume":"21","author":"Migliore","year":"2006","journal-title":"J. Comp. Neurosci"},{"key":"B47","doi-asserted-by":"publisher","first-page":"178","DOI":"10.1186\/1471-2105-11-178","article-title":"An overview of the CellML API and its implementation","volume":"11","author":"Miller","year":"2010","journal-title":"BMC Bioinform"},{"key":"B48","unstructured":"Modelica\n          \n          2023"},{"key":"B49","first-page":"267","volume-title":"Maintaining Causality in Discrete Time Neuronal Network Simulations","author":"Morrison","year":"2008"},{"key":"B50","doi-asserted-by":"publisher","first-page":"1776","DOI":"10.1162\/0899766054026648","article-title":"Advancing the boundaries of high-connectivity network simulation with distributed computing","volume":"17","author":"Morrison","year":"2005","journal-title":"Neural Comp"},{"key":"B51","doi-asserted-by":"publisher","first-page":"47","DOI":"10.1162\/neco.2007.19.1.47","article-title":"Exact subthreshold integration with continuous spike times in discrete-time neural network simulations","volume":"19","author":"Morrison","year":"2007","journal-title":"Neural Comp"},{"key":"B52","doi-asserted-by":"publisher","first-page":"e1000456","DOI":"10.1371\/journal.pcbi.1000456","article-title":"Towards reproducible descriptions of neuronal network models","volume":"5","author":"Nordlie","year":"2009","journal-title":"PLoS Comp. Biol"},{"key":"B53","doi-asserted-by":"publisher","first-page":"974177","DOI":"10.3389\/fnint.2022.974177","volume":"16","author":"Oberl\u00e4nder","year":"","journal-title":"Front. Integr. Neurosci."},{"key":"B54","doi-asserted-by":"publisher","first-page":"724336","DOI":"10.3389\/fninf.2022.724336","article-title":"EDEN: a high-performance, general-purpose, NeuroML-based neural simulator","volume":"16","author":"Panagiotou","year":"2022","journal-title":"Front. Neuroinform"},{"key":"B55","author":"Parr","year":"2013","journal-title":"The Definitive ANTLR 4 Reference (1st ed"},{"key":"B56","doi-asserted-by":"publisher","first-page":"46","DOI":"10.3389\/fninf.2018.00046","article-title":"Reproducing polychronization: a guide to maximizing the reproducibility of spiking network models","volume":"12","author":"Pauli","year":"2018","journal-title":"Front. Neuroinform"},{"key":"B57","volume-title":"Reengineering NestML with Python and Monticore","author":"Perun","year":"2018"},{"key":"B58","doi-asserted-by":"publisher","first-page":"76","DOI":"10.3389\/fninf.2017.00076","article-title":"Reproducibility vs. replicability: A brief history of a confused terminology","volume":"11","author":"Plesser","year":"2018","journal-title":"Front. Neuroinform"},{"key":"B59","first-page":"93","volume-title":"NESTML: a Modeling Language for Spiking Neurons","author":"Plotnikov","year":"2016"},{"key":"B60","unstructured":"Preston-Werner\n              T.\n            \n          \n          Semantic Versioning 2.0.0\n          \n          2013"},{"key":"B61","doi-asserted-by":"publisher","DOI":"10.1186\/1471-2202-12-S1-P330","article-title":"NineML: the network interchange for neuroscience modeling language (poster presentation)","author":"Raikov","year":"2011","journal-title":"BMC Neurosci"},{"key":"B62","doi-asserted-by":"publisher","first-page":"169","DOI":"10.1007\/s004220050570","article-title":"Exact digital simulation of time-invariant linear systems with applications to neuronal modeling","volume":"35","author":"Rotter","year":"1999","journal-title":"Biol. Cybernet"},{"key":"B63","doi-asserted-by":"publisher","first-page":"e142","DOI":"10.7717\/peerj-cs.142","article-title":"Sustainable computational science: the ReScience initiative","volume":"3","author":"Rougier","year":"2017","journal-title":"PeerJ. Comp. Sci"},{"key":"B64","doi-asserted-by":"publisher","first-page":"923468","DOI":"10.3389\/fnint.2022.923468","article-title":"Characteristic columnar connectivity caters to cortical computation: replication, simulation, and evaluation of a microcircuit model","volume":"16","author":"Schulte to Brinke","year":"2022","journal-title":"Front. Integrat. Neurosci"},{"key":"B65","doi-asserted-by":"publisher","DOI":"10.1371\/journal.pcbi.1010086","article-title":"Connectivity concepts in neuronal network modeling","author":"Senk","year":"2022","journal-title":"PLOS Computational Biology"},{"key":"B66","doi-asserted-by":"publisher","first-page":"43","DOI":"10.1016\/S0898-1221(00)00045-6","article-title":"Event location for ordinary differential equations","volume":"39","author":"Shampine","year":"2000","journal-title":"Comp. Mathem. Appl"},{"key":"B67","doi-asserted-by":"publisher","DOI":"10.7554\/elife.95135.2","author":"Sinha","year":"2024","journal-title":"The NeuroML Ecosystem for Standardized Multi-Scale Modeling in Neuroscience"},{"key":"B68","doi-asserted-by":"publisher","DOI":"10.1523\/ENEURO.0274-21.2021","article-title":"NEST Desktop, an educational application for neuroscience","author":"Spreizer","year":"2021","journal-title":"eNeuro"},{"key":"B69","doi-asserted-by":"publisher","first-page":"e47314","DOI":"10.7554\/eLife.47314","article-title":"Brian 2, an intuitive and efficient neural simulator","volume":"8","author":"Stimberg","year":"2019","journal-title":"eLife"},{"key":"B70","doi-asserted-by":"publisher","first-page":"410","DOI":"10.1038\/s41598-019-54957-7","article-title":"Brian2GeNN: accelerating spiking neural network simulations with graphics hardware","volume":"10","author":"Stimberg","year":"2020","journal-title":"Scient. Reports"},{"key":"B71","unstructured":"Torvalds\n              L.\n            \n          \n          Git: Fast, Scalable, Distributed Revision Control System\n          \n          2022"},{"key":"B72","doi-asserted-by":"publisher","first-page":"81","DOI":"10.3389\/fninf.2018.00081","article-title":"Rigorous neural network simulations: a model substantiation methodology for increasing the correctness of simulation results in the absence of experimental validation data","volume":"12","author":"Trensch","year":"2018","journal-title":"Front. Neuroinform"},{"key":"B73","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/3673226","article-title":"Context, composition, automation, and communication: The C2AC roadmap for modeling and simulation","volume":"34","author":"Uhrmacher","year":"2024","journal-title":"ACM Trans. Model. Comp. Simulat"},{"key":"B74","doi-asserted-by":"publisher","DOI":"10.1093\/nar\/gkr469","article-title":"BioPortal: enhanced functionality via new web services from the National Center for Biomedical Ontology to access and use ontologies in software applications","author":"Whetzel","year":"2011","journal-title":"Nucleic Acids Res"},{"key":"B75","doi-asserted-by":"publisher","first-page":"160018","DOI":"10.1038\/sdata.2016.18","article-title":"The FAIR Guiding Principles for scientific data management and stewardship","volume":"3","author":"Wilkinson","year":"2016","journal-title":"Sci Data"},{"key":"B76","doi-asserted-by":"publisher","first-page":"472","DOI":"10.1113\/expphysiol.2008.045161","article-title":"Facilitating modularity and reuse: guidelines for structuring CellML 1.1 models by isolating common biophysical concepts","volume":"94","author":"Wimalaratne","year":"2009","journal-title":"Exp Physiol"},{"key":"B77","doi-asserted-by":"publisher","first-page":"1734","DOI":"10.1109\/TNNLS.2023.3329525","article-title":"Effective surrogate gradient learning with high-order information bottleneck for spike-based machine intelligence","volume":"36","author":"Yang","year":"2025","journal-title":"IEEE Trans. Neural Netw. Learn. Syst"},{"key":"B78","doi-asserted-by":"publisher","first-page":"18854","DOI":"10.1038\/srep18854","article-title":"GeNN: a code generation framework for accelerated brain simulations","volume":"6","author":"Yavuz","year":"2016","journal-title":"Sci. Rep"},{"key":"B79","doi-asserted-by":"publisher","first-page":"31","DOI":"10.3389\/fninf.2012.00031","article-title":"Increasing quality and managing complexity in neuroinformatics software development with continuous integration","volume":"6","author":"Zaytsev","year":"2013","journal-title":"Front. Neuroinform"}],"container-title":["Frontiers in Neuroinformatics"],"original-title":[],"link":[{"URL":"https:\/\/www.frontiersin.org\/articles\/10.3389\/fninf.2025.1544143\/full","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,4]],"date-time":"2025-06-04T05:36:31Z","timestamp":1749015391000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.frontiersin.org\/articles\/10.3389\/fninf.2025.1544143\/full"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,6,4]]},"references-count":79,"alternative-id":["10.3389\/fninf.2025.1544143"],"URL":"https:\/\/doi.org\/10.3389\/fninf.2025.1544143","relation":{},"ISSN":["1662-5196"],"issn-type":[{"value":"1662-5196","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,6,4]]},"article-number":"1544143"}}