58 resultados para XCSubd refactoring fltk librerie grafiche


Relevância:

10.00% 10.00%

Publicador:

Resumo:

Dopo una breve introduzione sulla realtà aumentata (definizione, storia e stato dell’arte) viene effettuata un'analisi delle librerie esistenti per l’implementazione su dispositivi mobile. Considerando compatibilità con i recenti SO, frequenza degli aggiornamenti, costi per le licenze e funzionalità offerte viene scelta la libreria Vuforia, originariamente sviluppata da Qualcomm e poi acquistata da PTC inc. Si conviene poi che le apps basate su realtà aumentata creano il contenuto “aumentato” in due maniere: o tramite riconoscimento di una specifica immagine oppure tramite localizzazione GPS. Di questi due metodi descritti, il primo risulta molto più affidabile e per questo viene sviluppata una app che crea un contenuto in 3D (aumentato) riconoscendo una immagine: funzionalità di Image Targeting. Il progetto considera le seguenti varianti: l’immagine da riconoscere, chiamata “target”, può essere in un database locale oppure cloud mentre il contenuto in 3D aumentato può essere sia statico che animato. Durante la fase di implementazione vengono fornite anche alcuni nozioni di base di Computer Graphic per il rendering del modello 3D. La tesi si conclude con una panoramica di apps presenti sullo store che funzionano secondo questo principio di Image Targeting, i possibili utilizzi in ambito educativo/ludico ed i costi di realizzazione.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

La programmazione aggregata è un paradigma che supporta la programmazione di sistemi di dispositivi, adattativi ed eventualmente a larga scala, nel loro insieme -- come aggregati. L'approccio prevalente in questo contesto è basato sul field calculus, un calcolo formale che consente di definire programmi aggregati attraverso la composizione funzionale di campi computazionali, creando i presupposti per la specifica di pattern di auto-organizzazione robusti. La programmazione aggregata è attualmente supportata, in modo più o meno parziale e principalmente per la simulazione, da DSL dedicati (cf., Protelis), ma non esistono framework per linguaggi mainstream finalizzati allo sviluppo di applicazioni. Eppure, un simile supporto sarebbe auspicabile per ridurre tempi e sforzi d'adozione e per semplificare l'accesso al paradigma nella costruzione di sistemi reali, nonché per favorire la ricerca stessa nel campo. Il presente lavoro consiste nello sviluppo, a partire da un prototipo della semantica operazionale del field calculus, di un framework per la programmazione aggregata in Scala. La scelta di Scala come linguaggio host nasce da motivi tecnici e pratici. Scala è un linguaggio moderno, interoperabile con Java, che ben integra i paradigmi ad oggetti e funzionale, ha un sistema di tipi espressivo, e fornisce funzionalità avanzate per lo sviluppo di librerie e DSL. Inoltre, la possibilità di appoggiarsi, su Scala, ad un framework ad attori solido come Akka, costituisce un altro fattore trainante, data la necessità di colmare l'abstraction gap inerente allo sviluppo di un middleware distribuito. Nell'elaborato di tesi si presenta un framework che raggiunge il triplice obiettivo: la costruzione di una libreria Scala che realizza la semantica del field calculus in modo corretto e completo, la realizzazione di una piattaforma distribuita Akka-based su cui sviluppare applicazioni, e l'esposizione di un'API generale e flessibile in grado di supportare diversi scenari.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

in questo elaborato sono trattati i temi delle Adaptive User Interface e dell'Internet Of Things nei sistemi mobili. Il primo attraverso l'orchestrazione e la definizione di un'architettura framework in grado di fornire allo sviluppatore tutti gli strumenti di base per la realizzazione di interfacce grafiche capaci di esibire un comportamento adattativo a livello di singoli componenti. il secondo,invece, attraverso lo studio della tecnologia DQuid applicata ad un caso d'uso reale nel quale si prevedeva la connessione di un applicazione mobile iOS con un sistema per il parcheggio in garage di un'autovettura ed il monitoraggio delle informazioni relative.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

L'argomento di questa tesi è l'architettura di rete Delay-/Disruption-Tolerant Networking (DTN), progettata per operare nelle reti “challenged”, dove la suite di protocolli TCP/IP risulta inefficace a causa di lunghi ritardi di propagazione del segnale, interruzioni e disturbi di canale, ecc. Esempi di reti “challenged” variano dalle reti interplanetarie alle Mobile Ad-Hoc Networks (MANETs). Le principali implementazioni dell'architettura DTN sono DTN2, implementazione di riferimento, e ION, sviluppata da NASA JPL per applicazioni spaziali. Una grande differenza tra reti spaziali e terrestri è che nello spazio i movimenti dei nodi sono deterministici, mentre non lo sono per i nodi mobili terrestri, i quali generalmente non conoscono la topologia della rete. Questo ha portato allo sviluppo di diversi algoritmi di routing: deterministici per le reti spaziali e opportunistici per quelle terrestri. NASA JPL ha recentemente deciso di estendere l'ambito di applicazione di ION per supportare anche scenari non deterministici. Durante la tesi, svolta presso NASA JPL, mi sono occupato di argomenti diversi, tutti finalizzati a questo obiettivo. Inizialmente ho testato la nuova implementazione dell'algoritmo IP Neighbor Discovery (IPND) di ION, corretti i bug e prodotta la documentazione ufficiale. Quindi ho contribuito ad integrare il Contact Graph Routing (CGR) di ION nel simulatore DTN “ONE” utilizzando la Java Native Interface (JNI) come ponte tra il codice Java di ONE e il codice C di ION. In particolare ho adattato tutte le librerie di ION necessarie per far funzionare CGR all'interno dell'ambiente di ONE. Infine, dopo aver analizzato un dataset di tracce reali di nodi mobili, ho contribuito a progettare e a sviluppare OCGR, estensione opportunistica del CGR, quindi ne ho curato l'integrazione in ONE. I risultati preliminari sembrano confermare la validità di OCGR che, una volta messo a punto, può diventare un valido concorrente ai più rinomati algoritmi opportunistici.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

L’applicazione dei metodi tradizionali dell’ingegneria del software non garantiscono il successo di un progetto, per questo motivo da circa quindici anni è emersa una nuova filosofia di sviluppo nota come Agile Software Development. In questa tesi è stata decritta una panoramica sulle metodologie agili, con particolare attenzione al framework Scrum e un caso di studio reale al quale Scrum è stato applicato. Il caso di studio riguarda l’implementazione di una applicazione web per la gestione del front-end di un Corporate Banking. L’applicazione di Scrum ha permesso di ottenere la soddisfazione del cliente finale, la crescita dello Scrum Team e un tasso di manutenzione correttiva accettabile.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Il presente elaborato tratta il lavoro di studio, analisi e sperimentazione effettuato dal sottoscritto, Giovanni Sitta, in conclusione al Corso di Laurea Magistrale in Informatica presso l'Università degli Studi di Bologna. Questo ha dapprima previsto un periodo di approfondimento di alcune architetture di supporto alla mobilità dei terminali di rete, in particolare di due protocolli allo stato dell'arte, Mobile IPv6 (MIPv6) e Locator/Identifier Separation Protocol (LISP), e di una terza architettura sperimentale denominata Always Best Packet Switching (ABPS). Sono stati in seguito esaminati tre simulatori, uno per ciascuna architettura di supporto alla mobilità considerata, realizzati come estensioni della libreria INET del framework OMNeT++, assicurandosi che fossero conformi alle specifiche del protocollo implementato (almeno entro i limiti di semplificazione rilevanti ai fini del lavoro), e correggendone eventuali problematiche, mancanze e anomalie in caso questi non le rispettassero. Sono poi stati configurati alcuni scenari simulativi utilizzando le tre librerie, in prima battuta di natura molto semplice, utilizzati per verificare il corretto funzionamento dei simulatori in condizioni ideali, e successivamente più complessi, allestendo un ambiente di esecuzione più verosimile, dotato di un maggior numero di host connessi alla rete e di ostacoli per i segnali radio usati nelle comunicazioni wireless. Tramite i risultati sperimentali ottenuti da queste simulazioni è stato infine possibili realizzare un confronto tra le prestazioni di MIPv6, LISP e ABPS.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

.NET Compiler Platform è un compilatore per i linguaggi C# e Visual Basic realizzato da Microsoft. L’innovazione apportata da tale strumento è l’introduzione di API che permettono di accedere al compilatore; in particolare, è possibile accedere alle strutture dati utilizzate al suo interno, quali simboli o AST, e controllare e/o modificare il processo di compilazione. Una parte di questo progetto, chiamato anche progetto Roslyn, è focalizzata sull’introduzione dello scripting per il linguaggio C#. In questa trattazione si è interessati a sperimentare le possibilità offerte da tale strumento nel campo dell’esecuzione dinamica di frammenti di codice. Gli obiettivi imposti si collocano nell’ambito della re-ingegnerizzazione e dello sviluppo di software. Tali obiettivi sono la re-implementazione dei filtri di selezione contenuti nel framework Phoenix, utilizzando le API di Roslyn per migliorarne le prestazioni, e la progettazione di un componente che realizzi una console per lo scripting C# dotata della possibilità di riferire dinamicamente librerie. Le API di compilazione si rivelano essere non propriamente adatte all’esecuzione immediata di frammenti di codice, nonostante ciò, è possibile, appoggiandosi alla reflection, utilizzarle per giungere a questo risultato. Lo scripting, invece, si rivela uno strumento dalle grandi potenzialità nel suddetto ambito.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

La tesi si occupa della creazione di una piattaforma virtuale, composta da un sito web e da una applicazione Android, a supporto di persone con handicap motori. La piattaforma e composta da una mappa interattiva che permette agli utenti di inserire nuovi locali o di commentarne esistenti, e di fare lo stesso per le barriere architettoniche. Per questi motivi il progetto e dettato da una continua comunicazione tra client e server, rendendo la piattaforma aggiornata e dinamica, anche alla vista degli utenti. La parte web viene implementata attraverso Spring MVC, utilizzando delle View .jsp ed AJAX per la comunicazione remota con il server. La parte mobile e stata implementata basandosi principalmente sulle classi di geolocalizzazione di Android, oltre alle librerie osmdroid ed osmbonuspack, fornendo compatitiblita con OSM. Questa fornisce anche un servizio di calcolo del percorso, cercando di evitare il numero maggiore di ostacoli. L'applicazione Android appoggia le proprie comunicazioni sulla libreria Robospice. La parte di persistenza e stata implementata adottando un approccio ad alto livello, grazie ad Hibernate e JPA.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Il presente progetto è stato svolto in collaborazione con la Cineteca di Bologna e verte sulla riprogettazione dell'odierna interfaccia Web, in funzione della sua visualizzazione mobile non considerata nella progettazione del 2008, in particolare nella sua parte che concerne la programmazione degli spettacoli in ambito cinematografico. Raccolti i suggerimenti degli utenti e approfondite le richieste della Cineteca, affrontando con i responsabili IT della Fondazione le criticità emerse, la ristrutturazione delle sezioni presenti e l'aggiunta di nuove funzionalità, si è impostato il lavoro come segue. In primis, si è eseguita una ricerca, avvalendosi di fonti autorevoli nella letteratura di settore, con un focus incentrato sull’Usabilità. Questa ha portato a presentare una panoramica di tale tematica, per concentrarsi poi sulle peculiarità dei dispositivi mobili, toccando vari aspetti: da un approfondimento dalle caratteristiche dell’uso fino una collocazione anche storica alla realtà mobile. Successivamente, si è proseguito analizzando nel dettaglio tutti i vari elementi da includere, sia dal punto di vista concettuale che posizionale, in riferimento a varie soluzioni proposte dalla letteratura di settore. Ciò preferendo i modelli principalmente utilizzati, dunque maggiormente familiari agli utenti, e i metodi normalizzati per la risoluzione di singole problematiche frequenti nella presentazione delle informazioni. Il risultato è un progetto di interfaccia più vicina all'esperienza quotidiana dell'utente, concretizzatosi con la realizzazione di un prototipo per mezzo di applicativi che simulano un device e mostrano anteprime grafiche dell'interfaccia medesima, nella fattispecie della natura e della collocazione dei singoli componenti sullo schermo. Il lavoro, pertanto, si pone l’obiettivo di rispondere a comuni e debite aspettative dell'utenza in fatto di comodità, efficienza e immediatezza di consultazione della Programmazione anche in mobilità.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

In questo elaborato viene sperimentato un iter processuale che consenta di utilizzare i sensori termici affiancati a fotocamere digitale in ambito fotogrammetrico al fine di ottenere prodotto dal quale sono estrapolabili informazioni geometriche e termiche dell’oggetto di studio. Il rilievo fotogrammetrico è stato svolto mediante l’utilizzo di un drone con equipaggiamento multisensoriale, termico e digitale, su una porzione di territorio soggetto ad anomalie termiche nei pressi di Medolla (MO). Per l’analisi termica e geometrica sono stati posizionati sul campo 5 target termici di cui ne sono state misurate le coordinate per la georeferenziazione delle nuvole dense di punti e la temperatura. In particolare sono state eseguite due riprese aeree dalle quali sono stati estratti i frame necessari per i processi di restituzione fotogrammetrica. Le immagini sono state sottoposte ad una fase di trattamento che ha prodotto immagini rettificate prive di delle distorsioni impresse dall’obbiettivo. Per la creazione degli elaborati vettoriali e raster a colori e termici sono stati impiegati inizialmente software di fotogrammetria digitale in grado di fornire scene tridimensionali georeferenziate dell’oggetto. Sono state sviluppate sia in un ambiente open-source, sia sfruttando programmi commerciali. Le nuvole dense sono state successivamente trattate su una piattaforma gratuita ad interfaccia grafica. In questo modo è stato possibile effettuare dei confronti tra i diversi prodotti e valutare le potenzialità dei software stessi. Viene mostrato come creare un modello tridimensionale, contenente sia informazioni geometriche che informazioni termiche, partendo dalla nuvola termica e da quella a colori. Entrambe georeferenziate utilizzando gli stessi punti fotogrammetrici d’appoggio. Infine i prodotti ottenuti sono stati analizzati in un ambiente GIS realizzando sovrapposizioni grafiche, confronti numerici, interpolazioni, sezioni e profili.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

L’attenzione di questa tesi si pone sulla progettazione e lo sviluppo di un automa per il controllo di sistemi a pilotaggio remoto. Punto di partenza dell'intero progetto è stata l'analisi del quadrirotore programmato ed utilizzato dai ricercatori del progetto SHERPA. Le funzionalità evidenziate dall'analisi sono state poi elaborate secondo l'approccio con Attuatore Generalizzato ed implementate in Codesys. Questo software si compone di una parte di controllo, una di simulazione ed una o più interfacce grafiche dedicate all'interazione con l'utente. L'utilizzo di Codesys ha permesso di implementare un automa modulare e riusabile, base di partenza per i futuri progetti di automi aerei. L'automa realizzato consente infine di simulare il comportamento di un generico sistema a pilotaggio remoto e di osservarne la sequenza logica con cui le azioni vengono eseguite.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Grazie all'evoluzione dei servizi di rete indirizzare le interfacce di rete come se fossero i veri destinatari delle comunicazioni è diventato obsoleto. Per questo è nato il concetto di Internet of Threads, in cui gli indirizzi IP sono assegnati ad ogni processo in esecuzione nel computer mediante una rete ethernet virtuale. Attualmente esistono progetti che forniscono la gestione della rete virtuale e librerie che forniscono lo stack TCP/IP da integrare all'interno dei propri programmi. Queste librerie richiedono però la modifica e ricompilazione del proprio codice, anche a causa della loro interfaccia differente dai Berkeley Socket. Attraverso PycoTCP è possibile sperimentare all'interno di un ambiente IoTh senza riscrivere il proprio codice. Inoltre unifica le API fornite dalle librerie sottostanti esponendo una interfaccia identica a quella standard del Python, in modo che non sia necessario imparare un altro metodo di programmazione per utilizzare il nuovo paradigma.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Dato il recente avvento delle tecnologie NGS, in grado di sequenziare interi genomi umani in tempi e costi ridotti, la capacità di estrarre informazioni dai dati ha un ruolo fondamentale per lo sviluppo della ricerca. Attualmente i problemi computazionali connessi a tali analisi rientrano nel topic dei Big Data, con databases contenenti svariati tipi di dati sperimentali di dimensione sempre più ampia. Questo lavoro di tesi si occupa dell'implementazione e del benchmarking dell'algoritmo QDANet PRO, sviluppato dal gruppo di Biofisica dell'Università di Bologna: il metodo consente l'elaborazione di dati ad alta dimensionalità per l'estrazione di una Signature a bassa dimensionalità di features con un'elevata performance di classificazione, mediante una pipeline d'analisi che comprende algoritmi di dimensionality reduction. Il metodo è generalizzabile anche all'analisi di dati non biologici, ma caratterizzati comunque da un elevato volume e complessità, fattori tipici dei Big Data. L'algoritmo QDANet PRO, valutando la performance di tutte le possibili coppie di features, ne stima il potere discriminante utilizzando un Naive Bayes Quadratic Classifier per poi determinarne il ranking. Una volta selezionata una soglia di performance, viene costruito un network delle features, da cui vengono determinate le componenti connesse. Ogni sottografo viene analizzato separatamente e ridotto mediante metodi basati sulla teoria dei networks fino all'estrapolazione della Signature finale. Il metodo, già precedentemente testato su alcuni datasets disponibili al gruppo di ricerca con riscontri positivi, è stato messo a confronto con i risultati ottenuti su databases omici disponibili in letteratura, i quali costituiscono un riferimento nel settore, e con algoritmi già esistenti che svolgono simili compiti. Per la riduzione dei tempi computazionali l'algoritmo è stato implementato in linguaggio C++ su HPC, con la parallelizzazione mediante librerie OpenMP delle parti più critiche.