Forschungsthemen
[MA] Inkrementeller Rollen-basierter Dispatch
Rollen-basierte Softwareentwicklung ermöglicht die Entwicklung adaptiver Softwaresysteme, wozu neben der rollen-orientierten Modellierung auch eine Unterstützung des Rollen-Konzepts bei der Programmierung benötigt wird. Die Bibliothek SCROLL stellt solche Konzepte für die Programmiersprache Scala und somit für die Java Virtual Machine zur Verfügung. Insbesondere bietet SCROLL neben den Grundkonzepten der rollen-basierten Programmierung die Möglichkeit, den Dispatch, also die Entscheidungsfunktion, welche Rolle einen Methoden- oder Attributzugriff wie auszuführen hat, benutzerdefiniert und zur Laufzeit eines Programms anzupassen. Diese Flexibilität hat allerdings einen hohen Aufwand bei jedem Dispatch-Vorgang zur Folge. Gleichzeitig lässt sich für viele Fälle die Annahme treffen, dass einerseits eine Dispatch-Funktion bei gleicher Rollenkonfiguration das gleiche Ergebnis liefert und andererseits eine solche Funktion bei gleicher Konfiguration mehrfach aufgerufen wird. Dies weist darauf hin, dass die Verwendung von Caching-Technologien sinnvoll sein kann und zu einer Verbesserung des Laufzeitverhaltens führt. Allerdings setzt die Verwendung von Caching auch eine korrekte Invalidierungsstrategie und somit ein Abhängigkeitsmanagement voraus. Daraus ergeben sich die folgenden Forschungsfragen: RQ1: Welche Dispatch-Varianten kann man mit inkrementell auswertbaren Attributgrammatiken berechnen? RQ2: Welchen Einfluss hat die inkrementelle Berechnung des Dispatch auf das Laufzeitverhalten rollen-basierter Programme?
Betreuer: Johannes Mey