932 resultados para Android Virtualizzazione sistemi-operativi syscalls Porting UmView
Resumo:
Lo scopo di questa tesi è di usare i sensori dello smartphone per cercare di rilevare alcune tra le attività umane più frequenti, come il salire una scala. Si presenta quindi lo smartphone in termini di hardware elencando i possibili sensori contenuti in esso e descrivendone le qualità. Vengono presentati i principali sistemi operativi mobili adottati per questi tipi di dispositivi mostrando un confronto tra di essi in termini di pregi e difetti e viene narrata un minimo di storia relativa ai dispositivi mobili in generale spiegando come lo smartphone abbia sostituito il classico telefono cellulare. Nel documento di tesi verranno poi presentati i principali strumenti con cui verrà sviluppata l'applicazione di rilevamento e verranno presi in considerazione due programmi di sviluppo per due linguaggi e tipologie di smartphone differenti: Windows Phone e Android. Tuttavia per lo sviluppo del progetto di tesi verrà impiegata solo la strumentazione relativa a Windows Phone. In seguito verrà presentata l'applicazione d'ausilio alla progettazione dei metodi, Scilab. Per il rilevamento dell'attività verranno esposti due diversi metodi e ne verranno mostrati il codice per l'implementazione e i relativi risultati. Questi verranno poi discussi e confrontati per analizzare l'affidabilità di entrambi i metodi.
Resumo:
Questo volume di tesi descrive lo sviluppo di un'applicazione cross-platform per la raccolta dati sull'accessibilità urbana. E' stato creato un Pervasive GWAP strutturato in modo tale da raccogliere, tramite un gioco in mixed-reality, dati sulla geolocalizzazione delle barriere/facility architettoniche in ambiente urbano, in modo da mappare il territorio. Il gioco è rivolto a bambini accompagnati da insegnanti/genitori e prevede l'utilizzo di dispositivi mobili quali tablet e smartphone con sistema operativo Andoid. E' stata utilizzata la funzione GPS dei dispositivi per la geolocalizzazione dei giocatori e delle barriere/facility segnalate e la CAMERA per lo scan dei Qr-Code utilizzati come incentivo per intrattenere gli utenti. L'applicazione è scritta utilizzando tecnologie web quali HTML, CSS, JavaScript, PHP, JSON e grazie all'utilizzo del framework Apache Cordova è stato possibile lo sviluppo multipiattaforma. Questo strumento permette di utilizzare tecnologie web per lo sviluppo di applicazioni mobile, generando codice nativo supportato da sistemi operativi quali Android, iOS, BlackBerry.
Resumo:
L’obbiettivo di questa tesi è realizzare il prototipo di un’applicazione client-server che permetta di utilizzare in remoto applicazioni in Virtual Reality, fornendo allo stesso tempo supporto alla multiutenza. L’applicazione in realtà virtuale dovrà girare sul server, dispositivo con capacità di calcolo notevolmente superiori rispetto a quelle del client. Più utenti dovranno avere la possibilità di connettersi contemporaneamente e condividere lo stesso spazio virtuale. Il client sarà, in questo caso, un’applicazione Android che si connetterà al server e avrà il compito di mostrare all'utente l’output dell’applicazione in Virtual Reality e allo stesso tempo ricevere l’input da inviare al server. Un altro obbiettivo durante lo sviluppo del prototipo è quello di realizzare una libreria che offra le funzionalità sopraelencate, facilmente integrabile in nuovi progetti o in progetti già esistenti. Utilizzando questa struttura client-server sarà possibile sviluppare applicazioni che permettano a più persone di condividere lo stesso spazio virtuale, ognuno dal proprio punto di vista, utilizzando visori e sistemi operativi diversi.
Resumo:
Lo stato attuale del mercato continua a dimostrare come l'interesse del pubblico verso i dispositivi mobili sia in costante crescita; se fino a pochi anni fa il termine smartphone era ai piu' privo di significato, ora e' abbastanza comune per giovani e adulti essere concentrati su piccoli dispositivi dove si possono contattare i clienti via e-mail, verificare lo stato di avanzamento dei processi aziendali, consultare il web e cosi' via. L'obiettivo di questa tesi e' introdurre l'utilizzo di diverse tipologie di framework, prendendo come riferimento i sistemi operativi per i dispositivi mobili e quello di presentare soluzioni (attraverso i framework) per lo sviluppo di applicazioni mobili su diverse piattaforme software.
Resumo:
Uno dei temi più discussi ed interessanti nel mondo dell’informatica al giorno d’oggi è sicuramente il Cloud Computing. Nuove organizzazioni che offrono servizi di questo tipo stanno nascendo ovunque e molte aziende oggi desiderano imparare ad utilizzarli, migrando i loro centri di dati e le loro applicazioni nel Cloud. Ciò sta avvenendo anche grazie alla spinta sempre più forte che stanno imprimendo le grandi compagnie nella comunità informatica: Google, Amazon, Microsoft, Apple e tante altre ancora parlano sempre più frequentemente di Cloud Computing e si stanno a loro volta ristrutturando profondamente per poter offrire servizi Cloud adeguandosi così a questo grande cambiamento che sta avvenendo nel settore dell’informatica. Tuttavia il grande movimento di energie, capitali, investimenti ed interesse che l’avvento del Cloud Computing sta causando non aiuta a comprendere in realtà che cosa esso sia, al punto tale che oggi non ne esiste ancora una definizione univoca e condivisa. La grande pressione inoltre che esso subisce da parte del mondo del mercato fa sì che molte delle sue più peculiari caratteristiche, dal punto di vista dell’ingegneria del software, vengano nascoste e soverchiate da altre sue proprietà, architetturalmente meno importanti, ma con un più grande impatto sul pubblico di potenziali clienti. L’obbiettivo che ci poniamo con questa tesi è quindi quello di esplorare il nascente mondo del Cloud Computing, cercando di comprenderne a fondo le principali caratteristiche architetturali e focalizzando l’attenzione in particolare sullo sviluppo di applicazioni in ambiente Cloud, processo che sotto alcuni aspetti si differenzia molto dallo sviluppo orientato ad ambienti più classici. La tesi è così strutturata: nel primo capitolo verrà fornita una panoramica sul Cloud Computing nella quale saranno date anche le prime definizioni e verranno esposti tutti i temi fondamentali sviluppati nei capitoli successivi. Il secondo capitolo costituisce un approfondimento su un argomento specifico, quello dei Cloud Operating System, componenti fondamentali che permettono di trasformare una qualunque infrastruttura informatica in un’infrastruttura Cloud. Essi verranno presentati anche per mezzo di molte analogie con i classici sistemi operativi desktop. Con il terzo capitolo ci si addentra più a fondo nel cuore del Cloud Computing, studiandone il livello chiamato Infrastructure as a Service tramite un esempio concreto di Cloud provider: Amazon, che fornisce i suoi servizi nel progetto Amazon Web Services. A questo punto, più volte nel corso della trattazione di vari temi saremo stati costretti ad affrontare le problematiche relative alla gestione di enormi moli di dati, che spesso sono il punto centrale di molte applicazioni Cloud. Ci è parso quindi importante approfondire questo argomento in un capitolo appositamente dedicato, il quarto, supportando anche in questo caso la trattazione teorica con un esempio concreto: BigTable, il sistema di Google per la gestione della memorizzazione di grandi quantità di dati. Dopo questo intermezzo, la trattazione procede risalendo lungo i livelli dell’architettura Cloud, ricalcando anche quella che è stata l’evoluzione temporale del Cloud Computing: nel quinto capitolo, dal livello Infrastructure as a Service si passa quindi a quello Platform as a Service, tramite lo studio dei servizi offerti da Google Cloud Platform. Il sesto capitolo costituisce invece il punto centrale della tesi, quello che ne soddisfa l’obbiettivo principale: esso contiene infatti uno studio approfondito sullo sviluppo di applicazioni orientate all’ambiente Cloud. Infine, il settimo capitolo si pone come un ponte verso possibili sviluppi futuri, analizzando quali sono i limiti principali delle tecnologie, dei modelli e dei linguaggi che oggi supportano il Cloud Computing. In esso viene proposto come possibile soluzione il modello ad attori; inoltre viene anche presentato il framework Orleans, che Microsoft sta sviluppando negli ultimi anni con lo scopo appunto di supportare lo sviluppo di applicazioni in ambiente Cloud.
Resumo:
In questa Tesi di laurea, si è affrontato il problema della mobilità veicolare in caso di nebbie. Si è quindi sviluppato un prototipo con architettura Client-Server, che si è soffermato maggiormente sull’analisi dei dati per la creazione di un percorso alternativo. Si è preso in considerazione il sistema operativo mobile di Apple, iOS7 che rappresenta uno dei Sistemi Operativi mobili maggiormente presenti sul mercato oggigiorno e che possiede un buon bacino di utenze. La parte Server è stata sviluppata secondo l’architettura REST; è presente un Server HTTP che riceve richieste e risponde in modo adeguato ai Client tramite lo scambio bidirezionale di dati in formato JSON. Nella parte Server è inclusa la base di dati: un componente molto importante poiché implementa al suo interno, parte della logica di Sistema tramite stored procedure. La parte Client è un’applicazione per dispositivi iPad e iPhone chiamata Fog Escaping; essa è stata sviluppata secondo il pattern MVC (Model- View-Controller). Fog Escaping implementa un algoritmo Greedy di ricerca del percorso alternativo, che può essere utilizzato per diverse tipologie di applicazioni.
Resumo:
Questa tesi riguarda un progetto svolto con l’azienda SMS.it di Bologna la quale, già specializzata nella pianificazione, nello sviluppo e nelle forniture di servizi di telefonia, ha commissionato l’implementazione di un’applicazione cross-platform che sia compatibile con la maggior parte possibile dei sistemi operativi per dispositivi mobili.
Resumo:
Grazie al progresso dell'elettronica, ai giorni nostri, è possibile costruire dispositivi elettronici molto piccoli, che col passare del tempo lo sono sempre più. Questo ci permette di poter imboccare nuove strade nel mondo dell'informatica, sfruttando proprio questo fatto. Le dimensioni ridotte dei dispositivi in commercio, come sensori, attuatori, tag e tanto altro, sono particolarmente adatte a nuovi scenari applicativi. Internet of Things è una visione in cui Internet viene esteso alle cose. Facendo largo uso di dispositivi come sensori e tag è possibile realizzare sistemi intelligenti che possono avere riscontri positivi nella vita di tutti i giorni. Tracciare la posizione degli oggetti, monitorare pazienti da remoto, rilevare dati sull'ambiente per realizzare sistemi automatici (ad esempio regolare automaticamente la luce o la temperatura di una stanza) sono solo alcuni esempi. Internet of Things è la naturale evoluzione di Internet, ed è destinato a cambiare radicalmente la nostra vita futura, poichè la tecnologia sarà sempre più parte integrante della nostra vita, aumentando sempre più il nostro benessere e riducendo sempre più il numero delle azioni quotidiane da compiere. Sempre più sono middleware, le piattaforme e i sistemi operativi che nascono per cercare di eliminare o ridurre le problematiche relative allo sviluppo di sistemi di questo genere, e lo scopo di questa tesi è proprio sottolinearne l'importanza e di analizzare gli aspetti che questi middleware devono affrontare. La tesi è strutturata in questo modo: nel capitolo uno verrà fatta una introduzione a Internet of Things, analizzando alcuni degli innumerevoli scenari applicativi che ne derivano, insieme però alle inevitabili problematiche di tipo tecnologico e sociale. Nel secondo capitolo verranno illustrate le tecnologie abilitanti di Internet of Things, grazie alle quali è possibile realizzare sistemi intelligenti. Nel terzo capitolo verranno analizzati gli aspetti relativi ai middleware, sottolineandone l'importanza e prestando attenzione alle funzioni che devono svolgere, il tutto riportando anche degli esempi di middleware esistenti. Nel quarto capitolo verrà approfondito il middleware Java Embedded di Oracle.
Resumo:
L'obiettivo su cui è stata basata questa Tesi di Laurea è stato quello di integrare la tecnologia delle Wireless Sensor Networks (WSN) al contesto dell'Internet delle cose (IoT). Per poter raggiungere questo obiettivo, il primo passo è stato quello di approfondire il concetto dell'Internet delle cose, in modo tale da comprendere se effettivamente fosse stato possibile applicarlo anche alle WSNs. Quindi è stata analizzata l'architettura delle WSNs e successivamente è stata fatta una ricerca per capire quali fossero stati i vari tipi di sistemi operativi e protocolli di comunicazione supportati da queste reti. Infine sono state studiate alcune IoT software platforms. Il secondo passo è stato quindi di implementare uno stack software che abilitasse la comunicazione tra WSNs e una IoT platform. Come protocollo applicativo da utilizzare per la comunicazione con le WSNs è stato usato CoAP. Lo sviluppo di questo stack ha consentito di estendere la piattaforma SensibleThings e il linguaggio di programmazione utilizzato è stato Java. Come terzo passo è stata effettuata una ricerca per comprendere a quale scenario di applicazione reale, lo stack software progettato potesse essere applicato. Successivamente, al fine di testare il corretto funzionamento dello stack CoAP, è stata sviluppata una proof of concept application che simulasse un sistema per la rilevazione di incendi. Questo scenario era caratterizzato da due WSNs che inviavano la temperatura rilevata da sensori termici ad un terzo nodo che fungeva da control center, il cui compito era quello di capire se i valori ricevuti erano al di sopra di una certa soglia e quindi attivare un allarme. Infine, l'ultimo passo di questo lavoro di tesi è stato quello di valutare le performance del sistema sviluppato. I parametri usati per effettuare queste valutazioni sono stati: tempi di durata delle richieste CoAP, overhead introdotto dallo stack CoAP alla piattaforma Sensible Things e la scalabilità di un particolare componente dello stack. I risultati di questi test hanno mostrato che la soluzione sviluppata in questa tesi ha introdotto un overheadmolto limitato alla piattaforma preesistente e inoltre che non tutte le richieste hanno la stessa durata, in quanto essa dipende dal tipo della richiesta inviata verso una WSN. Tuttavia, le performance del sistema potrebbero essere ulteriormente migliorate, ad esempio sviluppando un algoritmo che consenta la gestione concorrente di richieste CoAP multiple inviate da uno stesso nodo. Inoltre, poichè in questo lavoro di tesi non è stato considerato il problema della sicurezza, una possibile estensione al lavoro svolto potrebbe essere quello di implementare delle politiche per una comunicazione sicura tra Sensible Things e le WSNs.
Resumo:
Il mondo di Internet ha vissuto un radicale e inarrestabile processo di rinnovamento nel corso dell'ultimo decennio. Nel giro di pochi anni, i siti che popolano il World Wide Web si sono evoluti divenendo vere e proprie applicazioni in grado di fornire un livello di interattività e di coinvolgimento fino ad allora impensabile. Il mondo del Web è mutato, e con esso quello dei browser, i quali assumono sempre più le conformazioni di "sistemi operativi nei sistemi operativi": si sono tramutati in complesse piattaforme di sviluppo in grado di fornire a programmatori e web designer potenti librerie e API relative a qualsiasi ambito, nonché avanzati strumenti di debugging. Numerosi standard che governano l'ecosistema di Internet hanno raggiunto la maturità in questo contesto: fra tutti HTML5, il quale ha arricchito enormemente le potenzialità di un browser introducendo nuovi strumenti orientati alla multimedialità e alla classificazione semantica delle risorse. Altri standard altrettanto importanti hanno visto la luce in questi anni, affermandosi e conquistando, nel giro di pochissimi anni, l'interesse di un'ampia platea di sviluppatori. E' il caso di WebGL, una potente e flessibile libreria grafica derivata dal mondo di OpenGL che ha aperto le porte al rendering di scene tridimensionali all'interno di un qualsiasi browser moderno. WebGL ha rappresentato un punto di svolta abbattendo un'ulteriore barriera tra il mondo del web che vive all'interno di un browser e la dimensione delle applicazioni native che popolano un sistema operativo, consolidando il già affermato concetto di web app che lentamente sta seppellendo l'idea di "sito" così come era stato concepito all'inizio del nuovo millennio. Scopo di questo elaborato è quello di fornire una panoramica delle principali funzionalità offerte dalla libreria WebGL (con una particolare attenzione per il supporto cross browser) e di analizzare le possibilità che essa offre, studiando e implementando i principali modelli di illuminazione e le tecniche di applicazione texture per definire un ambiente tridimensionale esplorabile e il più possibile realistico all'interno della dimensione del web.
Resumo:
Poiché nell’ultimo decennio i dispositivi mobile assumono un ruolo sempre più determinante nello svolgimento della vita stessa, nel corso del tempo si sono ricercate e sviluppate app per facilitare le più svariate operazioni quotidiane. Visto la vastità del mercato degli smartphone, nel tempo sono stati sviluppati vari sistemi operativi in grado di governare queste piattaforme. Per una azienda, tuttavia, gestire i costi di implementazione di una stessa app in ambienti differenti risulta più oneroso che gestire i costi di una sola in grado di operare nei diversi sistemi operativi. Quest’ultimo tipo di app viene comunemente denominato app multipiattaforma. Un modo per implementare questo genere di applicazioni vede come strumento di utilizzo Visual Studio, noto IDE. Nel caso specifico Visual Studio ha integrato il progetto Apache Cordova per le creazione di applicativi multipiattaforma. In questo elaborato di tesi tramite i due strumenti appena introdotti si sono sviluppate due differenti app, al fine di valutarne le performance in termini di tempo. La prima app propone la risoluzione di un noto problema di calcolo combinatorio conosciuto con il nome di Knapsack, ovvero il problema dello zaino. La seconda cerca invece di digitalizzare una semplice espressione matematica contenuta in un’immagine e di fornirne quindi il risultato. Dai dati ottenuti si possono operare confronti per determinare la validità dello strumento di sviluppo, mettendo in luce anche possibili evoluzioni di queste due app.
Resumo:
In questo elaborato ,sono descritte le fasi di realizzazione del software di simulazione di scheduling di processi periodici per sistemi operativi real-time, realizzato per questa tesi.
Resumo:
Communication and coordination are two key-aspects in open distributed agent system, being both responsible for the system’s behaviour integrity. An infrastructure capable to handling these issues, like TuCSoN, should to be able to exploit modern technologies and tools provided by fast software engineering contexts. Thesis aims to demonstrate TuCSoN infrastructure’s abilities to cope new possibilities, hardware and software, offered by mobile technology. The scenarios are going to configure, are related to the distributed nature of multi-agent systems where an agent should be located and runned just on a mobile device. We deal new mobile technology frontiers concerned with smartphones using Android operating system by Google. Analysis and deployment of a distributed agent-based system so described go first to impact with quality and quantity considerations about available resources. Engineering issue at the base of our research is to use TuCSoN against to reduced memory and computing capability of a smartphone, without the loss of functionality, efficiency and integrity for the infrastructure. Thesis work is organized on two fronts simultaneously: the former is the rationalization process of the available hardware and software resources, the latter, totally orthogonal, is the adaptation and optimization process about TuCSoN architecture for an ad-hoc client side release.
Resumo:
Il campo della coordinazione può beneficiare di nuovi strumenti e tecnologie per il proprio sviluppo o per rendere accessibili le sue funzionalità ad un pubblico più vasto. Il progetto TuCSoN, in particolare, include lo strumento Inspector tramite il quale è possibile monitorare ed interagire con l'intero spazio di coordinazione. Al fine di rendere disponibili queste funzionalità anche al mondo mobile è necessario eseguire il porting dell'applicazione. In questa tesi, perciò, verranno prima di tutto analizzate le caratteristiche principali dei modelli di coordinazione e, in particolare, del modello TuCSoN. In seguito eseguiremo un'introduzione sulla tecnologia Android, che ci fornirà gli strumenti necessari per la creazione di un framework mobile equivalente all'Inspector. Infine verranno affrontate le problematiche principali per eseguire con successo il porting, come ad esempio la necessità di ridefinire l'intera interfaccia grafica o l'utilizzo di nuovi componenti quali i service e le activity. Questa operazione, quindi, dimostrerà l'esigenza di adattare l'Inspector ai meccanismi appartenenti al nuovo ambiente di esecuzione.
Resumo:
Il lavoro svolto in questa tesi consiste nell'effettuare il porting del Monitor di rete da Linux ad Android,facente parte di un sistema più complesso conosciuto come ABPS. Il ruolo del monitor è quello di configurare dinamicamente tutte le interfacce di rete disponibili sul dispositivo sul quale lavora,in modo da essere connessi sempre alla miglior rete conosciuta,ad esempio al miglior Access Point nel caso del interfaccia wireless.