Nebenläufige Programmierung

Type lecture
Semester Summer 2018
Schedule Mo 14:15 – 16:00, Di 10:15 – 12:00
Location E1 3, Hörsaal 002
Start 1. April 2018
End 30. September 2018
Language German

Team

Prof. Dr. Verena Wolf (Dozentin)
Timo P. Gros (Assistent)

Nebenläufige Programmierung

Multi-Cores und andere parallele Architekturen finden sich mittlerweile auf jedem Schreibtisch. Solche Systeme effizient und korrekt programmieren zu können, ist eine große Herausforderung. Das Ziel dieser Vorlesung ist, die Studierenden mit der Theorie und Praxis des nebenläufigen Programmierens vertraut zu machen.

Die Nebenläufige Programmierung ist eine Pflichtvorlesung im Bachelor Informatik an der Universität des Saarlandes, laut Studienplan im 4. Fachsemester, und kann bereits ab dem 2. Semester belegt werden. Einzige Voraussetzung ist die erfolgreiche Teilnahme an der Vorlesung Programmierung 1. Eine frühere Version dieser Vorlesung wurde mit dem Preis des Fakultätentages Informatik ausgezeichnet.

Inhalt

  • Nebenläufigkeit als Konzept und in der Praxis
  • Die Schwierigkeit von Nebenläufigkeit: Ressourcenkonflikte, Fairness, gegenseitiger Ausschluss, Verklemmung, Livelock und Verhungern
  • Grundlagen: sequentielle Prozesse, Transitionssysteme, beobachtbares Verhalten, CCS (der Kalkül kommunizierender Prozesse) und Implementierungsrelationen
  • Programmieren von Nebenläufigkeit: pseuCo, Message Passing in pseuCo und Go, Shared Memory in pseuCo und Java, Monitore und Semaphoren
  • Analyse und Programmierunterstützung: Erkennung von Verklemmungen, Zusicherung von Sicherheit und Lebendigkeit
  • Modellbasiertes Design und Software-Architekturen für Nebenläufigkeit

Zu den Vorlesungsmaterialien gehörte ein Skript, das den Inhalt der Vorlesung umfassend darstellt.