SWS |
4 |
ECTS |
5 |
Sprache(n) |
Deutsch
(Standard)
Englisch
|
Lehrform |
SU mit Praktikum |
Angebot |
in jedem Sommersemester |
Aufwand |
30 Präsenzstunden Vorlesung, 30 Präsenzstunden Praktikum, 45 Stunden Vor-/Nachbereitung des Praktikums, 45 Stunden Nachbereitung der Vorlesung und Prüfungsvorbereitung |
Voraussetzungen |
Grundlegende Programmierkenntnisse, Kenntnisse in verteilten Systemen und Netzwerken |
Ziele |
Die Studierenden erwerben fundierte Kenntnisse über die Grundlagen und Prinzipien verteilter Softwaresysteme. Sie lernen, verteilte Algorithmen zu verstehen, zu implementieren und deren Effizienz zu bewerten. Darüber hinaus entwickeln sie praktische Fähigkeiten in der Nutzung moderner Frameworks und Technologien für die Entwicklung verteilter Anwendungen.
Weitere Ziele umfassen:
- Teamarbeit: Zusammenarbeit in Kleingruppen zur Lösung komplexer Aufgabenstellungen.
- Projektmanagement: Einsatz moderner Entwicklungswerkzeuge wie Git und CI/CD-Pipelines.
- Analytisches Denken: Analyse und Abstraktion komplexer Probleme sowie Entwicklung effizienter Lösungen.
|
Inhalt |
- Grundlagen verteilter Systeme:
- Eigenschaften verteilter Systeme (Kein globaler Zustand, keine zentrale Zeitordnung)
- Herausforderungen wie Konsistenz, Fehlertoleranz und Synchronisation
- Verteilte Algorithmen:
- Auswahlalgorithmen (z. B. Bully-Algorithmus, Ring-Algorithmus)
- Konsensalgorithmen (z. B. Paxos, Raft)
- Snapshots und globale Zustandsaufnahme (z.B. Chandy-Lamport-Algorithmus)
- Kommunikation und Middleware:
- Asynchrone vs. synchrone Kommunikation
- Message Passing und Protokolle (z. B. gRPC, NATS)
- Frameworks und Technologien:
- Einführung in Proto.Actor für die Umsetzung des Actor-Modells
- Nutzung von Docker für Containervirtualisierung
- Praktische Anwendungen:
- Implementierung von Microservices-Architekturen
- Entwicklung von verteilten Anwendungen nach dem Actor-Modell
- Erweiterte Themen:
- Blockchain-Technologie und verteilte Konsensmechanismen
- Skalierbare Protokolle wie SWIM
|
Medien und Methoden |
- Präsentationen und Folien
- Live-Coding-Sessions
- Praktische Übungen
- Gruppenprojekte mit realitätsnahen Szenarien
|
Literatur |
Wird während des Kurses bekannt gegeben; umfasst sowohl wissenschaftliche Artikel als auch technische Dokumentationen relevanter Frameworks.
Grundlagen finden sich beispielsweise in
- G. Bengel: Grundkurs Verteilte Systeme, Springer Vieweg
- A. Tanenbaum, M. Steen: Verteilte Systeme - Grundlagen und Paradigmen, Pearson Studium
- P. Mandl: Masterkurs Verteilte Betriebliche Informationsssysteme, Vieweg-Teubner-Verlag
- G. Bengel: Verteilte Systeme, Vieweg
- M. Weber: Verteilte Systeme, Spektrum
|
Zuordnungen Curricula |
SPO |
Fachgruppe |
Code |
ab Semester |
Prüfungsleistungen |
IF Version 2019 |
Pflicht |
IF-I-B-603 |
6 |
benotete schriftliche Prüfung 90 Minuten
|
IC Version 2019 |
WPF Informatik |
IF-S-B-I25 |
4 |
benotete schriftliche Prüfung 90 Minuten
|
GN Version 2017 |
WPF Vertiefungsfächer |
08-GN-WPFV-009 |
5 |
benotete schriftliche Prüfung 90 Minuten
|
IF Version 2023 |
Pflicht |
IF-I-B-603 |
6 |
Eine der Folgenden, Festlegung siehe Studienplan:
Modularbeit
benotete schriftliche Prüfung 90 Minuten
|
|