Modulinformationssystem Informatik

 

Generative Programmierung URL PDF XML

Modulcode: WInf-GenProg
Englische Bezeichnung: Generative Programming
Modulverantwortliche(r): Prof. Dr. Andreas Speck
Turnus: unregelmäßig (WS12/13 SS14 SS15 SS16 WS17/18 WS19/20 WS20/21 SS23 SS24)
Präsenzzeiten: 2V 2Ü
ECTS: 6
Workload: 30 Std. Vorlesung, 30 Std. Präsenzübungen, 150 Std. Selbststudium
Dauer: ein Semester
Modulkategorien: MSc-WInf-WP-Inf (MSc WInf (21)) WI (MSc WInf (15)) AM-EMIS (MSc WInf) EMIS (MSc WInf)
Lehrsprache: Deutsch
Voraussetzungen: Info

Kurzfassung:

Im Modul werden nach einer kurzen Betrachtung der Grundlagen der Software-Entwicklung Ansätze zur Automatisierung der Software-Entwicklung betrachtet. Ein derartiges Vorgehen wird heute sehr häufig bei kommerziellen Systemen (wie eCommerce oder ERP Systemen) angewendet, da eine händische Programmierung zu aufwändig ist. Es werden erste Konzepte zur manuellen Wiederverwendung wie Frameworks und dann schrittweise Konzepte mit höherem Automatisierungsgrad (Produktlinien, generatives Programmieren) betrachtet. Abschließend wird noch die Qualitätssicherung und Validierung der automatisch erzeugten Software thematisiert.

Lernziele:

Die Studierenden haben einen Überblick über die bisherigen Entwicklungen im Bereich der generativen Software Entwicklung und besitzen ein Verständnis für die Einsetzbarkeit der verschiedenen Konzepte. Die Studierenden können nach der Veranstaltung die Techniken der generativen Software Entwicklung im industriellen und wissenschaftlichen Umfeld bewerten und einsetzen.

Lehrinhalte:

Es werden zunächst etablierte Vorgehen wie Muster und Frameworks betrachtet und deren Potential bewertetet. Dann werden Konzepte mit höherem Automatisierungsgrad vorgestellt. Dieses sind Produktlinien, generatives Programmieren und aspektorientierte Programmierung. Es folgen die Konzepte und Vorgehensweisen von Generatoren in generativen Systemen. Abschließend werden mögliche, typische Fehler und Probleme betrachtet sowie die Ansätze zum automatisierten Finden dieser Fehlerfälle .

Weitere Voraussetzungen:

Prüfungsleistung:

Es erfolgt eine Prüfung am Ende der Vorlesung als mündliche Prüfung.

Voraussetzung zur Teilnahme an der Prüfung ist die Erbringung von Leistungen im Rahmen der Übungsveranstaltung sein. Die erforderlichen Vorleistungen werden zu Beginn der Lehrveranstaltung / Übungsveranstaltung bekannt gegeben.

Lehr- und Lernmethoden:

Neben der Vorlesung werden zunächst in den Präsenzübungen die zu bearbeitenden Aufgaben besprochen. Im weiteren Verlauf der Veranstaltungen kommen noch systemunterstützte Übungen mit den entsprechenden generativen Systemen hinzu.

Verwendbarkeit:

Literatur:

  • Generative Programming, www.generative-programming.org
  • Czarnecki, Krzysztof, Ulrich W. Eisenecker: Generative Programming: Methods, Tools, and Applications. Addison Wesley, 2000.
  • AspectJ Website, http://eclipse.org/aspectj

Verweise:

Kommentar: