SDA SE Wiki

Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools


Vorlesung Aspektorientierte Softwareentwicklung, Sommer 2008


Dr. Günter Kniesel, Daniel Speicher
Tutor: Andreas Gasper

Beschreibung

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.

Termine

Vorlesung

  • Mittwoch, 9-11 Uhr (ct), Raum A207
  • Erste Vorlesung 09.04.2008

Übungen

  • Eine Übersicht der Tutoriengruppen, -zeiten und -räume werden Sie an dieser Stelle finden.

Mündliche Prüfung

  • Montag, den 21.07.2008 und Dienstag, den 22.07.2008
  • Terminvereinbarung bitte per e-mail an Ihren Tutor.

Mündliche Nachprüfung

  • 26.09.2008

Mailing-Listen

  • swt-tutoren at iai.uni-bonn.de: hierüber können Sie gezielt die Lehrenden (Dozent, Übungsleiter, Tutoren) ansprechen, wenn Sie etwas mitteilen möchten das nicht auch an alle Vorlesungsteilnehmer gehen soll.

Organisatorisches

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
teaching/lectures/aosd/2008/start.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2025