1,104 research outputs found

    Support for Ad-Hoc applications in ubiquitous computing

    Get PDF
    This thesis presents work within the area of ubiquitous computing, an area based on a vision of computers blending into the background. The work has been done within the EU project PalCom that introduces palpable computing. Palpable computing puts a new perspective on ubiquitous computing, by focusing on human understandability. The thesis goals are to allow for ad-hoc combinations of services and nonpreplanned interaction in ubiquitous computing networks. This is not possible with traditional technologies for network services, which are based on standardization of service interfaces at the domain level. In contrast to those, our approach is based on standardization at a generic level, and on self-describing services. We propose techniques for ad-hoc applications that allow users to inspect and combine services, and to specify their cooperation in assemblies. A key point is that the assembly is external to the services. That makes it possible to adapt to changes in one service, without rewriting the other coordinated services. A framework has been implemented for building services that can be combined into ad-hoc applications, and example scenarios have been tested on top of the framework. A browser tool has been built for discovering services, for interacting with them, and for combining them. Finally, discovery and communication protocols for palpable computing have been developed, that support ad-hoc applications

    End-User Composition of Graphical User Interfaces for PalCom Systems

    Get PDF
    AbstractIn ubiquitous computing, end-user composition allows users to combine multiple single-purpose devices into new, interesting constellations. In PalCom – a ubiquitous middleware – this is achieved without the need to write program code. In this paper we present a solution that in the same way allows users to create Graphical User Interfaces (GUIs) for such systems without coding. The approach is to focus on presenting functionality in a GUI rather than attaching functionality to manually added components. We see this as an inverted way of working with GUI development. The solution was realized in the form of a graphical editor for a PalCom specific User Interface Description Language. The tool produces platform independent GUI descriptions that can be interpreted on any platform. When compared to another common tool, the presented editor exhibited roughly 10x shorter development times. The learning time for new users was also evaluated with positive outcome, and a scalability evaluation showed that the solution can be used to create professional grade GUIs

    ComPOS - a Domain-Specific Language for Composing Internet-of-Things Systems

    Get PDF
    Internet-of-Things (IoT) systems consist of spatially distributed interacting devices. In contrast to desktop applications, IoT systems are always running and need to deal with unresponsive devices and weak connectivity. In this thesis, we propose techniques for simplifying the development of such systems. The work addresses IoT systems organised as reusable services connected by compositions. We propose to program such compositions using stateful reactions that mediate messages. To this end, we have designed a domain-specific language (DSL), called ComPOS. To help systems operate partly in cases of weak connectivity, we propose that ComPOS aborts older reactions when newer messages arrive. We evaluate our DSL in home-automation and e-health scenarios. Understanding IoT systems can be hard, and different analyses can help explain how they work. To support analysis, we propose a conceptual runtime model based on relational reference attribute grammars. We demonstrate the approach by formulating and implementing a Device Dependency Analysis (DDA). The DDA finds sets of devices needed for given parts of the system to work. The ComPOS editor supports live programming to allow development while the system is running. We propose a methodology for live ComPOS programming which divides the development into three, iteratively applied, phases: finding services (explore), composing services (assemble), and abstracting compositions as new services (expose). When developing a DSL, it takes substantial effort to specify the syntax and semantics, to build tools like editors, and to integrate with the environment (in this case the underlying middleware). To reduce the effort needed to experiment with ComPOS, we have created a tool called Jatte. Jatte is a generic projectional editor that developers can tune using attribute grammars. We used Jatte to implement the ComPOS editor

    Pervasive lesion segregation shapes cancer genome evolution

    Get PDF
    Cancers arise through the acquisition of oncogenic mutations and grow through clonal expansion. Here we reveal that most mutagenic DNA lesions are not resolved as mutations within a single cell-cycle. Instead, DNA lesions segregate unrepaired into daughter cells for multiple cell generations, resulting in the chromosome-scale phasing of subsequent mutations. We characterise this process in mutagen-induced mouse liver tumours and show that DNA replication across persisting lesions can produce multiple alternative alleles in successive cell divisions, thereby generating both multi-allelic and combinatorial genetic diversity. The phasing of lesions enables the accurate measurement of strand biased repair processes, quantification of oncogenic selection, and fine mapping of sister chromatid exchange events. Finally, we demonstrate that lesion segregation is a unifying property of exogenous mutagens, including UV light and chemotherapy agents in human cells and tumours, which has profound implications for the evolution and adaptation of cancer genomes.This work was supported by: Cancer Research UK (20412, 22398), the European Research Council (615584, 682398), the Wellcome Trust (WT108749/Z/15/Z, WT106563/Z/14/A, WT202878/B/16/Z), the European Molecular Biology Laboratory, the MRC Human Genetics Unit core funding programme grants (MC_UU_00007/11, MC_UU_00007/16), and the ERDF/Spanish Ministry of Science, Innovation and Universities-Spanish State Research Agency/DamReMap Project (RTI2018-094095-B-I00)

    DĂ©ploiement continue des applications pervasives en milieux dynamiques

    Get PDF
    Driven by the emergence of new computing environments, dynamically evolving software systems makes it impossible for developers to deploy software with human-centric processes. Instead, there is an increasing need for automation tools that continuously deploy software into execution, in order to push updates or adapt existing software regarding contextual and business changes. Existing solutions fall short on providing fault-tolerant, reproducible deployments that would scale on heterogeneous environments. This thesis focuses especially on enabling continuous deployment solutions for dynamic execution platforms, such as would be found in Pervasive Computing environments. It adopts an approach based on a transactional, idempotent process for coordinating deployment actions. The thesis proposes a set of deployment tools, including a deployment manager capable of conducting deployments and continuously adapting applications according to the changes in the current state of the target platform. The implementation of these tools, Rondo, also allows developers and administrators to code application deployments thanks to a deployment descriptor DSL. Using the implementation of Rondo, the propositions of this thesis are validated in several industrial and academic projects by provisioning frameworks as well as on installing application and continuous reconfigurations.L'Ă©mergence des nouveaux types d'environnements informatiques amplifie le besoin pour des systĂšmes logiciels d'ĂȘtre capables d'Ă©voluer dynamiquement. Cependant, ces systĂšmes rendent trĂšs difficile le dĂ©ploiement de logiciels en utilisant des processus humains. Il y a donc un besoin croissant d'outils d'automatisation qui permettent de dĂ©ployer et reconfigurer des systĂšmes logiciels sans en interrompre l'exĂ©cution. Le processus de dĂ©ploiement continu et automatisĂ© permet de mettre Ă  jour ou d'adapter un logiciel en exĂ©cution en fonction des changements contextuels et des exigences opĂ©rationnelles. Les solutions existantes ne permettent pas des dĂ©ploiements reproductibles et tolĂ©rant aux pannes dans des environnements fluctuants, et donc requĂ©rant une adaptation continue. Cette thĂšse se concentre en particulier sur des solutions de dĂ©ploiement continu pour les plates-formes d'exĂ©cution dynamiques, tels que celle utilisĂ© dans les environnements ubiquitaires. Elle adopte une approche basĂ©e sur un processus transactionnel et idempotent pour coordonner les actions de dĂ©ploiement. La thĂšse propose, Ă©galement, un ensemble d'outils, y compris un gestionnaire de dĂ©ploiement capable de mener des dĂ©ploiements discret, mais Ă©galement d'adapter les applications continuellement en fonction des changements contextuels. La mise en Ɠuvre de ces outils, permet notamment aux dĂ©veloppeurs et aux administrateurs de dĂ©velopper des dĂ©ploiements d'applications grĂące Ă  un langage spĂ©cifique suivant les principes de l‘infrastructure-as-code. En utilisant l'implantation de Rondo, les propositions de cette thĂšse sont validĂ©es dans plusieurs projets industriels et acadĂ©miques Ă  la fois pour l'administration de plates-formes ubiquitaires ainsi que pour l'installation d'applications et leurs reconfigurations continues

    A Generative Middleware for Heterogeneous and Distributed Services

    Get PDF
    International audienceModern software-based services increasingly rely on a highly heterogeneous and dynamic interconnection of platforms and devices offering a wide diversity of capabilities ranging from cloud server with virtually unlimited resources down to micro-controllers with only a few KB of RAM. This paper motivates the fact that no single software framework or software engineering approach is suited to span across this range, and proposes an approach which leverages the latest advances in model-driven engineering, generative techniques and models@runtime in order to tame this tremendous heterogeneity. This paper presents a set of languages dedicated to the integration, deployment and continuous operation of existing libraries and components already available and implemented in various languages. The proposed approach is validated on an industrial case study in the eHealth domain, implemented by an industrial partner that provide an qualitative evaluation of the approach. This case study involves a large number of sensors, devices and gateways based on Rasperry Pi, Intel Edison and Arduino

    Exploration of Pervasive Games in Relation to Mobile Technologies

    Get PDF
    The project is an exploration of Pervasive Games in relation to mobile technologies, with the intention of developing a pervasive game engine. Pervasive Games are interactive games where the participants drive the game play by playing the game in both the real world and a virtual environment. This is an area of gaming that has rapidly evolved over the last few years. The initial research involved establishing several key elements common to existing pervasive applications, defining real world / virtual world considerations for game play (both positive and negative) and identifying the technical requirements needed to implement play elements on a mobile device. After comparing several platforms the Windows 7 platform was selected for development purposes. The requirements for establishing a working development platform (with delivery mechanism) was investigated and a working environment set-up. A pervasive games engine was then developed in the format of 67 code stubs (coding solutions) that allow the implementation of solutions to gaming elements required in the development of pervasive applications. Two new helper classes were in addition developed containing solutions to topics related to run-time data storage (StorageUtils.cs) and generic gaming tasks (GameCode.cs). A pervasive game was implemented to test a cross section of functionality in the engine. The basic principle behind the game was to overlay various layers video, backgrounds, sprite and text, to build up an immersive pervasive environment with a player in the centre of the game imagery, game domain and real world. The intention of the game was to see how the pervasive game experience could be reflected in the game mechanics and pervasive interaction, while utilising the engine functionality
    • 

    corecore