Modulhandbuch MaTIN2012_Compilerbau und Domänenspezifische Sprachen
Verantwortlich: Prof. Dr. Wörzberger
Modul
Anerkennbare Lehrveranstaltung (LV)
Organisation
Bezeichnung |
Lang |
MaTIN2012_Compilerbau und Domänenspezifische Sprachen |
MID |
MaTIN2012_CBDSL |
MPID |
|
|
|
Zuordnung |
Studiengang |
MaTIN2012 |
Studienrichtung |
G |
Wissensgebiete |
WPTI, WPP |
|
|
Einordnung ins Curriculum |
Fachsemester |
1-2 |
Pflicht |
|
Wahl |
G |
|
|
Version |
erstellt |
2018-04-24 |
VID |
1 |
gültig ab |
WS 2012/13 |
gültig bis |
|
|
Zeugnistext
de
Compilerbau und Domänenspezifische Sprachen
en
Compiler Construction and Domain-Specific Languages
Unterrichtssprache
Deutsch, 0…100%Englisch, 0…100%
Modulprüfung
Form der Modulprüfung |
sMP |
Regelfall (bei großer Prüfungszahl: sK) |
Beiträge ECTS-CP aus Wissensgebieten |
WPTI, WPP |
5 |
Summe |
5 |
Aufwand [h]: 150
Prüfungselemente
Vorlesung / Übung
Form Kompetenznachweis |
bÜA |
Präsenzübung und Selbstlernaufgaben |
Beitrag zum Modulergebnis |
bÜA |
unbenotet |
Spezifische Lernziele
Kenntnisse
- Theoretische Grundlagen (PFK.2)
- relevante Sprachklassen
- Turing-Vollständigkeit von Sprachen
- Compilerbau (PFK.2, PFK.3)
- Analysephase
- Lexikalische Analyse
- Syntaktische Analyse
- Semantische Analyse
- Synthesephase
- Zwischencodeerzeugung
- Programmoptimierung
- Codegenerierung
- Programmanalyse und Korrektheit
- Domänenspezifische Sprachen (PFK.2, PFK.3, PFK.4)
- Modellgetriebene Softwareentwicklung
- interne/eingebettete DSL
- externe DSL
- Sprachentwurf
- Entwurfsmuster für die Implementation
Fertigkeiten
- Die Studierenden können Theorie und Methoden aus dem Bereich des Übersetzerbaus wiedergeben und z.B. Grammatiken zu einer informell vorgegebenen Sprache definieren.(PFK.2, PFK.3, PFK.4, PFK.5).
- Domänenspezifische Sprachen dienen als formale Kommunikationsschnittstelle zwischen IT- und Domänenexperten. Die Studierenden können auf Basis vorhandener Anforderungen neue domänenspezifische Sprachen definieren oder bestehende Sprachen analysieren und erweitern (PFK.2, PFK.3, PFK.4, PSK.1)
- Sie wenden bei der Sprachdefinition Modellierungs-Kenntnisse des Software-Engineerings an und treffen damit wichtige Designentscheidungen für neue domänenspezifische Sprachen (PFK.3, PFK.4, PFK.5, PSK.1).
- Die Studierenden verstehen, wie aus definierten domänenspezifischen Sprachen zugehörige Werkzeuge (z.B. Parser und Editoren) generiert werden (PFK.2, PFK.3).
- Sie verstehen, wie Ausdrücke einer domänenspezifschen Sprache weiterverarbeitet werden können (PFK.2, PFK.3, PFK.4).
Exemplarische inhaltliche Operationalisierung
Die Studierenden erwerben Wissen zum Design und zur Implementation domänenspezifischer Sprachen. Sie werden z.B. befähigt mit dem Framework Xtext kleinere domänenspezifische Sprachen zu definieren und daraus Workbenches zu erstellen, die Domänenexperten dazu in die Lage versetzen, konfigurative Änderungen an IT-Systemen vorzunehmen zu können (PFK.1, PFK.2, PFK.3, PFK.4, PFK.5).
Praktikum
Form Kompetenznachweis |
bPA |
Entwicklung von (wiederverwendbaren) Softwarefragmenten |
sMB |
Ergebnispräsentationen zu bPA; Voraussetzung für die Teilnahme an sMP |
Beitrag zum Modulergebnis |
bPA |
Testat oder benotet, 0…50% |
sMB |
zu bPA |
Spezifische Lernziele
Fertigkeiten
- Kennenlernen wichtiger Grundwerkzeuge aus dem Bereich der Compileranwendung (PFK.2, PFK.3)
- Einsetzen von Scanner- und Parsergeneratoren auf gegebene Problemstellungen (PFK.4)
- umfangreichere DSLs entwerfen, implementieren und prüfen (PFK.2, PFK.3, PFK.4, PFK.5, PFK.6)
- Kurzvortrag über ein aktuelles wissenschaftliches Paper im Kontext der Lehrveranstaltung (PFK.7, PSK.1, PSK.3)
Handlungskompetenz demonstrieren
- (PFK.4, PFK.5, PSK.1, PSK.2)
- Ableitung von Modellen aus natürlichsprachigen Aufgaben
- Auswahl geeigneter Lösungsverfahren
- Bewertung von Lösungen
Exemplarische inhaltliche Operationalisierung
Die Studierenden erheben zu einer gegebenen Anwendungsdomäne Anforderungen an eine domänenspezifische Sprache, die sie im Anschluss (ggf. arbeitsteilig in Teams) formal definieren und umsetzen (PFK.3, PFK.4, PFK.5, PFK.6, PFK.7, PSK.1, PSK.2).