58260 - Distributed Systems

Course Unit Page

  • Teacher Andrea Omicini

  • Credits 9

  • SSD ING-INF/05

  • Teaching Mode Traditional lectures

  • Language Italian

  • Campus of Cesena

  • Degree Programme Second cycle degree programme (LM) in Computer Science and Engineering (cod. 8614)

Academic Year 2014/2015

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

  • Generality on distributed systems
    • Basic problems and definitions
    • Software architectures. The architecture of the WWW, REST & ROA
    • Software infrastructure: from objects to agents
  • Fundamental issues of distributed systems
    • Communication
    • Naming
    • Synchronisation
    • Consistency & replication
    • Fault tolerance
    • Coordination: generality, languages and technologies
    • Distributed software system engineering
  • Main sorts of distributed systems
    • Distributed object-based systems
    • Distributed web-based systems
    • Distributed coordination-based systems
    • Multi-agent systems


The bibliography is made available through the course web site.

Teaching methods

  • Lessons with slides
  • Examples discussed and built by the teacher and by experts from the field
  • Lab activity

Assessment methods

  • Oral test
  • Possible discussion of an individual/group project

Teaching tools

Links to further information


Office hours

See the website of Andrea Omicini