MMT-Logo
Sitemap | English

Bachelorarbeit

Verbesserung der Robustheit von Adaptionsaspekten in adaptiven Webanwendungen

Aufgabenstellung

Die aspektorientierte Programmierung (AOP) nimmt für sich in Anspruch, durch eine verbesserte Modularisierung die Wartbarkeit von Anwendungen zu verbessern, da es möglich wird, die Anwendung getrennt von den Aspekten zu aktualisieren. Da eben die Wartung ein zentrales Element im Entwicklungsprozess von Web-Anwendungen ist, wurde der AOP-Ansatz im Projekt HyperAdapt auf dieses Gebiet übertragen, um damit Adaptivität zu modellieren. In der Praxis hat sich gezeigt, dass diese Rechnung nicht immer aufgeht: werden die während der Wartung vorgenommenen Änderungen umfangreicher, müssen auch die Adaptionsaspekte überarbeitet werden.
Es stellt sich daher die Frage, welche Kriterien es für eine möglichst hohe „Robustheit“ von Adaptionsaspekten gibt. Ein wichtiger Faktor hierfür ist die Wahl der Pointcuts: Je mehr diese explizit ausgewählte Elemente adressieren, desto größer die Wahrscheinlichkeit, dass sie nach einer Überarbeitung angepasst werden müssen. Sind sie hingegen sehr allgemein formuliert, kann es für den Entwickler schwer zu überblicken sein, an welcher Stelle sie greifen. Ähnliches gilt für die Art der Advices: Während allgemeine Adaptionsanweisungen sehr gut in verschiedenen Konfigurationen wiederverwendet werden können, dafür aber relativ wenig leisten, erlauben speziellere Anweisungen zwar mächtigere Veränderungen, erfordern dafür aber eine rigidere Struktur. Es gilt hier also, je nach Zielstellung des Entwicklers ein optimales Maß an Generizität zu finden.
Ziel dieser Arbeit ist es daher, entsprechende Einflussfaktoren  zu identifizieren und davon ausgehend Empfehlungen für Entwickler zu geben. Im Detail umfasst dies:

Weitere Informationen

Autor(en): PersonNico Stutz
Laufzeit: 01.07.2012 - 05.11.2012
Verantwortlicher HSL: PersonProf. Dr.-Ing. Klaus Meißner
Betreuer: PersonDr.-Ing. Matthias Niederhausen
Institut, Lehrstuhl: SMT, Multimediatechnik
Zugehörige Projekte: HyperAdapt