Tesi da assegnare

N.B: tra parentesi è indicata la priorità della tesi (A=massima, E=minima) e il tipo di laurea (3=triennale, 5=quinquennale).

Argomenti recenti (in collaborazione con Angelo Di Iorio)

Test e valutazione quantitativa/qualitativa di un algoritmo di diff XML (A 3)

JNDiff è un'applicazione di diff-ing XML open-source e scritta in Java. L'applicazione prende in input due documenti XML (indicati in seguito con A e B) e ne calcola le differenze D. Si compone inoltre di un modulo JNMerge che presi in input i documenti B e D ricostruisce sia il documento originale A, che il documento B+D che evidenzia le differenze.

JNDiff è stato progettato per garantire la naturalezza del risultato, ossia per calcolare le differenze che si avvicinano il più possibile alle modifiche realmente apportate dall'autore. Per queste caratteristiche è stato usato per calcolare in maniera automatica le differenze tra disegni di legge, codificati in XML.

Una prima valutazione dell'algoritmo ha dimostrato che i risultati sono buoni sia in termini di naturalezza che di efficienza. E' necessario tuttavia fare una valutazione quantitativa e qualitativa sistematica dell'algoritmo, soprattutto confrontandolo con altre soluzioni esistenti.

Obiettivo della tesi è rendere disponibile uno strumento di test ed una test-suite completa, dettagliata e ben documentata per JNDiff. La test-suite deve comprendere sia test automatici che semi-automatici. L'esecuzione di questi test dovrà produrre grafici e dati di confronto, da usare per un paper scientifico da journal sul progetto JNDiff.

Implementazione di un motore XInclude esteso (A 5)

XInclude è uno standard W3C per la creazione di documenti XML composti, che includono frammenti da altri documenti. Esistono vari processori XInclude basati su tecnologie diverse.

In parallelo, il nostro gruppo di ricerca ha sviluppato un'applicazione XSLT2.0 per gestire inclusioni XML, chiamata TED. TED consiste di una serie di fogli di stile che applicati a documenti XML (che contengono direttive per includere frammenti da altri file) produce un documento finale multi-sorgente in cui tutti i frammenti sono differenziati ed evidenziati a richiesta. L’applicazione può produrre anche documenti HTML+Javascript per visualizzare e navigare le inclusioni.

L’attuale prototipo richiede l’applicazione diretta dei fogli XSLT (via editor o linea di comando). Inoltre l'applicazione TED usa una sintassi interna e non-standard. Tale sintassi aggiunge alcune funzionalità non presenti in XInclude, ma non supporta ancora altri elementi utili (ad esempio xi:fallback).

Obiettivo della tesi è estendere l'applicazione TED e trasformarla in un vero e proprio motore XInclude. Si tratta quindi di modificare la sintassi, supportare tag finora non previsti, documentare le estensioni esistenti ad XInclude, e creare un'interfaccia di invocazione ed uso del motore.

Argomenti meno recenti

TALL: Topological Abstract Layout Language

Motore di formattazione TALL: estensione dei layout (A5)

TALL è un linguaggio di layout topologico. I linguaggi di layout tradizionali descrivono i layout in termini di proprietà geometriche come dimensioni, posizione nello spazio, etc. L'idea di TALL è invece usare una "descrizione logica" dei layout che sfrutta concetti più intuitivi come similarità, importanza, raggruppamento, etc. Questi concetti sono chiamati "proprietà topologiche". Il motore di formattazione TALL è un'applicazione Java e XSLT2.0 che trasforma tale descrizione astratta in un layout geometrico e produce un file SVG o PDF (sfruttando librerie pre-esistenti di conversione tra formati-dato). Internamente, tale motore valuta un set finito di layout per poi decidere quale usare in ogni sotto-layout. La composizione dei sotto-layout produce il layout complessivo ottimale. Attualmente esistono due moduli che producono due classi di layout: TLM (layout tabellari) e DLM (layout basati su vincoli).

Obiettivo della tesi è estendere il set di layout disponibili e migliorare la qualità dell'output. Per fare questo è possibile estendere i moduli esistenti che gestiscono tabelle, o i moduli che gestiscono vincoli tra oggetti correlati o sviluppare nuovi moduli con nuove strategie, a scelta del tesista.

Nota: la tesi può essere quindi assegnata a più studenti che si occupano di moduli (TLM/DLM) e layout diversi.

Motore di formattazione TALL: estensione delle proprietà topologiche nei layout tabellari o basati su vincoli (A3/A5)

TALL è un linguaggio di layout topologico. I linguaggi di layout tradizionali descrivono i layout in termini di proprietà geometriche come dimensioni, posizione nello spazio, etc. L'idea di TALL è invece usare una "descrizione logica" dei layout che sfrutta concetti più intuitivi come similarità, importanza, raggruppamento, etc. Questi concetti sono chiamati "proprietà topologiche". Il motore di formattazione TALL è un'applicazione Java e XSLT2.0 che trasforma tale descrizione astratta in un layout geometrico e produce un file SVG o PDF (sfruttando librerie pre-esistenti di conversione tra formati-dato). Internamente, tale motore valuta un set finito di layout per poi decidere quale usare in ogni sotto-layout. La composizione dei sotto-layout produce il layout complessivo ottimale.

L'attuale versione del motore supporta un numero molto limitato di proprietà topologiche. Obiettivo della tesi è estendere tale set di proprietà e migliorare la qualità dell'output. Poichè il motore si compone di due moduli, TLM (che gestisce layout tabellari) e DLM (che gestisce layout basati su vincoli) è possibile lavorare su uno solo dei due moduli e su alcune proprietà specifiche, a scelta del tesista.

Nota: la tesi può essere quindi assegnata a più studenti che si occupano di moduli (TLM/DLM) diversi.

Motore di formattazione TALL: supporto per skin e stili (B3)

TALL è un linguaggio di layout topologico. I linguaggi di layout tradizionali descrivono i layout in termini di proprietà geometriche come dimensioni, posizione nello spazio, etc. L'idea di TALL è invece usare una "descrizione logica" dei layout che sfrutta concetti più intuitivi come similarità, importanza, raggruppamento, etc. Questi concetti sono chiamati "proprietà topologiche". Il motore di formattazione TALL è un'applicazione Java e XSLT2.0 che trasforma tale descrizione astratta in un layout geometrico e produce un file SVG o PDF (sfruttando librerie pre-esistenti di conversione tra formati-dato). Internamente, tale motore valuta un set finito di layout per poi decidere quale usare in ogni sotto-layout. La composizione dei sotto-layout produce il layout complessivo ottimale.

L'attuale versione del motore decide la disposizione degli oggetti nello spazio, ma non modifica ad esempio font, bordi e margini, colori, etc. E' interessante invece selezionare anche lo "stile complessivo" del layout che potrebbe essere "funny", "professionale", "elegante" o "sobrio", etc.

Obiettivo della tesi è aggiungere al motore TALL il supporto per modificare skin e stili del layout e proporre all'utente risultati molto diversi partendo dallo stesso input.

Formati documentali

EditorPatternBased.

Il modello di documento basato su pattern prevede l'uso di pochi costrutti (appunto, pattern) e regole di composizione per costrire qualunque schema descrittivo. I pattern sono quindi delle guidelines per la produzione di documenti ben ingegnerizzati, non ambigui e chiari. Obiettivo della tesi è investigare ed implementare un editor che supporti l'utente nella creazione di documenti/schemi pattern-based in maniera semplificata. L'editor potrebbe essere un'applicazione standa-alone, un plug-in o altro.

Overlapping Markup

Overlapping Markup Conversion Framework (OverlappingConversion). Realizzare un framework di conversione tra le più comuni rappresentazioni (XML e non) di overlapping markup: stand-off markup, twin documents, segmentation, LMNL, flat milestone (CLIX), milestone (ECLIX). La tesi si propone l'obiettivo di studiare la conversione tra rappresentazioni di overlapping markup e di implementare una libreria ed un tool software che permetta tutti i path di conversione. La tesi presenta si aspetti teorici (studio delle variazioni delle rappresentazioni che le rendono parimenti espressive, studio del modello concettuale che le accomuna, specifica degli algoritmi di conversione, design dell'architettura software) che aspetti implementativi pratici (conversione da/a ogni singola rappresentazione al modello concettuale, eventuale implementazione del parser/pretty-printer per LMNL).

Valutazione Streaming di EXPath (B 3)

EXPath è una estensione di XPath che aggiunge assi per specificare query su documenti con overlapping markup. In passato è già stato mostrato come effettuare query XPath in modalità streaming (i.e. senza caricare il documento oggetto della query interamente in memoria), una simile estensione per EXPath è in corso di studio. Questa tesi si propone di implementare un prototipo di motore di query EXPath che funzioni in modalità streaming.

Metadati e Semantic Web

Ontologizzazione delle folksonomie (B5)

Creazione di strumenti che permettano di generare ontologie corrette a partire da folksonomie di vari tipo. Vedi la pagina OntoFolks

Interoperabilità tra RDF e Topic Maps: miglioramento di MetaEditor (C 5)

  • Creazione dell'interfaccia di MetaEditor, un editor generico per metainformazioni in RDF e Topic Maps. Occorre riportarlo a un livello che non presupponga competenze di RDF e/o Topic maps.
  • Supporto OWL: MetaEditor deve permettere l'editazione di documenti OWL.
  • Supporto all'istanziazione di ontologie: MetaEditor deve permettere il caricamento di una qualsiasi ontolgia OWL e la sua istanziazione.

Gestione versioni/varianti nel MetadataNavigator? (C 5)

Il modello FRBR prevede 4 livelli di istanziazione di un documento: Work, Expression, Manifestation, Item. Inoltre è possibile differenziare Versioni e Varianti di uno stesso documento. E'necessario capire se diverse istanze sono documenti diversi, versioni o varianti diverse, item o manifestation diversi di una stessa expression, etc. Obiettivo della tesi è appunto estendere MetadataNavigator? per individuare e gestire queste differenze, attraverso l'analisi sistematica di metadati secondo il metamodello di MetaMeta?. Inoltre bisogna integrare il sistema di memorizzazione di varianti e versioni.

OWLizzazione della configurazione di MetadataNavigator? (tirocino?) (C 3)

MetadataNavigator? è un'applicazione per navigare metadati basati su uno specifico modello. L'applicazione è progettata per essere indipendente dal modello, ma prende in input uno specifico file XML con una sintassi proprio ed inventata. Obiettivo della tesi è generalizzare l'applicazione per processare un file OWL generico, che esprime le stesse informazioni. Da estendere.

FolderMonitor (C 3)

Un demone che controlla eventi su una directory condivisa.

Gestione contenuti griglia epistemologica + tetrade MacLuhaniana? (A3)

Si richiede un editor che permetta all'utente la definizione di termini attraverso una griglia epistemologica i cui punti vengono rappresentati dalle definizioni corrispondenti ad una coppia "Termine, Disciplina". All'interno di una comunità in cui diverse persone hanno il compito di definire termini comuni in base a diverse discipline e quindi secondo diversi schemi mentali, è utile avere un modello comune che sia in grado di definire al meglio il significato dei termini. La tetrade MacLhuaniana? è un modello che riesce a dare questo tipo di supporto. Si chiede pertanto la realizzazione di un editor per l'inserimento di definizioni di termini all'interno di una comunità multi-disciplinare secondo lo schema di metadatazione suggerito dalla tetrade.

SKOS per la definizione di concetti espressi da un'ontologia (B3)

I metadati aggiungono significato a risorse attraverso definizioni dei concetti che le risorse vogliono esprimere. Molto spesso si danno definizioni attraverso l'utilizzo di termini e modelli che la nostra cultura e la nostra mente ritengono opportuni ma che in realtà possono non essere condivisi con gli utenti destinatari, o che non sono in grado di mapparsi con altri schemi di definizione. In presenza di definizioni ben strutturate secondo un schema preciso dato, si vuole mettere in relazione queste definizioni attraverso l'utilizzo di uno modello che mi permetta di relazionare e collegare tra loro i significati semantici di tali descrizioni. SKOS è un modello che permette questo tipo di operazione. Si desidera realizzare un editor che permetta l'inserimento di queste descrizioni e il relazionamento tra di loro secondo lo schema proposto da SKOS.

Revision: r1.69 - 01 Oct 2009 - 11:31 - AngeloDiIorio
Tesi > TesiDaAssegnare
Copyright © 1999-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Fabio's Wiki? Send feedback