- Docente: Andrea Omicini
- Credits: 6
- SSD: ING-INF/05
- Language: English
- Moduli: Andrea Omicini (Modulo 1) Giovanni Ciatto (Modulo 2)
- Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
- Campus: Cesena
- Corso: Second cycle degree programme (LM) in Computer Science and Engineering (cod. 8614)
-
from Sep 25, 2023 to Dec 18, 2023
-
from Sep 27, 2023 to Dec 13, 2023
Learning outcomes
At the end of the course, students got acquainted with the fundamental issues of distributed systems, the computational models capturing their essence, and the technologies currently helping facing them in the most systematic and effective way. In particular, students become familiar with the fittest solutions, technologies, architectures, and methodologies to design distributed systems, and is capable of devising out the most critical aspects of distributed systems coming from physical distribution determining the most proper methodological approaches selecting the fittest technologies for implementing the solutions detected
Course contents
- Case Studies
- The CAP Theorem. Availability, Consistency, Failure in Distributed Systems
- The Problem of Consensus in Distributed Systems
- Distributed Ledger Technology. Blockchain as Middleware
- Representational State Transfer (ReST)
- Logical Clocks
- Simple Agents in JADE
- Coordination in Linda
- Code Mobility
- General Issues of Distributed Systems
- Why Distributed Systems?
- Replication & Consistency in Distributed Systems
- Dependability in Distributed Systems
- Roots of Distributed Systems. Computation in Space & Time
- Definitions & Goals for Distributed Systems
- Sorts of Distributed Systems
- Modelling Distributed Systems. Software & System Architectures
- Modelling Distributed Systems. Process Algebra
- Computing with Time
- Agents for Distributed Systems
- Coordination of Distributed Systems
- Computing with Space
- Technologies for Distributed Systems
- Build Automation
- Containers
- Asynchronous Programming
- Sockets
- Presentation
- Web Services
- Consensus
- Queues
Readings/Bibliography
The bibliography is made available through the course web site.
Teaching methods
- Lessons with slides
- Examples discussed and built by the teachers
- Lab activity
Assessment methods
- Verification of lab activity
- Presentation and discussion of an individual/group project
Teaching tools
- web site of the professor
- web page of the course with slides (PDF), other materials and useful links
Links to further information
https://apice.unibo.it/xwiki/bin/view/Courses/Series/Ds/
Office hours
See the website of Andrea Omicini
See the website of Giovanni Ciatto
SDGs
This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.