Professur Informationssysteme und Softwaretechnik






Projekt ASPIC

Aspekt-orientierte Programmierung ist ein modernes Konzept, dessen Bedeutung für die Softwaretechnologie erst noch untersucht werden muss (01/2000 - 12/2011, haushaltsfinanziert). Typische Anwendungen werden mittels klassischer objektorientierter Methodologie als auch mittels aspekt-orientierter Technologie programmiert und die dabei enstandenen Ergebnisse miteinander verglichen.

Aspekt-orientierte Technologie hilft dabei, das Problem der "separation of concerns" zu lösen und unterstützt damit u.a. die Eigenschaft von Softwareprodukten, die als Portabilität bezeichnet wird. Es wird versucht, verschiedene Aspekte des Modells in Programmiersprachen separat zu beschreiben, weil dies ermöglicht, Änderungen und Modifikationen einfacher durchzuführen. Mit Hilfe konventioneller Sprachen lassen sich dagegen bestimmte Eigenschaften (Aspekte) nicht separat beschreiben. Uns hat dieses Problem betroffen, als wir beginnen wollten, unsere fertige Lösung eines parallelen Objektservers (Projekt OPAS), entwickelt unter dem Betriebssystem PARIX, in die verteilte Beowulf-Umgebung des CLIC-Clusters zu portieren. Da das Konzept der Synchronisation von parallelen Prozessen in OPAS nicht separat beschrieben worden war, was nicht einmal möglich war, genügt es nicht, einfach einen Teil des Programms, der für die Synchronisation der parallelen Prozesse verantwortlich ist, auszutauschen. Das System muss neu programmiert werden, was umständlich ist, obwohl wir vieles aus dem alten System benutzen können. Für die Lösung dieser Aufgabe werden wir die neu entwickelte Programmiersprache AspectJ einsetzen. Wir werden diese neue Technologie im Rahmen des Projekts ASPIC (Aspekt-orientierte Implementierung eines Objektservers in einer Clusterumgebung) untersuchen und die Ergebnisse als eine Methodologie beschreiben.