20,366 research outputs found

    A Framework for Evaluating Model-Driven Self-adaptive Software Systems

    Get PDF
    In the last few years, Model Driven Development (MDD), Component-based Software Development (CBSD), and context-oriented software have become interesting alternatives for the design and construction of self-adaptive software systems. In general, the ultimate goal of these technologies is to be able to reduce development costs and effort, while improving the modularity, flexibility, adaptability, and reliability of software systems. An analysis of these technologies shows them all to include the principle of the separation of concerns, and their further integration is a key factor to obtaining high-quality and self-adaptable software systems. Each technology identifies different concerns and deals with them separately in order to specify the design of the self-adaptive applications, and, at the same time, support software with adaptability and context-awareness. This research studies the development methodologies that employ the principles of model-driven development in building self-adaptive software systems. To this aim, this article proposes an evaluation framework for analysing and evaluating the features of model-driven approaches and their ability to support software with self-adaptability and dependability in highly dynamic contextual environment. Such evaluation framework can facilitate the software developers on selecting a development methodology that suits their software requirements and reduces the development effort of building self-adaptive software systems. This study highlights the major drawbacks of the propped model-driven approaches in the related works, and emphasise on considering the volatile aspects of self-adaptive software in the analysis, design and implementation phases of the development methodologies. In addition, we argue that the development methodologies should leave the selection of modelling languages and modelling tools to the software developers.Comment: model-driven architecture, COP, AOP, component composition, self-adaptive application, context oriented software developmen

    On participatory service provision at the network edge with community home gateways

    Get PDF
    Edge computing is considered as a technology to enable new types of services which operate at the network edge. There are important use cases in ambient intelligence and the Internet of Things (IoT) for edge computing driven by huge business potentials. Most of today's edge computing platforms, however, consist of proprietary gateways, which are either closed or fairly restricted to deploy any third-party services. In this paper we discuss a participatory edge computing system running on home gateways to serve as an open environment to deploy local services. We present first motivating use cases and review existing approaches and design considerations for the proposed system. Then we show our platform which materializes the principles of an open and participatory edge environment, to lower the entry barriers for service deployment at the network edge. By using containers, our platform can flexibly enable third-party services, and may serve as an infrastructure to support several application domains of ambient intelligence.Peer ReviewedPostprint (author's final draft
    • …
    corecore