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

Contents, comment

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.

Requirements for participation, required level

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

Java-Kenntnisse erforderlich.

Bibliography

Der primäre Teil des Curriculums basiert insbesondere auf ausgewählten Kapiteln des folgenden Lehrbuchs:

Für weitere Themen wie spezifische Methoden und Anwendungen der modellgetriebenen Software- und Systementwicklung oder als Sekundärliteratur für den primären Teil des Curriculums werden Kapitel der folgenden Lehrbücher, sowie aktuelle Veröffentlichungen in Zeitschriften und aus Konferenzen genutzt:

  • Markus Voelter 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

Teaching staff

Dates ( Calendar view )

Frequency Weekday Time Format / Place Period  
weekly Mi 14-16 CITEC-1.015 08.04.-19.07.2024

Subject assignments

Module Course Requirements  
39-Inf-VSE Vertiefung Software Engineering Vertiefung Software Engineering Ungraded examination
Graded examination
Student information
39-Inf-WP-SE Systems Engineering (Basis) Einführendes Seminar Student information
- Graded examination Student information

The binding module descriptions contain further information, including specifications on the "types of assignments" students need to complete. In cases where a module description mentions more than one kind of assignment, the respective member of the teaching staff will decide which task(s) they assign the students.


No more requirements

E-Learning Space

A corresponding course offer for this course already exists in the e-learning system. Teaching staff can store materials relating to teaching courses there:

Registered number: 15
This is the number of students having stored the course in their timetable. In brackets, you see the number of users registered via guest accounts.
Address:
SS2024_392031@ekvv.uni-bielefeld.de
This address can be used by teaching staff, their secretary's offices as well as the individuals in charge of course data maintenance to send emails to the course participants. IMPORTANT: All sent emails must be activated. Wait for the activation email and follow the instructions given there.
If the reference number is used for several courses in the course of the semester, use the following alternative address to reach the participants of exactly this: VST_453225605@ekvv.uni-bielefeld.de
Coverage:
15 Students to be reached directly via email
Notes:
Additional notes on the electronic mailing lists
Email archive
Number of entries 1
Open email archive
Last update basic details/teaching staff:
Monday, April 8, 2024 
Last update times:
Wednesday, January 3, 2024 
Last update rooms:
Wednesday, January 3, 2024 
Type(s) / SWS (hours per week per semester)
S / 2
Department
Faculty of Technology
Questions or corrections?
Questions or correction requests for this course?
Planning support
Clashing dates for this course
Links to this course
If you want to set links to this course page, please use one of the following links. Do not use the link shown in your browser!
The following link includes the course ID and is always unique:
https://ekvv.uni-bielefeld.de/kvv_publ/publ/vd?id=453225605
Send page to mobile
Click to open QR code
Scan QR code: Enlarge QR code
ID
453225605