1,236 research outputs found

    A Middleware Framework for Constraint-Based Deployment and Autonomic Management of Distributed Applications

    Get PDF
    We propose a middleware framework for deployment and subsequent autonomic management of component-based distributed applications. An initial deployment goal is specified using a declarative constraint language, expressing constraints over aspects such as component-host mappings and component interconnection topology. A constraint solver is used to find a configuration that satisfies the goal, and the configuration is deployed automatically. The deployed application is instrumented to allow subsequent autonomic management. If, during execution, the manager detects that the original goal is no longer being met, the satisfy/deploy process can be repeated automatically in order to generate a revised deployment that does meet the goal.Comment: Submitted to Middleware 0

    A Case Study on Formal Verification of Self-Adaptive Behaviors in a Decentralized System

    Full text link
    Self-adaptation is a promising approach to manage the complexity of modern software systems. A self-adaptive system is able to adapt autonomously to internal dynamics and changing conditions in the environment to achieve particular quality goals. Our particular interest is in decentralized self-adaptive systems, in which central control of adaptation is not an option. One important challenge in self-adaptive systems, in particular those with decentralized control of adaptation, is to provide guarantees about the intended runtime qualities. In this paper, we present a case study in which we use model checking to verify behavioral properties of a decentralized self-adaptive system. Concretely, we contribute with a formalized architecture model of a decentralized traffic monitoring system and prove a number of self-adaptation properties for flexibility and robustness. To model the main processes in the system we use timed automata, and for the specification of the required properties we use timed computation tree logic. We use the Uppaal tool to specify the system and verify the flexibility and robustness properties.Comment: In Proceedings FOCLASA 2012, arXiv:1208.432

    On autonomic platform-as-a-service: characterisation and conceptual model

    Get PDF
    In this position paper, we envision a Platform-as-a-Service conceptual and architectural solution for large-scale and data intensive applications. Our architectural approach is based on autonomic principles, therefore, its ultimate goal is to reduce human intervention, the cost, and the perceived complexity by enabling the autonomic platform to manage such applications itself in accordance with highlevel policies. Such policies allow the platform to (i) interpret the application specifications; (ii) to map the specifications onto the target computing infrastructure, so that the applications are executed and their Quality of Service (QoS), as specified in their SLA, enforced; and, most importantly, (iii) to adapt automatically such previously established mappings when unexpected behaviours violate the expected. Such adaptations may involve modifications in the arrangement of the computational infrastructure, i.e. by re-designing a different communication network topology that dictates how computational resources interact, or even the live-migration to a different computational infrastructure. The ultimate goal of these challenges is to (de)provision computational machines, storage and networking links and their required topologies in order to supply for the application the virtualised infrastructure that better meets the SLAs. Generic architectural blueprints and principles have been provided for designing and implementing an autonomic computing system.We revisit them in order to provide a customised and specific viewfor PaaS platforms and integrate emerging paradigms such as DevOps for automate deployments, Monitoring as a Service for accurate and large-scale monitoring, or well-known formalisms such as Petri Nets for building performance models

    Autonomic Computing

    Get PDF
    Autonomic computing (AC) has as its vision the creation of self-managing systems to address today’s con-cerns of complexity and total cost of ownership while meeting tomorrow’s needs for pervasive and ubiquitous computation and communication. This paper reports on the latest auto-nomic systems research and technologies to influence the industry; it looks behind AC, summarising what it is, the current state-of-the-art research, related work and initiatives, highlights research and technology transfer issues and concludes with further and recommended reading

    Towards Bridging IoT and Cloud Services: Proposing Smartphones as Mobile and Autonomic Service Gateways

    Get PDF
    Computing is currently getting at the same time incredibly in the small with sensors/actuators embedded in our every- day objects and also greatly in the large with data and ser- vice clouds accessible anytime, anywhere. This Internet of Things is physically closed to the user but suffers from weak run-time execution environments. Cloud Environments provide powerful data storage and computing power but can not be easily accessed and integrate the final-user context- awareness. We consider smartphones are set to become the universal interface between these two worlds. In this position paper, we propose a middleware approach where smartphones provide service gateways to bridge the gap between IoT services and Cloud services. Since smartphones are mobile gateways, they should be able to (re)configure themself according to their place, things discovered around, and their own resources such battery. Several issues are discussed: collaborative event-based context management, adaptive and opportunistic service deployment and invocation, multi-criteria (user- and performance-oriented) optimization decision algorithm.Comment: Position Pape

    A systematic review of applying modern software engineering techniques to developing robotic systems

    Get PDF
    Robots have become collaborators in our daily life. While robotic systems become more and more complex, the need to engineer their software development grows as well. The traditional approaches used in developing these software systems are reaching their limits; currently used methodologies and tools fall short of addressing the needs of such complex software development. Separating robotics knowledge from shortcycled implementation technologies is essential to foster reuse and maintenance. This paper presents a systematic review (SLR) of the current use of modern software engineering techniques for developing robotic software systems and their actual automation level. The survey was aimed at summarizing existing evidence concerning applying such technologies to the field of robotic systems to identify any gaps in current research to suggest areas for further investigation and provide a background for positioning new research activities.Los robots se han convertido en colaboradores habituales de nuestra vida diaria. Los sistemas robóticos son cada vez más complejos y, como consecuencia, crece la necesidad de aplicar nuevas técnicas ingenieriles a su proceso de desarrollo. Los enfoques tradicionales que se utilizan en el proceso de desarrollo de estos sistemas de software están alcanzando sus límites; las metodologías utilizadas actualmente y las herramientas de soporte no alcanzan para atender las necesidades de estos procesos complejos. Para fomentar la reutilización y el mantenimiento de código es esencial separar el conocimiento estable del dominio de robótica en las tecnologías de implementación, que varían rápidamente. Este artículo presenta una revisión sistemática de la utilización actual de técnicas modernas de ingeniería de software en el desarrollo de sistemas robóticos y su nivel de automatización. El objetivo del estudio es el de resumir la evidencia existente respecto a la aplicación de dichas tecnologías en el campo de los sistemas robóticos para identificar carencias en la investigación actual con el fin de sugerir áreas en futuras propuestas y proporcionar las bases para posicionar adecuadamente nuevas actividades de investigación

    Autonomic Computing: the natural fusion of Soft Computing and Hard Computing

    Get PDF
    Abstract- Autonomic Computing is emerging as a significant new approach in the design of computing systems. Its overall goal is the creation of Self-Managing Systems. In order to achieve this, Hard and So3 Computing are required. The benefits from utilizing Soy Computing include their ability to handle imprecision, uncertainty and partial truth that is inherently present in any complex real world problem accompanied by the practicable benefits of Hard Computing namely the stability of highly predictable solutions and typically low computational burden. This paper motivates the proposition that the successful creation of Autonomic Systems requires a fusion of Soj? Computing and Hard Computing

    A DSL for multi-scale and autonomic software deployment

    Get PDF
    International audienceIn this paper, we present an ongoing work which aims at defining and experimenting a Domain-Specific Language (DSL) dedicated to multi-scale and autonomic software deployment. Autonomic software deployment in open environments is an open issue. There, the topology of target hosts is not always known due either to unforeseen hardware failures or limitations (network links, hosts, etc.) or to device arrival and disappearance. In a previous work, we proposed to describe deployment constraints using a DSL and then to satisfy them using a middleware for autonomic deployment, rather than classically building and executing a deployment plan. As deployment of multi-scale distributed systems demands the expression of specific constraints related to dimensions and scales, it is necessary to think over and define a new Domain-Specific Language. In this paper, we propose a new DSL designed to support the expression of constraints and properties related to multi-scale and autonomic software deployment
    corecore