Vorlesung

Concurrency

Name im Diploma SupplementConcurrency
Anbieter Juniorprofessur für Sichere Software Systeme (https://www.syssec.wiwi.uni-due.de/)
LehrpersonJun.-Prof. Dr. Lucas Davi
SWS2Sprachedeutsch
TurnusSommersemestermaximale Hörerschaftunbeschränkt

empfohlenes Vorwissen

Elementare Java-Programmierung

Lehrinhalte

In der Vorlesung werden Concurrency-Konzepte sowohl unter Modellierungs- wie auch unter Programmierungsgesichtspunkten behandelt. Es werden grundlegenden Konzepte der Nebenläufigkeit, die in der Hardware, im Betriebssystem, in Programmen, in verteilten Systemen und in Rechnernetzen eine wichtige Rolle spielen, in einheitlicher Weise behandelt. Themen sind:

  • Einführung in die Modellierung mit Automaten und Transitionssystemen, Eigenschaften von Automaten, Erweiterungen von Automaten (Variabel, Spontanübergänge, Nicht-Determinismus)
  • Kommunizierende Endliche Automaten: synchrone und asynchrone Automatenkommunikation, Verhaltensspezifikation mit Automaten, Weg/Zeit-Diagramme, Prinzipe der Protokollspezifikation und der automatenbasierten Erreichbarkeitsanalyse, Algorithmen zur Erreichbarkeitsanalyse, erschöpfende und partielle Exploration;
  • Synchrone und zeitbehaftete Automaten, Einführung in Timed Computational Tree Logic und Model Checking mit UPPAAL
  • Beispiel aus den Bereichen Concurrent Execution, Mutual Execution, Deadlock, Safety and Liveness Properties. 
  • Programmmodell, Ausführungsmodell, Ablaufmodell, Schreibkonflikt, Datenabhängigkeit, Verklemmung
  • Parallelisierung in der Hardware, Parallelisierung im Grundsystem, Parallelisierung auf Programmebene, Operatoren zur Synchronisation und Kommunikation
  • Implementierung nebenläufiger Systeme in Java, insbesondere Threads in Java, Interaktion zwischen Threads, Monitore, Wartebedingungen in Programmen, Vermeidung von Verklemmung, Grundmuster des nebenläufigen Rechnens für bestimmte Anwendungen, Echtzeitprozesse, Programmierstile für Echtzeitsysteme (zeitbasierte und ereignisorientierte Ansätze)

Literaturangaben

  • B. Müller-Clostermann: Folienskript zu "Concurrency - Teil I"; siehe Homepage (als pdf-Dokument erhältlich)
  • K. Echtle: Folienskript zu "Concurrency - Teil II"; siehe Homepage (als pdf-Dokument erhältlich)
  • J. Magee, J. Kramer: Concurrency – State models and Java programs; Wiley, 1999
  • P. Ziesche: Nebenläufige & Verteilte Programmierung, W3L-Verlag, 2005
  • A. Tanenbaum: Moderne Betriebssysteme; Hanser-Verlag
  • R. G. Hertwich, G. Hommel: Nebenläufige Programme; Springer-Verlag

Weiteres Begleitmaterial und Skripte, jeweils aktuelle Hinweise finden Sie auf der Homepage der Dozenten.

Hörerschaft

  • AI-SE Bachelor 2017>Kernstudium >Pflichtbereich II: Informatik >Modul "Concurrency"2.-3. Fachsemester, Pflicht
  • LA Info GyGe Master 2014>Wahlpflichtbereich Informatik >Modul "Concurrency"1.-3. Fachsemester, Pflicht
  • Mathe Bachelor 2013>Informatik >Liste 1 >Modul "Concurrency"1.-6. Fachsemester, Pflicht
  • TechMathe Bachelor 2013>Wahlpflichtbereich >Profil "Software Systems Engineering" >Modul "Concurrency"1.-6. Fachsemester, Pflicht
WIWI‑C1100 - Vorlesung: Concurrency