% IMPORTANT: The following is UTF-8 encoded.  This means that in the presence
% of non-ASCII characters, it will not work with BibTeX 0.99 or older.
% Instead, you should use an up-to-date BibTeX implementation like “bibtex8” or
% “biber”.

@INPROCEEDINGS{Davison:137510,
      author       = {Davison, Andrew P. and Djurfeldt, Mikael and Eppler, Jochen
                      M. and Gleeson, Padraig and Hull, Michael and Muller, Eilif
                      B.},
      title        = {{A}n integration layer for neural simulation: {P}y{NN} in
                      the software forest},
      reportid     = {FZJ-2013-03947},
      year         = {2013},
      abstract     = {Following the principle of separation of concerns, there is
                      a trend in the development of neural simulation software
                      away from monolithic simulation tools and towards an
                      ecosystem of specialized components, each of well-defined
                      scope, that can be combined in different combinations
                      according to scientific need [1]. Examples of such
                      components are CSA [2] for specifying network connectivity,
                      NineML [3] for describing the mathematics of individual
                      neuron and synapse models, NeuroML [4] for specifying
                      neuronal morphology and the placement of functional
                      elements, such as ion channels and synapses, within this
                      morphology, Neo [5] for representing electrophysiological
                      signals recorded from simulated neurons and synapses, NEST
                      [6] and NEURON [7] for performing the simulations, and MUSIC
                      [8] for facilitating runtime exchange of data between
                      different software tools. PyNN [9] is a Python API for
                      simulator-independent specification of spiking neuronal
                      network models and simulation protocols. A script written in
                      PyNN can be run on any supported simulator (or neuromorphic
                      hardware platform) without modification. From its
                      conception, PyNN has had an integrative role, making it
                      easier to use multiple simulators in a single project (for
                      cross-checking, etc.) and to port a model from one simulator
                      to another. Recent developments have emphasized still
                      further the potential of the PyNN approach as an integration
                      layer, simplifying the task of gluing together different
                      software components in order to construct a federated neural
                      simulation platform customized to the scientific problem of
                      interest. We report here on a number of recent enhancements
                      to PyNN, each of which involves integration of an external
                      software component with the PyNN API: (1) using CSA
                      specifications of neuronal connectivity in PyNN, with
                      automated pass-through of CSA objects to the underlying
                      simulator, where this is supported (NEST), for efficiency;
                      (2) import and export of NeuroML model descriptions
                      into/from PyNN; (3) integration into PyNN of the Neo library
                      for structured handling of electrophysiology data, greatly
                      increasing the number of output data formats available to
                      PyNN and making it much easier to use the same
                      analysis/visualization tool for both simulation-derived and
                      experimental data; (4) PyNN support for
                      simulator-independent, user-defined neuronal and synapse
                      models defined in NineML (rather than the fixed menu of
                      simulator-independent models previously provided by PyNN);
                      (5) integration into PyNN of the MUSIC library, enabling
                      simultaneous use of multiple different simulators in a
                      single model, defined in a single simulation script. Taken
                      as a whole, these new features are a good illustration both
                      of the merits of Python in general and PyNN in particular as
                      a federation platform/integration tool for neuronal
                      simulation, and of the benefits of a modular approach to
                      neuroscience software development. Acknowledgements Elements
                      of some of these efforts have been reported previously [10].
                      This work was supported by European Union projects
                      FP7-269921 (BrainScaleS) and FP6-015879 (FACETS). References
                      [1] Cornelis H, Coop AD, Bower JM (2012) A Federated Design
                      for a Neurobiological Simulation Engine: The CBI Federated
                      Software Architecture. PLoS ONE 7(1): e28956.
                      doi:10.1371/journal.pone.0028956 [2] Djurfeldt M (2012) The
                      connection-set algebra--a novel formalism for the
                      representation of connectivity structure in neuronal network
                      models. Neuroinformatics. 10(3):287-304.
                      doi:10.1007/s12021-012-9146-1 [3] Raikov I, Cannon R,
                      Clewley R, Cornelis H, Davison AP, De Schutter E, Djurfeldt
                      M, Gleeson P, Gorchetchnikov A, Plesser HE, Hill S, Hines
                      ML, Kriener B, Le Franc Y, Lo C-C, Morrison A, Muller E, Ray
                      S, Schwabe L, Szatmary B (2011) NineML: the network
                      interchange for neuroscience modeling language. BMC
                      Neurosci. 12(Suppl 1): P330. doi:
                      10.1186/1471-2202-12-S1-P330 [4] Gleeson P, Crook S, Cannon
                      RC, Hines ML, Billings GO, et al. (2010) NeuroML: A Language
                      for Describing Data Driven Models of Neurons and Networks
                      with a High Degree of Biological Detail. PLoS Comput Biol
                      6(6): e1000815. doi:10.1371/journal.pcbi.1000815 [5] Davison
                      AP, Brizzi T, Estebanez L, Jaillet F, Mahnoun Y, Rautenberg
                      P, Sobolev A, Wachtler T, Yger P, Garcia S (2011) Neo:
                      representing and manipulating electrophysiology data in
                      Python. Proceedings of EuroSciPy 2011.
                      http://pythonneuro.sciencesconf.org/903 [6] Gewaltig M-O
                      $\&$ Diesmann M (2007) NEST (Neural Simulation Tool)
                      Scholarpedia 2(4):1430. [7] Carnevale, N.T. and Hines, M.L.
                      (2006) The NEURON Book. Cambridge, UK: Cambridge University
                      Press. [8] Djurfeldt M, Hjorth J, Eppler JM, Dudani N,
                      Helias M, Potjans TC, Bhalla US, Diesmann M, Kotaleski JH,
                      Ekeberg O. (2010) Run-time interoperability between neuronal
                      network simulators based on the MUSIC framework.
                      Neuroinformatics 8(1):43-60. doi:10.1007/s12021-010-9064-z
                      [9] Davison AP, Brüderle D, Eppler JM, Kremkow J, Muller E,
                      Pecevski DA, Perrinet L and Yger P (2008) PyNN: a common
                      interface for neuronal network simulators. Front.
                      Neuroinform. 2:11 doi:10.3389/neuro.11.011.2008 [10] Eppler
                      JM, Djurfeldt M, Muller, E, Diesmann M, Davison AP (2012)
                      Combining simulator independent network descriptions with
                      run-time interoperability based on PyNN and MUSIC.
                      Proceedings of Neuroinformatics 2012.},
      month         = {Aug},
      date          = {2013-08-27},
      organization  = {Neuroinformatics 2013, Stockholm
                       (Sweden), 27 Aug 2013 - 29 Aug 2013},
      subtyp        = {After Call},
      cin          = {INM-6 / IAS-6 / JARA-HPC},
      cid          = {I:(DE-Juel1)INM-6-20090406 / I:(DE-Juel1)IAS-6-20130828 /
                      $I:(DE-82)080012_20140620$},
      pnm          = {331 - Signalling Pathways and Mechanisms in the Nervous
                      System (POF2-331) / BRAINSCALES - Brain-inspired multiscale
                      computation in neuromorphic hybrid systems (269921) / SMHB -
                      Supercomputing and Modelling for the Human Brain
                      (HGF-SMHB-2013-2017)},
      pid          = {G:(DE-HGF)POF2-331 / G:(EU-Grant)269921 /
                      G:(DE-Juel1)HGF-SMHB-2013-2017},
      typ          = {PUB:(DE-HGF)24},
      url          = {https://juser.fz-juelich.de/record/137510},
}