Sistemi Software Distribuiti
Questa pagina fornisce il materiale didattico e le informazioni relative all'insegnamento di Sistemi Software Distribuiti per il Corso di Laurea Magistrale in Ingegneria Informatica fino all'AA 2015/16.
A PARTIRE DALL'AA 2016/17 LE INFORMAZIONI E IL MATERIALE DIDATTICO SI TROVANO SU http://dolly.ingmo.unimore.it/.
Si veda http://didattica.agentgroup.unimore.it/didattica/sd/ per informazioni sull'insegnamento di Sistemi Distribuiti per il Corso di Laurea Magistrale in Informatica.
All'indirizzo http://didattica.agentgroup.unimore.it/didattica/ssd si trova la vecchia pagina di Sistemi Software Distribuiti (fino all'AA 2007/08).
Iscriviti al gruppo su Facebook di Sistemi Software Distribuiti!
News
Ultime news
La lezione di lunedì 23 novembre 2015 non si terrà La lezione di giovedì 19 novembre 2015 verrà tenuta dall'ing. Nicola Bicocchi La lezione del giovedì 24 settembre 2015 verrà tenuta dal prof. Zambonelli
Vecchie news
2014/15
La mattina di lunedì 1 dicembre 2014 sono sospese le lezioni per l'inaugurazione dell'anno accademico Lunedì 24 novembre 2014 la lezione non si terrà a causa di un impegno all'estero dei docenti La lezione del lunedì mattina è spostata in aula FA2B Le lezioni dell'AA 2014/15 iniziano il 22 settembre 2014
2013/14
Si ricorda che giovedì 7 novembre 2013 le lezioni sono sospese per la pausa. Giovedì 14 novembre 2013 la lezione non si terrà a causa di un impegno all'estero dei docenti.
2012/13
La lezione di martedì 27 novembre 2012 si terrà in aula C a Fisica. Le lezioni del martedì si terranno nell'aula FA1C a partire dal 9 ottobre 2012. La lezione di martedì 25 settembre 2012 sarà tenuta dal prof. Zambonelli.
2011/12
Giovedì 6 ottobre 2011 la lezione sarà tenuta dal prof. Zambonelli per 2 ore e 30 minuti. Martedì 4 ottobre 2011 non ci sarà lezione. Abbiamo un gruppo su Facebook: http://www.facebook.com/groups/284220178270641/ L'orario è stato pubblicato. Le lezioni dell'AA 2011/12 inizieranno la settimana del 26 settembre (NON il 21), con orario ancora da definire
2010/11
Per gli appelli della sessione estiva 2010/11 contattare direttamente il docente La lezione di martedì 23 novembre 2010 verrà recuperata martedì 21 dicembre 2010 La lezione di martedì 23 novembre 2010 non si terrà a causa del seminario della CNH La lezione di mercoledì 10 marzo 2010 non si è tenuta a causa della neve
Informazioni sui docenti
Dipartimento di Scienze Fisiche, Informatiche e Matematiche
Dipartimento di Scienze e Metodi dell'Ingegneria
Orario delle Lezioni
Orario 2015/16
Le lezioni inizieranno la settimana del 23 settembre, con il seguente orario:
- Lunedì dalle 10 alle 13 aula P2.2 (FA-2B)
- Giovedì dalle 10 alle 13 aula P1.3 (Fa-1c)
Orario 2014/15
Le lezioni inizieranno la settimana del 23 settembre, con il seguente orario:
- Lunedì dalle 10 alle 13 aula FA1C
- Giovedì dalle 10 alle 13 aula FA2A
Orario 2013/14
Le lezioni inizieranno la settimana del 23 settembre, con il seguente orario:
- Martedì dalle 10 alle 13 aula FA1C
- Giovedì dalle 10 alle 13 aula FA2A
Orario 2012/13
Le lezioni inizieranno la settimana del 24 settembre, con il seguente orario:
- Martedì dalle 9 alle 12 aula FA1C
- Giovedì dalle 9 alle 12 aula FA2A
Orario 2011/12
Le lezioni inizieranno la settimana del 26 settembre, con il seguente orario:
- Martedì dalle 10 alle 13 aula FA2G
- Giovedì dalle 11 alle 13 aula FA2A
Orario 2010/11
Le lezioni dell'AA 2010/11 dovrebbero iniziare il 20 settembre 2010 con il seguente orario:
- Martedì dalle 11 alle 13
- Giovedì dalle 10 alle 13
Orario 2009/10
Le lezioni dell'AA 2009/10 inizieranno il 1 marzo 2010 con il seguente orario:
- Lunedì dalle 11 alle 13
- Mercoledì dalle 9 alle 11
Finalità Del Corso E Consigli Utili
L'obiettivo dell'insegnamento è presentare i principali modelli e tecnologie per la gestione di sistemi software distribuiti. Gli obiettivi specifici sono lo studio delle architetture dei sistemi distribuiti avanzati. In particolare, verranno analizzati i sistemi client-server basati su oggetti, i sistemi a componenti autonomi (agenti) e le loro problematiche di coordinazione. Infine si analizzeranno le tecnologie per la mobilità e le relative problematiche
Programma Del Corso
Caratteristiche dei sistemi distribuiti:
- Generalità
- File system distribuiti
- Sincronizzazione distribuita
Studio delle architetture ad oggetti distribuiti:
- (RPC)
- RMI
- CORBA
- .NET
Stato dell’arte:
- Agenti software
- Sistemi adattativi complessi
Seminari
Modalità D'Esame
L'esame consiste in una prova orale su tutto il programma
Appelli
Dall'AA 2006/07 viene usata la verbalizzazione elettronica; chi vuole sostenere l'esame DEVE quindi iscriversi tramite il sito di ESSE3.
Tesina
È possibile svolgere una tesina sui contenuti dell'insegnamento. Questa tesina, da 3 CFU, può servire per:
- superare l'esame di Laboratorio di Ingegneria Informatica, insieme ad altre 2 tesine;
- conseguire 9 CFU per l'esame di Sistemi Software Distribuiti e Lab.
I possibili argomenti per la tesina sono elencati nel seguito:
1) Sviluppo di una applicazione distribuita
Si richiede di sviluppare una applicazione distribuita sfruttando una delle tecnologie ad oggetti distribuiti viste a lezione. Lo studente può scegliere tra:
- RMI
- CORBA
- .NET remoting
L’applicazione può essere di tipo client-server o peer-to-peer. Le funzionalità dell’applicazione devono essere concordate con il docente. Nel primo caso, lo studente deve implementare un server che fornisca determinati servizi e client che, tramite una interfaccia grafica, accettano richieste dall’utente e contattano il server per ottenere il servizio. Nel secondo caso, ogni peer è sia client che server e mette a disposizione degli altri peer i suoi servizi. Anche in questo caso, l’applicazione si interfaccia con l’utente tramite una interfaccia grafica. La documentazione da fornire deve comprendere:
- Descrizione dei requisiti, ed in particolare delle funzionalità messe a disposizione (ad es. tramite SRS);
- Descrizione dell'architettura (ad es. tramite diagramma);
- Descrizione dei protocolli usati (client-server o peer-to-peer, ad es. tramite diagrammi UML).
2) Simulazione di sistemi complessi
Le tesine nell’ambito della seconda parte del corso prevedono l’approfondimento, dello studio di uno specifico fenomeno di swarm intelligence o di complessità, a scelta dello studente. A tale scopo si prevede:
- Lo studio di alcuni articoli scientifici sul tema consigliati dal docente
- La sperimentazione di tali fenomeni di complessità o swarm intelligence, attraverso la realizzazione di simulazioni nell’ambiente NetLogo
NetLogo è scaricabile gratis da: http://ccl.northwestern.edu/netlogo/ (richiede la Java Virtual Machine)
Materiale didattico
Distributed Systems
Introduction to Distributed Systems
Communication and Synchronization
Distributed Objects
Introduction to Distributed Objects
Remote Method Invocation (RMI)
Complex Systems (Prof. Franco Zambonelli)
Introduction to Complex Adaptive Systems
Agent Oriented Software Engineering
Seminari
Testi Consigliati
- A. Tanenbaum, M. van Steen, Distributed Systems - Principles and Paradigms, Prentice Hall
- An Introduction to Multiagent Systems by Michael Wooldridge. Published in February 2002 by John Wiley & Sons (Chichester, England). ISBN 0 47149691X
- Stefano Russo, Carlo Savy, Domenico Cotroneo, Antonio Sergio, Introduzione a CORBA, McGraw Hill
Esercizi presentati a lezione
Codice degli esercizi su RPC: eserciziRPC1.tar
NOTA: su MacOS X il portmapper potrebbe non essere avviabile in modo facile; qui è riportata una soluzione che modifica il file /System/Library/LaunchDaemons/ com.apple.portmap.plist
Codice dell'esempio CORBA EsempioCORBA.zip
Codice dell'esempio .NET EsempioDotNET.zip
Strumenti Software
Si indicano di seguito gli strumenti software che si utilizzano durante il corso e si indica dove e' possibile reperirli.
CORBA
Un ORB per Java: JavaORBv2_2_7.zip
.NET
È possibile ottenere una copia dei CD di installazione di Visual Studio .NET richiedendola al tecnico del laboratorio InfoMec. Tale copia è prevista per i soli studenti.
In alternativa, è possibile usare SharpDevelop, uno strumento Open Source per C# e VB.NET.