3,622 research outputs found

    Concurrency in Android development – Kotlin Coroutines and RxJava

    Get PDF
    A faulty concurrency system may have an impact in the user experience of the software product and consequently to the company that owns that product. The main goal of this research is to understand the impact of concurrency in Android development and further help developers/companies to discretise the best approaches for concurrency. The research initially centres on the importance of concurrency in Android applications as well as the main approaches for concurrency/threading in Android development. It further illustrates why some asynchronous programming approaches do not fit modern Android development. This allowed the research to concentrate on the most relevant approaches to concurrency and consequently produce more pertinent results for the current state of Android development. After acknowledging Kotlin Coroutines and RxJava as the most relevant approaches to concurrency for Android (at the time of writing this document), this research moved on with the development of a case study application. This application was implemented using both Kotlin Coroutines and RxJava while reusing as much code as possible. There is a single module dedicated to the main user interface of the application and two modules (one for Kotlin Coroutines and one for RxJava) dedicated to concurrently run the necessary steps for each feature and further propagating the necessary data to the user interface. This allowed a clear separation of the specific code needed to perform the same features with Kotlin Coroutines and RxJava, facilitating its later comparison. The design of this application and its features required prior assessment of common use cases for concurrency in Android to form a fitting case study. With the intent of assessing the impact of using Kotlin Coroutines and RxJava in Android applications, we discretised the main software quality attributes to consider for Android development. By taking this step, we were able to focus mainly on the Performance and Maintainability of an Android application and understand how the usage of both Kotlin Coroutines and RxJava affects these attributes. The impact of each library in the performance and maintainability of an Android application was measured using software metrics that were provided by a combination of static analysis, benchmarks, and profiling tests. The process of designing the set of tests, setting up the required tools and the overall development of the test environment for this research is also explored in this document. The results for Kotlin Coroutines and RxJava were then illustrated, compared, and interpreted to fulfil our objective of understanding if, at the time of writing this document, there is a more sensible approach to concurrency for Android development according to our set of tests. The results for our set of tests and case study application revealed that RxJava and Kotlin Coroutines do not differently compromise the performance and maintainability of an Android application, for what developers and companies should not be limited when choosing between these libraries

    Dubrovin Frobenius manifolds, Hurwitz spaces, and Extended Jacobi groups.

    Get PDF
    I define a certain extension of the Jacobi group An, and a Dubrovin-Frobenius structure is constructed on its orbit space

    1 D Landau Ginzburg superpotential of Big Quantum Cohomology of CP2

    Full text link
    Using the inverse period map of the Gauss-Manin connection associated with QH∗(CP2)QH^{*}(\mathbb{CP}^2) and the Dubrovin construction of Landau-Ginzburg superpotential for Dubrovin Frobenius manifolds, we construct a one-dimensional Landau-Ginzburg superpotential for the quantum cohomology of CP2\mathbb{CP}^2. In the case of small quantum cohomology, the Landau-Ginzburg superpotential is expressed in terms of the cubic root of the j-invariant function. For big quantum cohomology, the one-dimensional Landau-Ginzburg superpotential is given by Taylor series expansions whose coefficients are expressed in terms of quasi-modular forms. Furthermore, we express the Landau-Ginzburg superpotential for both small and big quantum cohomology of QH∗(CP2)QH^{*}(\mathbb{CP}^2) in closed form as the composition of the Weierstrass ℘\wp-function and the universal coverings of C∖(Z⊕eπi3Z)\mathbb{C} \setminus (\mathbb{Z} \oplus e^{\frac{\pi i}{3}}\mathbb{Z}) and C∖(Z⊕zZ)\mathbb{C} \setminus (\mathbb{Z} \oplus z\mathbb{Z}) respectively

    Multirotor UAV simulation for monitoring natural disasters using GAZEBO

    Get PDF
    The advancement of aeronautical and technological capabilities in recent years has significantly increased the versatility of Unmanned Aerial Vehicles. Drones nowadays come in various configurations, including fixed-wing, rotary-wing, and hybrid designs, catering for a wide range of purposes such as recreational activities, agriculture, sports competitions, military operations, and civil and military monitoring. Multirotor drones are accessible due to their low cost and ease of use, and as a result, they are currently proliferating. Taking advantage of this efficiency and popularity, and using a monitoring quadcopter, this dissertation focuses on the development of a simulation in which a drone can be controlled by a basic algorithm in Python. This algorithm is responsible for sending commands to the drone, allowing it to autonomously follow a forest fire front. The process of creating the simulation involved several stages. Firstly, the virtual drone was designed in computer aided design (CAD), inspired by a real drone model. Then, the drone's script was adapted from an existing drone, enabling it to function within the simulation environment. An autopilot system was implemented to provide autonomous control to the virtual drone, while a robot configuration program was used to characterize its behavior. Additionally, a virtual environment, based on the aerodynamics and propulsion laboratory of the Department of Aerospace Sciences at University of Beira Interior (UBI), was created to provide a scenario for drone operation. The successful implementation of a quadcopter drone simulation in the Gazebo simulator focuses primarily on its application in monitoring forest fires. Soon, this project involves testing the developed algorithm and simulation on a real drone within the confines of the laboratory.O avanço das capacidades aeronáuticas e tecnológicas nos últimos anos tem aumentado significativamente a versatilidade dos Veículos Aéreos Não Tripulados. Os drones atualmente possuem várias configurações, incluindo asas fixas, asas rotativas e designs híbridos, atendendo a uma ampla gama de propósitos, como atividades recreativas, agricultura, competições desportivas e monitoramento civil e militar. Os drones multirotores são acessíveis devido ao seu baixo custo e facilidade de uso e como consequência proliferam atualmente. Aproveitando esta eficácia e popularidade e utilizando um quadricóptero de monitorização, esta dissertação concentra-se no desenvolvimento de uma simulação na qual um drone pode ser controlado por um algoritmo básico em Python. Esse algoritmo é responsável por enviar comandos ao drone, permitindo que ele siga autonomamente uma frente de fogo florestal. O processo de criação da simulação envolveu várias etapas. Primeiramente, o drone virtual foi projetado em design auxiliado por computador (DAC), inspirado num modelo de drone real. Em seguida, o "script" do drone foi adaptado de um drone existente, permitindo que ele funcione dentro do ambiente de simulação. Um sistema de piloto automático foi implementado para fornecer controlo autónomo ao drone virtual, enquanto um programa de configuração de robôs foi utilizado para caracterizar o seu comportamento. Além disso, um ambiente virtual, baseado no laboratório de aerodinâmica e propulsão do Departamento de Ciências Aeroespaciais da Universidade da Beira Interior (UBI), foi criado para fornecer um cenário para a operação do drone. A implementação bem-sucedida da simulação de um drone quadricóptero no simulador Gazebo tem como principal foco a sua aplicação na monitorização de incêndios florestais. Num futuro próximo este projeto envolve testar o algoritmo e a simulação desenvolvidos num drone real dentro dos limites do laboratório

    Anderson localization on the Falicov-Kimball model with Coulomb disorder

    Full text link
    The role of Coulomb disorder is analysed in the Anderson-Falicov-Kimball model. Phase diagrams of correlated and disordered electron systems are calculated within dynamical mean-field theory applied to the Bethe lattice, in which metal-insulator transitions led by structural and Coulomb disorders and correlation can be identified. Metallic, Mott insulator, and Anderson insulator phases, as well as the crossover between them are studied in this perspective. We show that Coulomb disorder has a relevant role in the phase-transition behavior as the system is led towards the insulator regime

    Financial reporting about provisions: evidence from Portuguese listed companies

    Get PDF
    A Work Project, presented as part of the requirements for the Award of a Masters Degree in Finance from the NOVA – School of Business and EconomicsThis project provides evidence about the practices of financial reporting regarding provisions namely presentation, recognition, measurement and disclosure in the consolidated annual reports in 2010 and 2009 of Portuguese non-financial companies listed in the Euronext Lisbon. Moreover it updates the findings of previous literature, analyzes the compliance with IAS 37 and identifies its main issues. The findings suggest that there exists room for improvement of provisions reporting in Portugal, as requirements are in some cases not followed in full and there is unclear information, so the research recommends to regulators, preparers and users in order to address those issues
    • …
    corecore