Ludwig-Maximilians-Universität München, Institut für Informatik
Lehr- und Forschungseinheit für Programmierung und Softwaretechnik
http://www.pst.informatik.uni-muenchen.de/lehre/WS0203/hsem/
Hauptseminar: Aspektorientierte Programmierung und Softwareentwicklung (WS02/03)
- Die Einhaltung folgender Termine ist für die erfolgreiche Seminarteilnahme wesentlich:
- Gliederung mit Kurzinhalt: 25.11.02
- Erste Version der Ausarbeitung und Folien: 16.12.02
- Endgültige Version: 10.01.03
20.1.2003: Geplanter Ablauf
In den letzten 10 Jahren war der Ansatz der Objekt-Orientierung der
Motor für viele neue Ansätze und Lösungen in der
Programmierung und Software-Entwicklung. Neue Modellierungssprachen
wie UML, neue Programmiersprachen wie Java und CASE Werkzeuge haben
die heutigen Systementwicklungstechniken stark beeinflusst und werden
in nächster Zukunft auch die Schlüsseltechniken der
Software-Entwicklung bleiben. Es zeigt sich aber in der aktuellen
Praxis, dass objekt-orientierter Entwurf seine Grenzen hat und
insbesondere in vielen Anwendungen nicht zu wohl-strukturiertem und
gut wartbarem Programmcode führt und dass auch die
Software-Produktivität durch die neuen Ansätze nicht wirklich
gesteigert wurde. Zum Beispiel können Konzepte wie Fehlerbehandlung,
Synchronisation oder Sicherheit in objekt-orientierten Programmen
nicht in einer sauberen lokalen Weise implementiert werden, sondern
müssen an vielen Stellen über den Code verteilt in das Programm
integriert werden. Komponenten-basierte Ansätze zur Steigerung der
Produktivität scheitern häufig an dem Aufwand, der zur Suche und
Anpassung der Komponenten geleistet werden muss.
Aspekt-orientierte und generative Programmierung haben das Ziel, diese
Probleme zu lösen, indem sie neue Modularisierungskonzepte
einführen, die es erlauben, programmübergreifende
"Aspekte" separat zu spezifizieren, und Techniken
entwickeln, mit denen Softwaresysteme aus Komponenten automatisch
generiert werden können. Das Seminar soll eine Einführung in die
aspekt-orientierte und generative Programmierung geben, die
wichtigsten dieser Ansätze untersuchen und
Software-Engineerings-Methoden vorstellen, die die systematische
Entwicklung solcher Programme unterstützen.
Insbesondere sollen folgende Ansätze behandelt werden:
- Subjekt-orientierte Programmierung
- Kompositionsfilter
- Adaptive Programmierung
- Aspekt-orientierte Programmierung am Beispiel von AspectJ und HyperJ
- Metaobjektprotokolle und Reflexion
- Generative Programmierung
- Transformationsansätze
- Rollenbasierte Modellierung
- Hörerkreis:
- Studenten im Hauptstudium mit Hauptfach Informatik
- Voraussetzungen:
- Kenntnisse von Java. Kenntnisse in UML sind wünschenswert
- Literatur:
-
- AspectJ
- HyperJ
- GenVoca
- Harold Abelson, Gerald Jay Sussman, Julie Sussman:
Structure and Interpretation of Computer Programs. Kapitel 4: Metalinguistic Abstraction.
MIT Press, 1996.
- Krzysztof Czarnecki, Ulrich W. Eisenecker:
Generative Programming - Methods, Tools, and Applications.
Addison-Wesley, June 2000.
- Tzilla Elrad, Robert E. Filman, Atef Bader (Hgg.):
Aspect-Oriented Programming.
Communications of the ACM, 44(10), 2001, S. 29-97.
- Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Videira Lopes, Jean-Marc Loingtier, John Irwin:
Aspect-Oriented Programming.
Proc. Europ. Conf. Object-Oriented Programming. Lect. Notes Comp. Sci. 1241, Springer, Berlin, 1997.
- Gregor Kiczales, Jim des Rivieres, Daniel G. Bobrow:
The Art of the Metaobject Protocol.
MIT Press, 1991.
- Trygve Reenskaug:
Working With Objects: The OOram Software Engineering Method.
Addison-Wesley, 1996.
- Jonathan M. Sobel, Daniel P. Friedman.
An Introduction to Reflection-Oriented Programming.
Proc. Conf. Reflection'96, San Francisco, 1996.
- Veranstalter
- Prof. Dr. Martin Wirsing
(wirsing, 0.58, Oettingenstr. 67; 2180 9154)
- Betreuer
- Michael Barth
(barth, E11, Oettingenstr. 67; 2180 9135)
- Dr. Hubert Baumeister
(baumeist, E0.7, Oettingenstr. 67; 2180 9375)
- Dr. Matthias Hölzl
(hoelzl, E0.10, Oettingenstr. 67; 2180 9183)
- Dr. Alexander Knapp
(knapp, E0.6, Oettingenstr. 67; 2180 9179)
- Axel Rauschmayer
(rauschma, E5, Oettingenstr. 67; 2180 9126)
- Einführungsveranstaltung und Themenvergabe
- Zeit: Do 17.10.2, 12-13h
- Ort: Raum 0.15, Oettingenstr. 67
Das Hauptseminar wird als Blockseminar Ende Januar 2003 auf
Frauenchiemsee
abgehalten.
- Die Einhaltung folgender Termine ist für die erfolgreiche Seminarteilnahme wesentlich:
- Gliederung mit Kurzinhalt: 25.11.02
- Erste Version der Ausarbeitung und Folien: 16.12.02
- Endgültige Version: 10.01.03
Lehrveranstaltungen
Lehrstuhl
Institut
Universität
Alexander Knapp (4.10.2)
Last modified: Mon Mar 24 11:35:46 CET 2003