Inserire una breve descrizione delle modifiche fatte
(Richiesto)
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.
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