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