Freie Universität Berlin
Institut für Informatik
AG Programmiersprachen und Rechnerarchitektur
Seminar Generative Programmierung
Veranstalter
Prof. Dr. Elfriede Fehr
Dirk Draheim
Vorbesprechungstermine
Freitag, 19.07.02, 12-14, Raum SR049, Takustr. 9
Montag, 21.10.02, 14-16, Raum SR053, Takustr. 9
Inhalt
Das Paradigma der generativen Programmierung ist mittlerweile etabliert, und Technologien, die den aktuellen Stand dieses Ansatzes repräsentieren, bieten mächtige Abstraktionsmechanismen zur Entwicklung von Softwaresystem-Komponenten. In diesem Seminar werden verschiedene verbreitete und neuste Programmiersprachen und Programmiersprachenerweiterungen untersucht, die fortgeschrittene Generezitäts-Konzepte zur Verfügung stellen. Dazu gehören unter anderem C++, AspectJ, MetaJ, Jasper und Generic Haskell. Die Relevanz der einzelnen Sprachkonstrukte für die gezielte Erstellung wiederverwendbarer Komponenten wird diskutiert. Verwandte Thematiken wie Aspektorientierte Programmierung, Reflektion und Introspektion, werden konsequent in die Betrachtungen einbezogen.
Voraussetzungen
Vordiplom
Scheinkriterien
Teilnahme, Vortrag (eine Stunde), schriftliche Ausarbeitung (15-20 Seiten)
oder
Teilnahme, zwei Vorträge (je eine Stunde)
Literatur
- [AC01] Attardi, G., Cisternino, A. "Template Metaprogramming an Object Interface to Relational Tables". In: Proceedings of Reflection 2001, LNCS 2192, 266-267, Springer-Verlag, Berlin, 2001.
- [CC01]Walter Cazzola, Shigeru Chiba, Thomas Ledoux.
Reflection and Meta-Level Architectures: State of the Art, and Future Trends
In: Proceedings of ECOOP 2001.
- [Chi95] S. Chiba. A metaobject protocol for C ++. In Proceedings of the 10th Annual Conference on Object-Oriented Programming: Systems, Languages and Applications (OOPSLA'95), volume 30 of ACM SIGPLAN Notices, pages 285-- 299. ACM Press, October 1995.
- [Dou01] R. Douence, M. Südholt: "A generic reification technique for object-oriented reflective languages" in: "Higher-Order and Symbolic Computation", 14(1), Kluwer Academic Publishers, to appear, 2001
- [Har93]William Harrison, Harold Ossher, Subject-Oriented Programming (A Critique of Pure Objects), in: Pro-ceedings of the OOPSLA 1993, pp. 411-428.
- [Hin99]R. Hinze. A new approach to generic functional programming. In Proceedings of the 27th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Language. ACM Press, 2000.
- [Kic01] Gregor Kiczales et.al.
An Overview of AspectJ.
In: Proceedings of ECOOP'2001.
- [Niz00] Nizhegorodov, D. "Jasper: Type Safe Compile-Time Reflection Language Extensions and MOP Based Templates for Java". In: Proceedings of ECOOP'2000 Workshop on Reflection and Metalevel Architectures, 2000.
- [Sim95] C. Simonyi, "The Death of Computer Languages, the Birth of Intentional Programming", NATO Science Committee Conference, 1995.
- [Tah99] Taha, W. Multi-Stage Programming: Its Theory and Applications. PhD thesis, Oregon Graduate Institute of Science and Technology, 1999.
Einführende Literatur
- Czarnecki, K., and Eisenecker, U. "Generative Programming: Methods, Tools, and Applications". Addison Wesley Publishers, 2000.
- Dirk Draheim, Christof Lutteroth, and Gerald Weber. An Analytical Comparison of Generative Programming Technologies. In: Proceedings of the 19. Workshop GI Working Group 2.1.4. Technical Report at Christian-Albrechts-University of Kiel, October 2001.
Links