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 basati su logica computazionale, ad agenti e coordinati 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
- Alle radici dei sistemi distribuiti: spazio, tempo e computazione
- Scopi e problemi dei sistemi distribuiti
- Tipi di sistemi distribuiti
Temi centrali dei sistemi distribuiti
- Architetture software
- Middleware
- Computazione e tempo
- Computazione e spazio
- Proprietà della distribuzione
Paradigmi per sistemi distribuiti
- Programmazione logica distribuita / Logica e computazione
- Calcolo basato su agenti / Agenti e sistemi multi-agente
- Sistemi basati sulla coordinazione / Coordinazione di sistemi distribuiti
Tecnologie per sistemi distribuiti
- Programmazione logica in Prolog con tuProlog
- Agenti e sistemi multi-agente con Jade
- Coordinazione basata su tuple con TuCSoN
- Programmare l'interazione con ReSpecT
- Servizi standard per sistemi distribuiti: Web Service
- Computazione senza spazio: Cloud Computing
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