17/12/08 Elenco Tesi Disponibili Applied Research & Technology Dept. La Società MBDA La MBDA Italia è un azienda leader nella realizzazione di sistemi di difesa che con i suoi prodotti è in grado di soddisfare buona parte della domanda nel settore. È una multinazionale sostenuta da tre gruppi che corrispondono ai maggiori azionisti: BAE SYSTEM, EADS e Finmeccanica, rispettivamente inglese francese ed italiano; in questo modo essa è la prima società di Difesa Europea pienamente integrata. Le tesi vengono sviluppate nel laboratorio di Roma, presso il Dipartimento di Applied Research & Technolgy o presso il Dipartimento di appartenenza. Introduzione Gli argomenti che seguono vanno intesi come linee guida per le tesi, fermo restando che l assegnazione dell argomento della tesi è di competenza del dipartimento stesso. 1. Modernizzazione del SW (Laurea II livello) L'importanza del software in qualunque dominio applicativo e l'obsolescenza di molte applicazioni stanno imponendo il problema della modernizzazione del software. La documentazione a disposizione è spesso scarsa e non allineata con il software. Questo impone la necessità di generare nuova documentazione (modelli) direttamente dall'applicazione, ignorando l'esistente. Studio ed analisi di tecniche di generazione automatica di automi a stati finiti per descrivere il comportamento di classi/componenti a partire dal codice a disposizione, considerando che per capire veramente un'applicazione, i modelli devono essere più ricchi di un semplice diagramma delle classi ottenuto, magari, automaticamente. L'approccio deve anche essere pensato e usato al contrario, cioè per generare codice a partire dagli automi a disposizione. Lo studio ha anche la finalità di definire delle metriche specifiche per analizzare i problemi relativi alla modernizzazione del software. Sarebbe importante capire quali parametri privilegiare, quando modernizzare e su quali elementi intervenire. 1
2. Software Test Framework 4.0 (Laurea II livello) Software Test FrameWork (ST-FW) è un complesso tool di analisi che si occupa di catturare dati relativi alla occupazione delle risorse su uno o più sistemi target. ST-FW è in grado di misurare occupazione di CPU, occupazione di memoria, occupazione di CPU e memoria da parte di più processi o threads in esecuzione contemporaneamente. ST-FW nasce per eseguire flessibilmente delle misurazioni il più possibile accurate e non intrusive, perturbando il sistema target in maniera minima. Il progetto si pone l obbiettivo di sviluppare il DB per la memorizzazione dei dati ricevuti, la parte della GUI che gestisce l interfaccia col DB. L analisi andrà condotta secondo stringenti requisiti, per progettare il DB e analizzare come i dati ricevuti potranno essere inseriti nel DB. Lo sviluppo prevede 1) la creazione del DB (SQL), 2) un motore che gestisca i dati col DB (letture e scritture), 3) una interfaccia Java che permetta sia di visualizzare i dati storicizzati sia di confrontare i dati storicizzati e quelli che arrivano in tempo reale 3. L automazione della fase di esecuzione per sistemi distribuiti (Laurea I livello) Il sistema ha lo scopo di automatizzare i test eseguiti in ambito industriale. Tipicamente l ambiente è costituito da più macchine con SO differenti (LynxOS, AIX, Windows) che interagiscono tra loro tramite interfacce ben note. Il cuore del progetto è un motore che registra e ripete con l esatta tempistica gli eventi mouse, tastiera e tastiera multimediale (sensori). Tutti questi moduli devono poi essere sincronizzati per riprodurre con esatta tempistica una sessione di test precedentemente registrata. 4. Validazione automatica di requisiti grafici (Laurea II livello) In ambito industriale, la validazione automatica di opportuni casi di test è un aspetto fondamentale. Questo progetto si occupa di validare i requisiti grafici, tipo: verificare che all istante Ti sullo schermo appaia una icona W con il colore (R,G,B) nella posizione (x,y) e che nel messaggio ricevuto dal server il campo A valga N. La tesi prevede l utilizzo di tool open source e si colloca all interno di un progetto a più ampio spettro. La tesi dovrà poi fornire una soluzione al problema dell aliasing. 2
5. FNM Linux 1. Gentoo Kickstart Installation (Laurea I livello) Il progetto ha lo scopo di creare un motore per le istallazioni tale da supportare diverse opzioni di installazione su distribuzioni GENTOO based. Tutte le funzionalità sono accessibili sia in modalità testo che visuale e sono accessibili in back-end tramite un set noto di API. Il sistema deve fornire la possibilità di automatizzare il processo di installazione su sistemi differenti. 2. Multicore RT scheduling (Laurea II livello) La tesi ha lo scopo di studiare ed analizzare il problema dello scheduling su architetture multicore in ambito Real Time. La tesi si occuperà di individuare un algoritmo per RT scheduling (cf. progetto Litmus) e implementarlo nel FNM RT Kernel v2. 3. Safety Linux-Kernel Design Description (Laurea II livello) La tesi si occuperà di studiare e progettare un sistema per modellare il kernel di Linux in UML secondo i dettami del DO-178B livello D. I requisiti del progetto derivano dall SDD-SW Design Description definito dallo standard DO-178B. 4. FNM IDE-Generazione automatica dei documenti Safety (Laurea I livello) La tesi ha lo scopo di partecipare al progetto Open Source Topcased per la generazione automatica della documentazione secondo lo standard DO-178B. Andrà inizialmente definito un template di documentazione e successivamente popolato con le informazioni contenute nel progetto UML. 5. Automatizzazione creazione di pacchetti (Laurea I livello) La distribuzione Gentoo Linux si basa su un albero di portage che contiene la lista dei pacchetti installabili. Lo scopo della tesi è automatizzare la creazione di un pacchetto personalizzato di Gentoo, noto il sorgente, aggiornando automaticamente tutte le strutture di Gentoo al fine di ottenere un albero di portage modificato. 3
6. Sviluppo di un layer di interfaccia per politiche di scheduling RT su multiprocessore (Laurea I livello) Il principale approccio allo scheduling real-time su sistemi multiprocessore è l'approccio partizionato. Linux offre un buon supporto sia al partizionamento dei processi sui processori, sia a politiche di scheduling real-time. Lo scopo della tesi è quello di sviluppare un layer di interfaccia (utilizzabile in maniera chiara ed efficace) alle funzionalità offerte dal kernel per programmi user-space. 7. Implementazione di politiche di scheduling real-time in Linux (Laurea I livello) A livello di politiche di scheduling real-time le uniche politiche attualmente implementate nel kernel di Linux sono la politica FIFO e la politica RR. La tesi si propone di esaminare altre politiche di scheduling real-time (es. Rate Monotonic, Earliest Deadline First ecc.) e di implementarle in Linux, sfruttando il meccanismo delle scheduling classes. 8. Politiche di scheduling RT su sistemi multiprocessore (Laurea II livello) Lo sviluppo di architetture multiprocessore (e multicore) sta portando anche in ambito industriale all'adozione di questi sistemi. La tesi si propone di analizzare alcune fra le più recenti politiche di scheduling real-time per sistemi multiprocessore (PFair, ERFair, PD^2) e di proporne un'implementazione nel kernel Linux-RT. 9. Real-Time Software Development (Laurea II livello) Le attuali tecnologie di supporto alla programmazione di software per sistemi critici real-time (multiprocessore) non consentono di esprimere completamente le necessità di tale tipo di programmazione e progettazione. La tesi si propone di analizzare nuove tecnologie, con lo scopo di integrarle in un processo di sviluppo software RT, orientato anche alla certificabilità (standard DO-178B, MIL-STD, IEC 61508). Lo scopo ultimo sarà quello di realizzare un IDE (Eclipse-based) che supporti lo sviluppo SW per sistemi target multiprocessore e con vincoli di real-time. 4
10. Software Design per la testabilità Development (Laurea II livello) Studio ed analisi di metodologie e tecniche per progettare e sviluppare software aumentando la testabilità nel caso di sistemi real-time. Il progetto si pone l'obiettivo di sviluppare un framework (seguendo il processo SW Model Driven Architecture) che faciliti la verificabilità / testabilità del software (rispetto anche a standard quali DO-178B, MIL-STD, IEC 61508) e di implementarlo all'interno di una IDE (Eclipse). 5