Sistemi distribuiti 2015/2016

pages
general information on the course

Goal of the Course

This course is meant to illustrate the conceptual foundations, the main features and the most relevant issues of today distributed computational systems. Also, the main technologies for constructing distributed systems are introduced, in terms of languages, middleware, and infrastructures.  In particular, object-based, web-based, coordination-based and agent-based systems are used as the sources for case studies and for experiments in the laboratory.

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 metodologies 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
  • Examples
    • The architecture of Web-based systems, REST & ROA
    • Web Services
    • The Cloud
  • Basics of distributed systems
    • Communication
    • Naming
    • Synchronisation
    • Consistency & replication
    • Fault tolerance
  • Paradigms and technologies for distributed systems
    • Distributed object-based systems: models and middleware
    • From objects to agents: models, languages, and middleware
    • Coordination of distributed systems: the role of interaction, models, and middleware
  • Experiments in the lab
    • JADE: Java Agent DEvelopment Framework
    • TuCSoN: Tuple Centres Spread over the Network
readings / bibliography

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
course series
works as
hosting course / talk