Hasso-Plattner-Institut25 Jahre HPI
Hasso-Plattner-Institut25 Jahre HPI
Login
 

Aspektorientiertes Programmieren (Wintersemester 2007/2008)

Dozent: Dr.-Ing. Michael Haupt (Software-Architekturen) , Prof. Dr. Robert Hirschfeld (Software-Architekturen)

Allgemeine Information

  • Semesterwochenstunden: 2
  • ECTS: 3
  • Benotet: Ja
  • Einschreibefrist: 26.10.2007
  • Lehrform:
  • Belegungsart: Wahlpflichtmodul

Studiengänge

  • IT-Systems Engineering BA

Beschreibung

Bei der Entwicklung komplexer Systeme tritt regelmäßig das Problem auf, dass bestimmte Belange einer Anwendung mit Hilfe der gewählten Programmiersprache nicht in Module zerlegt werden können. Derartige Belange werden dann oft so implementiert, dass sie über weite Teile der Anwendung verstreut und eng mit dem restlichen System verflochten sind. Das aspektorientierte Programmierparadigma versucht, dieses Problem zu adressieren. Es Mechanismen zur Verfügung stellt, welche die Modularisierung solcher so genannter querschneidender Belange erlauben. Ein solches Modul wird Aspekt genannt.

Im Rahmen dieser Veranstaltung werden neben allgemeinen Konzepten der Aspektorientierung verschiedene aspektorientierte Programmiersprachen und -umgebungen behandelt.

Stichworte: Aspektorientierte Programmierung, Modularität, Programmiersprachen

Voraussetzungen

  • Vertiefte Programmierkenntnisse in mindestens einer Programmiersprache

Literatur

  • Robert Filman, Tzilla Elrad, Siobhan Clarke, and Mehmed Aksit. Aspect Oriented Software Development. Addison Wesley, 2004.
  • Hidehiko Masuhara and Gregor Kiczales. Modular crosscutting in aspect-oriented mechanisms. In Luca Cardelli (ed.) Proceedings of the 17th European Conference on Object-Oriented Programming, LNCS 2743, pages 2-28, Berlin, July 2003, Springer-Verlag.
  • Martin E. Nordberg III. Aspect-oriented dependency inversion. In Kris De Volder, Maurice Glandrup, Siobhan Clarke, and Robert Filman (eds.): Workshop on Advanced Separation of Concerns in Object-Oriented Systems (OOPSLA 2001), October 2001.

Weitere Literatur wird jeweils gesondert bekannt gegeben.

Lern- und Lehrformen

Seminar (Teilnehmerzahl begrenzt)

Leistungserfassung

Vortrag, Diskussion und schriftliche Ausarbeitung werden mit drei benoteten Leistungspunkten angerechnet.

Jeder Seminarteilnehmer bearbeitet eines der gestellten Seminarthemen. Die Arbeit wird in einem Vortrag von 45 Minuten Dauer präsentiert, an den sich eine Diskussion anschließt. Der Vortrag soll technische Aspekte der durchgeführten Arbeit als Demonstration beinhalten. Ferner ist eine schriftliche Ausarbeitung auf Deutsch oder Englisch im Umfang von ca. acht bis zehn Seiten im LNCS-Format abzuliefern, welche das jeweilige Thema behandelt. Die Ausarbeitung muss eine Kurzzusammenfassung ("abstract") sowie ein Literaturverzeichnis enthalten. Auf die korrekte Angabe aller verwendeten Quellen sowie sprachliche Korrektheit ist besondere Sorgfalt zu legen. Eine Eigenleistung muss erkennbar sein. Die Entdeckung von Plagiaten führt zu jedem Zeitpunkt zum sofortigen Nichtbestehen der jeweiligen Leistung.

Eine Woche vor dem jeweiligen Vortragstermin bespricht jeder Teilnehmer eine Vorversion seiner Vortragsunterlagen mit einem der Betreuer. Die Vortragsunterlagen sind einen Tag vor dem Vortrag per Email oder auf einer CD-ROM einzureichen. Sie bestehen aus

  • den Dokumentquellen der im Vortrag verwendeten Folien,
  • einer PDF-Version derselben,
  • dem in der Demo verwendeten Quellcode,
  • einer Installationsbeschreibung, und
  • einem Demo-Script.

Die schriftliche Ausarbeitung ist am Ende der Vorlesungszeit per Email oder auf einer CD-ROM abzugeben. Sie soll Elemente der sich an den Vortrag anschließenden Diskussion aufgreifen. Einzureichen sind

  • die Dokumentquellen der Ausarbeitung und
  • eine PDF-Version derselben.

Alle im Rahmen der Veranstaltung erstellten Quelltexte sollen unter der MIT-Lizenz und, falls notwendig, mit einer den verwendeten Systemen kompatiblen Lizenz bereitgestellt werden.

Termine

Vorlesungen und Übungen/Seminare:

  • Dienstag, 17:00 - 18:30 Uhr (A-1.1)

Themenstellung:

  • 16. Oktober 2007

Themenvergabe:

  • 23. Oktober 2007

Einschreibefrist:

  • 26. Oktober 2007

Zurück