Add to watchlist
Back to selection

 

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

Semester spring semester 2026
Course frequency Irregular
Lecturers Erick Lavoie (erick.lavoie@unibas.ch, Assessor)
Content 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.
Learning objectives 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.).
Bibliography 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/).
Comments 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.

 

Admission requirements Completed either, and preferably both, of the "Foundations of Distributed Systems" or "Advanced Computer Networking" courses.
Course application Access for synchronized courses on ADAM only by course registration in online services.
Language of instruction English
Use of digital media No specific media used
Course auditors welcome

 

Interval Weekday Time Room
wöchentlich Monday 10.15-12.00 Spiegelgasse 5, Seminarraum 05.001

Dates

Date Time Room
Monday 16.02.2026 10.15-12.00 Spiegelgasse 5, Seminarraum 05.001
Monday 23.02.2026 10.15-12.00 Fasnachtsferien
Monday 02.03.2026 10.15-12.00 Spiegelgasse 5, Seminarraum 05.001
Monday 09.03.2026 10.15-12.00 Spiegelgasse 5, Seminarraum 05.001
Monday 16.03.2026 10.15-12.00 Spiegelgasse 5, Seminarraum 05.001
Monday 23.03.2026 10.15-12.00 Spiegelgasse 5, Seminarraum 05.001
Monday 30.03.2026 10.15-12.00 Spiegelgasse 5, Seminarraum 05.001
Monday 06.04.2026 10.15-12.00 Ostern
Monday 13.04.2026 10.15-12.00 Spiegelgasse 5, Seminarraum 05.001
Monday 20.04.2026 10.15-12.00 Spiegelgasse 5, Seminarraum 05.001
Monday 27.04.2026 10.15-12.00 Spiegelgasse 5, Seminarraum 05.001
Monday 04.05.2026 10.15-12.00 Spiegelgasse 5, Seminarraum 05.001
Monday 11.05.2026 10.15-12.00 Spiegelgasse 5, Seminarraum 05.001
Monday 18.05.2026 10.15-12.00 Spiegelgasse 5, Seminarraum 05.001
Monday 25.05.2026 10.15-12.00 Pfingstmontag
Modules Doctorate Computer Science: Recommendations (PhD subject: Computer Science)
Module: Applications of Distributed Systems (Master's Studies: Computer Science)
Module: Applications of Machine Intelligence (Master's Studies: Computer Science)
Module: Methods of Distributed Systems (Master's Studies: Computer Science)
Assessment format continuous assessment
Assessment details 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%.
Assessment registration/deregistration Reg.: course registration, dereg: cancel course registration
Repeat examination no repeat examination
Scale 1-6 0,5
Repeated registration as often as necessary
Responsible faculty Faculty of Science, studiendekanat-philnat@unibas.ch
Offered by Fachbereich Informatik

Back to selection