Modulinformationssystem Informatik

 

Wahlpflichtmodul Informatik (Einführung in die nebenläufige Programmierung) URL PDF XML

Modulcode: WI01
Englische Bezeichnung:
Modulverantwortliche(r): Prof. Dr. Willem-Paul de Roever
Turnus: unregelmäßig (SS08)
Präsenzzeiten: 4V 2Ü
ECTS: 7
Workload: 210 Std.
Dauer: ein Semester
Modulkategorien: WI (Sonstige)
Lehrsprache: Deutsch
Voraussetzungen: Info

Kurzfassung:

Der Fokus des Moduls liegt in der Einführung in die Konzepte und Techniken nebenläufiger Programmierung wie Semaphore, Monitore, verteilte Programmierung, Remote Procedure Invocation, Rendez-Vous, Pipes. Die Ausdrückbarkeit dieser Konzepte und ihre Anwendung in Java, Ada, CSP, und Linda wird geübt.

Lernziele:

In diesem Modul werden die Studierenden mit den grundlegenden Techniken der nebenläufigen Programmierung vertraut gemacht und erlernen die erste Schritte bei der Anwendung dieser Techniken für die Softwareerstellung.

Lehrinhalte:

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 zwei Teile: Nebenläufigkeit mit gemeinsamem Speicher und verteilte Programmierung. In beiden Teilen befasst sich die Vorlesung auch mit der Implementierung dieser Konzepte, welche ausführlich geuebt wird in den dazugehörigen Übungen.

Stichworte: 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.

Weitere Voraussetzungen:

Systemorientierte Informatik III

Prüfungsleistung:

Eine Midsemestertest und eine Abschlussprüfung am Ende der Vorlesung

Lehr- und Lernmethoden:

Verwendbarkeit:

Literatur:

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.

Verweise:

Kommentar: