Sistemi Software Distribuiti

Da Agent Group.
Vai alla navigazione Vai alla ricerca

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 &egrave 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

File:Docente.png

Prof. Giacomo Cabri

Dipartimento di Scienze Fisiche, Informatiche e Matematiche

giacomo.cabri@unimore.it


File:Docente.png

Prof. Franco Zambonelli

Dipartimento di Scienze e Metodi dell'Ingegneria

franco.zambonelli@unimore.it


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

Course introduction

Distributed Systems

Introduction to Distributed Systems

Communication and Synchronization

Naming Systems

Distributed File Systems


Distributed Objects

Introduction to Distributed Objects

Remote Procedure Call (RPC)

Remote Method Invocation (RMI)

CORBA

.NET Remoting




Complex Systems (Prof. Franco Zambonelli)

Introduction to Complex Adaptive Systems

Cellular Automata

Small World Networks

Scale Free Networks

Autonomous Agents

Multiagent Systems

Agent Oriented Software Engineering

Swarm Intelligence

Field-based Coordination


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.