This title appears in the Scientific Report :
2018
Please use the identifier:
http://hdl.handle.net/2128/21340 in citations.
Reengineering of NestML with Python
Reengineering of NestML with Python
The 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 t...
Saved in:
Personal Name(s): | Perun, Konstantin (Corresponding author) |
---|---|
Contributing Institute: |
JARA - HPC; JARA-HPC Jülich Supercomputing Center; JSC |
Imprint: |
2018
|
Physical Description: |
104 p. |
Dissertation Note: |
Masterarbeit, RWTH Aachen, 2018 |
Document Type: |
Master Thesis |
Research Program: |
Human Brain Project Specific Grant Agreement 2 Human Brain Project Specific Grant Agreement 1 A modelling language for spiking neuron and synapse models for NEST Computational Science and Mathematical Methods |
Link: |
OpenAccess OpenAccess |
Publikationsportal JuSER |
The 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. |