Principles of Concurrent and Distributed Programming
Academic year 2025/26
Advanced course
Lecturer: Rocco De Nicola, CNR Pisa and GSSI
This course introduces models of concurrent and distributed programming. The course will explore this topic presenting different paradigms of coordination of concurrent and distributed systems (including shared-memory, message-passing, and tuple spaces) as well as related linguistic constructs. The theoretical underpinning will be reinforced by showing how popular programming languages feature concurrency as well as experimental prototype languages. The exam modality will be a group mini-project.
Lecture notes:
All the slides in a single file
Further readings:
- [BTBS26]Khalid Bourr, Francesco Tiezzi, Lorenzo Bettini, and Stefano Seriani.
Translating bpmn models into x-klaim programs for developing multi-robot
missions.
International Journal on Software Tools for Technology Transfer, pages
1433–2787, January 2026.
- [CG89]Nicholas Carriero and David Gelernter. Linda in context.
Communications of the ACM, 32(4):444–458, April 1989.
- [Eck02]Bruce Eckel. Thinking in Java, 4rd Edition.
Prentice-Hall, December 2002. Chapter 13. The beta version of the 3rd edition
is available at
http://www.javaclue.org/pub/java/ebooks/tij/tij-3rd-ed.pdf.
- [FG96]Cedric Fournet and George Gonthier. The reflexive CHAM and the join-calculus.
In Conference Record of POPL ’96: The 23rd ACM SIGPLAN-SIGACT
Symposium on Principles of Programming Languages, pages 372–385, St.
Petersburg Beach, Florida, January 1996.
- [HHM+ 24a] Philipp Haller, Ayman Hussein, Hernán C. Melgratti, Alceste Scalas, and Emilio
Tuosto. Fair join pattern matching for actors.
35 / 35In Jonathan Aldrich and Guido Salvaneschi, editors, 38th European Conference
on Object-Oriented Programming, ECOOP 2024, Vienna, Austria, September
16-20, 2024, volume 313 of LIPIcs, pages 17:1–17:28. Schloss Dagstuhl -
Leibniz-Zentrum für Informatik, 2024.
- [HHM+ 24b] Philipp Haller, Ayman Hussein, Hernán C. Melgratti, Alceste Scalas, and Emilio
Tuosto. Fair join pattern matching for actors (artifact).
Dagstuhl Artifacts Ser., 10(2):8:1–8:3, 2024.
- [Tro94]
John A. Trono. A new exercise in concurrency.
SIGCSE Bull., 26(3):8–10, September 1994.
Zoom recordings:
Programming examples