Zurück zur Auswahl
| 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 |
| 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 |