Modulcode: | infSEPVS-01a |
Englische Bezeichnung: | Software Engineering for Parallel and Distributed Systems |
Modulverantwortliche(r): | Prof. Dr. Wilhelm Hasselbring |
Turnus: | unregelmäßig (WS19/20 WS20/21 WS21/22 WS22/23 WS23/24 WS24/25) |
Präsenzzeiten: | 4V 2Ü |
ECTS: | 8 |
Workload: | 60 Std. Vorlesung, 30 Std. Präsenzübung, 60 Std. Softwareentwicklung, 90 Std. Selbststudium |
Dauer: | ein Semester |
Modulkategorien: | BSc-Inf-WP (BSc Inf (21)) WI (BSc Inf (15)) MSc-Inf-WP (MSc Inf (21)) 2F-MEd-Inf-WP (MEd-Hdl Inf (21)) 2F-MA-Inf-WP (2F-MA Inf (21)) MSc-WInf-WP-Inf (MSc WInf (21)) PI (MSc Inf (15)) WI (MSc Inf (15)) WI (MSc WInf (15)) WI (MEd Inf) WPI (MEd Inf) IS (SA) (MSc Inf (2-Fach)) |
Lehrsprache: | Deutsch |
Voraussetzungen: | Inf-SP Inf-ST Inf-BSKS |
Basierend auf den Herausforderungen der nebenläufigen Programmierung werden etablierte Entwurfsmuster für parallele und verteilte Systeme vorgestellt. Praktische Softwareentwicklungsaufgaben vertiefen die präsentierten Architekturentwürfe.
Die Studierenden rekapitulieren typische Herausforderungen in der nebenläufigen Programmierung und lernen den Entwurf und die Implementierung bewährter Entwurfsmuster für parallele und verteilte Systeme in Theorie und Praxis.
Einführung und Motivation. Nebenläufigkeit als Herausforderung (Abstraktionen, kritischer Abschnitt, Verifikation mit Model Checking, Kanalkommunikation, verteilte Algorithmen mit Nachrichtenkommunikation, generative Kommunikation, Konsensprobleme, CAP-Theorem). Muster für parallele Programmierung (Parallelität finden, Algorithmenstrukturen, unterstützende Strukturen, Implementierungsmechanismen). Muster für verteilte Systeme (Fehlertoleranz, EAI, SOA, Cloud, Big Data, Microservices, Migration).
Sehr gute Grundkenntnisse in Softwaretechnik, insbesondere aus den BSc-Modulen Softwaretechnik und Softwareprojekt; Betriebssysteme und verteilte Systeme.
Mündliche Abschlussprüfung mit anteiliger Wertung der Ergebnisse aus dem vorlesungsbegleitenden Übungsbetrieb
Vorlesung und vorlesungsbegleitender Übungsbetrieb
MSc Informatik
M. Ben-Ari: Principles of concurrent and distributed programming. Second edition. Addison-Wesley, 2006.
Timothy G. Mattson, Beverly A. Sander, and Berna L. Massingill: Patterns for Parallel Programming. Addison-Wesley. Third edition, September 2007.
J. L. Ortega-Arjona: Patterns for Parallel Software Design. Wiley, Sept. 2009.
Gregor Hohpe, Bobby Woolf: Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. Addison-Wesley, 2003.
T. Erl: SOA Design Patterns, Prentice Hall, 2008.
Christoph Fehling, Frank Leymann, Ralph Retter, Walter Schupeck, Peter Arbitter: Cloud Computing Patterns - Fundamentals to Design, Build, and Manage Cloud Applications, Springer, 2014.
http://se.informatik.uni-kiel.de/