1,601 research outputs found

    Runtime Verification of Self-Adaptive Systems with Changing Requirements

    Full text link
    To accurately make adaptation decisions, a self-adaptive system needs precise means to analyze itself at runtime. To this end, runtime verification can be used in the feedback loop to check that the managed system satisfies its requirements formalized as temporal-logic properties. These requirements, however, may change due to system evolution or uncertainty in the environment, managed system, and requirements themselves. Thus, the properties under investigation by the runtime verification have to be dynamically adapted to represent the changing requirements while preserving the knowledge about requirements satisfaction gathered thus far, all with minimal latency. To address this need, we present a runtime verification approach for self-adaptive systems with changing requirements. Our approach uses property specification patterns to automatically obtain automata with precise semantics that are the basis for runtime verification. The automata can be safely adapted during runtime verification while preserving intermediate verification results to seamlessly reflect requirement changes and enable continuous verification. We evaluate our approach on an Arduino prototype of the Body Sensor Network and the Timescales benchmark. Results show that our approach is over five times faster than the typical approach of redeploying and restarting runtime monitors to reflect requirements changes, while improving the system's trustworthiness by avoiding interruptions of verification.Comment: 18th Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2023

    Software engineering for self-adaptive systems:research challenges in the provision of assurances

    Get PDF
    The important concern for modern software systems is to become more cost-effective, while being versatile, flexible, resilient, dependable, energy-efficient, customisable, configurable and self-optimising when reacting to run-time changes that may occur within the system itself, its environment or requirements. One of the most promising approaches to achieving such properties is to equip software systems with self-managing capabilities using self-adaptation mechanisms. Despite recent advances in this area, one key aspect of self-adaptive systems that remains to be tackled in depth is the provision of assurances, i.e., the collection, analysis and synthesis of evidence that the system satisfies its stated functional and non-functional requirements during its operation in the presence of self-adaptation. The provision of assurances for self-adaptive systems is challenging since run-time changes introduce a high degree of uncertainty. This paper on research challenges complements previous roadmap papers on software engineering for self-adaptive systems covering a different set of topics, which are related to assurances, namely, perpetual assurances, composition and decomposition of assurances, and assurances obtained from control theory. This research challenges paper is one of the many results of the Dagstuhl Seminar 13511 on Software Engineering for Self-Adaptive Systems: Assurances which took place in December 2013

    Market-awareness in service-based systems

    Get PDF
    Service-based systems are applications built by composing pre-existing services. During design time and according to the specifications, a set of services is selected. Both, service providers and consumers exist in a service market that is constantly changing. Service providers continuously change their quality of services (QoS), and service consumers can update their specifications according to what the market is offering. Therefore, during runtime, the services are periodically and manually checked to verify if they still satisfy the specifications. Unfortunately, humans are overwhelmed with the degree of changes exhibited by the service market. Consequently, verification of the compliance specification and execution of the corresponding adaptations when deviations are detected cannot be carried out in a manual fashion. In this work, we propose a framework to enable online awareness of changes in the service market in both consumers and providers by representing them as active software agents. At runtime, consumer agents concretize QoS specifications according to the available market knowledge. Services agents are collectively aware of themselves and of the consumers' requests. Moreover, they can create and maintain virtual organizations to react actively to demands that come from the market. In this paper we show preliminary results that allow us to conclude that the creation and adaptation of service-based systems can be carried out by a self-organized service market system
    corecore