Pagina principale Attività di ricerca Pubblicazioni Presentazioni Progetti di tesi per LS Hobby & tempo libero Scrivetemi Questo sito usa
Google Analytics
Sito aggiornato al
28 Novembre 2017

Progetti di tesi completati

Alcuni dei progetti di tesi che ho seguito, con puntatori ad eventuale codice sorgente, documentazione o altro materiale che è stato reso disponibile su Internet.

Estensioni real-time per sound daemon su Linux, by G. Bagnoli
Il progetto di tesi è stato realizzato da Giacomo Bagnoli, tramite una serie di modifiche a JACK, l'infrastruttura per l'audio a bassa latenza per Linux, integrandolo con AQuoSA, una serie di modifiche sperimentali al kernel di Linux che aggiungono EDF-based scheduling per applicativi real-time. Il lavoro è anche stato pubblicato e presentato alla Linux Audio Conference 2011.

Descrizione

Il crescente bisogno di avere a disposizione, su sistemi operativi general-purpose, applicazioni multimediali ed ambienti desktop con buoni livelli di interattività ha portato alla realizzazione, su tali sistemi, di meccanismi e funzionalità tipiche dei sistemi operativi real-time. Queste si basano sul concetto di isolamento temporale delle applicazioni, garantito da opportune politiche di scheduling dei processi e thread da parte dello scheduler del sistema operativo. Allo stesso tempo, su sistemi operativi general-purpose non si può pensare di limitarsi ad una configurazione del sistema basata sull'analisi del WCET (Worst Case Execution Time), per questo si rendono necessarie una serie di estensioni che rendono il concetto di isolamento temporale in qualche modo maggiormente flessibile ed adattivo.
In questa tesi, si propone di studiare una soluzione che permetta di applicare tali tecnologie al contesto del playback di contenuti audio sul sistema operativo Linux, dove tipicamente il flusso di dati fornito dall'applicazione viene mediato da una serie di componenti software, sia a livello utente (server audio personali per la gestione di flussi multipli), sia a livello di kernel (moduli del kernel), che dovranno essere modificati per l'utilizzo di estensioni real-time. Eventualmente, si può valutare la possibilità di dimostrare l'efficacia del meccanimso realizzato su di un sintetizzatore MIDI software.

Requisiti.

Basi di sistemi operativi e scheduling basato su server, linguaggio C, interesse per le architetture di supporto al playback di contenuti audio, esperienza nella comprensione e modifica del codice di componenti software open-source scritte da altri.

Benefici.

Lo studente avrà l'opportunità di prendere confidenza con alcune delle estensioni real-time che costituiranno la base per lo sviluppo di applicazioni multimediali sui sistemi operativi in un prossimo futuro, ed acquisirà una certa esperienza in ambito delle architetture di supporto al suono su Linux.
SCOTT - Smart Card Open Test Toolkit (Gestore di Smart-Card Modulare), by A. Angella
Il progetto di tesi è stato realizzato da Andrea Angella, realizzando SCOTT (Smart Card Open Test Toolkit), un'architettura aperta, modulare ed espandibile per la realizzazione di shell per smart-card. Diverse smart-card o API anche di più alto livello possono essere supportate aggiungendo plug-in a quelli di base sviluppati durante la tesi, che supportano comunicazioni generiche ISO 7816 T=0, i comandi ISO 7816-4 e quelli specifici della Schlumberger Cryptoflex 16K.
Il codice è stato rilasciato in open-source sotto licenza GPL, ed è disponibile a questo indirizzo.

Descrizione

Il processo di sviluppo di software per smart-card continua ad essere particolarmente complesso per la mancanza di appropriati strumenti di supporto allo sviluppo e al debug, se non quelli proprietari messi a disposizione dai singoli fornitori di soluzioni, che comunque spesso sono artificiosamente non interoperabili per ragioni puramente commerciali.
In questa tesi, si propone di progettare e realizzare un software modulare ed espandibile che permetta di interagire con diversi dispositivi di smart-card in accordo non solo alle tipologie di protocollo supportate dal dispositivo, ma anche alle interfacce di più alto livello eventualmente disponibili sulla macchina tramite driver (ad es. PCSC o PKCS11). Il software dovrebbe permettere di visionare e gestire chiavi, certificati, PIN o file eventualmente residenti sul dispositivo, e di effettuare le varie operazioni di basso o alto livello rese disponibili dai diversi plugin installabili. L'architettura del software dovrà essere progettata secondo il paradigma Modello-Vista-Controllore (MVC), in modo da permettere la realizzazione di front-end sia grafici (a finestre) che completamente testuali (a riga di comando).
QSign, by C. Mauceri
Utility basata sull'ambiente grafico Qt per l'apposizione e la verifica di firme digitali in formato PKCS#7, che utilizza l'interfaccia standard PKCS#11 per la comunicazione con le smart-card.
JMuscleCard, by A. Pieroni
Modulo che permette di utilizzare l'interfaccia MuscleCard per smart-card dal linguaggio di programmazione Java, attraverso il meccanismo della Java Native Interface (JNI).
JC Emulator, by M. Ferrari and P. Grimaccia
Ambiente di emulazione per smart-card conformi alle specifiche JavaCard, che permette di effettuare test completi di soluzioni basate su tale piattaforma in maniera del tutto trasparente per esse.
GKM Manager, by D. Grandoni
Middleware modulare ed espandibile per la gestione di protocolli per la distribuzione di chiavi crittografiche di gruppo in ambiente multicast. Include un modulo che realizza un algoritmo basato sulla tecnica "One Way Function Tree (OWFT)".

Pagina principale Attività di ricerca Pubblicazioni Presentazioni Progetti di tesi per LS Hobby & tempo libero Scrivetemi Sito aggiornato al
28 Novembre 2017