Modellbasiertes Software Engineering für cyber-physische Systeme

Sommersemester 2016

Prof. Joel Greenyer
Daniel Gritzner
Projekt (6 Leistungspunkte)
04.04.2016 - 31.07.2016
Bitte melden Sie sich im Stud.IP für die Veranstaltung an. Die maximale Teilnehmerzahl ist begrenzt auf 15. Bei mehr Anmeldungen wird es ein Auswahlverfahren geben.

Allgemeine Informationen

Lernziele

Generell wird ein Projekt im Team durchgeführt, welches eng mit der Forschung des Fachgebiets verknüpft ist. Es bietet besondere Herausforderungen in der Methodik der Bearbeitung, der eigenständigen Projektorganisation und der verwendeten Technologien. Studierende erwerben in dieser Veranstaltung die Fähigkeit, derartige Herausforderungen zu meistern.

In diesem Projekt beschäftigen wir uns mit der modellbasierten Entwicklung von Software für cyber-physische Systeme. Teilnehmer erlangen Kenntnisse über:


Stoffplan

cyber-physische Systeme: In immer mehr Lebens- und Arbeitsbereichen finden wir softwaregesteuerte Systeme, die oft aus vielen kommunizierenden Komponenten bestehen und auf vielfältige Weise mit Benutzern interagieren. Systeme mobiler Roboter in der Industrie oder (teil-)autonome vernetzte Fahrzeugsysteme sind einige Beispiele. Die Funktionen dieser Systeme werden maßgeblich durch Software realisiert, welche die Kommunikation zwischen Systemkomponenten und Benutzern ermöglicht und Abläufe in der physikalischen Welt steuert. Diese Systeme erfüllen immer öfter zentrale und kritische Aufgaben und ihre Funktionen werden zunehmend komplexer.
Um diese Komplexität zu beherrschen, benötigen (Software-)Ingenieure für die Entwicklung geeignete Entwurfssprachen und Analysemethoden, um die komplexen Anforderungen an diese System geeignet zu beschreiben, diese bis hin zum Programmcode systematisch zu verfeinern und dabei Fehler möglichst schnell zu finden oder zu vermeiden.
In diesem Projekt entwickeln und verfeinern wir neuartige Methoden und Werkzeuge für die modellbasierte Entwicklung von cyber-physischen Systemen, bei der wir bereits in den frühen Entwurfsphasen die Anforderungen in Form von Use Cases und Szenarien präzise modellieren. Die resultierenden Spezifikationen können bereits früh ausgeführt und somit simuliert werden und es können sogar ausführbare Modelle bzw. lauffähiger Programmcode daraus automatisch abgeleitet werden. Diese Methode wollen wir an Beispielen umsetzen und untersuchen.


Vorkenntnisse

Java-Programmierung, SWT und SWQ muss bestanden sein. Wünschenswert ist eine Teilnahme an der Vorlesung "Formal Methods in Software Engineering" (FMSE).


Zur Durchführung

Sie bearbeiten eine fortgeschrittene und forschungsnahe Softwareentwicklungsaufgabe im Team. Dabei organisieren Sie selbständig das Projekt. Dazu definiert die Gruppe zunächst ihre Organisation, Arbeitsweise und Pflichten der einzelnen Teilnehmer. Basierend auf einer groben Aufgabenstellung konkretisieren Sie zunächst die Vision des Projekts, definieren Teilaufgaben und ordnen diese in einen Projektplan ein. Dabei ist das Ziel, Ihre individuellen Stärken und Interessen bestmöglich zu berücksichtigen. Dann bearbeiten Sie, ggf. in kleineren Untergruppen, verschiedene Teile der Softwareentwicklungsaufgabe. Abschließend dokumentieren und präsentieren Sie die Ergebnisse des Projekts.