Main page Research activities Publications Talks MSc thesis projects Hobby and spare time Write me This site uses
Google Analytics
Last updated on
28 November 2017

Completed thesis projects

Some thesis projects I coordinated in the past, along with pointers to source code, documentation or other material that has been possibly made available for download.

Estensioni real-time per sound daemon su Linux, by G. Bagnoli
The thesis project has been developed by Giacomo Bagnoli, modifying the JACK low-latency audio infrastructure for Linux, integrating it with AQuoSA, a set of modifications to the Linux kernel adding an EDF-based real-time scheduling policy for real-time applications. The work has also been published and presented at the 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
The thesis project has been developed by Andrea Angella, realising SCOTT (Smart Card Open Test Toolkit), an open, modular and expandable architecture for the realisation of a smart-card shell. Various smart-card devices or even higher-level APIs may be supported by adding plug-ins to the project. The plug-in currently developed as part of the thesis project are: one for generic ISO 7816 T=0 communications, one for ISO 7816-4 APDU commands, and one for the specific commands of the Schlumberger Cryptoflex 16K device. More information is available in the Andrea Angella master thesis.
The code has been released in open-source under GPL license, and it is available at the URL: https://gna.org/projects/scott.

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
Qt-based digital signature application that computes and verifies digital signatures in the PKCS#7 standard format and uses the PKCS#11 standard API for communicating with external smart-card devices.
JMuscleCard, by A. Pieroni
Module allowing the use of the MuscleCard API for smart-card devices from the Java programming language, through the use of the Java Native Interface (JNI) mechanism.
JC Emulator, by M. Ferrari and P. Grimaccia
Emulation environment for JavaCard compliant smart-cards, allowing the execution of complete tests for solutions based on such platform in an absolutely transparent way.
GKM Manager, by D. Grandoni
Modular and expandable middleware for the management of group cryptographic keys in the multicast setting. Includes a module implementing an algorithm based on the "One Way Function Tree" (OWFT) technique.

Main page Research activities Publications Talks MSc thesis projects Hobby and spare time Write me Last updated on
28 November 2017