Lehrveranstaltungen
Metaprogrammierung
Hauptseminar (WS 12) - Organisation
News
- 10.01.2013 Die Räumlichkeiten für die beiden Blocktermine am 11.01. und 25.01., jeweils ab der 2. DS, stehen nun fest (jeweils im Ei in der 1. Etage; Raum 1096).
- 10.12.2012 Die Betreuer stehen jetzt fest und können auf der Teilnehmerliste eingesehen werden.
- 12.11.2012 Die Teilnehmerliste mit Themen ist jetzt online.
- 17.09.2012 Die Einschreibung ist ab jetzt in jExam möglich. Siehe Link.
- 17.09.2012 Das erste Treffen (Übersichtsveranstaltung) findet am Donnerstag den 18.10.2012 in der 3. DS in Raum E001 statt.
Inhalt
Ein wesentliches Schlüsselkriterium in der Softwareentwicklung ist das Vorhandensein und die Nutzung passender Abstraktionsmittel zur effizienten Programmierung innerhalb einer Problemdomäne. Programmiersprachen können jedoch nur eine endliche, allgemeinnützliche Menge von Sprachkonstrukten bereitstellen. Abhilfe bieten Konzepte der Metaprogrammierung, welche es Entwicklern erlauben die für ihre Problemdomäne fehlenden Abstraktionsmittel für die von ihnen verwendete Programmiersprache zu entwickeln und (in dieser) anzuwenden. Der Begriff Metaprogrammierung umfasst zwei zusammenhängende Problemstellungen: (1) die Entwicklung von Programmen, deren Ausgabe Programme sind (d.h. Programme die Programme berechnen) und (2) die Erweiterung einer Programmiersprache um neue Konzepte, Operatoren und Kontrollstrukturen mithilfe ihrer selbst. Zudem kann zwischen statischer und dynamischer Metaprogrammierung unterschieden werden, d.h. ob die Ausführung von Metaprogrammen (und daher die Berechnung von Teilen des Programms) vor der Ausführung des eigentlichen Programms erfolgt oder erst während. Entsprechend vielfältig und unterschiedlich sind die in gängigen Technologieräumen und Programmiersprachen bereitgestellten Metaprogrammierungsansätze.
Ziel des Hauptseminars ist die Veranschaulichung der Metaprogrammierung in unterschiedlichen Technologieräumen, so dass Teilnehmer einen Überblick über die Vielzahl der Metaprogrammierungsansätze erhalten.
Themen
- C Präprozessor
- C++ Templateprogrammierung
- Java Reflection
- EMF (insbesondere Dynamic EMF)
- Smalltalk & Squeak VM
- Scheme Macros
- CLOS & MOP (Common Lisp Object System & Metaobject Protocol)
- MetaOCaml / Template Haskell
- TXL zur Programmtransformation (Source to Source)
- Eine oder zwei Templatesprachen (Vorschläge konkreter Sprachen)
- Metaprogrammierung in der SPARQL Interference Language (SPIN) mithilfe von Topbraid
Organisation
Verantwortlicher: Dipl.-Inf. Christoff Bürger
Schriftliche Ausarbeitung: 5 bis maximal 8 Seiten (LaTeX LNCS Style)
Vortrag: 30 Min. "Theorie" + 10 Min. Demo Das Hauptseminar wird als Blockseminar stattfinden. Geplant sind zwei bis drei Blöcke. Die Themenvergabe und Veranstaltungstermine werden bei einer ersten Übersichtsveranstaltung abgesprochen. Zum bestehen des Seminars ist die Teilnahme an den Veranstaltungen, sowie die schriftliche Ausarbeitung und Präsentation eines der obigen Themen erforderlich. Dabei soll jede Präsentation neben der thematischen Auseinandersetzung auch eine ca. 10. minütige Demo des bearbeiteten Technologieraums beinhalten. Die Demo dient zur Veranschaulichung der vorgestellten Metaprogrammierungstechnik anhand eines selbstgewählten Beispiels. Jedem Teilnehmer wird ein Betreuer des Lehrstuhls zugeordnet, welcher für Konsultationen und Fragen, insbesondere zur schriftlichen Ausarbeitung bereitsteht.
Schriftliche Ausarbeitung: 5 bis maximal 8 Seiten (LaTeX LNCS Style)
Vortrag: 30 Min. "Theorie" + 10 Min. Demo Das Hauptseminar wird als Blockseminar stattfinden. Geplant sind zwei bis drei Blöcke. Die Themenvergabe und Veranstaltungstermine werden bei einer ersten Übersichtsveranstaltung abgesprochen. Zum bestehen des Seminars ist die Teilnahme an den Veranstaltungen, sowie die schriftliche Ausarbeitung und Präsentation eines der obigen Themen erforderlich. Dabei soll jede Präsentation neben der thematischen Auseinandersetzung auch eine ca. 10. minütige Demo des bearbeiteten Technologieraums beinhalten. Die Demo dient zur Veranschaulichung der vorgestellten Metaprogrammierungstechnik anhand eines selbstgewählten Beispiels. Jedem Teilnehmer wird ein Betreuer des Lehrstuhls zugeordnet, welcher für Konsultationen und Fragen, insbesondere zur schriftlichen Ausarbeitung bereitsteht.
Anrechnung
Diese Lehrveranstaltung kann wie im Lehrangebot der Fakult�t angegeben eingebracht werden. Studenten anderer Studiengänge können den Kurs besuchen, jedoch nicht prüfen lassen.