Domänenspezifische Sprachen für Ozean-Modellierung und -Simulation
Physik, Chemie und Biologie des Meeres
Zusammenfassung der Projektergebnisse
Da wissenschaftliche Modelle eine entscheidende Rolle in unserem Verständnis der Welt einnehmen, wird es immer wichtiger, anpassungsfähige und zuverlässige Modelle zu haben. OceanDSL hatte zum Ziel, die Trennung von Belangen innerhalb der wissenschaftlichen Modellierung zu fördern, insbesondere im Kontext der biogeochemischen Modellierung des Ozeans. Um dies zu erreichen, griffen wir auf modellgetriebene Softwareentwicklung zurück, einen etablierten Ansatz in den Bereichen Informationssysteme und eingebettete Systeme. Unser Forschungsansatz bestand darin, semistrukturierte Interviews mit den assoziierten Wissenschaftlern durchzuführen. Diese Interviews hatten zum Ziel, Einblicke in die Domäne, die Interaktion der Wissenschaftler mit Modellen und untereinander sowie ihre Entwicklungsprozesse zu gewinnen. Wir transkribierten, kodierten und extrahierten sorgfältig Themen aus diesen Interviews unter Verwendung einer thematischen Analyse. Zusätzlich analysierten wir die vorhandene Literatur über biogeochemische Modelle, um deren Spezifikationen zu verstehen. Basierend auf unseren Ergebnissen entwickelten wir mehrere domänenspezifische Sprachen (DSLs), die auf verschiedene Belange zugeschnitten sind. Zunächst entwarfen und implementierten wir zwei DSLs für Konfigurations- und Parameter-Einstellungen in wissenschaftlichen Modellen. Diese DSLs trennen effektiv die Belange von Konfiguration und Parametrisierung und beinhalten Sicherheitsvorkehrungen, um fehlerhafte Konfigurationen zu vermeiden. Wissenschaftler und Forschungssoftwareentwickler wurden mit diesen DSLs vertraut gemacht und äußerten großes Interesse daran, diese nicht nur für vereinfachte Konfigurationen zu nutzen, sondern auch um Metadaten für bestimmte Modellausführungen zu generieren. Zweitens entwarfen wir eine DSL zur Spezifikation von biogeochemischen Modellen auf der Grundlage von Quelle-Minus-Senke-Termen. Diese DSL ermöglicht die Generierung von Model Code für verschiedene Ozeanmodelle und Experimente. Während der Präsentation bestätigten die Wissenschaftler die Vorteile der DSL bei der Verbesserung des Modellverständnisses, insbesondere in Verbindung mit den rekonstruierten Architektur-Visualisierungen. Darüber hinaus schlugen sie vor, diese Informationen für weitere Modelltests und -verfeinerungen zu nutzen. Neben diesen Arbeiten entwickelten wir somit eine DSL zur Unterstützung von Modelltests. Unsere Recherche ergab, dass moderne Softwarequalitätsmaßnahmen bei der Entwicklung wissenschaftlicher Modelle häufig vernachlässigt wurden und entsprechende Werkzeuge nur begrenzt verfügbar waren. Um unsere DSLs besser in wissenschaftliche Modelle zu integrieren, erkannten wir die Notwendigkeit, die Softwarearchitektur dieser Modelle genauer zu verstehen. Aus diesem Grund haben wir Methoden und Werkzeuge zum Reverse Engineering von Modellarchitekturen durch statische Code-Analyse und dynamische Laufzeitbeobachtungen angepasst und entwickelt. Das Feedback der Wissenschaftler zeigte, dass die Architektur-Visualisierungen dazu beitrugen, das Programmverständnis erheblich zu verbessern, insbesondere für Neueinsteiger in ein bestimmtes Modell. Diese Werkzeuge sollen den Wissenschaftlern auch in zukünftigen Vorhaben zugutekommen. Darüber hinaus untersuchten wir Methoden und Werkzeuge, die genetische Algorithmen nutzen, um architektonische Verbesserungen für zukünftige Modellentwicklungen vorzuschlagen. Zusammenfassend zeigen die Forschungsergebnisse von OceanDSL das erhebliche Potenzial von DSLs, die Trennung von Belangen zu fördern und das Verständnis wissenschaftlicher Modelle zu verbessern. Unsere Arbeit dient als Grundlage für effektivere und robustere Praktiken bei der Entwicklung von Modellen innerhalb der biogeochemischen Modellierung.
Projektbezogene Publikationen (Auswahl)
-
CP-DSL: Supporting Configuration and Parametrization of Ocean Models with UVic (2.9) and MITgcm (67w). Copernicus GmbH.
Jung, Reiner; Gundlach, Sven & Hasselbring, Wilhelm
-
Monitoring Python Applications with Kieker”. In: 12th Symposium for Software Performance. CEUR Workshop Proceedings. Nov. 2021.
Reiner Jung; Sven Gundlach; Serafim Simonov & Wilhelm Hasselbring
-
“Developing Domain-Specific Languages for Ocean Modeling”. In: Software Engineering 2021 Satellite Events - Workshops and Tools & Demos. Vol. 2814. Feb. 2021, pp. 1–12.
Reiner Jung; Sven Gundlach; Serafim Simonov & Wilhelm Hasselbring
-
“Instrumenting C and Fortran Software with Kieker”. In: Symposium on Software Performance. CEUR Workshop Proceedings. Nov. 2021.
Reiner Jung; Sven Gundlach & Wilhelm Hasselbring
-
Modularizing Earth system models for interactive simulation. Informatik Spektrum, 45(5), 300-303.
Claus, Martin; Gundlach, Sven; Hasselbring, Wilhelm; Jung, Reiner; Rath, Willi & Schnoor, Henning
-
Software development processes in ocean system modeling. International Journal of Modeling, Simulation, and Scientific Computing, 13(02).
Jung, Reiner; Gundlach, Sven & Hasselbring, Wilhelm
-
Thematic domain analysis for ocean modeling. Environmental Modelling & Software, 150, 105323.
Jung, Reiner; Gundlach, Sven & Hasselbring, Wilhelm
-
Interview Transcripts on Ocean Modeling and Biogeochemical Modeling. Version 1.0.0. Zenodo, July 2023.
Reiner Jung; Sven Gundlach & Wilhelm Hasselbring
-
Themes describing the Ocean Modeling Domain. Version 1.0.0. Zenodo, July 2023.
Reiner Jung; Sven Gundlach; Wilhelm Hasselbring & Faiz Ahmed
-
“Architecture Recovery and Optimization for Scientific Software”. In: Conference for Research Software Engineering in Germany. Feb. 2023.
Reiner Jung; Sven Gundlach; Henning Schnoor & Wilhelm Hasselbring
-
“Architecture Recovery from Fortran Code with Kieker”. In: Softwaretechnik-Trends 43.1 (Feb. 2023). Proceedings of the 13th Symposium on Software Performance, pp. 38–40.
Reiner Jung; Henning Schnoor; Sven Gundlach & Wilhelm Hasselbring
-
“Instrumenting Python with Kieker”. In: Softwaretechnik-Trends 43.1 (Feb. 2023). Proceedings of the 13th Symposium on Software Performance, pp. 26–28.
Serafim Simonov; Thomas Düllmann; Reiner Jung & Sven Gundlach
