Universität Karlsruhe
Analyse, Modellierung und Transformation von Interaktionen mit COMPASS

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:

  1. Einlesen und analysieren von Java-Quellcode.
  2. Aufbau eines abstrakten Kommunikationsmodells, das sich zur Erkennung von Kommunikationspaßfehlern eignet.
  3. 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

Alumni
Dr. Dirk Heuzeroth

Bearbeiter

Ex-Studenten
Peter Horn
Login
Links