Ziel ist laut Ausschreibung die Etablierung von digitalen Workflows im Sinne des dezentralen Daten- oder Simulationskonzepts durch aktive Agenten innerhalb der Software-Umgebung der Innovationsplattform. Dabei ist die Nachhaltigkeit der Software-Lösungen und der einheitliche Zugriff auf Daten und Tools entscheidend. Die Plattform wird daher von Beginn an zwei Workflowumgebungen mit den Namen „pyiron“ und „Simstack“ zur Verfügung stellen. Von den Zuwendungsempfängern wird erwartet, dass sie ihre Lösungen so gestalten, dass sie innerhalb einer dieser Workflowumgebungen lauffähig gemacht werden können.
Der Workflow Store ist ein Ort, an dem Sie Ihre Wissenschaft mit anderen teilen können! Teilen Sie Ihre Workflows und Workflowmodule um Ihrer Forschungsarbeiten reproduzierbar der Community bereitzustellen
Ein Workflow ist eine Kette von gut dokumentierten Prozessschritten, um Daten für ein bestimmtes Problem zu erzeugen oder zu bearbeiten und einen bestimmten Satz von Ergebnissen zu liefern. Innerhalb der PMD stellen wir die Umgebung für eine Digitalisierung dieser Workflows zur Verfügung (d.h., wir machen jeden einzelnen, oft noch manuellen Schritt dieser Kette für die Maschine zugänglich, interpretierbar und speicherbar). Die Vorteile der Verwendung dieser Workflow-Umgebung sind:
Derzeit unterstützt die PMD zwei verschiedene Workflow-Umgebungen: Pyiron und SimStack.
Innerhalb der PMD wird zwischen vier Ebenen (A, B, C, D) der Workflow-Implementierung unterschieden. Innerhalb eines Projekts werden diese Ebenen schrittweise mit unterschiedlichem Implementierungsaufwand, Workflow-Steuerung und Benutzerunterstützung genutzt. Es ist jedoch möglich, verschiedene Implementierungsebenen für die verschiedenen Schritte eines einzelnen Workflows zu kombinieren.
Der Benutzer stellt für die einzelnen Aufgaben eines Workflows einen Skript-Job mit wohldefinierten Eingabe- und Ausgabeparametern für die einzelnen Schritte zur Verfügung. Eingabeparameter können als Ergebnis anderer Berechnungen an das Skript übergeben werden oder die Ausgaben können in einem nachfolgenden Berechnungsschritt verarbeitet werden. Die Parameter und das Skript werden gespeichert und dokumentiert, um die Reproduzierbarkeit des Arbeitsschritts zu gewährleisten und die Neuberechnung von bereits berechneten Ergebnissen zu vermeiden. Dabei müssen die Dateiformate, die das Skript für die Ein- und Ausgabe verwendet, nicht identisch sein mit dem Dateiformat, das z.B. von pyiron für die Speicherung verwendet wird.
Es kann ein vordefinierter Jobtyp für ein Simulationswerkzeug erstellt und in das Workflowsystem integriert werden, z.B. entweder in pyiron oder Simstack. In pyiron definiert und handhabt diese Klasse den Import/Export sowie die Speicherung von Eingabe/Ausgabe und die Serialisierung der Jobattribute für die Kommunikation mit HPC. In Simstack wird dies durch die „Workflow active Nodes“ (WaNo) bewerkstelligt. Auf diese Weise können gut definierte Probleme mit einer Teilmenge von Parametern (im Vergleich zur vollen Funktionalität der Werkzeuge) als Schritt eines Workflows ausgeführt werden. Der Vorteil dieses Ansatzes ist, dass Benutzer, die mit einem bestimmten Software-Werkzeug nicht vertraut sind, keine Attribute erlernen müssen, die für den vorliegenden Arbeitsablauf nicht wesentlich sind, da sie durch eine vereinfachte, lesbare, standardmäßige Pyiron-Schnittstelle oder ein strukturiertes Xml-Format (mit einer gut dokumentierten und leicht zu erlernenden Terminologie) bereitgestellt werden. Gleichzeitig können sie leicht zu neuen Jobtypen erweitert werden, die zusätzliche oder neu definierte Funktionalität ermöglichen. Auf diese Weise können fortgeschrittene Anwender die Umgebung zur Entwicklung von Workflows einsetzen, wobei die gleiche Flexibilität wie bei Skripten gegeben ist. Der Vorteil der Verwendung der Umgebung für diesen Zweck ist die Integration verschiedener Analyse-, Visualisierungs- und Simulationswerkzeuge, die für jeden Zwischenschritt des Workflows verwendet werden können, sowie die automatisierte Ausführung von Transfers und die Ausführung auf entfernten Rechenressourcen. Die Kombination und der Austausch von verschiedenen Simulationswerkzeugen in Metajobs, die Handhabung von interaktiven Jobs und die Schleife über eine große Menge von Fällen sind auf dieser Implementierungsebene problemlos möglich.
Ist ein Workflow erst einmal eingerichtet, wollen sich vor allem weniger eingearbeitete Anwender nicht mit Kommandozeilen und deren Ausführung herumschlagen. Zu diesem Zweck kann eine grafische Benutzeroberfläche zur Verfügung gestellt werden, die die Ausgabe basierend auf einem oft begrenzten, vordefinierten Satz von Eingabeparametern generiert.
Die Verwendung von generischen Eingabe- und Ausgabeparametern für vordefinierte Klassen ermöglicht die Beschreibung (eines Teils) eines Workflows in einer Notation, die generisch ist, d.h. unabhängig von dem spezifischen oftware-Werkzeug. Generische Parameter sind auch der Schlüssel, um die Interoperabilität zwischen Software-Werkzeugen zu ermöglichen. Ein solcher Standard existiert in pyiron für atomistische Simulationen (ASE), muss aber von Domänenexperten für andere Communities implementiert werden. Zum Beispiel kann der VMAP-Standard für FEM-Simulationen verwendet werden.
Das Zusammenspiel von Workflows und Ontologien innerhalb der PMD hat unterschiedliche Facetten:
Um die Methodenentwicklung in der rechnergestützten Materialwissenschaft zu koordinieren und die bestehenden Methoden in eine gemeinsame Plattform zu integrieren, wird ein Python basiertes Framework namens pyiron entwickelt. Es bietet alle notwendigen Werkzeuge, um komplexe Simulationsprotokolle, die verschiedene Computercodes kombinieren und Millionen von separaten Rechnungen auf leistungsstarken Computerclustern durchführen können, interaktiv auszuführen. Gleichzeitig ermöglicht pyiron ähnlich einer integrierten Entwicklungsumgebung (IDE), diese Simulationsprotokolle interaktiv zu entwickeln, zu implementieren und zu testen. Durch die Integration von strukturierten und unstrukturierten Daten, Metadaten und Workflows liegen diese innerhalb derselben Plattform vor und werden daher automatisch in einer effizienten hierarchischen Datenbank abgelegt. Dadurch wird die komplette materialwissenschaftliche Expertise sowohl der Entwickler als auch der Anwender in einer standardisierten Ontologie konserviert und zugänglich gemacht.
Die Grundidee hinter diesem Framework ist es, ein einziges Werkzeug mit einer einheitlichen Schnittstelle für die verschiedensten Simulationscodes sowie Analyse- und Visualisierungstools bereitzustellen. Die Verfügbarkeit dieser IDE ermöglicht es dem Benutzer, sich auf die Wissenschaft zu konzentrieren, anstatt sich mit technischen Details wie Ein-/Ausgabeformaten der Codes und Tools befassen zu müssen.
Eine zentrale Schwierigkeit in der Einbindung von Materialsimulationen in den Produktdesign-Zyklus besteht in der Notwendigkeit, auf jeden Anwendungsfall maßgeschneiderte Simulationsworkflows, die üblicherweise aus mehreren Modulen bestehen, einzubinden. Darüber hinaus erfordert die Ausführung verfügbarer Patchwork-Lösungen spezialisiertes Know-How sowohl in der Methodik, als auch in der Bedienung von Großrechnern.
Die Workflow-Umgebung SimStack ermöglicht die effizente Gestaltung und Anpassung komplexer Workflows („rapid prototyping“) mit Softwaremodulen verschiedener Anbieter per Drag-and-Drop, wobei nur für den jeweiligen Use-Case relevante Settings exponiert werden. Zusammen mit der automatisierten Ausführung der Workflows auf Großrechnern wird hierdurch die Komplexität für den Endnutzer und die benötigte Expertise minimiert. Dies ermöglicht den Transfer komplexer, wissenschaftlicher Multiskalenmethoden in die Industrie.