Nebenläufige Programmierung
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.