Start my eKVV Studieninformation Lernräume Prüfungsverwaltung Bewerbungs-/Statusportal Anmelden

392031 Modellgetriebene Software- und Systementwicklung (S) (SoSe 2020)

Inhalt, Kommentar

Steigende Komplexität, Größe und Vernetzung technischer Softwaresysteme sowie die zunehmende Bedeutung nicht-funktionaler Anforderungen wie Sicherheit oder Prüfbarkeit bei gleichzeitig hoher Kosteneffizienz erfordern fortgeschrittene Methoden des Software Engineering. Für den Entwurf, die Konstruktion und die Verifikation von software-intensiven Systemen ist die modellbasierte Software- und Systementwicklung eine wichtige Methodik, um die genannten Anforderungen an heutige Entwicklungsprozesse, insbesondere in technisch geprägten Anwendungsbereichen wie in der Robotik und Automatisierungstechnik, dem maschinellen Lernen oder für die Entwicklung von Anwendungen für mobile Geräte zu erfüllen.

In der modellbasierten Softwareentwicklung werden (semi-)formale Sprachen für die Beschreibung von Softwaresystemen sowie ihrer Problemdomänen genutzt. Durch Modelltransformationen, Codegeneratoren oder die Verwendung von Interpretern lassen sich Artefakte erzeugen, die für das Erzeugen, Testen und die Dokumentation von lauffähigen Softwaresystemen genutzt werden können sowie die Effizienz und Qualität des Entwicklungsprozess verbessern.

Zu Beginn der Veranstaltung werden die grundlegenden Konzepte von Modellen und Metamodellen in Abgrenzung zur Universal Modeling Language (UML), sowie das Potential modellgetriebener Methoden für die Entwicklung und Verifikation von technischen Systemen erläutert. Darauf aufbauend werden im Verlauf der Veranstaltung die notwendigen Konzepte für die Entwicklung eigener domänenspezifischen Sprachen wie textuelle und graphische Editoren, Modell-zu-Modell-Transformationen sowie Interpreter und Code-Generatoren erläutert. Einzelne Inhalte werden durch Beiträge von Experten aus der Praxis der modellbasierten Entwicklung illustriert. Geplant sind dieses Semester bspw. Beiträge von Bosch Corporate Research und JetBrains.

Das Verständnis der einzelnen Themen wird dabei jeweils durch konzeptuelle und praktische Aufgaben unterstützt, die in den Übungen zur Veranstaltung mit den Teilnehmern praktisch bearbeitet und besprochen werden. Hierfür werden aktuelle Werkzeuge für die modellbasierte Entwicklung wie JetBrains MPS oder Werkzeuge aus dem Eclipse Umfeld verwendet (wie bspw. das Eclipse Modeling Framework, Sirius, ATL, QVT, OCL, Xtext & Xtend, ...).

Die Entwicklung einer eigenen domänenspezifischen Sprache auf Basis der erlernten Fähigkeiten für ein repräsentatives Beispielproblem bildet den praktischen Abschluss der Veranstaltung.

Wichtig: aufgrund der aktuellen Situation und der Maßgabe des Distance Learning wird das Seminar in Form einer Videokonferenz (voraussichtlich per Zoom) am regulären Mittwochstermin durchgeführt. Für die Übungen werden Aufzeichnungen/Materialien zur Verfügung gestellt, die eine eigenständige Bearbeitung von Einzelaufgaben erlauben. Am eigentlichen Übungstermin wird es die Möglichkeit eines Inverted Classrooms geben, an dem Sie den Veranstaltern interaktiv Fragen zur Bearbeitung der Aufgaben stellen können.

Für die eigenständige Beschäftigung mit den Inhalten sowie zur Vorbereitung auf die mündliche Prüfung wird ein Reader mit ausgewählter Literatur zur Verfügung gestellt, der sich an aktuellen Lehrbüchern und Artikeln aus der Forschung orientiert.

Teilnahmevoraussetzungen, notwendige Vorkenntnisse

39-Inf-SE_a Software Engineering (V+Ü im WS) oder
39-Inf-5 Techniken der Projektentwicklung (V+Ü im WS)

Java-Kenntnisse erforderlich.

Literaturangaben

Teile des Curriculums basieren insbesondere auf ausgewählten Kapiteln der folgenden Lehrbücher:

  • Andreas Willert, Stephan Roth, Jürgen Mottok, Alexander Huwaldt, Tim Weilkiens (2018): Modellbasierte Softwareentwicklung für eingebettete Systeme verstehen und anwenden, dpunkt
  • Voelter, Markus, et al. (2013): DSL engineering: Designing, implementing and using domain-specific languages, http://dslbook.org
  • Benoit Combemale, Robert France, Jean-Marc Jézéquel, Bernhard Rumpe, James Steel, Didier Vojtisek (2016): Engineering Modeling Languages: Turning Domain Knowledge into Tools, CRC Press

Lehrende

Termine (Kalendersicht )

Rhythmus Tag Uhrzeit Ort / Format Zeitraum  

Zeige vergangene Termine >>

Klausuren

  • Keine gefunden

Fachzuordnungen

Modul Veranstaltung Leistungen  
39-Inf-VSE Vertiefung Software Engineering Vertiefung Software Engineering unbenotete Prüfungsleistung
benotete Prüfungsleistung
Studieninformation

Die verbindlichen Modulbeschreibungen enthalten weitere Informationen, auch zu den "Leistungen" und ihren Anforderungen. Sind mehrere "Leistungsformen" möglich, entscheiden die jeweiligen Lehrenden darüber.

Konkretisierung der Anforderungen
Keine Konkretisierungen vorhanden
Lernraum
Teilnehmer*innen
Automatischer E-Mailverteiler der Veranstaltung
Änderungen/Aktualität der Veranstaltungsdaten
Sonstiges