Objectteams
Object Teams ist eine aspektorientierte Erweiterung von Java, welche in Zusammenarbeit der Technischen Universität Berlin mit dem Fraunhofer-Institut für Rechnerarchitektur und Softwaretechnik entwickelt wurde.
Object Teams besteht (derzeit) aus einem Compiler, der Object-Teams-Code für die Java-Laufzeitumgebung übersetzt, einem Laufzeitpaket sowie einer vollständigen Integration in Eclipse. Object Teams basiert im Wesentlichen auf dem Konzept von Teams und Rollen. Eine Pointcut-Sprache, wie sie (in anderer Form) auch in AspectJ eingesetzt wird um die Selektion der Basis-Klassen und -Methoden besser steuern zu können, befindet sich derzeit in Entwicklung.
Teams
BearbeitenTeams sind quasi intelligente Packages: Sie fassen Klassen wie Packages zusammen, erlauben aber zusätzlich eigene Member und auch Vererbung.
Rollen
BearbeitenRollen leben innerhalb von Teams und sind Java-Klassen, die an andere Klassen gebunden werden können – diese werden als Basis bezeichnet. Über diese Bindung kann eine Rolle callin- und callout-Methoden definieren. Callin-Methoden sind Methoden, die in einer von drei Arten an Methoden der Basis-Klasse gebunden werden können. Die callin-Methode wird aufgerufen
- bei „before“: unmittelbar vor dem Aufruf der Basis-Methode,
- bei „after“: unmittelbar nach dem Aufruf der Basis-Methode und
- bei „replace“: anstatt des Aufrufs der Basis-Methode
Das Basis-Objekt wird gewissermaßen geschützt. Aufrufe auf dem Basis-Objekt sind der Rolle nicht direkt möglich. Solche Aufrufe müssen in Form von callout-Methoden explizit deklariert werden.
Weblinks
Bearbeiten- Eclipse Object Teams Project
- ehemalige Website des Projekts
- ObjectTeams, TU Berlin
- Stephan Herrmann: Programming with Roles in ObjectTeams/Java, Technische Universitat Berlin