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

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

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

Teaching staff

Dates ( Calendar view )

Frequency Weekday Time Format / Place Period  

Show passed dates >>

Subject assignments

Module Course Requirements  
39-Inf-VSE Vertiefung Software Engineering Vertiefung Software Engineering Ungraded examination
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
E-Learning Space
Registered number: 24
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:
SS2021_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_258282843@ekvv.uni-bielefeld.de
Coverage:
10 Students to be reached directly via email
Notes:
Additional notes on the electronic mailing lists
Email archive
Number of entries 0
Open email archive
Last update basic details/teaching staff:
Monday, January 11, 2021 
Last update times:
Monday, January 11, 2021 
Last update rooms:
Monday, January 11, 2021 
Type(s) / SWS (hours per week per semester)
seminar (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=258282843
Send page to mobile
Click to open QR code
Scan QR code: Enlarge QR code
ID
258282843