58260 - Distributed Systems

Academic Year 2012/2013

  • Docente: Andrea Omicini
  • Credits: 9
  • SSD: ING-INF/05
  • Language: Italian
  • Moduli: Andrea Omicini (Modulo 1) Stefano Mariani (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)

Learning outcomes


  • Foundations of distributed computational systems
  • Object-based distributed systems
  • Web-based distributed systems
  • Coordination-based distributed systems
  • Multi-agent systems
  • Technologies and infrastructures for distributed systems

Operating abilities

  • Analysis, design and development of object-, coordination-, web-, and agent-based distributed systems

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
  • 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


Tanenbaum, A. S. and van Steen, M. (2007). Distributed Systems. Principles and Paradigms. Pearson Prentice Hall, Upper Saddle River, NJ, USA, 2nd edition.

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

See the website of Stefano Mariani