Inserire una breve descrizione delle modifiche fatte
Minor changes are by default collapsed in the page history.
No changes
The page does not exist yet.
Failed to load changes
Version by on
Leave Collaboration
Are you sure you want to leave the realtime collaboration and continue editing alone? The changes you save while editing alone will lead to merge conflicts with the changes auto-saved by the realtime editing session.
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