Progetti e lavori di Ricerca.
Stefano Ricciarelli
- mail: ricste@tin.it
- home page: http://space.virgilio.it/sricciarelli@tin.it
- home page: http://web.tiscali.it/Ricciarelli
Anno 2002 |
Framework per lo sviluppo di applicazioni Web-Oriented, Component & XML Based |
Ambito di sviluppo del progetto - Ingegneria
del Software. |
Tecnologie e metodologie utilizzate - Progettazione
UML del sistema software mediante Rational Rose; utilizzo
di Pattern nella progettazione; rappresentazione dei dati
full XML-Based; utilizzo avanzato di trasformazioni XSL
e manipolazioni DOM; deployment mediante Application
Server Tomcat; interfaccia HTML, XHTML, CSS; implementazione Java Servlet;
ampio utilizzo dei meccanismi di Reflection Java. |
Descrizione - Il sistema realizzato consiste
in un framework per la creazione di applicazioni web mediante collegamento e coordinamento
di componenti software, e realizzazione separata dell'interfaccia
utente. E' possibile creare intere applicazioni con interfaccia
web, mediante semplicemente integrazione nell'infrastruttura di generiche classi
Java, e stesura di una logica applicativa di controllo in stile
dichiarativo. L'infrastruttura si comporta come un engine guidato da specifica di
workflow. E' supportata l'interazione ad eventi
fra classi. |
Links - Documentazione
dettagliata del progetto (formato esteso,
richiede risoluzione superiore a 1024x768) - Infrastruttura compilata in un'unità di deployment:
framework.war (leggere il documento license.txt)
- Codici sorgenti (.zip) (leggere il documento license.txt)
- Applicazione d'esempio. |
Anno 2002 |
Infrastruttura per la realizzazione di Applicazioni
Web Scalabili |
Ambito di sviluppo del progetto - Reti di
Calcolatori. |
Tecnologie e metodologie utilizzate - In aggiunta
al precedente progetto: ampio utilizzo del MultiThreading
e gestione dei problemi di concorrenza; gestione della Replicazione
e della Coordinazione; utilizzo delle Socket TCP
e UDP; gestione degli aspetti di comunicazione applicativa
e sviluppo di un sistema di RPC (remote procedure call). |
Descrizione - Il sistema costituisce un'estensione
del progetto precedente e consente il deployment di un'applicazione web su più macchine
in modo da garantire la necessaria scalabilità a fronte degli
utenti da servire. Nel sistema possono essere installate, rimosse e modificate dinamicamente,
più applicazioni. Vengono identificate due tipologie di componenti: SessionBean e ApplicationBean,
i primi replicabili e mobili, i secondi legati alla piattaforma hw/sw locale. Il sistema
prevede un Name Server per la risoluzione dei nomi. Viene
gestita la Replicazione, con coordinazione fra le copie,
sia del sistema (Name Server, Web Server, Macchine Remote) che delle applicazioni per garantire
Fault Tolerance. E' possibile un'amministrazione
centralizzata e remota del sistema. Si sono sviluppati i necessari protocolli per
la comunicazione fra le varie entità del sistema nonché un sistema di RPC
e una libreria di Multiplexing e Demultiplexing
di comunicazioni UDP. |
Links - Documentazione
dettagliata del progetto (.pdf) - Applicazione compilata
(.zip) (leggere il documento license.txt) - Codici sorgenti (.zip):
NameServer, WebServer,
RemoteNode, Tools
(leggere il documento license.txt) - Applicazione
d'esempio (.zip). |
Anno 2001 |
Density-Based Clustering in contesti Data Mining |
Ambito di sviluppo del progetto - Sistemi
Informativi. |
Descrizione - Il lavoro di ricerca ha fotografato
lo stato dell'arte degli algoritmi di Clustering in contesti Data Mining. Dopo aver esplorato
gli ambiti applicativi in cui è richiesto un raggruppamento dei dati per similarità, viene
offerta una panoramica complessiva sulle varie metodologie oggi presenti, per poi prendere
in esame quelle basate sulla densità. Vengono analizzati sia gli aspetti algoritmici che
la matematica base di tali algoritmi. Si valutano e si confrontano infine i risultati in
termini qualitativi e prestazionali, con attenzione alle tipologie di dato di input e alla
loro dimensionalità. |
Links - abstract
(.pdf); documento completo (.pdf, 2300KB). |
Anno 2000 |
Interprete LISP-Scheme |
Ambito di sviluppo del progetto - Linguaggi. |
Tecnologie e metodologie utilizzate - Grammatiche
BNF; teoria dei linguaggi; Applet Java; utilizzo esteso di ereditarietà e polimorfismo. |
Descrizione - Il progetto comprende uno studio
approfondito sulla teoria dei linguaggi che si concretizza nello sviluppo in Java di un
interprete completo (sia per quanto riguarda le strutture dati che le operazioni) per il
linguaggio Scheme (dialetto del LISP). Vengono analizzate le varie caratteristiche del linguaggio:
il modello valutativo, l'enviroment, le liste e la loro manipolazione, le istruzioni quote,
condizionale e lambda, l'assegnamento, l'estensione monotona del linguaggio, ecc... Si procede
quindi alla stesura della grammatica, allo sviluppo di Lexer e Parser, e all'implementazione
di un Evaluator in grado di interpretare tutti i costrutti precedentemente citati. |
Links - Documentazione
dettagliata del progetto - Applet eseguibile
on-line con alcuni programmi Scheme di esempio. |
Anno 1999 |
Sistema di controllo per lo smorzamento del moto
di rollio di un natante |
Ambito di sviluppo del progetto - Controlli
Automatici. |
Tecnologie e metodologie utilizzate - Modellazione
del sistema mediante Simulink; analisi della risposta del sistema mediante Matlab. |
Descrizione - La progettazione parte da una
schematizzazione basata su un sistema del secondo ordine per il quale vengono assunte determinate
incertezze di modello e disturbi in ingresso. Si procede alla progettazione di un regolatore
mediante simulazione del sistema e analisi dei diagrammi di Bode. Si stabilisce infine un
trade-off fra minimizzazione dell'oscillazione e dimensionamento dell'attuatore. |
Links - Documentazione
del progetto. |
|