Institut für Programmiermethodik
und Compilerbau
- 1:
Lehre.- 1.1:
Sommersemester 2012. - 1.2:
Wintersemester 2011/2012.- 1.2.1:
Constraint-Programmierung. - 1.2.2:
Embedded Softwareengineering im Bereich Automotive. - 1.2.3:
Funktionale Programmierung. - 1.2.4:
Grundlagen des Übersetzerbaus. - 1.2.5:
Management von Softwareprojekten. - 1.2.6:
Softwaretechnik I. - 1.2.7:
Algebraische Strukturen als Grundlage der Informatik. - 1.2.8:
Formale Spezifikationssprachen und ihre Semantik. - 1.2.9:
Techniken der formalen Programmentwicklung an Hand von Beispielen. - 1.2.10:
Fortgeschrittene Anwendungstechniken für typische Informatiksysteme. - 1.2.11:
Logikbasierte Programmiersprachen. - 1.2.12:
Constraint-Programmierung Praxis. - 1.2.13:
Entwicklung konkreter Anwendungen nach ausgewählten Prinzipien des Software Engineering. - 1.2.14:
Experimentelles Softwareengineering. - 1.2.15:
Softwaregrundprojekt (Sopra).
- 1.2.1:
- 1.3:
Regelmäßig angebotene Lehrveranstaltungen. - 1.4:
Frühere Lehrveranstaltungen. - 1.5:
Themen für Diplomarbeiten, Masterarbeiten und Individualpraktika.
- 1.1:
- 2:
Forschung. - 3:
Mitarbeiter. - 4:
Kontakt.
Projekt Constraint-Programmierung Praxis
Erster Termin/Vorbesprechung: Donnerstag, 2011-10-20 14:00 in O27/121.
Übersicht
Die Constraint-Programmierung verbindet deklaratives Programmieren mit effizienten Problemlösungstechniken, insbesondere aus der mathematischen Optimierung und der Künstlichen Intelligenz. Es handelt sich um ein aktuelles Forschungsgebiet, das bereits eine beachtliche Zahl industrieller Anwendungen vorweisen kann.
In diesem Projekt wird in Prolog oder Java mit Constraint Handling Rules (CHR) programmiert. Eine Prolog-basierte Version von CHR kann online ausprobiert werden.
Die Studierenden sollen grundlegendes Verständnis und Kenntnisse über Prinzipien und Verfahren der Constraint-Programmierung erhalten. Diese sollen im Rahmen eines umfangreichen Projekts angewandt und vertieft werden. Die Studierenden sollen dabei lernen die Constraint-Programmierung für die Modellierung und das Lösen einer Problemstellung einzusetzen.
Vorkenntnisse in CHR und der Eclipse Umgebung sind von Vorteil, werden aber nicht vorausgesetzt.
Dieses Projekt ist teil des Projektmoduls Constraint-Programmierung, zu dem auch die beiden Vorlesungen
Constraint-Programmierung und
Regelbasierte Programmierung gehören.
Kontakt
Voraussetzungen für die Teilnahme am Projekt
- keine Vorkenntnisse von (J)CHR sind nötig, aber der Wille sich einzuarbeiten.
- gute Kenntnisse der Java- oder Prolog-Programmierung
Themen
Alle Themen sind an der aktuellen Forschung unserer CHR Forschungsgruppe angelehnt. Das Thema muss den Bearbeitenden zusagen, so dass neben den hier genannten Vorschlägen noch Abwandlungen, oder eigene Themenvorschläge berücksichtigt werden können.
- IDE Support für CHR (Eclipse)
- Code Generierung (CHR und/oder Java)
- Constraint-Speicher Visualisierung
- Paralleles CHR (mit GPUs)
- Source-to-Source Transformationswerkzeug
- Constraint-Löser
- CHR Implementierung (f. persistente Constraints)
- Werkzeuge zur Programmanalyse
