| Diplomarbeit (abgeschlossen)
Entwicklung von Analysen und Transformationen zur Adaption von Komponenteninteraktionen.
COMPASS ist ein Werkzeug, das Transformationen zur Anpassung des Kommunikationsverhaltens von Java-Komponenten (im wesentlichen Klassen) an verschiedene Umgebungen anbietet. Der Ablauf gestaltet sich folgendermaßen:
-
Einlesen und analysieren von
Java-Quellcode.
-
Aufbau eines abstrakten
Kommunikationsmodells, das sich zur
Erkennung von
Kommunikationspaßfehlern
eignet.
-
Durchführung notwendiger
Anpassungen durch
Quellcodetransformationen.
Das abstrakte Kommunikationsmodell enthält Kommunikationsprimitive und die Architekturelemente Tor, Konnektor und Konfigurator. Quellcodeanalyse, Paßfehlererkennung und Transformation basieren auf dem am Institut entwickelten Recoder-Werkzeug
(recoder.sf.net).
Zum Aufbau des Kommunikationsmodells und zur korrekten Anpassung der Komponenten ist es erforderlich, die verwendeten Kommunikationsmuster zu erkennen. Bisher existiert bereits eine Analyse, um das Beobachtermuster in Java-Quellcode zu entdecken. Dies wird durch die Kombination statischer und dynamischer Analysen erreicht.
Literatur:
Aufgaben:
-
Erkennung weiterer
Kommunikationsmuster. Dazu brauchen
voraussichtlich lediglich
entsprechende Spezifikationen
für den gerade entstehenden
Mustererkennungsgenerator
geschrieben werden.
-
Die zu erkennenden Paßfehler
unterscheiden sich nach:
- Signaturpaßfehler
-
Mechanismuspaßfehler:
Inkompatible
Kommunikationsmechanismen.
-
Antriebspaßfehler:
Inkompatible Annahmen über
Verantwortlichkeit für
Initiation von Operationen.
-
Aktivitätspaßfehler:
Inkompatible Konfiguration der
Aktivitäten.
Zu jeder dieser Arten von
Paßfehlern müssen
entsprechende Erkennungsanalysen
entworfen und implementiert werden.
-
Komponentenadaption: Entwurf und
Implementierung von
Metaprogrammen unter Verwendung des
Recoder-Werkzeugs, mit dem
Ziel vorhandene Paßfehler
gemäß einer vom Benutzer
angegebenen Spezifikation
aufzulösen. Jedes solche
Metaprogramm beschreibt eine
Transformation des Quelltextes und
liefert als Ergebnis seiner
Anwendung den transformierten Code.
Betreuer
Bearbeiter
| |