Project Details
MEmilio - Software tools for the modular spatio-temporal modeling and simulation of infectious disease dynamics
Applicants
Professor Dr.-Ing. Jan Hasenauer; Dr. Martin Kühn
Subject Area
Epidemiology and Medical Biometry/Statistics
Mathematics
Software Engineering and Programming Languages
Mathematics
Software Engineering and Programming Languages
Term
since 2023
Project identifier
Deutsche Forschungsgemeinschaft (DFG) - Project number 528702961
To accelerate the development, analysis and simulation of epidemiological models, we developed the research software MEmilio. This modular software toolbox is designed to accommodate the needs of researchers and users. In large parts, the software is written in C++, which is among the fastest and memory-efficient programming languages. Templates are used to allow for various general structures such as models, graphs, or parameter simulations. The aim of this project is to make the research software MEmilio available for reuse and possible further development beyond its original context. Its modular design and automatic creation of Python interfaces incents the implementation of other researchers’ models to create new hybrid models or establish sound comparisons of model performances. To achieve this considerable increase in impact, we will further professionalize the software development. MEmilio already contains lots of unit tests, different continuous integration (CI) pipelines and a review process. We will increase code coverage in C++ and Python to 100% and better distinguish between unit and integration tests. Further quality assurance will be established through a professional community and improvement of the already existing structure. We will adapt MEmilio implementations to external standards to attract new users and developers. We will equip MEmilio with the possibility for (i) standardized model formulation based on the rule-based language Kappa as well as (ii) standardized description of simulation experiments and datasets based on the PEtab format. We will harmonize the interfaces between the different models and programming languages to allow identic execution of all MEmilio models from C++ and Python. General methods like a graph or I/O will be further templated, also using advanced template metaprogramming.We will focus on efficient implementations and scalability to make best use of available resources. Energy-efficient implementations will allow to provide predictions of MEmilio models on time to scientists, politicians, and decision makers. Furthermore, we will increase the versatility of MEmilio by extending the support of community standards and implementing general-purpose input formats. To support user-centered development, we will build an active community of users and developers by offering user training and developer workshops.
DFG Programme
Research Grants