Zur Merkliste hinzufügen
Zurück zur Auswahl

 

76294-01 - Seminar: Principles and Applications of Eventual Consistency (6 KP)

Semester Frühjahrsemester 2026
Angebotsmuster unregelmässig
Dozierende Erick Lavoie (erick.lavoie@unibas.ch, BeurteilerIn)
Inhalt This seminar will provide foundational concepts and skills for designing and implementing distributed applications that are strongly eventually consistent, i.e. that allow replicas to update their state independently while guaranteeing that once all replicas have received the same set of of updates they are in the same state. This property enables applications to continue working when offline, while allowing automatic conflict resolution when connectivity is resumed. This is especially useful for designing peer-to-peer and edge applications but the same concepts are also used to scale cloud-based applications and provide geo-replication of data centres. The seminar will blend both theory and practice, with an emphasis on understanding the key concepts and how to apply them to enable participants to create their own applications.
Lernziele Participants of this seminar will:
1) Learn the key concepts required for the design of strongly eventually-consistent distributed applications;
2) Learn a mathematical model to describe the behaviour of concurrent programs;
3) Learn the TLA+ language and how to use the model-checker in the associated toolbox, to identify bugs and corner cases in their designs and published algorithms;
4) Apply the learnings to the design and implementation of an offline-first peer-to-peer application, using their favorite programming language (ex: Rust, Python, Java, etc) and replication protocol/middleware (ex: tinySSB, git, ATProto, custom framework, etc.).
Literatur Chapters 1,2,3 from "Introduction to Reliable and Secure Distributed Programming" (http://dx.doi.org/10.1007/978-3-642-15260-3), available freely on the Springer Link website when connected with your Unibas credentials.

Chapters 1-4 of "A Science of Concurrent Programs", available freely online (https://lamport.azurewebsites.net/tla/science.pdf), and the TLA+ Video Course taught by Leslie Lamport (https://lamport.azurewebsites.net/video/videos.html).

A selection of papers on Conflict-Free Replicated Data Types and Byzantine Tolerant P2P systems taken from (https://crdt.tech/), related conferences, and Arxiv, ex:
- "Byzantine Eventual Consistency and the Fundamental Limits of Peer-to-Peer Databases" (https://doi.org/10.48550/arXiv.2012.00472)
- "The Blocklace: A Byzantine-repelling and Universal Conflict-free Replicated Data Type (https://arxiv.org/abs/2402.08068)

Completed Master and Bachelor Projects and Theses in the Computer Network Groups (see pdfs available on https://cn.dmi.unibas.ch/en/projects/).
Bemerkungen Presentations and implementations will be done in teams of 2 students. A maximum of 20 students may register for the seminar, first-come first-served.

 

Teilnahmevoraussetzungen Completed either, and preferably both, of the "Foundations of Distributed Systems" or "Advanced Computer Networking" courses.
Anmeldung zur Lehrveranstaltung Access for synchronized courses on ADAM only by course registration in online services.
Unterrichtssprache Englisch
Einsatz digitaler Medien kein spezifischer Einsatz
HörerInnen willkommen

 

Intervall Wochentag Zeit Raum
wöchentlich Montag 10.15-12.00 Spiegelgasse 5, Seminarraum 05.001

Einzeltermine

Datum Zeit Raum
Montag 16.02.2026 10.15-12.00 Uhr Spiegelgasse 5, Seminarraum 05.001
Montag 23.02.2026 10.15-12.00 Uhr Fasnachtsferien
Montag 02.03.2026 10.15-12.00 Uhr Spiegelgasse 5, Seminarraum 05.001
Montag 09.03.2026 10.15-12.00 Uhr Spiegelgasse 5, Seminarraum 05.001
Montag 16.03.2026 10.15-12.00 Uhr Spiegelgasse 5, Seminarraum 05.001
Montag 23.03.2026 10.15-12.00 Uhr Spiegelgasse 5, Seminarraum 05.001
Montag 30.03.2026 10.15-12.00 Uhr Spiegelgasse 5, Seminarraum 05.001
Montag 06.04.2026 10.15-12.00 Uhr Ostern
Montag 13.04.2026 10.15-12.00 Uhr Spiegelgasse 5, Seminarraum 05.001
Montag 20.04.2026 10.15-12.00 Uhr Spiegelgasse 5, Seminarraum 05.001
Montag 27.04.2026 10.15-12.00 Uhr Spiegelgasse 5, Seminarraum 05.001
Montag 04.05.2026 10.15-12.00 Uhr Spiegelgasse 5, Seminarraum 05.001
Montag 11.05.2026 10.15-12.00 Uhr Spiegelgasse 5, Seminarraum 05.001
Montag 18.05.2026 10.15-12.00 Uhr Spiegelgasse 5, Seminarraum 05.001
Montag 25.05.2026 10.15-12.00 Uhr Pfingstmontag
Module Doktorat Informatik: Empfehlungen (Promotionsfach: Informatik)
Modul: Applications of Distributed Systems (Masterstudium: Computer Science)
Modul: Applications of Machine Intelligence (Masterstudium: Computer Science)
Modul: Methods of Distributed Systems (Masterstudium: Computer Science)
Prüfung Lehrveranst.-begleitend
Hinweise zur Prüfung Each team of students will:
1. Prepare and present 3 times:
1.1 On a topic taken from Chapter 3-4 of "A Science of Concurrent Programs" and/or TLA+ Video Course.
1.2 On a paper among those suggested.
1.3 On their TLA+ model and results of model checking of a published distributed algorithm, either from Chapter 3, 4 or 5 of "Intro to Reliable and Secure Distributed Programming" or one of the papers presented previously.
2. Design and implement an application of their choice
2.1 Provide a report with the TLA+ model of their core algorithms.
2.2 Provide the source code of their application with README to make test deployments.

Each presentation will be worth 25% of the final grade, and the final report 25%.
An-/Abmeldung zur Prüfung Anm.: Belegen Lehrveranstaltung; Abm.: stornieren
Wiederholungsprüfung keine Wiederholungsprüfung
Skala 1-6 0,5
Belegen bei Nichtbestehen beliebig wiederholbar
Zuständige Fakultät Philosophisch-Naturwissenschaftliche Fakultät, studiendekanat-philnat@unibas.ch
Anbietende Organisationseinheit Fachbereich Informatik

Zurück zur Auswahl