Sistemi distribuiti 2015/2016

pagine
informazioni generali sul corso

Scopo del corso

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.

conoscenze e abilità da conseguire

Al termine del corso, lo studente conosce le questioni fondamentali che riguardano i sistemi distribuiti, i modelli computazionali che ne catturano l'essenza, e le tecnologie che correntemente consentono di affrontarle nella maniera più efficace e sistematica. In particolare, lo studente conosce le soluzioni, le tecnologie, le architetture e le metodologie più idonee ad affrontare il progetto di un sistema distribuito, ed è in grado di:

  • individuare le criticità di un sistema computazionale derivanti dalla caratteristica distribuzione fisica
  • determinare le soluzioni metodologicamente più appropriate
  • selezionare le tecnologie più adatte per implementare le soluzioni individuate.
contenuti
  • Generalità sui sistemi distribuiti
    • Problemi fondamentali e definizioni
    • Architetture software
  • Esempi
    • Architettura dei sistemi Web, REST & ROA
    • Web Services
    • Il Cloud
  • Fondamenti di sistemi distribuiti
    • Comunicazione
    • Naming
    • Sincronizzazione
    • Consistenza e replicazione
    • Tolleranza ai guasti
  • Paradigmi e tecnologie per sistemi distribuiti
    • Sistemi distribuiti a oggetti: modelli e middleware
    • Dagli oggetti agli agenti: paradigma, linguaggi e middleware
    • Coordinazione di sistemi distribuiti: il ruolo dell'interazione, modelli e middleware
  • Esperimenti in laboratorio
    • JADE: Java Agent DEvelopment Framework
    • TuCSoN: Tuple Centres Spread over the Network
testi / bibliografia

La bibliografia è resa disponibile tramite il sito del corso.

metodi didattici
  • Lezioni teoriche in aula con uso di lucidi
  • Esempi discussi e costruiti in aula al computer dal docente e da esperti
  • Laboratorio
modalità di verifica e valutazione dell'apprendimento
  • Prova orale
  • Possibile discussione di un progetto individuale o di gruppo
strumenti a supporto della didattica
serie di corsi
funge da
corso contenitore / presentazione