Modulcode: | BA5.2 |
Englische Bezeichnung: | |
Modulverantwortliche(r): | Prof. Dr. Willem-Paul de Roever |
Turnus: | unregelmäßig (SS08) |
Präsenzzeiten: | 4V 2Ü |
ECTS: | 8 |
Workload: | 240 Std. |
Dauer: | ein Semester |
Modulkategorien: | BA5 (Sonstige) |
Lehrsprache: | Deutsch |
Voraussetzungen: |
Fokus: Konzepte und Techniken verteilter Programmierung mit Schwerpunkt auf ihrer Ausdrückbarkeit und Anwendung in Java, Ada, CSP, und POSIX.
Schlüsselworte: Prozesse und Threads, nebenläufige Ausführung, gemeinsame Objekte und gegenseitiger Ausschluss, Monitore und bedingte Ausführung, Verklemmung, Sicherheit und Lebendigkeitseigenschaften, modellbasierter Entwurf, Kommunikation durch Nachrichtenaustausch, Architekturen für Nebenläufigkeit, Pipelining, Cachekohärenz.
In diesem Modul werden die Studierenden mit den Techniken der Nebenlaufigen Programmierung vertraut gemacht und erlenen die Anwendung dieser Technik bei der Softwareerstellung.
Der Kurs legt den Schwerpunkt auf Konzepte und Techniken nebenläufiger Programmierung im Allgemeinen, auf ihre unterschiedlichen Anwendungsfelder und verschiedenen zugrundeliegenden Modelle und gliedert sich in folgende Teile: Nebenläufigkeit mit gemeinsamem Speicher, verteilte Programmierung, und parallele Programmierung einschließlich der Ausführung identischer Prozesse auf einem Grid. Für alle 3 Teile befasst sich die Vorlesung auch mit der Implementierung dieser Konzepte.
keine
Abschlussprüfung am Ende der Vorlesung
G. R. Andrews. Foundations of Multithreaded, Parallel, and Distributed Programming. Addison-Wesley, 2000.
J. Magee and J. Kramer. Concurrency: State Models and Java Programs. Wiley, 2006.
F. Schneider. On Concurrent Programming. Graduate Texts in Computer Science. Springer-Verlag, 1997.