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.