<!-- * Set USERSTYLEURL = %PUBURLPATH%/%WEB%/DokumentFormat/fonts.css --> ---+!! %FORMFIELD{"TopicClassification"}% %FORMFIELD{"Bezeichnung"}% %TOC{depth="3"}% %STARTSECTION{"no_toc"}% ----- *Verantwortlich:* Prof. Dr. Wörzberger ---++ Modul ---+++ Anerkennbare Lehrveranstaltung (LV) * [[F07_CBDSL]] ---+++ Organisation <sticky> <table border="0"> <tr valign="top"> <td> <table border="1" cellpadding="2" cellspacing="0"> <th colspan="2">Bezeichnung</th> <tr> <td>Lang</td> <td>%FORMFIELD{"Bezeichnung"}%</td> </tr> <tr> <td>MID</td> <td>MaTIN2012_CBDSL</td> </tr> <tr> <td>MPID</td> <td/> </tr> </table> </td> <td> </td> <td> <table border="1" cellpadding="2" cellspacing="0"> <th colspan="2">Zuordnung</th> <tr> <td>Studiengang</td> <td>%FORMFIELD{"Studiengang"}%</td> </tr> <tr> <td>Studienrichtung</td> <td>%FORMFIELD{"Studienrichtung"}%</td> </tr> <tr> <td>Wissensgebiete</td> <td>WPTI, WPP</td> </tr> </table> </td> <td> </td> <td> <table border="1" cellpadding="2" cellspacing="0"> <th colspan="2">Einordnung ins Curriculum</th> <tr> <td>Fachsemester</td> <td>%FORMFIELD{"Fachsemester"}%</td> </tr> <tr> <td>Pflicht</td> <td>%FORMFIELD{"Pflicht"}%</td> </tr> <tr> <td>Wahl</td> <td>%FORMFIELD{"Wahl"}%</td> </tr> </table> </td> <td> </td> <td> <table border="1" cellpadding="2" cellspacing="0"> <th colspan="2">Version</th> <tr> <td>erstellt</td> <td>2018-04-24</td> </tr> <tr> <td>VID</td> <td>1</td> </tr> <tr> <td>gültig ab</td> <td>WS 2012/13</td> </tr> <tr> <td>gültig bis</td> <td/> </tr> </table> </td> </tr> </table> </sticky> ---++++ Zeugnistext ---+++++ de Compilerbau und Domänenspezifische Sprachen ---+++++ en Compiler Construction and Domain-Specific Languages ---++++ Unterrichtssprache Deutsch, 0…50%Englisch, 0…50% ---+++ Modulprüfung <sticky> <table border="1" cellpadding="2" cellspacing="0"> <th colspan="2">Form der Modulprüfung</th> <tr> <td>sMP</td> <td>Regelfall (bei großer Prüfungszahl: sK)</td> </tr> </table> </sticky> <sticky> <table border="1" cellpadding="2" cellspacing="0"> <th colspan="2">Beiträge ECTS-CP aus Wissensgebieten</th> <tr> <td>%FORMFIELD{"Wissensgebiet1Text"}%</td> <td>%FORMFIELD{"Wissensgebiet1Value"}%</td> </tr> <tr> <td>Summe</td> <td>%FORMFIELD{"ECTS"}%</td> </tr> </table> </sticky> *Aufwand [h]:* %FORMFIELD{"Aufwand"}% ----- ---++ Prüfungselemente %STARTSECTION{"Vorlesung / Übung"}% ---+++ Vorlesung / Übung <sticky> <table border="1" cellpadding="2" cellspacing="0"> <th colspan="2">Form Kompetenznachweis</th> <tr> <td>bÜA</td> <td>Präsenzübung und Selbstlernaufgaben</td> </tr> </table> </sticky> <sticky> <table border="1" cellpadding="2" cellspacing="0"> <th colspan="2">Beitrag zum Modulergebnis</th> <tr> <td>bÜA</td> <td>unbenotet</td> </tr> </table> </sticky> ---++++ 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 System- und Softwaremodellierung anhand ausgewählter Stuktur- und Verhaltensnotationen der Unified Modeling Language (UML2) und/oder weiterer/anderer in der industriellen Praxis gebräuchlicher Notationen. Der Fokus der Betrachtungen liegt auf den frühen Projektphasen der Softwareentwicklung bis zur Konzeptphase, da hier der größte Teil der Lebenszykluskosten des Softwareprodukts verursacht wird.<br> %ENDSECTION{"Vorlesung / Übung"}% %STARTSECTION{"Praktikum"}% ---+++ Praktikum <sticky> <table border="1" cellpadding="2" cellspacing="0"> <th colspan="2">Form Kompetenznachweis</th> <tr> <td>bPA</td> <td>Entwicklung von (wiederverwendbaren) Softwarefragmenten</td> </tr> <tr> <td>sMB</td> <td>Ergebnispräsentationen zu bPA; Voraussetzung für die Teilnahme an sMP</td> </tr> </table> </sticky> <sticky> <table border="1" cellpadding="2" cellspacing="0"> <th colspan="2">Beitrag zum Modulergebnis</th> <tr> <td>bPA</td> <td>Testat oder benotet, 0…50%</td> </tr> <tr> <td>sMB</td> <td>zu bPA</td> </tr> </table> </sticky> ---++++ 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 Einsatz eines professionellen UML2-Modellierungswerkzeugs, das Round-Trip-Engieenering unterstützt, z.B. Visual Paradigm, ObjectiF. Einsatz einer professionellen Softwareentwicklungsumgebung für C++, z.B. Microsoft Visual Studio oder Eclipse-basierte Umgebungen. Als Laufzeitsystem kann z.B. ein PC mit einer Geräte- oder Anlagenemulation oder ein reales technisches Zielsystem (Gerät, Anlage) mit eingebetteter Steuerung zum Einsatz kommen.<br> %ENDSECTION{"Praktikum"}% %ENDSECTION{"no_toc"}%
Das Urheberrecht © liegt bei den mitwirkenden Autoren. Alle Inhalte dieser Kollaborations-Plattform sind Eigentum der Autoren.
Ideen, Anfragen oder Probleme bezüglich Foswiki?
Feedback senden