Progetto didattico
Per l'anno accademico 2006/7 il
progetto didattico sarà sviluppato a partire dal risultato
raggiunto dal prodotto miglior classificato tra quelli realizzati nel
corso dell'anno accademico precedente, e dovrà soddisfare almeno
uno dei tre requisiti sotto elencati.
Il prodotto iniziale realizza un
sistema ferroviario complesso, comprensivo di:
- linee
a percorrenza bidirezionale
- collegamenti multipli ove ciascuna
stazione è punto di transito di più linee
- stazioni
dotate di biglietterie con
obbligo per il viaggiatore di acquistare il proprio biglietto prima di
salire a bordo e tabelloni
recanti informazione aggiornata sui treni
attualmente in sosta e quelli transitati
- centro
di controllo di sistema, che
fornisca, per ogni treno, l'aggiornamento sul suo percorso e sul suo
stato di occupazione con indicazione sull'identità dei
passeggeri a
bordo.
Il prodotto messo a
disposizione degli studenti è stato realizzato in linguaggio Ada
e, per la parte grafica con la libreria GtkAda. Il
prodotto è reso disponibile in versione sorgente, insieme a una
nota tecnica di presentazione e alle direttive di configurazione,
compilazione e avviamento. Il prodotto opera sia in versione locale che
distribuita, per la quale utilizza il compilatore gnatdist.
Tutte le utilità necessarie per la compilazione del prodotto
sono disponibili sullo stesso sito
GPL ove è reperibile l'ambiente GPS.
Requisiti di progetto
Il progetto dovrà soddisfare
almeno uno dei seguenti requisiti:
- Obiettivo
A
Riprodurre esattamente la
semantica concorrente del prodotto di partenza e il suo paradigma di
distribuzione utilizzando un linguaggio concorrente diverso da quello
in esso impiegato.
- Obiettivo
B
Progettare un paradigma di distribuzione diverso e più ambizioso
di quello utilizzato dal prodotto di partenza e realizzarlo, senza
violare i requisiti funzionali del sistema iniziale, impiegando un
linguaggio di programmazione a scelta.
- Obiettivo
C
Realizzare le funzionalità di un sistema architetturalmente di tipo A o B
utilizzando però linguaggi di programmazione distinti ed
eterogeni e le corrispondenti incarnazioni di CORBA.
Il prodotto dovrà constare
di:
- una discussione tecnica delle problematiche di
progettazione affrontate
- la descrizione tecnica e metodologica delle soluzioni progettuali
proposte
- il codice sorgente adeguatamente commentato, comprensivo delle
librerie utilizzate e delle direttive di configurazione, compilazione e
avviamento.
Clausole di partecipazione
Il progetto potrà essere
realizzato
individualmente oppure da gruppi formati da non più di 3 persone.
L'ammissione all'esame avverrà
per appuntamento.
L'esame sarà orale e
consisterà nella
presentazione e dimostrazione del progetto, e nella sua successiva
discussione.
La documentazione d'accompagnamento al
progetto potrà essere consegnata direttamente in sede d'esame.
La
documentazione dovrà includere:
- presentazione e discussione delle
problematiche di concorrenza e di distribuzione poste dalle
caratteristiche del sistema richiesto
- descrizione architetturale delle
soluzioni progettuali proposte
- il formalismo adattoto sarà a scelta
dei progettisti, a condizione che esso sia idoneo alla modellazione
delle partizioni
distribuite del sistema, delle loro interazioni, delle entità
concorrenti presenti in ciascuna partizione e delle interazioni tra esse
- in presenza della realizzazione
concreta del sistema: codice sorgente, con
istruzioni di compilazione e di attivazione
- descrizione accurata delle uscite
prodotte dal sistema.
Il materiale dovrà essere
fornito sia
in
forma cartacea che su supporto CD-ROM o memoria flash USB includendo anche
l'ambiente completo di compilazione e d'esecuzione del
sistema proposto.