# NineML: declarative, mathematically-explicit descriptions of spiking neuronal networks

Anatoli Gorchetchnikov (Boston University ), Robert Cannon (Texttensor Limited), Robert Clewley (Georgia State University), Hugo Cornelis (Katholieke Universiteit Leuven), Andrew Davison (CNRS), Erik De Schutter (Okinawa Institute of Science and Technology), Mikael Djurfeldt (INCF), Padraig Gleeson (University College London), Sean Hill (INCF), Mike Hines (Yale University), Birgit Kriener (Max Planck Institute for Dynamics and Self-Organization), Yann Le Franc (University of Antwerp), Chung-Chuan Lo (National Tsing Hua University), Abigail Morrison (RIKEN), Eilif Muller (BBP-EPFL), Hans Ekkehard Plesser (Norwegian University of Life Sciences), Ivan Raikov (Okinawa Institute of Science and Technology), Subhasis Ray (National Center for Biological Sciences), Lars Schwabe (University of Rostock), Botond Szatmary (Brain Corporation)

The growing number of spiking neuronal network models has created a need for standards and guidelines to simplify model sharing and facilitate the reproduction of scientific results across different simulators. To coordinate and promote community efforts towards such standards, the International Neuroinformatics Coordinating Facility (INCF) has formed its Multiscale Modeling Program, and has assembled a task force to propose a declarative computer language for descriptions of spiking neuronal network models, called NineML, short for Network Interchange for Neuroscience Modeling Language.

NineML is divided into two semantic layers: the
*Abstraction Layer*, which consists of core mathematical concepts
necessary to express neuronal and synaptic dynamics and network
connectivity patterns, and the *User Layer*, which provides
constructs
to specify the instantiation of a network model, based on the key
concepts of network modeling (i.e. spiking neurons, synapses,
populations of neurons and connectivity patterns across populations
of neurons). Although initially NineML is focused on point neuron
network models, the design developed by the Task Force is extensible and
allows integration of additional models and concepts in later versions.

As part of the Abstraction Layer, NineML includes a flexible block diagram notation for describing spiking dynamics. This block diagram notation provides support to represent continuous and discrete variables, their evolution according to a set of rules such as a system of ordinary differential equations, and the conditions that induce a regime change, such as the transition from subthreshold mode to spiking and refractory modes. The task force has implemented several libraries for generating efficient numerical code from such descriptions.

In addition, the Abstraction Layer is being extended with set and graph operations to describe a variety of topographical arrangements of neurons and synapses, and to describe connectivity patterns between neuronal populations. The principal idea is to use interval sets and connectivity matrix patterns to express a vast range of network models with a concise notation and efficient implementation.

The User Layer provides means for specifying the structure of the elements of a spiking neuronal network. This includes parameters for each of the individual elements (cells, synapses, inputs) and the grouping of these entities into networks. In addition, the user layer defines the syntax for supplying parameter values to abstract connectivity patterns.

The NineML specification is defined as an implementation-neutral object model representing all the concepts in the User and Abstraction Layers. Libraries for creating, manipulating, querying and serializing the NineML object model to a standard XML representation will be delivered for a variety of languages. The task force aims to deliver at least two independently developed software implementations to support a wide range of numerical simulation platforms: NEURON, NEST, Brian, MOOSE, GENESIS-3, PCSIM, PyNN, Matlab, etc.

These implementations will allow simulator developers to quickly add support for NineML, and will thus catalyze the emergence of a broad software ecosystem supporting model definition interoperability around NineML.