Ziel des Vorlesungsteils ist es, die grundlegenden Konzepte der modell-getriebenen Softwareentwicklung (Model Driven Software Development, MDSD) zu erläutern, um dieses neue Paradigma der Softwareentwicklung einsetzen zu können.
Ziel des Übungsteils ist es, einige MDSD-Frameworks kennen zu lernen und mit diesen ein durchgängiges Beispiel zu entwickeln. Ergebnis der Übung ist eine vollständig modellgetriebene Entwicklungsumgebung.
Model Engineering ist ein Sammelbegriff für unterschiedliche Ansätze modellbasierter Softwareentwicklung, etwa Model Driven Architecture (MDA), Domain-Specific Languages, Software Factories, etc. Diese unterschiedlichen Ansätze haben gemeinsam, dass Modelle in das Zentrum der Softwareentwicklung treten und nicht, wie bisher, der programmierte Code.
In dieser Lehrveranstaltung werden Konzepte, Werkzeuge, und praktische Erfahrungen im Umgang mit den Technologien des Model Engineerings vermittelt. Dazu gibt es Vorlesungseinheiten und Übungsaufgaben, die in 3er-Gruppen realisiert werden, zu den Themen Metamodellierung, textuelle und graphische Modellierungssprachen, Modelltransformationen, und Codegenerierung
Module:
Aufwand für Studierende:13 x 2 h = 26 h Vorlesung2 x 20 h = 40 h Vorbereitung Übung 1 + 2 25 h Vorbereitung Übung 3 26 h Vorbereitung Übung 44 x 30 min = 2 h Abgabegespräche2 x 15 h = 30 h Vorbereitung auf Test 1 und Test 22 x 30 min = 1 h Anwesenheit bei den Tests--------------------------------------------------- 150 h = 6 ECTS
Die Beurteilung der LVA setzt sich aus dem theoretischen und dem praktischen Teil im Verhältnis 1:1 zusammen.
Praktischer Teil: Es gibt vier Übungsbeispiele, welche in Gruppen von drei Studierenden ausgearbeitet und bei Abgabegesprächen präsentiert werden. Bewertet wird sowohl die Funktionalität der Lösung, als auch das konzeptionelle und technische Verständnis jedes einzelnen Gruppenmitglieds individuell. Für einen positiven Abschluss müssen mindestens 30 % der Punkte je Übungsbeispiel erreicht werden. Insgesamt müssen 50 % der Übungspunkte erreicht werden.
Theoretischer Teil: Es gibt über das Semester verteilt zwei schriftliche Tests zu den Themen der Vorlesung und der Übung. Diese sind verpflichtend und jeder Test muss positiv sein (mindestens 50 % der Punkte). Einer der beiden Tests (xor) kann bei dem Wiederholungstermin im März nachgeholt bzw. wiederholt werden.
Marco Brambilla, Jordi Cabot, Manuel Wimmer: Model-Driven Software Engineering in Practice, 2. Auflage, Morgan&Claypool Publishers, 2017 (erste Auflage wird in der Lehrbuchsammlung zur Verfügung gestellt)
Thomas Stahl, Markus Völter, Sven Efftinge, Arno Haase: Modellgetriebene Softwareentwicklung, 2. Auflage, dpunkt.verlag, 2007 (wird in der Lehrbuchsammlung zur Verfügung gestellt)
Dave Steinberg, Frank Budinsky, Marcelo Paternostro, Ed Merks: Eclipse Modeling Framework, 2. Auflage, Addison-Wesley, 2009 (wird in der Lehrbuchsammlung zur Verfügung gestellt)
Markus Voelter: DSL Engineering, dslbook.org, 2013
Anneke G. Kleppe: Software language engineering, Addison-Wesley, 2008 (online verfügbar über Bibliothek)
Benoit Combemale, Robert France, Jean-Marc Jézéquel, Bernhard Rumpe, James Steel, Didier Vojtisek: Engineering Modeling Languages, CRC Press Inc., 2016