000859742 001__ 859742 000859742 005__ 20210130000356.0 000859742 0247_ $$2Handle$$a2128/21340 000859742 037__ $$aFZJ-2019-00579 000859742 1001_ $$0P:(DE-HGF)0$$aPerun, Konstantin$$b0$$eCorresponding author 000859742 245__ $$aReengineering of NestML with Python$$f - 2018-04-09 000859742 260__ $$c2018 000859742 300__ $$a104 p. 000859742 3367_ $$2DataCite$$aOutput Types/Supervised Student Publication 000859742 3367_ $$02$$2EndNote$$aThesis 000859742 3367_ $$2BibTeX$$aMASTERSTHESIS 000859742 3367_ $$2DRIVER$$amasterThesis 000859742 3367_ $$0PUB:(DE-HGF)19$$2PUB:(DE-HGF)$$aMaster Thesis$$bmaster$$mmaster$$s1548144945_14383 000859742 3367_ $$2ORCID$$aSUPERVISED_STUDENT_PUBLICATION 000859742 502__ $$aMasterarbeit, RWTH Aachen, 2018$$bMasterarbeit$$cRWTH Aachen$$d2018 000859742 520__ $$aThe NEST Modeling Language (NestML) is a domain-specific modeling language 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 software 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 thesis 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 maintainability of the reengineered software, the MontiCore Language Workbench will be used and extended by Python as a new target platform for code generation. 000859742 536__ $$0G:(DE-HGF)POF3-511$$a511 - Computational Science and Mathematical Methods (POF3-511)$$cPOF3-511$$fPOF III$$x0 000859742 536__ $$0G:(DE-Juel1)NESTML-20141210$$aNESTML - A modelling language for spiking neuron and synapse models for NEST (NESTML-20141210)$$cNESTML-20141210$$fA modelling language for spiking neuron and synapse models for NEST$$x1 000859742 536__ $$0G:(EU-Grant)720270$$aHBP SGA1 - Human Brain Project Specific Grant Agreement 1 (720270)$$c720270$$fH2020-Adhoc-2014-20$$x2 000859742 536__ $$0G:(EU-Grant)785907$$aHBP SGA2 - Human Brain Project Specific Grant Agreement 2 (785907)$$c785907$$fH2020-SGA-FETFLAG-HBP-2017$$x3 000859742 8564_ $$uhttps://juser.fz-juelich.de/record/859742/files/Masterarbeit-KonstantinPerun.pdf$$yOpenAccess 000859742 8564_ $$uhttps://juser.fz-juelich.de/record/859742/files/Masterarbeit-KonstantinPerun.pdf?subformat=pdfa$$xpdfa$$yOpenAccess 000859742 909CO $$ooai:juser.fz-juelich.de:859742$$pdnbdelivery$$pec_fundedresources$$pVDB$$pdriver$$popen_access$$popenaire 000859742 9101_ $$0I:(DE-588b)5008462-8$$6P:(DE-HGF)0$$aForschungszentrum Jülich$$b0$$kFZJ 000859742 9131_ $$0G:(DE-HGF)POF3-511$$1G:(DE-HGF)POF3-510$$2G:(DE-HGF)POF3-500$$3G:(DE-HGF)POF3$$4G:(DE-HGF)POF$$aDE-HGF$$bKey Technologies$$lSupercomputing & Big Data$$vComputational Science and Mathematical Methods$$x0 000859742 9141_ $$y2018 000859742 915__ $$0StatID:(DE-HGF)0510$$2StatID$$aOpenAccess 000859742 920__ $$lyes 000859742 9201_ $$0I:(DE-Juel1)JSC-20090406$$kJSC$$lJülich Supercomputing Center$$x0 000859742 9201_ $$0I:(DE-82)080012_20140620$$kJARA-HPC$$lJARA - HPC$$x1 000859742 980__ $$amaster 000859742 980__ $$aVDB 000859742 980__ $$aUNRESTRICTED 000859742 980__ $$aI:(DE-Juel1)JSC-20090406 000859742 980__ $$aI:(DE-82)080012_20140620 000859742 9801_ $$aFullTexts