% 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”.

@TECHREPORT{Perun:859744,
      author       = {Perun, Konstantin and Rumpe, Bernhard and Plotnikov,
                      Dimitri and Trensch, Guido and Eppler, Jochen Martin and
                      Blundell, Inga and Morrison, Abigail},
      title        = {{R}eengineering {N}est{ML} {W}ith {P}ython {A}nd
                      {M}onticore},
      number       = {},
      publisher    = {Zenodo},
      reportid     = {FZJ-2019-00581,},
      pages        = {110 p.},
      year         = {2018},
      abstract     = {The NEST Modeling Language (NestML) is a domain-specific
                      modeling lan- guage developed with the aim to provide an
                      easy to use framework for the specification of executable
                      NEST simulator models. Since its introduction in the year
                      2012, many concepts and requirements were integrated into
                      the existing toolchain, while the programming language Java
                      as the underlying platform remained almost untouched, making
                      maintenance and extension of the framework by
                      neuroscientists a disproportionately complex and costly
                      process. This circumstance contradicts the basic principle
                      of NestML, namely to provide a modular and easy to extend
                      modeling language for the neuroscientific domain.More than
                      $90\%$ of the overall costs arising during the development
                      and usage of soft- ware systems originate in the maintenance
                      phase, a circumstance which makes foresighted planning and
                      design of software systems a crucial part of a software's
                      life-cycle. While the effects of errors and bad design in
                      programming in the small can be mostly mitigated by using
                      appropriate concepts, e.g., data abstraction and
                      modularization, wrongheaded decisions concerning the overall
                      architecture or platform make the software's operation
                      costly in the long term and affect the development over its
                      whole life cycle. Here, reengineering and especially the
                      changing of the environment or platform of the existing
                      systems is the approach of choice given the fact, that
                      systems often use no longer supported components, contain
                      errors in the overall foundation or simply do not correspond
                      to the existing requirements.This report deals with the
                      reengineering of the NestML tools collection and its
                      migration to Python as a new target platform. Given Python's
                      popularity in the neuroscientific domain, a migration
                      benefits the usability as well as integration into existing
                      systems, facilitates extensions by neuroscientists and makes
                      usage of bridge technologies unnecessary. In order to
                      accelerate the development and ensure modularity as well as
                      maintain- ability of the reengineered software, the
                      MontiCore Language Workbench will be used and extended by
                      Python as a new target platform for code generation.},
      cin          = {JSC / INM-6 / JARA-HPC},
      cid          = {I:(DE-Juel1)JSC-20090406 / I:(DE-Juel1)INM-6-20090406 /
                      $I:(DE-82)080012_20140620$},
      pnm          = {511 - Computational Science and Mathematical Methods
                      (POF3-511) / NESTML - A modelling language for spiking
                      neuron and synapse models for NEST (NESTML-20141210) / HBP
                      SGA1 - Human Brain Project Specific Grant Agreement 1
                      (720270) / HBP SGA2 - Human Brain Project Specific Grant
                      Agreement 2 (785907) / SLNS - SimLab Neuroscience
                      (Helmholtz-SLNS)},
      pid          = {G:(DE-HGF)POF3-511 / G:(DE-Juel1)NESTML-20141210 /
                      G:(EU-Grant)720270 / G:(EU-Grant)785907 /
                      G:(DE-Juel1)Helmholtz-SLNS},
      typ          = {PUB:(DE-HGF)29},
      doi          = {10.5281/ZENODO.1319653},
      url          = {https://juser.fz-juelich.de/record/859744},
}