Laboratorio di Ingegneria Informatica
Mini-progetti ("tesine") relativi a Sistemi Software Distribuiti
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)