Sistemi distribuiti 2016/2017

pagine
informazioni generali sul corso

Questo corso ha lo scopo di illustrare le fondamenta concettuali, le principali caratteristiche e le problematiche principali che riguardano oggi i sistemi computazionali distribuiti. Vengono introdotte le principali tecnologie per la costruzione dei sistemi distribuiti, in termini di linguaggi, middleware e infrastrutture. In particolare, vengono utilizzati i sistemi a oggetti, web-based, coordinati e ad agenti come fonti di casi di studio ed esperimenti in laboratorio.

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

  • Communicazione
  • 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
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
serie di corsi