973 resultados para server java android logica
Resumo:
Questo lavoro ha lo scopo di presentare l’implementazione e la valutazione di un’applicazione Android che permetta la riproduzione di uno streaming auto-adattante conforme allo standard DASH sfruttando le funzionalità offerte dal player ”ExoPLayer” a cui viene aggiunta la funzionalità di caching e condivisione dei relativi segmenti tramite WiFi-Direct. Questo al fine di raggiungere diversi obiettivi come la riduzione dell’utilizzo di reti mobili, l’aumento della qualità e/o una riproduzione più fluida. Si è inoltre sviluppato un simulatore in C++ che permette di valutare il comportamento dell’applicazione, l’algoritmo usato per la scelta dei segmenti, e i vantaggi correlati.
Resumo:
L'elaborato tratta del progetto di tesi "FastLApp". "FastLApp" e un'applicazione per la piattaforma Android che si pone come obbiettivo l'acquisizione dei dati di telemetria relativi al comportamento di un motoveicolo su strada e su circuito e come target i motociclisti amatoriali. Dopo un'introduzione sul sistema operativo Android, sulle principali tecniche di telemetria e di acquisizione dati e sulle applicazioni correlate, vengono descritte le funzionalita, l'implementazione e il testing del applicazione oggetto di tesi. Dopo una breve descrizione degli strumenti e delle tecnologie utilizzate, viene infine data una valutazione all'applicazione e discussi i suoi eventuali sviluppi futuri.
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:
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:
La tesi consiste nello studiare e sviluppare servizi multimediali in sistemi di CrowdSensing, nello specifico si vuole sviluppare un sistema che permetta il trasferimento da client a server di file multimediali come il video nel sistema Participact dell'universita di Bologna.
Resumo:
Ogni giorno, l'utente di smartphon e tablet, spesso senza rendersene conto, condivide, tramite varie applicazioni, un'enorme quantità di informazioni. Negli attuali sistemi operativi, l'assenza di meccanismi utili a garantire adeguatamente l'utente, ha spinto questo lavoro di ricerca verso lo sviluppo di un inedito framework.È stato necessario uno studio approfondito dello stato dell'arte di soluzioni con gli stessi obiettivi. Sono stati esaminati sia modelli teorici che pratici, con l'analisi accurata del relativo codice. Il lavoro, in stretto contatto con i colleghi dell'Università Centrale della Florida e la condivisione delle conoscenze con gli stessi, ha portato ad importanti risultati. Questo lavoro ha prodotto un framework personalizzato per gestire la privacy nelle applicazioni mobili che, nello specifico, è stato sviluppato per Android OS e necessita dei permessi di root per poter realizzare il suo funzionamento. Il framework in questione sfrutta le funzionalità offerte dal Xposed Framework, con il risultato di implementare modifiche al sistema operativo, senza dover cambiare il codice di Android o delle applicazioni che eseguono su quest’ultimo. Il framework sviluppato controlla l’accesso da parte delle varie applicazioni in esecuzione verso le informazioni sensibili dell’utente e stima l’importanza che queste informazioni hanno per l’utente medesimo. Le informazioni raccolte dal framework sulle preferenze e sulle valutazioni dell’utente vengono usate per costruire un modello decisionale che viene sfruttato da un algoritmo di machine-learning per migliorare l’interazione del sistema con l’utente e prevedere quelle che possono essere le decisioni dell'utente stesso, circa la propria privacy. Questo lavoro di tesi realizza gli obbiettivi sopra citati e pone un'attenzione particolare nel limitare la pervasività del sistema per la gestione della privacy, nella quotidiana esperienza dell'utente con i dispositivi mobili.
Resumo:
Java Enterprise Applications (JEAs) are large systems that integrate multiple technologies and programming languages. Transactions in JEAs simplify the development of code that deals with failure recovery and multi-user coordination by guaranteeing atomicity of sets of operations. The heterogeneous nature of JEAs, however, can obfuscate conceptual errors in the application code, and in particular can hide incorrect declarations of transaction scope. In this paper we present a technique to expose and analyze the application transaction scope in JEAs by merging and analyzing information from multiple sources. We also present several novel visualizations that aid in the analysis of transaction scope by highlighting anomalies in the specification of transactions and violations of architectural constraints. We have validated our approach on two versions of a large commercial case study.
Resumo:
After decades of development in programming languages and programming environments, Smalltalk is still one of few environments that provide advanced features and is still widely used in the industry. However, as Java became prevalent, the ability to call Java code from Smalltalk and vice versa becomes important. Traditional approaches to integrate the Java and Smalltalk languages are through low-level communication between separate Java and Smalltalk virtual machines. We are not aware of any attempt to execute and integrate the Java language directly in the Smalltalk environment. A direct integration allows for very tight and almost seamless integration of the languages and their objects within a single environment. Yet integration and language interoperability impose challenging issues related to method naming conventions, method overloading, exception handling and thread-locking mechanisms. In this paper we describe ways to overcome these challenges and to integrate Java into the Smalltalk environment. Using techniques described in this paper, the programmer can call Java code from Smalltalk using standard Smalltalk idioms while the semantics of each language remains preserved. We present STX:LIBJAVA - an implementation of Java virtual machine within Smalltalk/X - as a validation of our approach
Resumo:
The past decade has seen the energy consumption in servers and Internet Data Centers (IDCs) skyrocket. A recent survey estimated that the worldwide spending on servers and cooling have risen to above $30 billion and is likely to exceed spending on the new server hardware . The rapid rise in energy consumption has posted a serious threat to both energy resources and the environment, which makes green computing not only worthwhile but also necessary. This dissertation intends to tackle the challenges of both reducing the energy consumption of server systems and by reducing the cost for Online Service Providers (OSPs). Two distinct subsystems account for most of IDC’s power: the server system, which accounts for 56% of the total power consumption of an IDC, and the cooling and humidifcation systems, which accounts for about 30% of the total power consumption. The server system dominates the energy consumption of an IDC, and its power draw can vary drastically with data center utilization. In this dissertation, we propose three models to achieve energy effciency in web server clusters: an energy proportional model, an optimal server allocation and frequency adjustment strategy, and a constrained Markov model. The proposed models have combined Dynamic Voltage/Frequency Scaling (DV/FS) and Vary-On, Vary-off (VOVF) mechanisms that work together for more energy savings. Meanwhile, corresponding strategies are proposed to deal with the transition overheads. We further extend server energy management to the IDC’s costs management, helping the OSPs to conserve, manage their own electricity cost, and lower the carbon emissions. We have developed an optimal energy-aware load dispatching strategy that periodically maps more requests to the locations with lower electricity prices. A carbon emission limit is placed, and the volatility of the carbon offset market is also considered. Two energy effcient strategies are applied to the server system and the cooling system respectively. With the rapid development of cloud services, we also carry out research to reduce the server energy in cloud computing environments. In this work, we propose a new live virtual machine (VM) placement scheme that can effectively map VMs to Physical Machines (PMs) with substantial energy savings in a heterogeneous server cluster. A VM/PM mapping probability matrix is constructed, in which each VM request is assigned with a probability running on PMs. The VM/PM mapping probability matrix takes into account resource limitations, VM operation overheads, server reliability as well as energy effciency. The evolution of Internet Data Centers and the increasing demands of web services raise great challenges to improve the energy effciency of IDCs. We also express several potential areas for future research in each chapter.
Resumo:
With today's prevalence of Internet-connected systems storing sensitive data and the omnipresent threat of technically skilled malicious users, computer security remains a critically important field. Because of today's multitude of vulnerable systems and security threats, it is vital that computer science students be taught techniques for programming secure systems, especially since many of them will work on systems with sensitive data after graduation. Teaching computer science students proper design, implementation, and maintenance of secure systems is a challenging task that calls for the use of novel pedagogical tools. This report describes the implementation of a compiler that converts mandatory access control specification Domain-Type Enforcement Language to the Java Security Manager, primarily for pedagogical purposes. The implementation of the Java Security Manager was explored in depth, and various techniques to work around its inherent limitations were explored and partially implemented, although some of these workarounds do not appear in the current version of the compiler because they would have compromised cross-platform compatibility. The current version of the compiler and implementation details of the Java Security Manager are discussed in depth.
Resumo:
Enterprise Applications are complex software systems that manipulate much persistent data and interact with the user through a vast and complex user interface. In particular applications written for the Java 2 Platform, Enterprise Edition (J2EE) are composed using various technologies such as Enterprise Java Beans (EJB) or Java Server Pages (JSP) that in turn rely on languages other than Java, such as XML or SQL. In this heterogeneous context applying existing reverse engineering and quality assurance techniques developed for object-oriented systems is not enough. Because those techniques have been created to measure quality or provide information about one aspect of J2EE applications, they cannot properly measure the quality of the entire system. We intend to devise techniques and metrics to measure quality in J2EE applications considering all their aspects and to aid their evolution. Using software visualization we also intend to inspect to structure of J2EE applications and all other aspects that can be investigate through this technique. In order to do that we also need to create a unified meta-model including all elements composing a J2EE application.
Resumo:
Java Enterprise Applications (JEAs) are complex systems composed using various technologies that in turn rely on languages other than Java, such as XML or SQL. Given the complexity of these applications, the need to reverse engineer them in order to support further development becomes critical. In this paper we show how it is possible to split a system into layers and how is possible to interpret the distance between application elements in order to support the refactoring of JEAs. The purpose of this paper is to explore ways to provide suggestions about the refactoring operations to perform on the code by evaluating the distance between layers and elements belonging those layers. We split JEAs into layers by considering the kinds and the purposes of the elements composing the application. We measure distance between elements by using the notion of the shortest path in a graph. Also we present how to enrich the interpretation of the distance value with enterprise pattern detection in order to refine the suggestion about modifications to perform on the code.