Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Kombination von AOP und FOP Ein Vortrag für das Seminar erweiterte Programmiertechniken von Samuel Simeonov im Sommersemester 2007.

Ähnliche Präsentationen


Präsentation zum Thema: "Kombination von AOP und FOP Ein Vortrag für das Seminar erweiterte Programmiertechniken von Samuel Simeonov im Sommersemester 2007."—  Präsentation transkript:

1 Kombination von AOP und FOP Ein Vortrag für das Seminar erweiterte Programmiertechniken von Samuel Simeonov im Sommersemester 2007

2 Samuel Simeonov - Kombination von AOP und FOP 2/18 Inhalt Einleitung Überblick: AspectJ Schrittweise Entwicklung AOP als algebraisches Modell Ausblick Zusammenfassung

3 Samuel Simeonov - Kombination von AOP und FOP 3/18 Einleitung AspectJ bringt einige Vorteile sowie erhebliche Nachteile mit sich Aspekte gar nicht bzw. beschränkt wiederverwendbar Aspektverhalten schwer vorhersagbar Aspekteinflechtung schwer nachvollziehbar Damit: Behinderung etablierter Programmierpraktiken

4 Samuel Simeonov - Kombination von AOP und FOP 4/18 AspectJ – Static Crosscuts Als Transformation:

5 Samuel Simeonov - Kombination von AOP und FOP 5/18 AspectJ – Dynamic Crosscuts Als Transformation:

6 Samuel Simeonov - Kombination von AOP und FOP 6/18 AspectJ – Ordnung von aspects Unterschiedliche Einflechtungsreihenfolgen führen zu verschiedenem Programmverhalten Um Ergebnis vorherzusagen muss man Reihenfolge kennen Nur möglich durch declare precedence Ohne: Programme nicht portierbar

7 Samuel Simeonov - Kombination von AOP und FOP 7/18 AspectJ – Ordnung von advices 2 Regeln: after advices immer entgegengesetzt der Implementierungsreihenfolge, die anderen advices immer in Implementierungsreihenfolge 2 Probleme: zirkularität und unvollständigkeit

8 Samuel Simeonov - Kombination von AOP und FOP 8/18 Incremental Development

9 Samuel Simeonov - Kombination von AOP und FOP 9/18 AOP als algebraisches Modell Vorüberlegung Alle introductions müssen explizit sein Advice und introduction müssen getrennt werden pure advice

10 Samuel Simeonov - Kombination von AOP und FOP 10/18 AOP als algebraisches Modell Summe von introductions + ist die Vereinigung disjunkter Mengen, also ergibt sich: Identität: 0 ist das leere Programm: Kommutativität: gegeben weil die Mengenvereinigung kommutativ ist Assoziativität: gegeben, weil die Mengenvereinigung assoziativ ist + erlaubt anders als AspectJ kein overriding von membern

11 Samuel Simeonov - Kombination von AOP und FOP 11/18 AOP als algebraisches Modell weaving Identität: id ist das null pure advice, ein advice das keine join points hat Distributivität: weaving ist distributiv über introduction Summen Dies ist die zentrale Eigenschaft von AOP Assoziativität: weaving ist rechtsassoziativ

12 Samuel Simeonov - Kombination von AOP und FOP 12/18 AOP als algebraisches Modell Summe von advices Advices können als Funktionen angesehen werden Verknüpfung von advices wird als Funktionsverknüpfung modelliert Identität: id ist das null pure advice, wenn a pure advice Kommutativität: die Reihenfolge der advices spielt eine Rolle, ist nicht kommutativ, es sei denn die advices haben keine gemeinsamen join points Assoziativität: gegeben, weil die Funktionsverknüpfung assoziativ ist

13 Samuel Simeonov - Kombination von AOP und FOP 13/18 AOP als algebraisches Modell Modellierung von Aspects als Tupel

14 Samuel Simeonov - Kombination von AOP und FOP 14/18 AOP als algebraisches Modell aspect composition

15 Samuel Simeonov - Kombination von AOP und FOP 15/18 AOP als algebraisches Modell Das funktionale Modell

16 Samuel Simeonov - Kombination von AOP und FOP 16/18 Ausblick Die Ordnungsregeln für Advices in AspectJ sollten eliminiert werden Die Ordnungsregeln für Aspects in AspectJ sollten geändert werden Wenn Aspekte Kommutativ sind: keine Ordnung mehr nötig Existierende Compiler und Tools sollten dahingehend nachgerüstet werden

17 Samuel Simeonov - Kombination von AOP und FOP 17/18 Zusammenfassung Limitierung von AspectJ Darstellung der Komplexität der Verknüpfung von aspects Entwicklung eines algebraischen Modells um die Quelle des Problems zu finden Lösung des Problems in Ansätzen

18 Samuel Simeonov - Kombination von AOP und FOP 18/18 Vielen Dank für eure Aufmerksamkeit Quellen: Roberto Lopez-Herrejon, Don Batory, Christian Lengauer: A disciplined approach to aspect composition


Herunterladen ppt "Kombination von AOP und FOP Ein Vortrag für das Seminar erweiterte Programmiertechniken von Samuel Simeonov im Sommersemester 2007."

Ähnliche Präsentationen


Google-Anzeigen