Studentische Arbeiten
Debugging und Visualisierung von stochastischen Graphtransformationen
Typ der Arbeit:
Bachelor-Thesis
Bearbeitungsstand: Abgeschlossene Arbeiten
Arbeit abgeschlossen am: 13.09.2021
Betreuer*in: M.Sc. Sebastian Ehmes
Student*in: Thomas Brüning
Motivation
Graphen und Graphtransformationen (GT) eignen sich sehr gut für die Beschreibung von Veränderungsprozessen strukturell stark vernetzter Modelle. Anwendungsbeispiele hierfür sind die Simulation von biochemischen Prozessen oder die Dynamik von drahtlosen Netzwerken. In vielen Fällen, wie etwa bei den hier genannten, handelt es sich dabei um stochastische Prozesse. Stochastische Prozesse kommen in der realen Welt häufig vor, und eine Möglichkeit solche Prozesse graphbasiert nachzubilden, sind sogenannte regelgetriebene Simulationen, die stochastische Graphtransformationen einsetzen. Bei diesen werden Graphtransformationsregeln, die Modelltransformationen und damit z.B. Molekülbindungsprozesse deklarativ beschreiben, mit Wahrscheinlichkeiten oder Raten annotiert. Diese Annotationen werden anschließend genutzt, um stochastische Prozesse abzubilden.
In vergangenen Arbeiten wurde die regelbasierte Simulationsumgebung SimSG entwickelt, die mit solchen stochastischen Graphtransformationen arbeitet. SimSG ist momentan das einzige auf allgemeine Zwecke anwendbare Tool dieser Art. SimSG baut auf dem fachgebietseigenen GT-Werkzeug eMoflon auf, wodurch sich GT-Regeln komfortabel textuell beschreiben lassen. Genauso können Metamodelle mit Hilfe des Eclipse Modeling Frameworks (EMF) unkompliziert definiert und dazu konforme Modellinstanzen erzeugt werden. Als Ergebnis einer Simulation erhält man eine Menge von Statistiken über Matches sogenannter Observablen, die üblicherweise zu beobachtende Graphmuster beschreiben. Beispielsweise könnte das die gebundenen Moleküle eines bestimmten Typs in einem Biochemie-Szenario sein.
Ein großes Problem, welches von GT-Werkzeugen oft nur unzureichend betrachtet wird, tritt auf, wenn die Ergebnisse der Simulation nicht den Erwartungen entsprechen. Die Auswirkungen von GT-Regelanwendungen auf Modelle sind oft schwer nachvollziehbar und besitzen teils große Nebeneffekte, welche nicht immer unmittelbar vorhersehbar sind. Im Falle von stochastischen GT-Systemen ist das Problem noch gravierender, da die zufällige Natur der Regelanwendungen hier die Reproduzierbarkeit zusätzlich erschwert.
Aufgabenstellung
Die geplante Bachelorarbeit soll sich des Problems der fehlenden Nachvollziehbarkeit von GT-Regelanwendungen im Allgemeinen und stochastischen GT-Regelanwendungen im Fall von SimSG im Speziellen annehmen. Im Rahmen dieser Arbeit werden zunächst relevante Informationen, die bei regelgetriebenen Simulationen anfallen, identifiziert. Anschließend wird ein Framework auf Basis eines bereits existierenden Prototyps entwickelt, welches in der Lage ist, Regelanwendungen und deren Nebeneffekte aufzuzeichnen, mit dem Ziel, diese später wieder abzurufen. Um hierbei möglichst speichereffizient zu arbeiten, sollen nur die Änderungen (Deltas) persistiert werden.
Das resultierende Framework wird in eMoflon-GT eingebettet, um bei der allgemeinen Entwicklung von GT-Regeln zu unterstützen: Regel- oder Nebeneffekte der Anwendungen können so untersucht und Regeln gegebenenfalls angepasst werden. Anschließend wird das Framework erweitert, um in SimSG spezifischere simulationsrelevantere Daten abzuspeichern. Entwickler sollen neben der Möglichkeit des „Zurückspulens“ und „Wiederabspielens“, sowie einer „Step-by-Step“-Funktionalität auch eine tiefere Einsicht in die tatsächlichen Auswirkungen einer Regelanwendung erhalten. Um dies zu erreichen, wird zusätzlich eine Visualisierung implementiert. Darin kann entweder das gesamte laufende Modell oder spezifischere Ausschnitte angezeigt, sowie Regelanwendungen an bestimmten Stellen des Modells dargestellt werden. Abschließend wird untersucht, ob und wie sehr sich das Aufzeichnen während einer Simulation auf die Performanz von SimSG auswirkt. Im Zuge dessen wird außerdem ermittelt, wie die Dateigrößen der Aufzeichnungen skalieren und bis zu welcher Simulationsgröße das Tool effektiv einsetzbar ist und gegebenenfalls mögliche Verbesserungsmaßnahmen evaluiert.