Dataflow Visualization with Python/Javascript (SA)

 

Ausgangslage

Bei grossen wissenschaftlichen Experimenten werden die zum Teil grossen Datenvolumina oftmals in komplexen Datenverarbeitungspipelines zu Endprodukten verarbeitet. Für die wissenschaftlich arbeitenden Endbenutzer ist es für die Interpretation und die Analyse der Ergebnisse unabdingbar, ein gutes Verständnis der Verarbeitungsschritte zu haben. Hier wäre eine klare, navigierbare, interaktive, visuelle Darstellung der zugrundeliegenden Datenfluss-Graphen von immensem Wert. Im Rahmen des Euclid-Projekts (ESA-Mission, welche im 2020 ins All startet), haben wir einen Prototypen erarbeitet, der leider noch sehr rudimentär ist und nur wenige Details aufweist.

 

Ziel der Arbeit

Darstellung von grossen Datenfluss-Graphen, welche sich zur Laufzeit ändern. Der Benutzer soll dabei gut unterstützt werden, um in grossen, komplexen Graphen navigieren zu können. Zum Beispiel sollen vereinfachte, grob-granulare Darstellungen für den Überblick angezeigt werden können – Zoom-Funktionalität soll dann helfen, mehr Details der Graph-Struktur und Kontext-Informationen transparent zu machen. Geeignete Abstraktionen sollen entworfen werden, welche die Implementierung vielseitig einsetzbar machen soll. Eine Umsetzung im Euclid Projekt mit dessen Anforderungen an Datenflussgraphen soll die Funktionsfähigkeit zeigen.

 

Problemstellung

Folgende Arbeiten sollen durchgeführt werden (nur 1-6 bei einem P5 Projekt):
(1) Evaluation bestehender Graph-Visualisierungs-Libraries unter Berücksichtigung Euclid-spezifischer Anforderungen
(2) Analyse einer interaktiven Exploration grosser Graphen
(3) Konzeptionelles Design der Implementierung mit den notwendigen Abstraktionen, damit dieses in einer Vielzahl von Projekten eingesetzt werden kann
(4) User-Interaktion-Konzept
(5) Umsetzung in Python und JavaScript
(6) Integration in Euclid mit dessen zur Laufzeit ändernden Datenflussgraphen
(7) Clustering grosser Datenfluss-Graphen mit entsprechenden Visualisierungstechniken