Software Development for Mobile Devices, Wearables, and the Internet-of-Things

Permanent URI for this collection

Browse

Recent Submissions

Now showing 1 - 7 of 7
  • Item
    Progressive Web Apps: the Definite Approach to Cross-Platform Development?
    (2018-01-03) Majchrzak, Tim A.; Biørn-Hansen, Andreas; Grønli, Tor-Morten
    Although development practices for apps have matured, cross-platform development remains a prominent topic. Typically, apps should always support both Android and iOS devices. They ought to run smoothly on various hardware, and be compatible with a host of platform versions. Additionally, device categories beyond smartphone and tablets have emerged, which makes multi-platform support even trickier. Truly developing an app once and serving the multitude of possible targets remains an issue despite having cross-platform frameworks that are acknowledged by practice and research. The technology unifier remains to be found, but Progressive Web Apps (PWA) might be a step towards it. In this paper, we analyse the foundations of PWAs in cross-platform development and scrutinize the status quo of current possibilities. Based on our observations, we investigate unified development, and discuss open questions. We seek to stimulate interest and narrow the immense gap that has arisen since industry started to embrace PWAs.
  • Item
    Evaluating a Graphical Model-Driven Approach to Codeless Business App Development
    (2018-01-03) Rieger, Christoph
    Despite the growing interest in mobile app development, the creation of apps still follows traditional software development practices. Business apps are used by non-technical users in everyday work routines. However, their development is exclusively performed by software developers that need to centrally collect requirements and domain knowledge. Recent advances such as textual domain-specific languages (DSL) for cross-platform app generation reduce development efforts, but still focus on technical users. To alleviate these problems, the Münster App Modeling Language (MAML) is proposed as novel graphical DSL for specifying business apps. For each task to be accomplished within the app, the abstract process flows are modelled together with the respective data elements and view specifications in a combined model. Consequently, also non-technical users can express their domain knowledge without dealing with software engineering specifics. In contrast to existing process modelling notations, the MAML framework then allows for a codeless generation of apps for multiple platforms through model transformations and code generators. In order to automatically generate apps, the notation has to balance technical specificity and graphical simplicity. To assess the comprehensibility and usability of MAML's DSL, a qualitative usability evaluation was performed with software developers, process modellers, and domain experts.
  • Item
    Bridging the Gap: Investigating Device-Feature Exposure in Cross-Platform Development
    (2018-01-03) Biørn-Hansen, Andreas; Ghinea, Gheorghita
    By traversing academia and developer communities, two predominant approaches to cross-platform mobile development have been identified, specifically Hybrid and Interpreted. Previous research has established the use and integration of platform- and device-specific features to be core requirements for cross-platform frameworks. In this study we assess and discuss how the Hybrid and Interpreted approaches facilitate the use of native device features from within a JavaScript context, and how custom communication bridges are both developed and integrated. Our research motivation lies in data from an industry survey, stating that developers perceive device communication as a real pain-point. While both approaches exist to ease development of mobile apps, they are fundamentally different at a technical level. The article takes a technical approach, drawing evaluations and discussions from two app implementations. Our findings indicate that implementation and development of communication bridges are non-complex tasks, and that execution-time performance varies greatly.
  • Item
    Energy-Aware Scheduling of Conditional Task Graphs on NoC-Based MPSoCs
    (2018-01-03) Tariq, Umair Ullah; Wu, Hui; Abd Ishak, Suhaimi
    We investigate the problem of scheduling a set of tasks with individual deadlines and conditional precedence constraints on a heterogeneous Network on Chip (NoC)-based Multi-Processor System-on-Chip (MPSoC) such that the total expected energy consumption of all the tasks is minimized, and propose a novel approach. Our approach consists of a scheduling heuristic for constructing a single unified schedule for all the tasks and assigning a frequency to each task and each communication assuming continuous frequencies, an Integer Linear Programming (ILP)-based algorithm and a polynomial time heuristic for assigning discrete frequencies and voltages to tasks and communications. We have performed experiments on 16 synthetic and 4 real-world benchmarks. The experimental results show that compared to the state-of-the-art approach, our approach using the ILP-based algorithm and our approach using the polynomial-time heuristic achieve average improvements of 31% and 20%, respectively, in terms of energy reduction.
  • Item
    A Language-based Approach for Interoperability of IoT Platforms
    (2018-01-03) Gabbrielli, Maurizio; Giallorenzo, Saverio; Lanese, Ivan; Zingaro, Stefano Pio
    The Internet of Things (IoT) promotes the communication among heterogeneous entities, from small sensors to Cloud systems. However, this is realized using a wide range of communication media and data protocols, usually incompatible with each other. Thus, IoT systems tend to grow as homogeneous isolated platforms, which hardly interact. To achieve a higher degree of interoperability among disparate IoT platforms, we propose a language-based approach for communication technology integration. We build on the Jolie programming language, which allows programmers to easily make the same logic work over disparate communication stacks in a declarative, dynamic way. Jolie currently supports the main technologies from Service-Oriented Computing, such as TCP/IP, Bluetooth, and RMI at transport level, and HTTP and SOAP at application level. As technical result, we integrate in Jolie the two most adopted protocols for IoT communication, i.e., CoAP and MQTT. In this paper, we report our experience and we present high-level concepts valuable both for the general implementation of interoperable systems and for the development of other language-based solutions.
  • Item
    Metamorphic Testing of Navigation Software: A Pilot Study with Google Maps
    (2018-01-03) Brown, Joshua; Zhou, Zhi Quan; Chow, Yang-Wai
    Millions of people use navigation software every day to commute and travel. In addition, many systems rely upon the correctness of navigation software to function, ranging from directions applications to self-driving machinery. Navigation software is difficult to test because it is hard or very expensive to evaluate its output. This difficulty is generally known as the oracle problem, a fundamental challenge in software testing. In this study, we propose a metamorphic testing strategy to alleviate the oracle problem in testing navigation software, and conduct a case study by testing the Google Maps mobile app, its web service API, and its graphical user interface. The results show that our strategy is effective with the detection of several real-life bugs in Google Maps. This study is the first work on automated testing of navigation software with the detection of real-life bugs.