Modulname

C.1.          Programm. paralleler/verteilter Systeme

Abkürzung

IT-PVT

Modulgruppe

Informatik

Pflicht    [X]

Wahl   []

Angebotsfrequenz

Wintersemester

Fachsemester

2

Studiengänge

ESD, Informatik

Semestergruppen

25 Studierende V, 15 Studierende L

Lehrpersonal

T. Umland

Verantwortlicher

K. Müller

Teilnahmevoraussetzungen

 

Das Modul besteht aus folgenden Lehrveranstaltungen

Vorlesung

2 SWS

GF = 0,0

Übung/Labor

2 SWS

GF = 1,0

Ziele

·         Verstehen der Einsatzmöglichkeiten von Parallelverarbeitung

·         Begreifen der Notwendigkeit eines formalen Korrektheitsnachweises paralleler Algorithmen

·         Schärfen des Bewusstseins für Fehlerquellen beim Einsatz von Parallelverarbeitung

·         Beherrschen der Synchronisationskonzepte „Monitor“, „Semaphor“ und „CSP"  sowohl theoretisch als auch in Java

·         Die Studierenden sollen abschließend in der Lage sein, Lösungen für parallele/verteilte Problemstellungen in Java korrekt zu implementieren.

 

Inhalte

·         Motivation der Parallelverarbeitung

·         Beispiele paralleler/verteilter Algorithmen

·         Beispiele fehlerhafter Implementierungen

·         Abstrakte Beschreibung paralleler Systeme anhand eines Zustandsmodells

·         Nachweis notwendiger Eigenschaften (Lebendigkeit, Sicherheit, Freiheit von Verklemmungen) paralleler Systeme mithilfe eines einfachen „Model Checkers“

·         Vergleich der Synchronisationskonzepte  „Monitor“, „Semaphor“ und „Communicating Sequentiell Processes (CSP)“

·         Regeln zur Transformation der theoretischen Modelle in Java-Programme

  • Programmierung paralleler/verteilter Systeme in Java an ausgewählten Beispielen unter Verwendung der behandelten Synchronisationskonzepte

 

Methoden

Vorlesung, Präsentationen, Projektarbeit, Vor- und Nachbereitung, Einzelarbeit, Partner- und Gruppenarbeit

Literatur

E. W. Dijkstra: Cooperating sequential processes. In: F. Genys (Ed.), Programming Languages, Academic Press, New York (1968) 43-112

P. B. Hansen, Java's insecure parallelism, ACM SIG-PLAN Notices, (4) 23 (1999) 38-45.

C.  A.  R.  Hoare:  Monitors:  An  operating  system structuring concept, Communications of the ACM, (10) 17 (1974), 549-557.

C. A. R. Hoare: Communicating sequential processes, Communications of the ACM, (8) 21 (1978), 666-677.

D. Lea: Concurrent Programming in Java - Design Principles and Patterns, The Java Series, Addison-Wesley, Reading, Massachusetts, 2. Auflage (2000).

J.  Magee,  J.  Kramer:  Concurrency  -  State  Models and Java Programs, John Wiley & Sons, West Sussex, 2. Auflage (2006).

B. Sanden: Coping with java threads, IEEE Computer, (4) 37 (2004), 20-27.

B. Goetz: Java Concurrency in Practice, Addison-Wesley, Upper Saddle River, New Jersey (2006).

T. Rauber, G. Rünger: Parallele Programmierung, Springer-Verlag,  Berlin,  Heidelberg,  2. Auflage (2007).

 

Prüfungsleistungen

Klausur und mündliche Prüfung

Workload (Stunden)

Vorlesung

 

Übungen, Seminar,  sonstige Kontaktstunden

Labor-

Praktikum

Hausarbeit/

Referat/

Masterarbeit

Vor- und Nachber.

Industrie-praktikum

30

0

30

0

90

0

Sprache

Deutsch

Bemerkungen

 

Credits

5