Tematiche

Il laboratorio ISISLab si occupa principalmente di tre tematiche di ricerca che vengono di seguito riassunte (e poi descritte), facendo riferimento anche alle aree di Classificazione della ACM (2012 ACM Computing Classification System) per la collocazione.

  • Computazioni Distribuite e Parallele
    • Cloud e Edge Computing
    • Simulazioni Massive
    • Algoritmi ed architetture parallele
  • Calcolo Collaborativo e Sociale
    • Co-creazione di Open Data
    • Progettazione collaborativa
    • Collaborazione sincrona e co-locata
    • Privacy
    • Sistemi adattivi e personalizzati
  • Visualizzazione e Interazione
    • Visualizzazione Scalabile
    • Applicazioni di Realtà Virtuale
    • Interfacce Innovative

Computazioni Distribuite e Parallele

La evoluzione dell’informatica nelle ultime tre decadi è stata caratterizzata dalla modifica architetturale che ha portato il paradigma di computazione centralizzato verso le architetture distribuite e parallele dove la elaborazione e la memorizzazione dei dati sono realizzate in maniera cooperativa su diversi nodi interconnessi da una rete. 

Il laboratorio ha seguito la evoluzione di questo campo, lavorando , che ha portato le tematiche di ricerca ad andare, da un lato, verso la direzione del calcolo su cloud e su edge, dall’altro ad approfondire la esecuzione di simulazioni ad agenti massivi e la esecuzione efficiente di algoritmi. Il problema di cercare di rendere più efficiente le computazioni impiegando diverse unità di elaborazione è uno dei grandi temi di ricerca della informatica, che, nel corso della storia dell’informatica, ha riguardato, a 360 gradi, la ricerca nel campo delle architetture hardware, di quelle software (infrastrutture di calcolo, linguaggi di programmazione, etc.), la ricerca nel campo algoritmico, fino ad arrivare a quella sui modelli di computazione, e la valutazione delle prestazioni.

E’ in questa area che la ricerca di ISISLab si è svolta, affrontando diversi tematiche, che vanno dagli studi recenti che prevedono l’uso efficiente del Cloud e dell’Edge computing, ad arrivare ad ambienti di esecuzione per simulazioni massive basate su agenti, allo studio delle architetture e degli algoritmi paralleli e distribuiti.

Cloud e Edge Computing

La attenzione della ricerca si è prima concentrata sulle opportunità del cosiddetto Edge Computing, cioè delle infrastrutture che possono trovarsi tra client e tra fornitori di servizi.
Sin dalla prima introduzione e diffusione del World Wide Web, il laboratorio ha prodotto ricerca nell’ambito degli intermediari Web, cioè Proxy HTTP programmabili, che potessero rappresentare un utile strumento per realizzare servizi complessi sulla base di quelli esistenti sul Web.

E’ stata studiata ed affrontata positivamente la scalabilità di tali sistemi così come sono stati sviluppati e testati diversi sistemi per facilitare la accessibilità del Web a chi soffre di handicap visivi e per la navigazione con i primi dispositivi mobili disponibili

Con l’avvento e la diffusione del Cloud, che ha dimostrato oramai di offrire un rapporto prestazioni-prezzo ineguagliabile per il calcolo scientifico, l’interesse della ricerca si è mosso in questa direzione.

In particolare, sono stati sviluppati sistemi di ottimizzazione eseguibili su Cloud (Simulation Optimization and exploration Framework in the Cloud) che fossero di estrema semplicità di uso (Zero configuration) e di notevole efficacia/efficienza.

Simulazioni Massive

Uno strumento per la ricerca scientifica particolarmente utile, è quello delle simulazioni basate ad agenti, che punta a ricreare fenomeni complessi, emergenti dalla simulazione di diversi agenti che esibiscono comportamenti molto semplici. Questa tecnica computazionale di investigazione scientifica è particolarmente utile in contesti molto variegati, dalla fisica, chimica, biologia, fino ad arrivare alle cosiddette soft-sciences, quali psicologia, sociologia, pedagogia, giurisprudenza.

Il lavoro del laboratorio si è concentrato principalmente sul problema delle simulazioni massive, cioè che coinvolgono un numero molto alto e scalabile di agenti, che quindi pone significative sfide sull’efficienza e scalabilità della simulazione. In questo contesto, la ricerca si è orientata alla realizzazione di un ambiente distribuito e scalabile per cluster, chiamato D-MASON, che (costruito sulla base di un sistema di simulazione esistente progettato dalla George Mason University (USA)) permette la realizzazione di simulazioni scalabili , efficienti ed efficaci, anche in presenza di partizionamenti non regolari del campo degli agenti. Recentemente, il lavoro di ricerca ha riguardato anche la realizzazione di Domain-specific languages per la simulazione di agenti distribuita.

Algoritmi e architetture parallele

Il laboratorio ha anche una fiorente attività di ricerca con un approccio teorico con l’obiettivo di realizzare algoritmi e architetture che rendano più efficienti operazioni di base.

Dopo diversi lavori nell’ambito del problema di minimizzare i conflitti di accesso a strutture dati in memoria per diverse strutture dati, una parte significativa del lavoro del laboratorio si è svolto nell’analisi e progettazione di reti e schemi di routing per le reti Peer 2 Peer. All’interno della architettura P2P chiamata Chord, ci si è occupati di migliorare lo schema originale, proponendo uno schema basato sui numeri di Fibonacci, F-Chord, che esibisce migliori prestazioni, sia in termini di routing (numero di hop max/avg) che in termini di occupazione di memoria (dimensione della routing table per nodo).

Calcolo Collaborativo e Sociale

Questa area di ricerca mira a esplorare in che maniera gli utenti, di ogni tipo, e con ogni tipo di obiettivo, possano interagire efficacemente, efficientemente e senza particolare sforzo, per poter condividere attivamente, costruire una rete di contatti, comunicare, coordinare e collaborare con chiunque, ovunque, in qualsiasi momento. Quindi la ricerca del laboratorio punta a indagare il modo in cui le attività collaborative e il loro coordinamento possono essere supportati mediante sistemi di groupware, e quali principi di progettazione e di validazione empirica devono essere seguiti per poter ottenere risultati concreti. Oltre a studiare questi sistemi di groupware in diversi contesti, remoti/co-locati, tipologie di utenti (cittadini, professionisti, studenti), la ricerca si è anche rivolta a cercare di identificare le perdite di privacy che questi sistemi (basati su WWW) comportano, ed a verificare come è possibile rendere più accessibili e personalizzati gli accessi alle risorse ed agli strumenti.

Co-creazione di Open Data

Gli Open Data (o dati aperti) sono dati liberamente accessibili da tutti, con l’unica possibile restrizione dell’obbligo di citare la fonte o di ridistribuire in maniera aperta eventuali modifiche. Particolarmente significativo è il focus recente nell’ambito del cosiddetto open government, che ha come obiettivo di rendere la Pubblica Amministrazione aperta ai cittadini, non solo attraverso la trasparenza delle azioni, ma anche attraverso la partecipazione diretta, sfruttando le nuove tecnologie digitali. In questo contesto, gli Open Data hanno guadagnato diffusione attraverso altri movimenti open (quali open source, ad esempio).

Ben note, in letteratura, sono le forti limitazioni degli Open Data in termini di qualità, accessibilità, facilità di interpretazione e riusabilità, limitazioni che mettono a repentaglio lo scopo ultimo della apertura dei data da parte della Pubblica Amministrazione: migliorare il rapporto con i cittadini. Alle difficoltà della Pubblica Amministrazione nel gestire il processo di produzione, fa da contraltare l’inadeguatezza degli strumenti forniti ai cittadini per poter accedere, dare un senso e interpretare gli Open Data forniti dalla Pubblica Amministrazione.

In questo contesto, il lavoro di ricerca del laboratorio, svolto in parte all’interno del Progetto di Ricerca Europeo Horizon 2020 ROUTE-TO-PA (www.routetopa.eu), ha avuto come obiettivo quello di facilitare il compito della creazione di Open Data di qualità, in collaborazione tra diversi utenti (in modo da poter utilizzare skill e competenze diverse insieme), con un processo agile che, da un lato, lascia agli utenti la libertà di strutturare ed organizzare i compiti come meglio ritengono, dall’altro fornisce strumenti non intrusivi di guida e di controllo che aumentano la qualità del prodotto.

Centrale è stata la realizzazione di una piattaforma Social, chiamata Social Platform for Open Data, dove gli utenti (siano essi cittadini, impiegati pubblici, esperti, etc.) possono interagire in maniera naturale e familiare, potendo usufruire di strumenti per la co-creazione condivisa di Open Data, e la loro esportazione e visualizzazione facilitata. Questo strumento, inserito all’interno di una architettura multi piattaforma, rappresenta lo stato dell’arte nel supporto ai cittadini ed alle Pubbliche Amministrazioni, in quanto il prototipo è stato valutato in diversi contesti reali.

Questo approccio aumenta il valore pubblico degli Open Data generati, in quanto la creazione in collaborazione permette di aumentare la qualità di quanto prodotto, specialmente utile in contesti della produzione all’interno della Pubblica Amministrazione che per quanto riguarda la trasparenza verso i cittadini. L’uso di strumenti proattivi di correzione di errori aumenta significativamente la usabilità dei dati e la loro reale utilità. Infine, la architettura risulta particolarmente efficiente, portabile e scalabile.

Progettazione collaborativa

In contesti di ricerca e di produzione industriale, è fondamentale poter avere strumenti efficienti che favoriscano la collaborazione di team di specialisti, spesso distanti e che accedono da luoghi diversi, in tempi diversi, ad un processo complesso, in cui ricoprono ruoli variegati, con diverse responsabilità.
La ricerca del laboratorioha investigato le problematiche e proposto soluzioni tecnologiche, progettando e realizzando prototipi che puntano a facilitare questi processi, particolarmente complessi in quanto difficilmente automatizzabili. Quindi la piattaforma deve favorire e stimolare la collaborazione, nel momento giusto con gli strumenti più adeguati, senza essere prescrittiva e vincolante, per un team di alti specialisti con necessità e peculiarità particolari.

La ricerca del laboratorio ha condotto alla realizzazione di un completo sistema collaborativo per un team di specialisti, che, tramite anche un’interfaccia visuale innovativa, permette la collaborazione efficace durante compiti condivisi di ricerca informazioni e di utilizzo di applicativi eterogenei di Computational Fluidodynamics, con un significativo lavoro di testing che ha condotto alla validazione in un contesto reale (laboratorio CFD di Fiat Chrysler Automobile). La piattaforma offre anche strumenti flessibili che permettono interoperabilità tra diversi software proprietari, utilizzando formati intermedi open.

Lo studio di alcune primitive tipiche dei Social Network, applicate al contesto di progettazione è stato oggetto della ricerca del laboratorio, dove una tecnica generale, che permette di applicare le funzionalità di collaborazione in maniera ortogonale e trasversale alle funzionalità offerte da uno strumento tradizionale, viene applicata e testata in un caso specifico (come SVN). In altri contesti applicativi come la biochimica, il lavoro di ricerca è principalmente consistito nel supportare gruppi di lavoro con strumenti evoluti Web-based.

Collaborazione sincrona e co-locata

Un tipo particolare di collaborazione è quella che avviene quando lo strumento da usare deve facilitare un team che è presente nello stesso luogo (co-locato) e allo stesso tempo (sincrono). Questo comporta di utilizzare diversi approcci nella progettazione del groupware e nella valutazione.

In questo contesto, il lavoro di ricerca del laboratorio, svolto in parte all’interno del Progetto di Ricerca Europeo del VI Programma Quadro LEAD, ha avuto come obiettivo il supporto della discussione e del dibattito mediato dal computer in un ambiente didattico, in classe. Lo scopo era quello di studiare in che maniera uno strumento di discussione attraverso il computer, mediato in maniera ibrida da discussioni a voce, potesse migliorare la qualità delle interazioni e delle argomentazioni durante discussioni/dibattiti e l’effetto educativo che esso potesse avere sulla classe.

La architettura del groupware CoFFEE (Cooperative Face-to-Face Educational Environment), ideato, progettato, realizzato e testato in diverse scuole in Europa all’interno di LEAD, è pensata per facilitare il brainstorming, stimolare la partecipazione da parte di tutti gli studenti e essere flessibile per un uso da parte dei docenti che possono riconfigurare facilmente le modalità di uso. Tra le caratteristiche particolari, quello di poter contribuire in maniera anonima alla discussione, di poter strutturare la collaborazione in step, con sottogruppi, con diversi tool da poter usare (editor collaborativi, strumenti grafici di mind-map, discussioni strutturate, strumenti di votazione, quiz, etc.), permettendo la agevole analisi della collaborazione intercorsa, e altresì di analizzare il meccanismo di free-riding (“andare a rimorchio delle attività di altri studenti”) con precisione.

Privacy

Nei sistemi basati su collaborazione e social network, la privacy degli utenti è seriamente minacciata, quando ci si basa su ambienti social e Web che sono progettati proprio allo scopo di raccogliere i dati degli utenti che li usano, per poter profilare al meglio i messaggi pubblicitari e rivendere al meglio queste possibilità.

Lo studio del laboratorio ha quindi approfondito in che maniera è possibile cercare di migliorare la percezione dell’utente durante la navigazione Web, tramite plugin personalizzabili di popolari browsers, e di come questo possa influenzare gli utenti.
Poi successivamente, si è cercato di fornire, una misura di quanto, durante la navigazione su cellulari, la perdita di privacy (intesa come dati sensibili trasmessi in maniera nascosta verso i concentratori e third parties) comporti un consumo di energia maggiore. Dopo aver disegnato e realizzato un plugin per mobile che traccia e blocca la perdita di privacy, una serie di esperimenti reali “in vivo” , sia con periferiche mobili realmente in uso e monitorati accuratamente, sia con navigazione reale di siti (con 4 workloads diversi), ha mostrato come il plugin è notevolmente efficiente in termini di energia risparmiata dovuta alla mancata trasmissione di dati privati (a seconda delle categorie di siti dall’8\% al 36\%), mentre la sua efficacia è notevolmente migliore della competizione, consumando anche minore energia per i compiti di filtering.

Sistemi adattivi e personalizzati

All’inizio della diffusione del World Wide Web, il laboratorio è stato attivo nella ricerca sui sistemi adattivi (cioè sistemi che personalizzano la risposta sulla base di un profilo utente) e di gruppo su Web sin dall’inizio della diffusione della piattaforma.

Tra i lavori principali è stato realizzato nel 1998, uno dei primi sistemi adattivi su Web, e uno dei primi sistemi di navigazione collaborativa sincrona su Web, mentre prime applicazioni della profilazione al commercio elettronico venivano proposte e analizzate. In questo contesto, venivano studiate anche le possibilità di questi sistemi in ambito educativoe dove la adattività veniva fornita sulla base del comportamento del singolo all’interno del gruppo.

Visualizzazione e Interazione

Una parte del lavoro di ricerca del laboratorio punta a studiare la maniera per meglio rappresentare informazione e gestire le interazioni con gli utenti, in contesti variegati. I filoni di ricerca seguiti hanno puntato a realizzare Visualizzazioni interattive che risultassero scalabili a fronte di un loro utilizzo notevole, da parte di molti utenti, e che permettessero, in maniera efficiente, il monitoraggio di processi complessi. Diverse sono state, poi, le applicazioni della Realtà Virtuale al campo dei Beni Culturali e delle ricostruzioni di siti archeologici, con l’uso anche di metodologie di progettazione mutuate dall’ambiente dei videogiochi (Serious Games). Infine, alcuni lavori hanno anche studiato e contribuito alla ricerca nel campo delle interfacce innovative attraverso l’uso di metafore grafiche e auditive, e l’uso dei processori grafici per scopi di modellazione di comportamenti complessi.

Visualizzazione Scalabile

All’interno del progetto ROUTE-TO-PA, una tematica particolarmente importante trattata dal laboratorio è stata quella di realizzare una piattaforma per la visualizzazione di dati aperti che risultasse essere, da un lato, estremamente semplice da usare, in modo che utenti anche senza competenze tecniche potessero usarlo, e, dall’altro, che fosse efficiente, permettendo di scalare la visualizzazione, utilizzando le risorse messe a disposizione lato client.

A questo scopo, la architettura Datalet Ecosystem Provider (DEEP) permette la creazione di componenti Web riutilizzabili (le datalet), che, una volta, caricate dal client, provvedono a caricare i dati, visualizzarli come richiesto, e guidare le interazioni degli utenti, senza caricare il server . Questo permette anche lo sviluppo di visualizzazioni agili, che cioè, seguono il contenuto in tempo reale del dataset di dati aperti, permettendo un controllo continuo nel processo di creazione.

La esperienza di ricerca si è anche rivolta, in questo campo, a strumenti per utilizzare la visualizzazione di processi in tempo reale, in modo da poterne monitorare in maniera facile, versatile e scalabile, l’andamento. In particolare, sono stati progettati, sviluppati ed analizzati diversi framework per la visualizzazione di processi in esecuzione, di filesystem, e di clustering.

Applicazioni di Realtà Virtuale

In particolare, sono stati esaminati e studiate le modalità di utilizzo di questi strumenti nell’ambito della fruizione (locale/remota, singola/gruppo) di ricostruzioni di siti archeologici visitabili (Cultural Heritage). Lo strumento utilizzato, spesso, insieme alle ricostruzioni di Realtà virtuale è quello dei cosiddetti “Serious games“, cioè giochi educativi, che non hanno solo scopo ricreativo, ma che hanno l’obiettivo di intrattenere educando e fornendo informazioni sui siti o sui manufatti visitati.

In questo contesto le esperienze maturate in giochi seri che siano immersivi (che cioè usino interfacce come visori stereoscopici e interfacce haptic (tipo Microsoft Kinect)) sembrano offrire prospettive interessanti e buoni risultati. Di recente, risultati interessati sulla produzione automatica di ambienti virtuali, basati su Open Data, sono stati realizzati nell’ambito del riuso degli Open Data. Lo studio ha anche riguardato, in passato, l’uso di periferiche mobili in contesti di visita ibrida (posizionamento reale e visualizzazione in realtà virtuale) ed il contesto di simulazioni storiche (battaglie dell’ottocento).

Interfacce Innovative

Modalità innovative di interfacciarsi con computazioni e dati in maniera innovativa è stata anche oggetto di ricerca del laboratorio che ha iniziato ad interessarsi delle possibilità offerte dalla rappresentazione sonora (Sonification) di processi reali, quali il comportamento di un Server HTTP, allo scopo di favorirne il monitoraggio.

I risultati, basati su un prototipo testato in ambiente controllato su utenti, sono stati positivi, mostrando come l’audio può effettivamente supplementare le informazioni trasmesse agli utenti. Altri sistemi per il monitoraggio audio via SNMP sono stati realizzati e testati, anche con la realizzazione di un’architettura multi-purpose programmabile.

Processori Grafici

L’uso dei Graphical Processing Units (GPUs) come strumenti di calcolo è stato anche oggetto di studio e ricerca del laboratorio. Le GPU sono particolarmente utili per realizzare computazioni a grana estremamente fine, laddove tutti i dati che servono durante la computazione possono essere disponibili sulla memoria interna della GPU stessa.

In particolare, il lavoro è partito con l’utilizzo delle GPU come strumento di simulazione di simulazioni massive, permettendo, successivamente, la simulazione di comportamenti individuali anche complessi con una libreria scritta per facilitare l’uso delle GPU (dell’epoca).
Alcune esperienze sul rendering di terreni sono state anche implementate e testate su GPU. Attualmente le GPU risultano essere facilmente programmabili con linguaggi di programmazione ad alto livello, che hanno di fatto reso molto più accessibile e di facile utilizzo le loro potenzialità.