Moderne Softwaresysteme bestehen zunehmend aus mehreren, gleichzeitig arbeitenden und oft geographisch verteilten Komponenten, die miteinander kooperieren, kommunizieren, bzw. konkurrieren. Um diese Zusammenarbeit korrekt und effizient zu organisieren, rücken in Anwendungen die Konzepte der Nebenläufigkeit, Parallelität und Verteiltheit in den Vordergrund, die früher vor allem in Betriebssystemen und Supercomputern benutzt wurden. Die Vorlesung befasst sich mit den Konzepten und Mechanismen für Nebenläufigkeit, Verteiltheit und Kommunikation. Unser Ziel ist, eine ausgewogene Mischung von Theorie und Praxis zu vermitteln. Theoretische Modelle und systematische Konzepte werden mit Java-Programmen veranschaulicht. Wir werden zwei Schwerpunkte aus dem Java-Umfeld behandeln: Multithreading und Networking. Die in der Vorlesung eingeführten Begriffe und Lösungen werden in den Übungen an konkreten Beispielen erprobt. Weiterhin werden die aktuellen Neuerungen der Programmiersprache Java bzgl. Nebenläufigkeit (Java 5 concurrency APIs) behandelt.

Kurs im HIS-LSF

Semester: SoSe 2020