Minor changes are by default collapsed in the page history.
No changes
The page does not exist yet.
Failed to load changes
Version by on
Leave Collaboration
Are you sure you want to leave the realtime collaboration and continue editing alone? The changes you save while editing alone will lead to merge conflicts with the changes auto-saved by the realtime editing session.
This year, the course is a proxy for the course of Distributed Systems. The course is physically held in Cesena, but Bologna students can follow the course online via Virtuale.
Two rooms (Ercolani 3 on Mondays, Lab Ercolani on Fridays) have been dedicated to students in Bologna to make it possible for them to follow the classes online.
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
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