41 resultados para Multi-platform Xamarin Mobile-computing
Resumo:
Questa tesi si focalizza sulle possibili tecnologie per realizzare comunicazioni opportunistiche fra dispositivi mobile ed embedded, con l'obiettivo di integrarle nel contesto di sistemi a larga scala situati, e con particolare riferimento al prototipo denominato "Magic Carpet". Vengono considerate in particolare le tecnologie WiFi ad-hoc e Bluetooth Low Energy su Android e Raspberry Pi.
Resumo:
Il Cloud Computing è una realtà sempre più diffusa e discussa nel nostro periodo storico, ma probabilmente non è ancora chiaro a tutti di cosa si tratta e le potenzialità che possiede. Infatti, non esiste ancora una definizione univoca e condivisa e questo può creare confusione. Oggi le grandi compagnie nella comunità informatica spingono sempre di più per affermare i servizi Cloud a livello mondiale, non solo per le aziende del settore, ma anche per tutte le altre. Ed è così che le aziende di tutto il mondo si muovono per imparare e adottare questa nuova tecnologia, per spostare i loro centri dati e le loro applicazioni nel Cloud. Ma dove e quando nasce il Cloud Computing? Quali sono realmente i benefici per le aziende che adottano questa tecnologia? Questo è l'obiettivo della mia tesi: cercare di far chiarezza sulla sua definizione, indagare sulla sua nascita e fare un quadro economico del suo sviluppo, analizzando i benefici per le aziende e le opportunità offerte. Come caso di studio ho scelto la piattaforma Cloud Foundry perchè in questo momento è in forte espansione e sta facendo un grosso lavoro per cercare di rendere il suo prodotto uno standard per il Cloud Computing. Come esempio particolare di piattaforma basata su Cloud Foundry si parlerà di Bluemix, la piattaforma Cloud offerta da IBM, una delle più grandi aziende nel settore informatico.
Resumo:
L’obiettivo dell'elaborato è quello di dare una panoramica sullo stato dell'arte riguardo lo sviluppo di applicazioni mobile, descrivendo i vantaggi e gli svantaggi degli approcci nativo e cross-platform, ed analizzare un framework creato dal team Dart di Google per sviluppare applicazioni cross-platform per le piattaforme Android e iOS chiamato Flutter. Il framework Flutter verrà analizzato mediante lo sviluppo di un’applicazione concreta, e successivamente confrontato con la medesima app sviluppata utilizzando l’approccio nativo su piattaforma Android.
Resumo:
Mobile devices are now capable of supporting a wide range of applications, many of which demand an ever increasing computational power. To this end, mobile cloud computing (MCC) has been proposed to address the limited computation power, memory, storage, and energy of such devices. An important challenge in MCC is to guarantee seamless discovery of services. To this end, this thesis proposes an architecture that provides user-transparent and low-latency service discovery, as well as automated service selection. Experimental results on a real cloud computing testbed demonstrated that the proposed work outperforms state of-the-art approaches by achieving extremely low discovery delay.
Resumo:
The idea of Grid Computing originated in the nineties and found its concrete applications in contexts like the SETI@home project where a lot of computers (offered by volunteers) cooperated, performing distributed computations, inside the Grid environment analyzing radio signals trying to find extraterrestrial life. The Grid was composed of traditional personal computers but, with the emergence of the first mobile devices like Personal Digital Assistants (PDAs), researchers started theorizing the inclusion of mobile devices into Grid Computing; although impressive theoretical work was done, the idea was discarded due to the limitations (mainly technological) of mobile devices available at the time. Decades have passed, and now mobile devices are extremely more performant and numerous than before, leaving a great amount of resources available on mobile devices, such as smartphones and tablets, untapped. Here we propose a solution for performing distributed computations over a Grid Computing environment that utilizes both desktop and mobile devices, exploiting the resources from day-to-day mobile users that alternatively would end up unused. The work starts with an introduction on what Grid Computing is, the evolution of mobile devices, the idea of integrating such devices into the Grid and how to convince device owners to participate in the Grid. Then, the tone becomes more technical, starting with an explanation on how Grid Computing actually works, followed by the technical challenges of integrating mobile devices into the Grid. Next, the model, which constitutes the solution offered by this study, is explained, followed by a chapter regarding the realization of a prototype that proves the feasibility of distributed computations over a Grid composed by both mobile and desktop devices. To conclude future developments and ideas to improve this project are presented.
Resumo:
Negli ultimi anni si sente sempre più spesso parlare di cloud computing. L'idea di fondo di questo concetto è quella di pagare per il solo effettivo utilizzo di un servizio, disponibile sulla rete, avendo a disposizione la possibilità di poter variare le proprie risorse utilizzabili a seconda delle necessità, che potrebbero essere, per esempio, applicazioni standard oppure spazi di storage per i dati. Quando cominciò a diffondersi l'utilizzo del Web, la rete Internet veniva raffigurata come una nuvola (cloud) in modo tale che si rendesse l'idea di un'entità esterna rispetto alla nostra casa o al nostro posto di lavoro, un qualcosa cioè al di fuori dei luoghi abituali in cui vengono utilizzati i PC. Tale rappresentazione diventa ora utile per poter spiegare il concetto di cloud computing. Infatti, grazie a questa nuova tecnologia, dati e programmi normalmente presenti nei nostri computer potranno ora trovarsi sul cloud. Molti reparti IT sono costretti a dedicare una parte significativa del loro tempo a progetti di implementazione, manutenzione e upgrade che spesso non danno un vero valore per l'azienda. I team di sviluppo hanno cominciato quindi a rivolgersi a questa nuova tecnologia emergente per poter minimizzare il tempo dedicato ad attività a basso valore aggiunto per potersi concentrare su quelle attività strategiche che possono fare la differenza per un'azienda. Infatti un'infrastruttura come quella cloud computing promette risparmi nei costi amministrativi che raggiungono addirittura il 50% rispetto ad un software standard di tipo client/server. Questa nuova tecnologia sta dando inizio ad un cambiamento epocale nel mondo dello sviluppo delle applicazioni. Il passaggio che si sta effettuando verso le nuove soluzioni cloud computing consente infatti di creare applicazioni solide in tempi decisamente più brevi e con costi assai inferiori, evitando inoltre tutte le seccature associate a server, soluzioni software singole, aggiornamenti, senza contare il personale necessario a gestire tutto questo. L'obiettivo di questa tesi è quello di mostrare una panoramica della progettazione e dello sviluppo di applicazioni Web nel cloud computing, analizzandone pregi e difetti in relazione alle soluzioni software attuali. Nel primo capitolo viene mostrato un quadro generale in riferimento al cloud, mettendo in luce le sue caratteristiche fondamentali, esaminando la sua architettura e valutando vantaggi e svantaggi di tale piattaforma. Nel secondo capitolo viene presentata la nuova metodologia di progettazione nel cloud, operando prima di tutto un confronto con lo sviluppo dei software standard e analizzando poi l'impatto che il cloud computing opera sulla progettazione. Nel terzo capitolo si entra nel merito della progettazione e sviluppo di applicazioni SaaS, specificandone le caratteristiche comuni ed elencando le piattaforme di rilievo allo stato dell'arte. Si entrerà inoltre nel merito della piattaforma Windows Azure. Nel quarto capitolo viene analizzato nel particolare lo sviluppo di applicazioni SaaS Multi-Tenant, specificando livelli e caratteristiche, fino a spiegare le architetture metadata-driven. Nel quinto capitolo viene operato un confronto tra due possibili approcci di sviluppo di un software cloud, analizzando nello specifico le loro differenze a livello di requisiti non funzionali. Nel sesto capitolo, infine, viene effettuata una panoramica dei costi di progettazione di un'applicazione cloud.
Resumo:
While the use of distributed intelligence has been incrementally spreading in the design of a great number of intelligent systems, the field of Artificial Intelligence in Real Time Strategy games has remained mostly a centralized environment. Despite turn-based games have attained AIs of world-class level, the fast paced nature of RTS games has proven to be a significant obstacle to the quality of its AIs. Chapter 1 introduces RTS games describing their characteristics, mechanics and elements. Chapter 2 introduces Multi-Agent Systems and the use of the Beliefs-Desires-Intentions abstraction, analysing the possibilities given by self-computing properties. In Chapter 3 the current state of AI development in RTS games is analyzed highlighting the struggles of the gaming industry to produce valuable. The focus on improving multiplayer experience has impacted gravely on the quality of the AIs thus leaving them with serious flaws that impair their ability to challenge and entertain players. Chapter 4 explores different aspects of AI development for RTS, evaluating the potential strengths and weaknesses of an agent-based approach and analysing which aspects can benefit the most against centralized AIs. Chapter 5 describes a generic agent-based framework for RTS games where every game entity becomes an agent, each of which having its own knowledge and set of goals. Different aspects of the game, like economy, exploration and warfare are also analysed, and some agent-based solutions are outlined. The possible exploitation of self-computing properties to efficiently organize the agents activity is then inspected. Chapter 6 presents the design and implementation of an AI for an existing Open Source game in beta development stage: 0 a.d., an historical RTS game on ancient warfare which features a modern graphical engine and evolved mechanics. The entities in the conceptual framework are implemented in a new agent-based platform seamlessly nested inside the existing game engine, called ABot, widely described in Chapters 7, 8 and 9. Chapter 10 and 11 include the design and realization of a new agent based language useful for defining behavioural modules for the agents in ABot, paving the way for a wider spectrum of contributors. Chapter 12 concludes the work analysing the outcome of tests meant to evaluate strategies, realism and pure performance, finally drawing conclusions and future works in Chapter 13.
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:
Questo elaborato descrive in modo approfondito la natura e lo sviluppo di applicazioni mediante PhoneGap. Lo sviluppo web e lo sviluppo nativo oltre a una breve introduzione ad altri interessanti tools di sviluppo cross-platform
Resumo:
Nell'elaborato si analizzano aspetti della teoria dei giochi e della multi-criteria decision-making. La riflessione serve a proporre le basi per un nuovo modello di protocollo di routing in ambito Mobile Ad-hoc Networks. Questo prototipo mira a generare una rete che riesca a gestirsi in maniera ottimale grazie ad un'acuta tecnica di clusterizzazione. Allo stesso tempo si propone come obiettivo il risparmio energetico e la partecipazione collaborativa di tutti i componenti.
Resumo:
Questa tesi tratta dello sviluppo di un progetto, svolto durante il periodo di tirocinio presso SMS.it, azienda specializzata nel settore della telefonia con sede a Bologna. L'azienda in questione ha commissionato, al sottoscritto ed al mio collega Daniele Sciuto, l'implementazione di un'applicazione cross-platform per smartphone, ed il relativo server. L'azienda ci ha fornito le specifiche del progetto, e ci ha seguiti in tutte le fasi del suo sviluppo. L'applicazione è pensata per offrire agli utenti la possibilità di usufruire di tariffe telefoniche agevolate. I vantaggi sono maggiormente apprezzabili nelle chiamate internazionali. Queste tariffe sono possibili grazie agli accordi fra l'azienda e vari operatori di telefonia. Nella primo capitolo di questo elaborato, viene analizzato cosa ci è stato richiesto di realizzare, le specifiche del progetto dateci dall'azienda e quali sono i vincoli ai quali ci si è dovuti attenere. Nella secondo capitolo, viene descritto nel dettaglio la progettazione delle singole funzionalità dell'applicazione, e i rapporti che ci sono fra il front-end ed il back-end. Successivamente, sono analizzate le tecnologie necessarie per la realizzazione e il loro utilizzo nell'applicazione. Come richiestoci dall'azienda, alcuni dettagli implementativi sono stati omessi, per garantire il rispetto del segreto industriale. Nonostante ciò viene comunque fornita una panoramica completa di ciò che è stato realizzato. In ultima analisi è descritta qualitativamente l'applicazione ottenuta, e come aderisca alle specifiche richieste.
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:
In the last 10 years the number of mobile devices has grown rapidly. Each person usually brings at least two personal devices and researchers says that in a near future this number could raise up to ten devices per person. Moreover, all the devices are becoming more integrated to our life than in the past, therefore the amount of data exchanged increases accordingly to the improvement of people's lifestyle. This is what researchers call Internet of Things. Thus, in the future there will be more than 60 billions of nodes and the current infrastructure is not ready to keep track of all the exchanges of data between them. Therefore, infrastructure improvements have been proposed in the last years, like MobileIP and HIP in order to facilitate the exchange of packets in mobility, however none of them have been optimized for the purpose. In the last years, researchers from Mid Sweden University created The MediaSense Framework. Initially, this framework was based on the Chord protocol in order to route packets in a big network, but the most important change has been the introduction of PGrids in order to create the Overlay and the persistence. Thanks to this technology, a lookup in the trie takes up to 0.5*log(N), where N is the total number of nodes in the network. This result could be improved by further optimizations on the management of the nodes, for example by the dynamic creation of groups of nodes. Moreover, since the nodes move, an underlaying support for connectivity management is needed. SCTP has been selected as one of the most promising upcoming standards for simultaneous multiple connection's management.
Resumo:
L'obiettivo di questa tesi è stato quello di progettare ed avviare lo sviluppo di un videogioco 3D multipiattaforma, nello specifico PC(Windows) e Mobile(Android), realizzandone poi una demo, affrontando così tutte le problematiche che possono sorgere quando si sviluppa un programma per dispositivi profondamente diversi fra loro. Il videogioco che si è scelto di realizzare è del genere “First Person Adventure”, in cui il giocatore deve esplorare la mappa di gioco, ed interagire con i vari elementi presenti al fine di far procedere la storia, il tutto realizzato ad un livello qualitativo sufficiente a permetterne la commercializzazione una volta ultimato.
Resumo:
Il grande sviluppo a cui stiamo assistendo negli ultimi anni nell'ambito delle tecnologie mobile e del wearable computing apre le porte a scenari innovativi e interessanti per quanto riguarda sistemi distribuiti collaborativi. Le persone possono sempre più facilmente cooperare e scambiarsi informazioni grazie a queste nuove tecnologie e si può pensare allo sviluppo di sistemi che permettano forme molto avanzate di collaborazione facendo leva sull'aspetto hands-free, ovvero sulla possibilità di utilizzare dispositivi che liberino le mani, come i moderni smart-glasses. Per lo sviluppo di tali sistemi è necessario però studiare nuove tecniche e architetture, in quanto gli strumenti ad oggi a disposizione a supporto della realtà aumentata non sembrano essere del tutto adeguati per tale scopo. Infatti piattaforme come Wikitude o Layar, seppure offrano potenti tecniche di riconoscimento di markers e immagini e di rendering, non offrono quella dinamicità fondamentale per un sistema distribuito collaborativo. Questo scritto ha lo scopo di esplorare questi aspetti mediante l'ideazione, l'analisi, la progettazione e la prototipazione di un semplice caso di studio ispirato a sistemi collaborativi distribuiti basati su realtà aumentata. In particolare in questo lavoro si porrà l'attenzione sul livello delle comunicazioni e delle infrastrutture di rete.