Model-driven Software Engineering

Heutige Software wird immer komplexer und ist damit einhergehend für Entwickler:innen immer schwerer zu verstehen. MDSE verringert die Komplexität durch den Einsatz von geeignet abstrahierten Modellen. Ein Modell selbst wird durch sein Metamodell beschrieben. Die Modellierung eines Modells auf der Grundlage eines zuvor festgelegten Metamodells erfordert eine konkrete Syntax, die auch als domänen-spezifische Sprache (DSL) bezeichnet wird. Diese kann sowohl textuell als auch grafisch sein und ist, im Gegensatz zu sogenannten General Purpose Languages (GPL), stark auf die Zielgruppe bzw. Domäne und den jeweiligen Anwendungsfall zugeschnitten.

Ein Modell kann mehr sein als nur ein Bild an einem Whiteboard

Der Hauptvorteil der modellgetriebenen gegenüber der modellbasierten Softwareentwicklung ist, dass das erstellte Modell weiterverarbeitet werden kann. Das auf einem Whiteboard gemalte Diagramm ist letztlich nur ein Bild. Ein Modell hingegen kann verwendet werden, um das Verhalten des modellierten Systems zu simulieren und zu analysieren. Die Korrektheit kann bewiesen werden und Testfälle können automatisch aus dem Modell abgeleitet werden. Außerdem kann das Modell in lauffähigen Code übersetzt werden.

Lernziele

Durch den Besuch der Vorlesung Model-driven Software Engineering sind Studierende anschließend in der Lage…

Kenntnisse und Verständnis

  • …die folgenden Konzepte zu erklären: Modell, Metamodell, Einschränkungen, Transformation, Semantik, abstrakte und konkrete Syntax;
  • …die Architektur moderner Modellierungsframeworks zu erklären
  • …zu erklären, wie domänenspezifische Modellierungssprachen innerhalb eines modernen Modeling Frameworks realisiert werden können

Fertigkeiten

  • …domänen-spezifische Sprachen zu konstruieren, z.B. Metamodelle einschließlich Syntax und Semantik definieren sowie syntaktische Beschränkungen mit Hilfe einer Constraint-Sprache
  • …Metamodelle in einem Modellierungsframework zu erstellen
  • …Modeling Tools in einem Modellierungsframework zu entwickeln
  • …Modellvalidatoren innerhalb eines Modellierungsframeworks zu erstellen.
  • …Modelltransformationen zu spezifizieren und sie in einem Modellierungsframework um zu setzen.
  • …den domänenspezifischen Modellierungsansatz auf einen Fall anwenden.

Urteilsvermögen und Vorgehensweise

  • …eine geeignete Modellierungstechnologien für ein vorliegendes Modellierungsproblem aus zu wählen.

Literatur

  • Folien (deutsch)
  • Thomas Stahl u. a.
    Modellgetriebene Softwareentwicklung. Techniken, Engineering, Management
    978-3-89864-448-8, Ausleihbar in der Bibliothek
  • Martina Seidl u. a.
    UML @ Classroom. An Introduction to Object-Oriented Modeling.
    978-3-89864-776-2, Ausleihbar in der Bibliothek
  • Marco Brambilla, Jordi Cabot und Manuel Wimmer
    Model-Driven Software Engineering in Practice
    2nd Edition,  978-3-031-02549-5, Online verfügbar

Einordnung in Studiengänge

Master
Studiengang FSPO(s) Einordnung
Informatik 2014, 2017 Kernfach Praktische und Angewandte Informatik
Informatik 2022 Vertiefungsbereich Praktische Informatik
Medieninformatik 2014, 2017 Kernfach Praktische und Angewandte Informatik
Medieninformatik 2022 Vertiefungsbereich Praktische Informatik
Software Engineering 2014, 2017 Kernfach Software Engineering
Software Engineering 2022 Vertiefungsbereich Praktische Informatik
Vertiefungsbereich Software Engineering

(Angaben ohne Gewähr)

Termine SoSe 24
  • Vorlesung
    • Dienstags, 16:00 Uhr
    • O27/2203
  • Übung
    • Mittwochs, 10:15 Uhr
    • O28/1002
    • Erster Termin: voraussichtlich 24.04.24
  • Sowohl Vorlesung als auch Übung finden ausschließlich in Präsenz statt.
  • Zur Veranstaltung im Vorlesungsverzeichnis