Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering
Dr. Günter Kniesel, Daniel Speicher
Tutor: Andreas Gasper
Aspekte sind ein neues Modularisierungskonzept. Sie kapseln systemübergreifende Anforderungen („crosscutting concerns“), deren Umsetzung sonst, trotz bestmöglicher Anwendung objektorientierter Modellierungsprinzipien, über viele Komponenten eines Programms verstreut wäre. Ihre Umsetzung in einem einzelnen Modul verbessert die Wartbarkeit von Anwendungen nachhaltig, da sie Lokalität von Änderungen ermöglicht.
Die aspektorientierte Programmierung (AOP) geht auf Arbeiten an der Northeastern University Mitte der 90-er Jahre zurück. Der Begriff wurde 1996 bei XEROX PARC geprägt. Anfang 2001 wurde AOP von den Herausgebern des MIT Technology Review bereits als eine der 10 wichtigsten Zukunftstechnologien eingestuft. Heutzutage gibt es zahlreiche AOP-Systeme, wobei die Bezugssprache aber zweifellos immer noch AspectJ ist, die bei XEROX PARC entwickelte aspektorientierte Erweiterung von Java.
Der Einzug der AOP im die Industrie zeigt sich unter anderem daran, dass IBM verschiedene Entwicklungsumgebungen für AOP baut (AJDT, CME), die Hersteller von Applikationsservern AOP-Erweiterungen in Ihre Produkte integrieren (Bea Weblogic und JBoss) und sich in Anwendungsbereichen wie der Entwicklung von Middleware ein starkes Interesse an AOP Technologien zeigt.
Die Vorlesung bietet die Möglichkeit, sich frühzeitig in ein neues Paradigma mit absehbar weitreichenden Auswirkungen auf die Softwaretechnologie der Zukunft einzuarbeiten. In der Vorlesung werden verschiedene AOP-Sprachen und -Middleware-Systeme zusammen mit den dazugehörenden Entwicklungswerkzeugen vorgestellt. Interessante Anwendungen der Konzepte und Systeme werden diskutiert, um die praktischen Auswirkungen der neuen Technologien zu verdeutlichen. Der Schritt von AOP zu AOSD besteht in der Verallgemeinerung der besprochenen Programmierkonzepte auf frühere Phasen des Entwicklungsprozesses (Analyse, Entwurf). Die Integration von Aspekten in die UML ist hier zum Beispiel ein Thema.
Schliesslich werden die Gemeinsamkeiten und Unterschiede der besprochenen Systeme herausgearbeitet. Dazu gehört auch die Betrachtung von noch offenen Problemen, die Gegenstand aktueller Forschungs sind und somit auch mögliche Diplom- / Master-Arbeitsthemen eröffnen.
Die Übungen zur Vorlesung werden den Umgang mit der zur Zeit meistgenutzten AO-Programmiersprache (AspectJ) und ihrer von uns entwickelten Erweiterung (LogicAJ) in den Mittelpunkt stellen. Im Rahmen der Verfügbaren Zeit werden evtl. noch andere Werkzeuge vorgestellt und in den Übungen genutzt.
Das Portal zum Thema “Aspektorientierte Software-Entwicklung / AOSD” ist http://aosd.net.
Vorlesung
Übungen
Mündliche Prüfung
Mündliche Nachprüfung
Leistungspunkte | 4 LP im Bereich B |
---|---|
Prüfungsmöglichkeiten | Siehe Prüfungen |
Übungen | Siehe Tutorien |
Veranstalter | Dr. Günter Kniesel |
Übungsleiter | Dr. Günter Kniesel |
Tutor | Andreas Gasper |
Sprache | deutsch |