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

Slides:



Advertisements
Ähnliche Präsentationen
Partitionierungstechniken in Datenbanksystemen
Advertisements

Vorlesung Compilertechnik Sommersemester 2008
Diskrete Mathematik I Wintersemester 2007 A. May
Schwierigkeit von Aufgabenstellungen
Schnelle Matrizenoperationen von Christian Büttner
Theorie und Konstruktion psychologischer Tests
Prof. Dr. W. Conen 15. November 2004
Finale Semantik und beobachtbares Verhalten
Ein Modellansatz zur Beschreibung von Vagheiten
Einige entscheidbare bzw. rekursiv aufzählbare Sprachen
Der Pi-Kalkül Vortrag von Erik Witzmann Im Seminar Prozessalgebra.
On a Buzzword: Hierachical Structure David Parnas.
Wahrscheinlichkeitstheorie
von Reaktionen und chemischen Suppen
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Datenbanken werden als Anhäufung von Werten eines Wertebereiches aufgefasst und Datenbankabfragen.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Mathematische Grundlagen
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Christian Kästner Modellgetriebene Softwareentwicklung Eclipse Modelling Framework.
V. Algebra und Geometrie
Übung zum R-Baum, Gegeben ist die dargestellte Menge von Rechtecken, die in der Reihenfolge 1, 7, 9, 13, 3, 5, 11, 6, 8, 10, 4, 14, 12, 2 eingegeben.
Es ist kaum einzusehen, warum die Jugend von heute mit den Mitteln von gestern für das Leben von morgen qualifiziert werden soll. Es ist was Wahres dran,
GROOVE Graphs for Object-Oriented Verification Seminar: SEFSIS Sommersemester 2006 Basil Becker
Christian Schindelhauer
Brandenburgische Technische Universität Cottbus Program Profiling Andrzej Filipiak Übung Testen von Software SoSe 2006.
Quaternionen Eugenia Schwamberger.
Rel-Modell Relationenspezifische Operationen (11|21) Definition: natural join (natürlicher Verbund) Geg.: zwei Relationen r 1 : (A) und.
§8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein weiteres.
Folie 1 Reengineering-Werkzeugen für Webseiten Johannes Martin, University of Victoria Ludger Martin, Technische Universität Darmstadt WSR 2001 Bad Honnef,
Tutorium Willkommen zurück, in der wunderbaren Welt der Statistik Teil II.
1 Dienstbeschreibung mit DAML Ein graphischer Editor für DAML - Ting Zheng Betreuer: Michael Klein, Philipp Obreiter.
Vorlesung Gestaltung von soziotechnischen Informationssystemen - Grenzen soziotechnischer Modellierung - Gst-IS Thomas Herrmann Lehrstuhl Informations-
Visualisierung funktionaler Programme
Autoren: Ingo Paenke, Bernhard Sendhoff, Jon Rowe,
Testgetriebene Entwicklung (TDD)
Vektoren Grundbegriffe für das Information Retrieval
Sharepoint - Dienste im Intranet Präsentator:Perischa Martin Klasse:5AHELI Schuljahr:2004/05.
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
§23 Basiswechsel und allgemeine lineare Gruppe
Fuzzymengen – Was ist das?
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #3 Das relationale Modell (Teil 2)
Allgemeines zu Datenbanken
Inhalt Vorbemerkung Vorstellung einer Unterrichtssequenz Kritik
Bist du gut in Sachen Farben?! OK, dann guck dir mal folgendes Bild genau an...
Mathematik 1. Studienjahr Modul M1: Elemente der Mathematik
22. Oktober 2007Martin Feldmann, 1 Bachelor-Thesis Entwicklung einer automatisierten Dokumentation von LabVIEW Quellcode für das Rahmenwerk.
Die Integralrechnung Flächen, Volumen, Weglängen.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Christian Schindelhauer Wintersemester 2006/07 6. Vorlesung
Parallelisierung für Multiprozessor-Maschinen
AOP Lösung für Querschnittsaufgaben. Was ist AOP ? AOP ist kein Ersatz für OOP AOP ergänzt OOP AOP beinhaltet die Behandlung von Querschnittsaufgaben.
2. Mengen Unter einer Menge verstehen wir jede Zusammenfassung von bestimmten wohlunterschiedenen Objekten unserer Anschauung oder unseres Denkens zu.
Vortrag - Diplomarbeiten (HS I)
Algebraische Optimierung (1)
Folie 1 §21 Das Produkt von Matrizen (21.1) Definition: Für eine (m,n)-Matrix A und eine (n,s)-Matrix B ist das (Matrizen-) Produkt AB definiert als (21.2)
Die Präsentation des Lehrers der 21- allgemeinbildenden Schule des Bezirks Peschkö in Gebiet Buchara von Alijor Jahjojev.
Theorie, Anwendungen, Verallgemeinerungen
Constraint Delaunay Triangulations
Der A*-Algorithmus.
Aufbau semantischer Caches und Anfrageverarbeitung Seminar Semantic Caching 1/12 Kathleen Hänsch
Folie 1 §8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein.
Spärliche Kodierung von Videos natürlicher Szenen Vortragender: Christian Fischer.
Rechen- und Kommunikationszentrum (RZ) Strukturierte Datensammlung in verteilten Systemen für den DHCP-Service Tim Becker Seminararbeit / /
Vortrag Einführung in AspectJ. Gliederung 1 Einleitung 2 Querschnittsfunktionalitäten in AspectJ 2.1 Sprachelemente 3 Beispiel 4 Join Point Modell 5 Weaving.
Einführung in die Aspektorientierte Programmierung Seminarbetreuung: PD Wolfram Amme Bearbeitung: Martin Boehmer.
Einführung in AspectJ ● Inhalt: 1)Überblick 2)Elemente des crosscuttings in AspectJ 3)„Hello World“ in AspectJ 4)Wie Aspekte in Java verwoben werden 5)Join.
 Präsentation transkript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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