In der modernen Materialforschung spielt eine genaue Beschreibung der Datengenerierung und -verarbeitung eine tragende Rolle – zum Beispiel bei Messungen, Simulationen oder Analysen von Materialeigenschaften. Viele dieser Verfahren sind bislang nur Expert*innen vertraut und wurden oft nur mit speziellen Test-Datensätzen ausprobiert. Eine breitere Nutzung in der Industrie ist daher erst möglich, wenn passende Werkzeuge bereitstehen, die die Anwendung dieser Verfahren auch in eigenen Projekten ermöglichen. Die Plattform MaterialDigital unterstützt Forscher*innen und Unternehmen dabei, digitale Workflows zu nutzen und die verschiedenen Simulations-, Mess- und Analyseverfahren miteinander zu verbinden. Dadurch wird eine Interoperabilität erreicht. Bestehende und zukünftige Werkzeuge können einfacher zusammen genutzt werden. Gleichzeitig stellt die Plattform sicher, dass die Datenerfassung und -verarbeitung zuverlässig wiederholt werden kann und die gewonnenen Daten für weitere Anwendungen verfügbar sind.
Was sind Workflows?
Workflow-Implementierungen
Workflow-Umgebungen
Workflows & Ontologien
Workflow Store & Community
Was sind Workflows?
Welche Rolle spielen Workflows in der PMD?
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. Ein Workflow in der Materialforschung kann Messungen an Materialproben, Datenaufbereitung, Simulation des Materialverhaltens, Analyse der Ergebnisse und die Erstellung von Visualisierungen umfassen. Jeder Schritt wird digital erfasst und dokumentiert, sodass die gesamte Abfolge reproduzierbar ist und die Ergebnisse für weitere Projekte genutzt werden können.
Innerhalb der PMD digitalisieren wir diese Prozessschritte (Workflows), sodass jeder Schritt – auch bisher manuelle – vollständig digital abgebildet, für die Maschine zugänglich, nachvollziehbar und speicherbar wird.
Vorteile von Workflow-Umgebungen
Derzeit unterstützt die PMD zwei verschiedene Workflowumgebungen: Pyiron und SimStack. Deren Verwendung bietet die folgenden Vorteile:
- Ingenieurinnen, Datenwissenschaftlerinnen usw. wird eine benutzerfreundliche Schnittstelle zu einer Vielzahl von Werkzeugen zur Verfügung gestellt.
- Nicht-Expert*innen wird die Nutzung von standardisierten Berechnungsabläufen, die auf komplexen Verknüpfungen einzelner Software-Werkzeuge beruhen, ermöglicht.
- Erfassung komplexer individueller Berechnungsabläufe zur Dokumentation und Verteilung (z. B. für ein Paper, eine IP-Anmeldung, eine Kollaboration, etc.)
- Automatisierte Ablage der Endergebnisse sowie aller relevanten Zwischenschritte (z. B. in Datenbanksystemen, Repositories)
- Integration und einfacher Zugriff auf HPC-Ressourcen
- Anbindung an communityweite Semantiken und Wissensgraphen (Ontologien) durch die Beschreibung von Eingabe/Ausgabe einzelner Werkzeuge innerhalb einer Workflow-Kette
- Austausch von Daten ohne Zugriffe auf Rohdaten zu gewähren
- Durchführung von Datenerfassung über mehrere Rollrichtungen/mehrere Institute hinweg
- Änderung von Simulationsschritten ohne die gesamte Simulation erneut ausführen zu müssen
Workflow-Implementierungen
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.
A: Skriptbasierter Job
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.
B: Vordefinierte, aber erweiterbare Workflow-Klassen / Workflow-Komponenten
Es kann eine vordefinierte Klasse 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.
C: Grafische Oberfläche für vordefinierte Workflows
Ist ein Workflow erst einmal eingerichtet, wollen sich vor allem weniger eingearbeitete Anwendende nicht mit Kommandozeilen und deren Ausführung auseinandersetzen. 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.
D: Interoperable Arbeitsabläufe (Gewährleistung von Gemeinschaftsstandards)
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 Software-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änenexpert*innen für andere Communities implementiert werden. Zum Beispiel kann der VMAP-Standard für FEM-Simulationen verwendet werden.
Workflow-Umgebungen
Pyiron - eine Python basierte integrierte Entwicklungsumgebung für die rechnergestützte Materialwissenschaft
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 oder Produktentwicklung zu konzentrieren, anstatt sich mit technischen Details wie Ein-/Ausgabeformaten der Codes und Tools befassen zu müssen.
Weiterführende Informationen zu Pyiron: - MPIE Informationsseite zu Pyiron - Dokumentation - Github project - Open source Version
SimStack Workflow Umgebung
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 effiziente 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.
Weiterführende Informationen zu SimStack: - Simstack - Nanomatch - Anwendungsfälle
Workflows & Ontologien
Das Zusammenspiel von Workflows und Ontologien innerhalb der PMD hat unterschiedliche Facetten:
- Mit einem Workflow können Daten aus einem ontologiebasierten Datenspeicher als Eingabe gelesen, entsprechend der Prozesskette modifiziert und die Ausgabe wieder in die Ontologie eingespeist werden.
- Die Informationen eines in der Umgebung entwickelten Workflows (d. h. die Erkundung von Abhängigkeiten, die vorher nicht bekannt waren) können automatisch in einen Material-Wissensgraphen exportiert werden.
- Wenn die Funktionalität eines Werkzeugs (einschließlich der Eingabe und der Ausgabe) in Form einer Ontologie beschrieben wird, kann es in eine Workflow-Umgebung integriert werden, ohne dass ein werkzeugspezifischer Parser erforderlich ist.
- Wird die Beschreibung eines Workflows (einschließlich der Eingabe und Ausgabe eines Simulationsmoduls) generisch beschrieben (z. B. in Form einer standardisierten Ontologie), wird eine werkzeugunabhängige Formulierung erreicht. So können einzelne Werkzeuge innerhalb einer komplexen Werkzeugkette leicht ausgetauscht werden.
Workflow Store & Community
PMD Workflow Store
Der PMD Workflow Store ist ein zentraler Ort, an dem Sie Ihre Wissenschaft mit anderen teilen können! Teilen Sie Ihre Workflows und Workflowmodule um Ihre Forschungsarbeiten reproduzierbar der Community bereitzustellen.
Der Workflow Store ermöglicht: - Austausch von Workflows: Veröffentlichen und teilen Sie Ihre wissenschaftlichen Workflows mit der Community - Reproduzierbarkeit: Stellen Sie sicher, dass Ihre Forschungsergebnisse von anderen nachvollzogen werden können - Wiederverwendbarkeit: Nutzen Sie bestehende Workflows als Ausgangspunkt für eigene Projekte - Dokumentation: Professionelle Dokumentation Ihrer Workflows mit allen notwendigen Metadaten
Wie mache ich mit?
Die PMD bietet regelmäßige Workflow-Meetings an, in denen Sie lernen können, wie Sie: - Eigene Workflows entwickeln und hochladen - Bestehende Workflows nutzen und anpassen - Best Practices für die Workflow-Dokumentation umsetzen - Sich mit anderen Workflow-Entwickler*innen austauschen
Kontaktieren Sie uns, um mehr über die Teilnahme an der Workflow-Community zu erfahren!