1. Design and development of the
Visualization Module within the
TERENCE project
Correlatore:
Prof. Pierpaolo Vittorini
Matricola:
207193
Anno accademico 2012-2013
Tesi di Laurea Magistrale in Ingegneria Informatica e Automatica
Relatore:
Prof. Serafino Cicerone
Laureando:
Mattia Caputo
2. Progetto europeo multidisciplinare
◦ Data inizio: 1 Ottobre 2010
◦ Consorzio
◦ Diverse discipline
Primo Adaptive Learning System (ALS)
◦ Materiale di apprendimento (L.M.)
E.g. Storie, giochi intelligenti
◦ Basato sul livello di comprensione dell’utente
3. Utenti
◦ “Poor comprehenders”, udenti, non udenti (età
compresa tra 7 e 11 anni )
◦ Educatori
◦ Esperti
Obiettivi
◦ Stimolare comprensione e ragionamento
◦ Sistema per supporto tecnico
◦ Piattaforma per l’analisi
4. Tecnologie
◦ Standard software: Java
WORA
◦ Servizi Web: REST
Jersey
REST vs SOAP
◦ Memorizzazione dei dati: RDF
Web semantico
Sesame
RDF vs DBMS
◦ Macchina virtuale: VirtualBox
6. Tasks:
◦ Creatore di materiale di apprendimento (L.M.)
Storie a carico di S. Manager, NLP e Reasoning Modules
Giochi (Smart e Relaxing) a carico del G. Manager
Informazioni visuali a carico del V.M.
◦ Erogatore di L.M.
A carico del V.M.
7. Erogazione di L.M.
◦ Interagisce con GUIs
◦ Interroga l’A.E.
◦ Aggiunge informazioni visuali al L.M.
◦ Restituisce XML alle GUIs
8. Risorse Web
◦ Login/Logout
◦ Richiesta degli Avatars
◦ Richiesta dei Books
◦ Richiesta delle Stories
◦ Richiesta degli Episodes
◦ Richiesta degli Smart Games
◦ Richiesta dei Relaxing Games
◦ Memorizzazione dei dati
9.
10. Esempio: Richiesta dei Books
◦ Il V.M. chiede i Books all’A.E.
◦ L’A.E. restituisce i Books adatti all’utente
◦ Il V.M. aggiunge informazioni visuali ai Books
Icone
Immagini dei personaggi
...
◦ Il V.M. invia i Books in XML alle GUIs
14. Recupero del Learning Material
◦ Interazione con A.E.
A.E. Client
◦ Interazione con i managers
Chiamata diretta (bypassando l‘A.E.)
◦ Richiesta su file system locale
Senza interazione con l’A.E.
15. Mantenimento dei dati
◦ Sessioni Java
HTTP stateless
◦ Java Thread Safe (Soluzione iniziale)
Multithreading su risorse Web condivise
Sincronizzazione (“Synchronized”)
Problemi nel caso di elevato numero di threads
◦ Applicativo Flash (Soluzione finale)
17. Robustezza
◦ Recupero Learning Material: 3 soluzioni
◦ Mantenimento dati: a carico dell’applicativo Flash
Performance
◦ Risorse molto dipendenti dal numero di clients:
checkLogin, getStories
◦ Risorse poco dipendenti dal numero di clients
getEpisodes
◦ A.E. team conosce le risorse Web da migliorare
◦ Flash team conosce i tempi di risposta di TERENCE
Test, Sviluppo di feedback grafici ad hoc
◦ Articolo scientifico sottomesso alla CHItaly 2013
Editor's Notes
Tesi scritta in inglese; tesi nell’ambito del Progetto Terence; traduzione del titolo; correlatore: Vittorini
Progetto che riguarda diverse discipline: Medicina, Psicologia, Informatica, Linguistica, ecc…
Data inizio.. durata 3 anni,
Consorzio: membri, coordinamento a l’Aquila
Obiettivo: ALS , sistema di apprendimento adattativo, nel senso che adatta (sceglie) materiale di apprendimento, quale
storie (che hanno varie versioni di diversa difficoltà) e giochi intelligenti (di diversa difficoltà)
al livello di comprensione dell’utente (bambino tra i 7-11 anni)
Utenti: Destinato a bambini con difficoltà di comprensione, udenti ecc … 7-11 anni perché in quel periodo il bambino sviluppa la capacità di comprendere
un testo autonomamente e di una certa difficoltà
Educatori seguono quotidianamente i bambini
Esperti di logica, di linguistica, psicologi, etc… studiano l’evoluzione del livello di apprendimento dell’utente
Obiettivi diversi a seconda dell’utente
Java è genearl purpose, class-based, orientato agli oggetti
Perché è WORA = meno dipendenze possibili = cross platform, ma anche per ragione di performances e di garbage collection
REST = REpresentational State Transfer, resource-oriented (Web), risorsa utilizzabile tramite URI (Uniform Resource Identifier) + azione (GET, PUT etc..nel caso di HTTP)
Jersey = Java framework per implementare REST service. Di base contiene un client ed un server REST
REST vs SOAP = R basato su risorsa – S su servizio/oggetto (ROA - SOA); R HTTP – S non è detto consegenze: non sfrutta sicurezza HTTP, deriva da CORBA e si adatta al Web quindi ad hoc (aggiunge sovrastrutte al Web che non sono necessarie per servizi distribuiti), mentre Web è gia adatto per app. distribuite via HTTP senza aggiungere sovrastrutture ed altro
RDF = resource description framework (Web resources) ; soggetto-predicato-oggetto / entità-attributo-relazione
Web sema. = estensione del web di pagine human-readable con machine-readble metadata e concetto di ontologie
Sesame = Java framework per mantenere triplette e modelli RDF
RDF vs DBMS (SQL) = semantic based – tabel based (-> coerente con Web semantico e REST); store RDF interrogati via HTTP mentre DBMS no; portabilità e flessibilità;
GUIs per bambini, educatori, esperti .. Implementate in Flash
Managers: creare e gestire utenti, storie, giochi, illustrazioni
A.E. = core di Terence, adatta versione storie e smart games ai bambini a seconda del loro livello
VM: modellato come un RESTful Web service, come tutti gli altri moduli
NLP: natural language processing, annotazione dei nessi causali e temporali, concetti chiave, cronologia eventi, personaggi
M. di ragiona. = collabora con NLP, fornisce feedback sulla base delle annotazioni fatte dai moduli NLP
Livello dati (data layer): user/story.. Model class diagram per modellare relativi repository, che mantengono dati sottoforma di triplette secondo RDF
Dal punto di vista del LM TERENCE si divide in due tasks:
a- creatore di materiale didattico: le storie a carico di story manager, vengono annotate dal modulo NLP, checkate e enriched dal reasoner, quindiderivati i giochi, quindi le illustrazioni corrispondenti generate con il V.M.
Ovviamente la scelta adattativa di storie e giochi viene sempre fatta dall’AE in collaborazione con i managersIo mi sono occupato essenzialmente del V.M. per il task (b)
erogatore di materiale didattico: il V.M. chiede all'AE di dargli libri,storie, ecc, li arricchisce con le illustrazioni, e le passa alla GUI
-L'interfaccia nel progetto è in Flash, ma il fatto che il VM gestisce file XML rende possibile nel futuro di passare ad interfacce e.g. HTML5
Books (disponibile per l’utente)
Stories (book, learner)
Episodes (story, learner) per una particolare versione della storia
Smart games (story) sulla base della prestazione nella lettura della storia
Relaxing Games (sbloccati nel caso di buon punteggio)
Memorizzazione dati (Store data) invocata ogni volta che bisogna mantenere dati. Gestita ora dall applicativo Flash
la richiesta è andata all'AE, il qualeha restituito i libri adatti all'utente, e il VM ha aggiuntotutte le informazioni visuali a contorno (i.e. l'icone, le immagini dei personaggi
le icone sono usate qui per mostrare i thumb dei libri
Robust. del VM e quindi di Terence
AE potrebbe non rispondere o problemi di traffico su Web
Managers stessi problemi
Richiesta in locale: ottiene LM ma non salva activities perché non interagisce con TERENCE
Test da 0 a 100 threads, mette in relazione il numero di threads (clients) in esecuzione con i tempi di risposta delle varie risorse del VM
Media, deviazione standard, min , max
Grafico verde = valori osservati – Grafico blu = approssimazione lineare secondo il metodo della regressione lineare
L’analisi ci ha permesso di capire quali risorse sono più o meno dipendenti dal numero di clients
AE team e Flash team sono stati messi al corrente dei risultati dei tests affichè…
Feedback grafici ad hoc: più o meno lunghi e diversi a seconda dei tempi di risposta della risorsa