13 resultados para multi-platform development
em AMS Tesi di Laurea - Alm@DL - Universit
Resumo:
In questa tesi viene trattato l'argomento dello sviluppo multi-platform di applicazioni mobile. Viene effettuata una panoramica degli approcci possibili e dei relativi framework per lo sviluppo. Individuato l'approccio ritenuto piu interessante, viene affrontato un caso di studio per poter convalidare la tecnologia.
Resumo:
Panoramica sullo stato dell’arte degli approcci di sviluppo di mobile app alternativi agli approcci nativi, e approfondimento ulteriore dell’analisi. Valutazione concreta del framework Titanium, il più interessante per architettura e offerta di componenti di UI nativi, realizzata mediante lo sviluppo di un'app e facendo quindi il confronto con lo sviluppo nativo.
Resumo:
Il mondo degli smartphone, in particolare grazie all’avvento delle app, costituisce un settore che ha avuto negli ultimi anni una crescita tale, da richiedere l’introduzione di un nuovo termine in ambito finanziario: app economy. La crescente richiesta da parte del mercato di nuove opportunitá derivanti dal mondo delle applicazioni, ha aumentato sensibilmente il carico di lavoro richiesto alle software house specializzate,che hanno pertanto avuto la necessitá di adeguarsi a tale cambiamento. Per ovviare alle suddette problematiche, sono iniziati ad emergere due tool che consentono lo sviluppo di applicazioni multipiattaforma utilizzando un linguaggio ed un ambiente di sviluppo comuni. Tali sistemi consentono un risparmio in termini di tempi e costi, ma non sono in grado di competere con i tool nativi in termini di qualità del prodotto realizzato, in particolare per quanto concerne l'interfaccia grafica. Si propone pertanto un approccio che tenta di combinare i vantaggi di entrambe le soluzioni, al fine di ottimizzare la fluidità della UI, consentendo allo stesso tempo il riuso della logica applicativa.
Resumo:
Relazione del lavoro di creazione e implementazione della piattaforma software che sviluppa l’archivio del progetto SATNET. I satelliti universitari hanno un tempo di vista della propria Stazione di Terra di pochi minuti al giorno: SATNET risponde all’esigenza di comunicare con un satellite universitario in orbita bassa per più dei pochi minuti al giorno che una singola Stazione di Terra permette. Questo avviene grazie a una rete di Stazioni di Terra Satellitari collegate da specifiche missioni comuni che mettono in condivisione dati ricevuti da uno o più satelliti, aumentando il rendimento dati/giorno di questi e permettendo una migliore fruizione delle Stazioni di Terra stesse. Il network sfrutta Internet come canale di connessione, e prevede la presenza di un archivio nel quale memorizzare i dati ricevuti, per poi renderne possibile la consultazione e il recupero. Oggetto di questo lavoro di tesi è stato lo sviluppo e l’implementazione di tale archivio: utilizzando un sito web dinamico, il software risponde a tutte le richieste evidenziate nel paragrafo precedente, permettendo a utenti autenticati di inserire dati e ad altri di poterne avere accesso. Il software è completo e funzionante ma non finito, in quanto manca la formulazione di alcune richieste; per esempio non è stato specificato il tipo di informazioni che è possibile caricare in upload, né il tipo di campi richiesti nel modulo di registrazione dei vari utenti. In questi casi sono stati inseriti campi generici, lasciando all’utente la possibilità di modificarli in seguito. Il software è stato dunque concepito come facilmente personalizzabile e modificabile anche da utenti inesperti grazie alla sola lettura della tesi, che rappresenta quindi una vera e propria guida per l’utilizzo, l’installazione, la personalizzazione e la manutenzione della piattaforma software. La tesi evidenzia gli obiettivi e le richieste, mostrando l’aspetto del sito web e le sue funzionalità, e spiega passo per passo il procedimento per la modifica dell’aspetto delle pagine e di alcuni parametri di configurazione. Inoltre, qualora siano necessarie modifiche sostanziali al progetto, introduce i vari linguaggi di programmazione necessari allo sviluppo e alla programmazione web e aiuta l’utente nella comprensione della struttura del software. Si conclude con alcuni suggerimenti su eventuali modifiche, attuabili solo a seguito di un lavoro di definizione degli obiettivi e delle specifiche richieste. In futuro ci si aspetta l’implementazione e la personalizzazione del software, nonché l’integrazione dell’archivio all’interno del progetto SATNET, con l’obiettivo di migliorare e favorire la diffusione e la condivisione di progetti comuni tra diverse Università Europee ed Extra-Europee.
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.
Towards model driven software development for Arduino platforms: a DSL and automatic code generation
Resumo:
La tesi ha lo scopo di esplorare la produzione di sistemi software per Embedded Systems mediante l'utilizzo di tecniche relative al mondo del Model Driven Software Development. La fase più importante dello sviluppo sarà la definizione di un Meta-Modello che caratterizza i concetti fondamentali relativi agli embedded systems. Tale modello cercherà di astrarre dalla particolare piattaforma utilizzata ed individuare quali astrazioni caratterizzano il mondo degli embedded systems in generale. Tale meta-modello sarà quindi di tipo platform-independent. Per la generazione automatica di codice è stata adottata una piattaforma di riferimento, cioè Arduino. Arduino è un sistema embedded che si sta sempre più affermando perché coniuga un buon livello di performance ed un prezzo relativamente basso. Tale piattaforma permette lo sviluppo di sistemi special purpose che utilizzano sensori ed attuatori di vario genere, facilmente connessi ai pin messi a disposizione. Il meta-modello definito è un'istanza del meta-metamodello MOF, definito formalmente dall'organizzazione OMG. Questo permette allo sviluppatore di pensare ad un sistema sotto forma di modello, istanza del meta-modello definito. Un meta-modello può essere considerato anche come la sintassi astratta di un linguaggio, quindi può essere definito da un insieme di regole EBNF. La tecnologia utilizzata per la definizione del meta-modello è stata Xtext: un framework che permette la scrittura di regole EBNF e che genera automaticamente il modello Ecore associato al meta-modello definito. Ecore è l'implementazione di EMOF in ambiente Eclipse. Xtext genera inoltre dei plugin che permettono di avere un editor guidato dalla sintassi, definita nel meta-modello. La generazione automatica di codice è stata realizzata usando il linguaggio Xtend2. Tale linguaggio permette di esplorare l'Abstract Syntax Tree generato dalla traduzione del modello in Ecore e di generare tutti i file di codice necessari. Il codice generato fornisce praticamente tutta la schematic part dell'applicazione, mentre lascia all'application designer lo sviluppo della business logic. Dopo la definizione del meta-modello di un sistema embedded, il livello di astrazione è stato spostato più in alto, andando verso la definizione della parte di meta-modello relativa all'interazione di un sistema embedded con altri sistemi. Ci si è quindi spostati verso un ottica di Sistema, inteso come insieme di sistemi concentrati che interagiscono. Tale difinizione viene fatta dal punto di vista del sistema concentrato di cui si sta definendo il modello. Nella tesi viene inoltre introdotto un caso di studio che, anche se abbastanza semplice, fornisce un esempio ed un tutorial allo sviluppo di applicazioni mediante l'uso del meta-modello. Ci permette inoltre di notare come il compito dell'application designer diventi piuttosto semplice ed immediato, sempre se basato su una buona analisi del problema. I risultati ottenuti sono stati di buona qualità ed il meta-modello viene tradotto in codice che funziona correttamente.
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:
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:
The relatively young discipline of astronautics represents one of the scientifically most fascinating and technologically advanced achievements of our time. The human exploration in space does not offer only extraordinary research possibilities but also demands high requirements from man and technology. The space environment provides a lot of attractive experimental tools towards the understanding of fundamental mechanism in natural sciences. It has been shown that especially reduced gravity and elevated radiation, two distinctive factors in space, influence the behavior of biological systems significantly. For this reason one of the key objectives on board of an earth orbiting laboratory is the research in the field of life sciences, covering the broad range from botany, human physiology and crew health up to biotechnology. The Columbus Module is the only European low gravity platform that allows researchers to perform ambitious experiments in a continuous time frame up to several months. Biolab is part of the initial outfitting of the Columbus Laboratory; it is a multi-user facility supporting research in the field of biology, e.g. effect of microgravity and space radiation on cell cultures, micro-organisms, small plants and small invertebrates. The Biolab IEC are projects designed to work in the automatic part of Biolab. In this moment in the TO-53 department of Airbus Defence & Space (formerly Astrium) there are two experiments that are in phase C/D of the development and they are the subject of this thesis: CELLRAD and CYTOSKELETON. They will be launched in soft configuration, that means packed inside a block of foam that has the task to reduce the launch loads on the payload. Until 10 years ago the payloads which were launched in soft configuration were supposed to be structural safe by themselves and a specific structural analysis could be waived on them; with the opening of the launchers market to private companies (that are not under the direct control of the international space agencies), the requirements on the verifications of payloads are changed and they have become much more conservative. In 2012 a new random environment has been introduced due to the new Space-X launch specification that results to be particularly challenging for the soft launched payloads. The last ESA specification requires to perform structural analysis on the payload for combined loads (random vibration, quasi-steady acceleration and pressure). The aim of this thesis is to create FEM models able to reproduce the launch configuration and to verify that all the margins of safety are positive and to show how they change because of the new Space-X random environment. In case the results are negative, improved design solution are implemented. Based on the FEM result a study of the joins has been carried out and, when needed, a crack growth analysis has been performed.
Resumo:
This dissertation document deals with the development of a project, over a span of more than two years, carried out within the scope of the Arrowhead Framework and which bears my personal contribution in several sections. The final part of the project took place during a visiting period at the university of Luleå. The Arrowhead Project is an European project, belonging to the ARTEMIS association, which aims to foster new technologies and unify the access to them into an unique framework. Such technologies include the Internet of Things phe- nomenon, Smart Houses, Electrical Mobility and renewable energy production. An application is considered compliant with such framework when it respects the Service Oriented Architecture paradigm and it is able to interact with a set of defined components called Arrowhead Core Services. My personal contribution to this project is given by the development of several user-friendly API, published in the project's main repository, and the integration of a legacy system within the Arrowhead Framework. The implementation of this legacy system was initiated by me in 2012 and, after many improvements carried out by several developers in UniBO, it has been again significantly modified this year in order to achieve compatibility. The system consists of a simulation of an urban scenario where a certain amount of electrical vehicles are traveling along their specified routes. The vehicles are con-suming their battery and, thus, need to recharge at the charging stations. The electrical vehicles need to use a reservation mechanism to be able to recharge and avoid waiting lines, due to the long recharge process. The integration with the above mentioned framework consists in the publication of the services that the system provides to the end users through the instantiation of several Arrowhead Service Producers, together with a demo Arrowhead- compliant client application able to consume such services.
Resumo:
Negli ultimi anni si è imposto il concetto di Ubiquitous Computing, ovvero la possibilità di accedere al web e di usare applicazioni per divertimento o lavoro in qualsiasi momento e in qualsiasi luogo. Questo fenomeno sta cambiando notevolmente le abitudini delle persone e ciò è testimoniato anche dal fatto che il mercato mobile è in forte ascesa: da fine 2014 sono 45 milioni gli smartphone e 12 milioni i tablet in circolazione in Italia. Sembra quasi impossibile, dunque, rinunciare al mobile, soprattutto per le aziende: il nuovo modo di comunicare ha reso necessaria l’introduzione del Mobile Marketing e per raggiungere i propri clienti ora uno degli strumenti più efficaci e diretti sono le applicazioni. Esse si definiscono native se si pongono come traguardo un determinato smartphone e possono funzionare solo per quel sistema operativo. Infatti un’app costruita, per esempio, per Android non può funzionare su dispositivi Apple o Windows Phone a meno che non si ricorra al processo di porting. Ultimamente però è richiesto un numero sempre maggiore di app per piattaforma e i dispositivi presenti attualmente sul mercato presentano differenze tra le CPU, le interfacce (Application Programming Interface), i sistemi operativi, l’hardware, etc. Nasce quindi la necessità di creare applicazioni che possano funzionare su più sistemi operativi, ovvero le applicazioni platform-independent. Per facilitare e supportare questo genere di lavoro sono stati definiti nuovi ambienti di sviluppo tra i quali Sencha Touch e Apache Cordova. Il risultato finale dello sviluppo di un’app attraverso questi framework è proprio quello di ottenere un oggetto che possa essere eseguito su qualsiasi dispositivo. Naturalmente la resa non sarà la stessa di un’app nativa, la quale ha libero accesso a tutte le funzionalità del dispositivo (rubrica, messaggi, notifiche, geolocalizzazione, fotocamera, accelerometro, etc.), però con questa nuova app vi è la garanzia di un costo di sviluppo minore e di una richiesta considerevole sul mercato. L’obiettivo della tesi è quello di analizzare questo scenario attraverso un caso di studio proveniente da una realtà aziendale che presenta proprio la necessità di sviluppare un’applicazione per più piattaforme. Nella prima parte della tesi viene affrontata la tematica del mobile computing e quella del dualismo tra la programmazione nativa e le web app: verranno analizzate le caratteristiche delle due diverse tipologie cercando di capire quale delle due risulti essere la migliore. Nella seconda parte sarà data luce a uno dei più importanti framework per la costruzione di app multi-piattaforma: Sencha Touch. Ne verranno analizzate le caratteristiche, soffermandosi in particolare sul pattern MVC e si potrà vedere un confronto con altri framework. Nella terza parte si tratterà il caso di studio, un app mobile per Retail basata su Sencha Touch e Apache Cordova. Nella parte finale si troveranno alcune riflessioni e conclusioni sul mobile platform-independent e sui vantaggi e gli svantaggi dell’utilizzo di JavaScript per sviluppare app.
Resumo:
Nell'ambito dello sviluppo software, la concorrenza è sempre stata vista come la strada del futuro. Tuttavia, questa è stata spesso ignorata a causa del continuo sviluppo dell'hardware che ha permesso agli sviluppatori di continuare a scrivere software sequenziale senza doversi preoccupare delle performance. In un'era in cui le nuove architetture hardware presentano processori multi-core, tutto questo non è più possibile. L'obiettivo di questa tesi è stato quello di considerare il Modello ad Attori come valida alternativa allo sviluppo di applicazioni in ambito mobile e quindi di progettare, sviluppare e distribuire un nuovo framework sulla base di tale modello. Il lavoro parte quindi da una panoramica di Swift, il nuovo linguaggio di programmazione presentato da Apple al WWDC 2014, in cui vengono analizzati nel dettaglio i meccanismi che abilitano alla concorrenza. Successivamente viene descritto il modello ad attori in termini di: attori, proprietà, comunicazione e sincronizzazione. Segue poi un'analisi delle principali implementazioni di questo modello, tra cui: Scala, Erlang ed Akka; quest'ultimo rappresenta la base su cui è stato ispirato il lavoro di progettazione e sviluppo del framework Actor Kit. Il quarto capitolo descrive tutti i concetti, le idee e i principi su cui il framework Actor Kit è stato progettato e sviluppato. Infine, l'ultimo capitolo presenta l'utilizzo del framework in due casi comuni della programmazione mobile: 1) Acquisizione dati da Web API e visualizzazione sull'interfaccia utente. 2) Acquisizione dati dai sensori del dispositivo. In conclusione Actor Kit abilita la progettazione e lo sviluppo di applicazioni secondo un approccio del tutto nuovo nell'ambito mobile. Un possibile sviluppo futuro potrebbe essere l'estensione del framework con attori che mappino i framework standard di Apple; proprio per questo sarà reso pubblico con la speranza che altri sviluppatori possano evolverlo e renderlo ancora più completo e performante.
Resumo:
Sviluppare e manutenere applicativi destinati a differenti piattaforme è un’opzione esclusiva di quelle entità capaci di sostenere costi molto alti per la realizzazione di queste applicazioni. Questo esclude gli sviluppatori indipendenti, che spesso realizzano prodotti in totale autonomia; le start-up, che hanno l’esigenza di sviluppare un’idea di business avendo a disposizione budget estremamente ridotti; le piccole aziende, alle quali viene così preclusa la possibilità di competere con player più importanti. Questo tipo di emergenze rende lo sviluppo cross-platform una soluzione interessante per la realizzazione delle applicazioni mobili, abbattendo i costi di sviluppo e permettendo di raggiungere più velocemente un pubblico più ampio. C'è quindi sempre maggiore interesse, da parte degli sviluppatori, per gli strumenti di sviluppo cross-platform. Per catturare l’attenzione degli sviluppatori è necessario che lo strumento sia dotato di buona stabilità, che offra un ambiente di sviluppo confortevole, una buona user experience, facilità di aggiornamento, tempi di sviluppo contenuti e possibilità di immissione delle applicazioni su diversi ecosistemi software. L’idea alla base di questa Tesi di laurea è valutare i pro e i contro di uno di questi framework cross-platform e compararlo con le tecnologie native. Il framework scelto è Ionic per via della sua popolarità tra gli sviluppatori e della ridotta bibliografia scientifica a riguardo. Molte ricerche scientifiche valutano le prestazioni di uno o più framework cross-platform rispetto ad una soluzione nativa, tuttavia è raro un confronto tra un framework e più soluzioni native. Per questo, oltre a valutare i pro e i contro del framework, verrà anche effettuata una comparazione tra gli applicativi nativi per Android e iOS e le controparti sviluppate attraverso Ionic, permettendo di identificare eventuali differenze di performance e aiutare gli sviluppatori nelle scelte tecnologiche.