Aspektorientiertes Programmieren (Wintersemester 2010/2011)
Lecturer:
Prof. Dr. Robert Hirschfeld
(Software-Architekturen)
,
Dr.-Ing. Michael Haupt
(Software-Architekturen)
General Information
- Weekly Hours: 2
- Credits: 3
- Graded:
yes
- Enrolment Deadline: 22.10.2010
- Teaching Form: Seminar
- Enrolment Type: Compulsory Elective Module
Programs
- IT-Systems Engineering BA
Description
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. Dieses Problem wird vom aspekorientierten Programmieren und weiteren Paradigmen behandelt. Diese Ansätze stellen Mechanismen zur Verfügung, welche die Modularisierung solcher so genannter querschneidender Belange erlauben.
Im Rahmen dieser Veranstaltung werden neben allgemeinen Konzepten der Aspektorientierung verschiedene aspektorientierte Programmiersprachen und -umgebungen behandelt. Daneben werden alternative Paradigmen und Systeme vorgestellt.
Lehrinhalte
- Modularität
- multi-dimensional separation of concerns
- aspektorientierte und kontextorientierte Programmierung
- Entwurf von Programmiersprachen (Modularitätskonstrukte)
- Implementierung fortgeschrittener Modularitätsmechanismen
Requirements
- Vertiefte Programmierkenntnisse in mindestens einer Programmiersprache
Examination
Vortrag, Diskussion, Implementierungsprojekt und schriftliche Ausarbeitung werden mit drei benoteten Leistungspunkten angerechnet.
Jeder Seminarteilnehmer bearbeitet einzeln eines der gestellten Seminarthemen. Die Arbeit wird in einem Vortrag von 30-45 Minuten Dauer präsentiert, an den sich eine Diskussion anschließt. Der Vortrag soll technische Aspekte der durchgeführten Arbeit als Demonstration beinhalten.
Die Seminarteilnehmer bearbeiten in Gruppen zu 2-3 Mitgliedern eine Implementierungsaufgabe. Diese hat die Umsetzung eines Anwendungsfalls unter Verwendung einer Programmiersprache aus dem Kontext des Seminars zum Gegenstand. Anwendungsfälle und Programmiersprachen werden vorgegeben.
Jede Gruppe dokumentiert die geleistete Implementierung in einer schriftlichen Ausarbeitung auf Deutsch oder Englisch im Umfang von ca. acht bis zehn Seiten im LNCS-Format. Die Ausarbeitung beschreibt die Implementierung und reflektiert sie in Bezug auf die im Seminar behandelten Modularisierungskonzepte. Sie 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.
Spätestens eine Woche vor dem jeweiligen Vortragstermin bespricht jeder Teilnehmer eine Vorversion seiner Vortragsunterlagen mit einem der Betreuer. Um einen Termin für diese Vorbesprechung kümmern sich die Teilnehmer selbständig.
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,
- ein Videoclip der Demo (vorzugsweise QuickTime),
- einer Installationsbeschreibung, und
- einem Demo-Script.
Die Ausarbeitung ist am Ende der Vorlesungszeit per Email oder auf einer CD-ROM abzugeben. Sie besteht aus
- den Dokumentquellen der Ausarbeitung und
- einer PDF-Version derselben.
Alle im Rahmen des Seminars erstellten Dokumente und Quelltexte sollen unter der MIT-Lizenz und, falls notwendig, mit einer den verwendeten Systemen kompatiblen Lizenz bereitgestellt werden.
Wird das Einreichen verlangter Dokumente bis zum jeweils angegebenen Datum versäumt, so gelten diese als nicht eingereicht, was zur Abwertung der Gesamtleistung führt.
Dates
Seminar:
- Dienstags, 15:15-16:45, HE 52
Themenvorstellung:
- Dienstag, 19.10.2010, 15:15, HE 52
Themenvergabe:
- Dienstag, 26.10.2010, 15:15, HE 52
Abgabe der Ausarbeitung als pdf-Datei sowie der verwendeten Dokumentquellen:
- Ende der Vorlesungszeit (11.02.2011)
Individuelle Termine:
- Vorbesprechung des Vortrags:spätestens eine Woche vor dem Vortrag
- Einreichung der Vortragsunterlagen:spätestens einen Tag vor dem Vortrag
Zurück