Moderne Verfahren für die Entwicklung ubiquitärer, cyber-physischer und adaptiver Softwaresysteme

Wintersemester 2015/2016

Prof. Dr. Joel Greenyer
Seminar
G323 (1101) (Seminarraum)
15.10.2015 - 03.02.2016
Donnerstags, 13:00 - 15:00

Neu! Erste Liste an zu vergebenden Themen

  1. Das Actor-Modell und Actor-orientierte Programmierung für nebenläufige Anwendungen (z.B. in Elixir oder Akka)
  2. Uppaal Stratego (Strategien für stochastische und zeitbehaftete Spiele)
  3. KLEE und die symbolische Ausführung von State Machines (Quellen: z.B. 1, 2, 3)
  4. Synthese von Steuerungen für einen Lego Gabelstapler aus GR(1) LTL Spezifikationen (Quellen: 1)
  5. (weitere Themen folgen)

 

Neu! Informationen zur Organisation und Durchführung

In diesem Semester möchten wir eine neue Spielart des Seminars durchführen. In einem Seminar erhält jeder Seminarteilnehmer / jede Seminarteilnehmerin typischerweise ein Seminarthema zu dem er/sie einen Vortrag hält und eine Ausarbeitung anfertigt. In diesem Semester sollen die TeilnehmerInnen stärker zusammenarbeiten:

  1. Jedes Thema wird von zwei bis drei Studierenden bearbeitet. Jeder nimmt dabei eine bestimmte Rolle ein, die sich auf einen bestimmten Aspekt des Themas fokussiert, z.B.
    1. theoretische Grundlagen: Was sind die Grundlegenden theoretischen Konzepte auf denen der Ansatz aufbaut?
    2. Anwendungsgebiete oder Fallstudien bzw. Methodik: Für die Lösung welcher Probleme wurde der Ansatz verwendet? Wie wird der Ansatz für die Lösung des Problems verwendet?
    3. Tool: (Wenn der Ansatz durch ein Werkzeug unterstützt wird) Wie funktioniert das Werkzeug? Ggf. Mini-Tutorial erarbeiten.
    4. ggf. weitere Rollen, je nach Themenstellung
  2. Jeder Studierende ist an der Bearbeitung von zwei Themen beteiligt und nimmt dabei jeweils eine andere Rolle ein.
  3. Bei der Präsentation eines Themas präsentiert jede Rolle die Ergebnisse in einem Vortrag von ca. 15 Minuten. Aus den Präsentationen der zwei bis drei Rollen pro Thema ergeben sich also Vorträge von 30 bis 45 Minuten.
  4. Zu jedem Thema schreibt jede Rolle einen Teil einer Ausarbeitung von ca. zwei Seiten. So ergeben sich pro Thema Ausarbeitungen von vier bis sechs Seiten.
  5. Die TeilnehmerInnen arbeiten bei der Planung des Vortrags und bei der Erstellung der Ausarbeitung zusammen. Die Teile der Präsentationen und Ausarbeitungen werden für die individuelle Notengebenung bewertet. Gut aufeinander abgestimmte Vorträge und Ausarbeitungen wirken sich positiv auf die Notengebung aus.

  Organisation des Seminars

 

Die Ziele dieser neuartigen Organisation des Seminars sind:

  1. Studierende sind stärker aktiv eingebunden.
  2. Studierende reflektieren intensiver über das Seminarthema, da sie die von ihnen betrachteten Teilaspekte des Seminarthemas miteinander diskutieren, um z.B. beim Verständnis des Themas unterstützen oder die Präsentation und Ausarbeitung aufeinander abzustimmen. Durch das Mehraugenprinip steigt tendenziell die Qualität der Vorträge und der Ausarbeitungen.
  3. Durch den gegenseitigen Austausch in einer Gruppe fühlen sich Studierende weniger mit dem Thema "allein gelassen".

Lernziele

Die Studierenden kennen systematische, automatische und formale Verfahren fur die Entwicklung komplexer Softwaresysteme, die sich auszeichnen durch (a) verteilte/vernetzte Software (b) komplexe Interaktion mit Benutzern und Umwelt (c) hohe Anforderungen an die Qualitat der Software (Sicherheit, Zuverlassigkeit, Flexibilitat). Die Studierenden kennen diese Themen anhand ausgewählter aktueller Publikationen aus der Forschung in diesem Bereich. Zudem konnen die Studierenden sich Kenntnisse uber Verfahren aus Quellen selbstandig aneignen, die Vor- und Nachteile der Verfahren kritisch hinterfragen und die Kenntnisse über Verfahren strukturiert schriftlich wiedergeben und mundlich prasentieren.


Stoffplan

Das Seminar untersucht systematische, automatische und formale Verfahren fur die Entwicklung ubiquitärer, cyber-physischer und adaptiver Softwaresysteme. Ubiquitäre und cyberphysische Systeme sind Systeme, die oft aus mehreren Komponenten bestehen und mit Benutzern und einer physikalischen Umwelt interagieren. Hier sind Aspekte wie Verteiltheit und Nebenläufi gkeit der Software relevant, sowie Qualitatsanforderungen an Sicherheit und Zuverlassigkeit der Systeme. Oft mussen diese System sich auch veranderlichen Umweltbedingungen anpassen (Adaption). Wir erarbeiten uns den Themenbereich anhand ausgewahlter wissenschaftlicher Publikationen aus dem Bereich. Zu einer ausgewahlten Publikation erarbeiten Studierende einen Seminarvortrag und eine Ausarbeitung. Im Vorfeld erlernen Sie Kenntnisse uber die Arbeitsweise, das Halten strukturierter Vorträage und das Anfertigen einer wissenschaftlichen Ausarbeitung.

Vorkenntnisse

Ein vorheriger oder begleitender Besuch der Vorlesung Formal Methods in Software Engineering ist von Vorteil, aber nicht Voraussetzung.