252 resultados para TuCSoN, Android, Porting
Resumo:
Negli ultimi anni il crescere della capacità di calcolo dei dispositivi e il diminuire delle loro dimensioni ha permesso di far nascere idee innovative e di esplorare più in dettaglio alcuni settori. Uno di questi è sicuramente quello della realtà aumentata (Augmented reality), infatti, la discussione su questo argomento nasce già negli anni 40 del novecento, ma, per mancanza di mezzi tecnologici adeguati, solo ora si iniziano a realizzare le prime applicazioni che si basano su questa idea e il grande pubblico inizia ad interessarsi all'argomento. La costruzione di applicazioni di realtà aumentata, al momento, è basata sull'utilizzo di alcuni framework che mettono a disposizione dello sviluppatore alcune funzioni molto comuni in questi software, come il tracking di marker e l'utilizzo di bottoni virtuali. Questi strumenti, seppur comodi, non garantiscono sempre la buona progettazione dell'applicazione e tendono a unire insieme parti di logica applicativa e di grafica. Per questo motivo, anche nella ricerca, si stanno cercando di studiare dei metodi in grado di permettere una divisione ottimale dei compiti in modo da ottenere un software riusabile e facilmente mantenibile, ma che permetta anche di sfruttare appieno le potenzialità dell'AR attraverso, per esempio, sistemi distribuiti. Un framework concettuale che rientra in questa categoria è sicuramente quello degli Augmented Worlds, mondi virtuali collegati a quello fisico che ne incrementano le caratteristiche e le possibilità tramite la presenza di entità aumentate. La tesi, quindi, si propone di sviluppare un prototipo di un framework con le caratteristiche sopra citate di estendibilità, utilizzando le piattaforme in questo momento a disposizione e ispirandosi alla visione degli Augmented Worlds.
Resumo:
L’obiettivo della tesi è quello di mettere in pratica e approfondire le conoscenze acquisite durante il percorso universitario, al fine di avvicinarsi a quello che sarà poi il mondo del lavoro. Questa motivazione e la voglia di realizzare qualcosa di concreto hanno portato alla scelta di sviluppare un’applicazione per sistemi mobile, in questo modo è stato necessario affrontare le varie fasi di sviluppo di un software che comprendono in particolare la progettazione e l’implementazione. All'interno della tesi si darà uno sguardo al contesto in cui l’applicazione MyPersonalTrainer vuole andarsi ad inserire, si procederà con la descrizione della fase di progettazione che comprende l'analisi dei requisiti, poi si analizzerà la fase di implementazione e infine verranno effettuate delle considerazioni sui possibili sviluppi futuri.
Resumo:
La tesi tratta l'esplorazione dell'idea per una nuova tipologia di interfacce utente, progettate specificatamente per dispositivi wearable hands free (più nel dettaglio per un'accoppiata smart glass Android based e gesture recognizer). Per facilitare lo sviluppo di applicazioni basate su questi dispositivi è stato realizzato un framework che permetta di costruire, in maniera relativamente semplice, interfacce utente innovative, che consentano all'utente di interagire con i contenuti digitali senza interrompere il suo contatto con la realtà e senza costringerlo a utilizzare le mani.
Resumo:
La tesi esplora le problematiche relative all'integrazione di tecnologie per lo sviluppo di sistemi multi-agente e tecnologie per lo sviluppo di sistemi di comunicazione ad eventi. In particolare è stata posta l'attenzione sui concetti condivisi da entrambe le tecnologie e su come sia possibile realizzare l'integrazione preservando i principi fondamentali delle due tipologie di sistemi, tramite l'implementazione di un'astrazione di coordinazione oggettiva. Inoltre viene mostrato un esempio di integrazione tra JADE, TuCSoN e Kafka, tramite un caso di studio che permette di utilizzare i tre modelli di coordinazione offerti da questi framework in un unico sistema multi-agente.
tuProlog su piattaforma Android: reingegnerizzazione in ottica Modern UI e fruibilità "as a service"
Resumo:
Questa tesi si occupa principalmente della revisione grafica in ottica Modern UI dell'app tuProlog Android, nella prospettiva di renderlo in futuro disponibile anche in modalità as-a-service. Dopo una attenta analisi preliminare dell'architettura di tuProlog in generale e in particolare della struttura dell'app tuProlog preesistente e del relativo progetto in ambiente Eclipse, ci si è focalizzati sulla riprogettazione dell'app, dall'analisi dei requisiti - ivi incluso il nuovo strumento di sviluppo da utilizzare, Android Studio - alla successiva analisi e progettazione della nuova soluzione, seguita da implementazione e collaudo.
Resumo:
Questa tesi si occupa della realizzazione, in ottica Modern UI, di una nuova interfaccia per l'applicazione Android del sistema domotico Home Manager. Dopo una prima fase di analisi preliminare, si affronta la progettazione dell'app, dall'analisi dei requisiti - ivi incluso il nuovo strumento di sviluppo da utilizzare, Android Studio - alla successiva analisi e progettazione della nuova soluzione, seguita da implementazione e collaudo.
Resumo:
Il traguardo più importante per la connettività wireless del futuro sarà sfruttare appieno le potenzialità offerte da tutte le interfacce di rete dei dispositivi mobili. Per questo motivo con ogni probabilità il multihoming sarà un requisito obbligatorio per quelle applicazioni che puntano a fornire la migliore esperienza utente nel loro utilizzo. Sinteticamente è possibile definire il multihoming come quel processo complesso per cui un end-host o un end-site ha molteplici punti di aggancio alla rete. Nella pratica, tuttavia, il multihoming si è rivelato difficile da implementare e ancor di più da ottimizzare. Ad oggi infatti, il multihoming è lontano dall’essere considerato una feature standard nel network deployment nonostante anni di ricerche e di sviluppo nel settore, poiché il relativo supporto da parte dei protocolli è quasi sempre del tutto inadeguato. Naturalmente anche per Android in quanto piattaforma mobile più usata al mondo, è di fondamentale importanza supportare il multihoming per ampliare lo spettro delle funzionalità offerte ai propri utenti. Dunque alla luce di ciò, in questa tesi espongo lo stato dell’arte del supporto al multihoming in Android mettendo a confronto diversi protocolli di rete e testando la soluzione che sembra essere in assoluto la più promettente: LISP. Esaminato lo stato dell’arte dei protocolli con supporto al multihoming e l’architettura software di LISPmob per Android, l’obiettivo operativo principale di questa ricerca è duplice: a) testare il roaming seamless tra le varie interfacce di rete di un dispositivo Android, il che è appunto uno degli obiettivi del multihoming, attraverso LISPmob; e b) effettuare un ampio numero di test al fine di ottenere attraverso dati sperimentali alcuni importanti parametri relativi alle performance di LISP per capire quanto è realistica la possibilità da parte dell’utente finale di usarlo come efficace soluzione multihoming.
Resumo:
La tesi prevede lo sviluppo di una app di ausilio per persone non vedenti per ambiente Android. L'applicazione ha due scopi principali: rilevazione degli ostacoli che l'utente incontra nel proprio cammino, tramite un apposito visore, con successivo invio di informazioni sugli ostacoli rilevati tramite output audio e tattili e realizzazione di una versione personalizzata di Google Maps che l'utente può utilizzare nella maniera più comoda e sicura possibile.
Resumo:
Attualmente, la maggior parte dei dati che transitano sulla rete appartiene a contenuti multimediali. Più nello specifico, è lo Streaming Video ad avere la predominanza nella condivisione di Internet; vista la crescita che tale servizio ha subìto negli ultimi anni, si sono susseguiti diversi studi volti allo sviluppo di tecniche e metodologie che potessero migliorarlo. Una di queste è sicuramente l'Adaptive Video Streaming, tecnica utilizzata per garantire all'utente una buona Quality of Experience (QoE) mediante l'utilizzo dei cosiddetti "algoritmi di rate adaptation". Il lavoro svolto in questi studi si è voluto concentrare su due filoni distinti, ma allo stesso tempo confrontabili: la prima parte della tesi riguarda lo sviluppo e l'analisi di alcuni algoritmi di rate adaptation per DASH, mentre la seconda è relativa all'implementazione di un nuovo algoritmo che li possa affiancare, migliorando la QoE nel monitorare lo stato della connessione. Si è quindi dovuta implementare un'applicazione Android per lo streaming video, che fosse conforme allo standard MPEG-DASH e potesse fornire le informazioni di testing da utilizzare per le analisi. La tesi è suddivisa in quattro capitoli: il primo introduce l'argomento e definisce la terminologia necessaria alla comprensione degli studi; il secondo descrive alcuni dei lavori correlati allo streaming adattivo e introduce i due filoni principali della tesi, ovvero gli algoritmi di rate adaptation e la proposta di algoritmo per la selezione dinamica del segmento; il terzo presenta l'app SSDash, utilizzata come mezzo per le analisi sperimentali; infine, il quarto ed ultimo capitolo mostra i risultati delle analisi e le corrispondenti valutazioni.
Resumo:
La necessità di sincronizzare i propri dati si presenta in una moltitudine di situazioni, infatti il numero di dispositivi informatici a nostra disposizione è in continua crescita e, all' aumentare del loro numero, cresce l' esigenza di mantenere aggiornate le multiple copie dei dati in essi memorizzati. Vi sono diversi fattori che complicano tale situazione, tra questi la varietà sempre maggiore dei sistemi operativi utilizzati nei diversi dispositivi, si parla di Microsoft Windows, delle tante distribuzioni Linux, di Mac OS X, di Solaris o di altri sistemi operativi UNIX, senza contare i sistemi operativi più orientati al settore mobile come Android. Ogni sistema operativo ha inoltre un modo particolare di gestire i dati, si pensi alla differente gestione dei permessi dei file o alla sensibilità alle maiuscole. Bisogna anche considerare che se gli aggiornamenti dei dati avvenissero soltanto su di uno di questi dispositivi sarebbe richiesta una semplice copia dei dati aggiornati sugli altri dispositivi, ma che non è sempre possibile utilizzare tale approccio. Infatti i dati vengono spesso aggiornati in maniera indipendente in più di un dispositivo, magari nello stesso momento, è pertanto necessario che le applicazioni che si occupano di sincronizzare tali dati riconoscano le situazioni di conflitto, nelle quali gli stessi dati sono stati aggiornati in più di una copia ed in maniera differente, e permettano di risolverle, uniformando lo stato delle repliche. Considerando l' importanza e il valore che possono avere i dati, sia a livello lavorativo che personale, è necessario che tali applicazioni possano garantirne la sicurezza, evitando in ogni caso un loro danneggiamento, perchè sempre più spesso il valore di un dispositivo dipende più dai dati in esso contenuti che dal costo dello hardware. In questa tesi verranno illustrate alcune idee alternative su come possa aver luogo la condivisione e la sincronizzazione di dati tra sistemi operativi diversi, sia nel caso in cui siano installati nello stesso dispositivo che tra dispositivi differenti. La prima parte della tesi descriverà nel dettaglio l' applicativo Unison. Tale applicazione, consente di mantenere sincronizzate tra di loro repliche dei dati, memorizzate in diversi dispositivi che possono anche eseguire sistemi operativi differenti. Unison funziona a livello utente, analizzando separatamente lo stato delle repliche al momento dell' esecuzione, senza cioè mantenere traccia delle operazioni che sono state effettuate sui dati per modificarli dal loro stato precedente a quello attuale. Unison permette la sincronizzazione anche quando i dati siano stati modificati in maniera indipendente su più di un dispositivo, occupandosi di risolvere gli eventuali conflitti che possono verificarsi rispettando la volontà dell' utente. Verranno messe in evidenza le strategie utilizzate dai suoi ideatori per garantire la sicurezza dei dati ad esso affidati e come queste abbiano effetto nelle più diverse condizioni. Verrà poi fornita un' analisi dettagiata di come possa essere utilizzata l' applicazione, fornendo una descrizione accurata delle funzionalità e vari esempi per renderne più chiaro il funzionamento. Nella seconda parte della tesi si descriverà invece come condividere file system tra sistemi operativi diversi all' interno della stessa macchina, si tratta di un approccio diametralmente opposto al precedente, in cui al posto di avere una singola copia dei dati, si manteneva una replica per ogni dispositivo coinvolto. Concentrando l' attenzione sui sistemi operativi Linux e Microsoft Windows verranno descritti approfonditamente gli strumenti utilizzati e illustrate le caratteristiche tecniche sottostanti.
Resumo:
Comparazione dei 5 sistemi operativi più famosi per smartphone (Android, iOS, BlackBerry OS, Symbian e Windows Mobile), descrivendone le caratteristiche e analisi delle differenze per comprendere i valori che hanno spinto Androdi e iOS ad essere leader nel settore. Sucessivamente verrà confrontata la gestione della memoria nei due sistemi operativi e infine analizzata la situazione di mercato a livello mondiale, americano, europeo e italiano.
Resumo:
In questo elaborato prenderemo in esame la questione della progettazione di un sistema software atto a gestire alcuni dei problemi legati alla raccolta dei dati in ambito medico. Da tempo infatti si è capita l'importanza di una speciale tecnica di raccolta dei dati clinici, nota in letteratura col nome di "patient-reported outcome", che prevede che siano i pazienti stessi a fornire le informazioni circa l'andamento di una cura, di un test clinico o, più semplicemente, informazioni sul loro stato di salute fisica o mentale. Vedremo in questa trattazione come ciò sia possibile e, soprattutto, come le tecniche e le tecnologie informatiche possano dare un grande contributo ai problemi di questo ambito. Mostreremo non solo come sia conveniente l'uso, in campo clinico, di tecniche automatiche di raccolta dei dati, della loro manipolazione, aggregazione e condivisione, ma anche come sia possibile realizzare un sistema moderno che risolva tutti questi problemi attraverso l'utilizzo di tecnologie esistenti, tecniche di modellazione dei dati strutturati e un approccio che, mediante un processo di generalizzazione, aiuti a semplificare lo sviluppo del software stesso.
Resumo:
Gli smartphone, sono dispositivi per la telefonia mobile che oramai includono una serie di funzionalità a supporto della multimedialità e non solo. Divenuti quasi dei notebook in miniatura, ne esistono di vari tipi e dimensioni e anche se la loro potenza di calcolo rimane di gran lunga inferiore a quella di un PC, riescono comunque a effettuare operazioni abbastanza evolute e con prestazioni accettabili. Quello che si vuole realizzare con questo lavoro non è uno studio su questi dispositivi (anche se in parte sarà affrontato), ma un approfondimento sulla possibilità di utilizzare una buona fetta di essi, a supporto dello sviluppo turistico nel nostro paese. In particolare si vuole realizzare una piattaforma mobile che metta in comunicazione individui che vogliono fornire informazione di tipo turistico (beni culturali, eventi, attività commerciali, ecc.) con individui che vogliono fruire di tali contenuti (un qualsiasi turista che sia in grado di utilizzare uno smartphone). Tale applicazione dovrà raccogliere informazioni su una determinata città e riuscire in maniera chiara e intuitiva a dare risposte alle principali domande che un turista si pone: • dove sono? • Cosa c’è d’interessante da visitare nei dintorni? • Interessante questa statua! Di cosa si tratta? • Quali sono gli eventi più interessanti ai quali potrei partecipare? • Ho un leggero appetito dove posso andare a mangiare? • Dove posso fare un po’ di shopping?
Resumo:
Questa tesi si basa su una serie di lavori precedenti, volti ad analizzare la correlazione tra i modelli AUML e le reti di Petri, per riuscire a fornire una metodologia di traduzione dai primi alle seconde. Questa traduzione permetterà di applicare tecniche di model checking alle reti così create, al fine di stabilire le proprietà necessarie al sistema per poter essere realizzato effettivamente. Verrà poi discussa un'implementazione di tale algoritmo sviluppata in tuProlog ed un primo approccio al model checking utilizzando il programma Maude. Con piccole modifiche all'algoritmo utilizzato per la conversione dei diagrammi AUML in reti di Petri, è stato possibile, inoltre, realizzare un sistema di implementazione automatica dei protocolli precedentemente analizzati, verso due piattaforme per la realizzazione di sistemi multiagente: Jason e TuCSoN. Verranno quindi presentate tre implementazioni diverse: la prima per la piattaforma Jason, che utilizza degli agenti BDI per realizzare il protocollo di interazione; la seconda per la piattaforma TuCSoN, che utilizza il modello A&A per rendersi compatibile ad un ambiente distribuito, ma che ricalca la struttura dell'implementazione precedente; la terza ancora per TuCSoN, che sfrutta gli strumenti forniti dalle reazioni ReSpecT per generare degli artefatti in grado di fornire una infrastruttura in grado di garantire la realizzazione del protocollo di interazione agli agenti partecipanti. Infine, verranno discusse le caratteristiche di queste tre differenti implementazioni su un caso di studio reale, analizzandone i punti chiave.