5,139 research outputs found

    Planning as Optimization: Dynamically Discovering Optimal Configurations for Runtime Situations

    Full text link
    The large number of possible configurations of modern software-based systems, combined with the large number of possible environmental situations of such systems, prohibits enumerating all adaptation options at design time and necessitates planning at run time to dynamically identify an appropriate configuration for a situation. While numerous planning techniques exist, they typically assume a detailed state-based model of the system and that the situations that warrant adaptations are known. Both of these assumptions can be violated in complex, real-world systems. As a result, adaptation planning must rely on simple models that capture what can be changed (input parameters) and observed in the system and environment (output and context parameters). We therefore propose planning as optimization: the use of optimization strategies to discover optimal system configurations at runtime for each distinct situation that is also dynamically identified at runtime. We apply our approach to CrowdNav, an open-source traffic routing system with the characteristics of a real-world system. We identify situations via clustering and conduct an empirical study that compares Bayesian optimization and two types of evolutionary optimization (NSGA-II and novelty search) in CrowdNav

    UNDERSEA : An Exemplar for Engineering Self-Adaptive Unmanned Underwater Vehicles

    Get PDF
    Recent advances in embedded systems and underwater communications raised the autonomy levels in unmanned underwater vehicles (UUVs) from human-driven and scripted to adaptive and self-managing. UUVs can execute longer and more challenging missions, and include functionality that enables adaptation to unexpected oceanic or vehicle changes. As such, the simulated UUV exemplar UNDERSEA introduced in our paper facilitates the development, evaluation and comparison of self-adaptation solutions in a new and important application domain. UNDERSEA comes with predefined oceanic surveillance UUV missions, adaptation scenarios, and a reference controller implementation, all of which can easily be extended or replaced

    Engineering Trustworthy Self-Adaptive Software with Dynamic Assurance Cases

    Get PDF
    Building on concepts drawn from control theory, self-adaptive software handles environmental and internal uncertainties by dynamically adjusting its architecture and parameters in response to events such as workload changes and component failures. Self-adaptive software is increasingly expected to meet strict functional and non-functional requirements in applications from areas as diverse as manufacturing, healthcare and finance. To address this need, we introduce a methodology for the systematic ENgineering of TRUstworthy Self-adaptive sofTware (ENTRUST). ENTRUST uses a combination of (1) design-time and runtime modelling and verification, and (2) industry-adopted assurance processes to develop trustworthy self-adaptive software and assurance cases arguing the suitability of the software for its intended application. To evaluate the effectiveness of our methodology, we present a tool-supported instance of ENTRUST and its use to develop proof-of-concept self-adaptive software for embedded and service-based systems from the oceanic monitoring and e-finance domains, respectively. The experimental results show that ENTRUST can be used to engineer self-adaptive software systems in different application domains and to generate dynamic assurance cases for these systems

    Improving the Decision-Making Process of Self-Adaptive Systems by Accounting for Tactic Volatility

    Full text link
    When self-adaptive systems encounter changes within their surrounding environments, they enact tactics to perform necessary adaptations. For example, a self-adaptive cloud-based system may have a tactic that initiates additional computing resources when response time thresholds are surpassed, or there may be a tactic to activate a specific security measure when an intrusion is detected. In real-world environments, these tactics frequently experience tactic volatility which is variable behavior during the execution of the tactic. Unfortunately, current self-adaptive approaches do not account for tactic volatility in their decision-making processes, and merely assume that tactics do not experience volatility. This limitation creates uncertainty in the decision-making process and may adversely impact the system's ability to effectively and efficiently adapt. Additionally, many processes do not properly account for volatility that may effect the system's Service Level Agreement (SLA). This can limit the system's ability to act proactively, especially when utilizing tactics that contain latency. To address the challenge of sufficiently accounting for tactic volatility, we propose a Tactic Volatility Aware (TVA) solution. Using Multiple Regression Analysis (MRA), TVA enables self-adaptive systems to accurately estimate the cost and time required to execute tactics. TVA also utilizes Autoregressive Integrated Moving Average (ARIMA) for time series forecasting, allowing the system to proactively maintain specifications

    Adaptive and flexible approaches for water resources planning under uncertainty

    Get PDF
    Planning for water supply infrastructure includes identifying interventions that cost-effectively secure an acceptably reliable water supply. In investigating a range of feasible interventions, water planners are challenged by two main factors. First, uncertainty is inherent in the predictions of future demands and supplies due for example to hydrological variability and climate change. This makes fixed invest-ment plans brittle as they are likely to fail if future conditions turn out to be different than assumed. Therefore, adaptability to changing future conditions is increasingly viewed as a valuable strategy of water planning. However, there is a lack of approaches that explicitly seek to enhance the adaptivity of water resource system developments. Second, water resource system development typically af¬fects multiple societal groups with at times competing interests. The diversity of objectives in water resource systems mean that considering trade-offs between competing objectives implied by the highest performing interventions is useful. Nonetheless, few multi-objective applications have aimed at adaptive scheduling of interventions in long-term water resource planning. This thesis introduces two novel decision-making approaches that address these two challenges in turn. Both approaches apply principles of real option analysis via two different formulations (1) a multistage stochastic mathematical programme and (2) a multi-objective evolutionary algorithm coupled to a river basin simula¬tion. In both cases, a generalised scenario tree construction algorithm is used to efficiently approximate the probabilistic uncertainty. The tree consists of possible investment paths with multiple decision stages to allow for frequent and regu¬lar modifications to the investment strategies. Novel decision-relevant metrics of adaptivity and flexibility are introduced, evolving their definition in the context of water resources planning. The approaches are applied to London’s urban water resources planning problem. Results from this thesis demonstrate that there is value in adopting adaptive and flexible plans suggesting that flexibility in activating, delaying and replacing en-gineering projects should be considered in water supply intervention scheduling. To evaluate the implementation of Real Option Analysis (ROA), the use of two metrics is proposed: the Value of the Stochastic Solution (VSS) and the Expected Value of Perfect Information (EVPI) that quantify the value of adopting adaptive and flexible plans respectively. The investment decisions results are a mixture of ‘long-term’ and ‘contingency schemes’ that are optimally chosen considering different futures. The VSS shows that by considering uncertainty, adaptive invest-ment decisions avoid £100 million NPV cost, 15% of the total NPV. The EVPI demonstrates that optimal delay and early decisions have £50 million NPV, 6% of total NPV. Additionally, a comparison study of alternative optimisation approaches to water supply capacity expansion problem demonstrate that there is benefit in waiting to allow for improvements around supply uncertainty in the case of London’s urban water resources planning problem. The results from the case study suggest that the proposed adaptive planning approach achieves substantial improvement in performance compared to alternative optimisation approaches with fixed plans saving more than £377 million, reducing NPV cost by 35%. Using a multi-objective multi-stage real-options formulation of the water planning problem, the trade-offs between a long-term water management plan’s resilience and its financial costs under supply and demand uncertainty are explored. The set of trade-off solutions consist of different investment plans that are adaptive to demand growth, approximated by a scenario tree, while robust to the effects of climate change supply uncertainty, represented by an ensemble of supply (hydro-logical) scenarios. Results show that, by being adaptive to demand uncertainty, the total NPV of the most resilient plans is lowered by 58.7%. The value in de¬laying investments by waiting for more accurate supply and demand estimates is 28.9% of total NPV. It should be noted that the results from the case study are indicative and should not be considered prescriptively as they are based in a simplified representation of London’s water supply system and should be further tested with the more detailed simulation model employed by the water utility which includes the latest proposed option designs, includes requirements to supply neighbouring water utilities, and considers more objectives

    TVA: A Requirements Driven, Machine-Learning Approach for Addressing Tactic Volatility in Self-Adaptive Systems

    Get PDF
    From self-driving cars to self-adaptive websites, the world is increasingly becoming more reliant on autonomous systems. Similar to many other domains, the system\u27s behavior is often determined by its requirements. For example, a self-adaptive web service is likely to have some maximum value that response time should not surpass. To maintain this requirement, the system uses tactics, which may include activating additional computing resources. In real-world environments, tactics will frequently experience volatility, known as tactic volatility. This can include unstable time required to execute the tactic or frequent fluctuations in the cost to execute the tactic. Unfortunately, current self-adaptive approaches do not account for tactic volatility in their decision-making processes, and merely assume that tactics have static attributes. To address the limitations in current processes, we propose a Tactic Volatility Aware (TVA) solution. Our approach focuses on providing a volatility aware solution that enables the system to properly maintain requirements. Specifically, TVA utilizes a Autoregressive Integrated Moving Average Model (ARIMA) to estimate potential future values for requirements, while also using a Multiple Regression Analysis (MRA) model to make predictions of tactic latency and tactic cost at runtime. This enables the system to both better estimate the true behavior of its tactics and it allows the system to properly maintain its requirements. Using data containing real-world volatility, we demonstrate the effectiveness of using TVA with both statistical analysis methods and self-adaptive experiments. In this work, we demonstrate (I) The negative impact of not accounting for tactic volatility (II) The benefits of a ARIMA-modeling approach in monitoring system requirements (III) The effectiveness of MRA in predicting tactic volatility (IV) The overall benefits of TVA to the self-adaptive process. This work also presents the first known publicly available dataset of real-world tactic volatility in terms of both cost and latency

    Feature-Model-Guided Online Learning for Self-Adaptive Systems

    Full text link
    A self-adaptive system can modify its own structure and behavior at runtime based on its perception of the environment, of itself and of its requirements. To develop a self-adaptive system, software developers codify knowledge about the system and its environment, as well as how adaptation actions impact on the system. However, the codified knowledge may be insufficient due to design time uncertainty, and thus a self-adaptive system may execute adaptation actions that do not have the desired effect. Online learning is an emerging approach to address design time uncertainty by employing machine learning at runtime. Online learning accumulates knowledge at runtime by, for instance, exploring not-yet executed adaptation actions. We address two specific problems with respect to online learning for self-adaptive systems. First, the number of possible adaptation actions can be very large. Existing online learning techniques randomly explore the possible adaptation actions, but this can lead to slow convergence of the learning process. Second, the possible adaptation actions can change as a result of system evolution. Existing online learning techniques are unaware of these changes and thus do not explore new adaptation actions, but explore adaptation actions that are no longer valid. We propose using feature models to give structure to the set of adaptation actions and thereby guide the exploration process during online learning. Experimental results involving four real-world systems suggest that considering the hierarchical structure of feature models may speed up convergence by 7.2% on average. Considering the differences between feature models before and after an evolution step may speed up convergence by 64.6% on average. [...

    Architectural stability of self-adaptive software systems

    Get PDF
    This thesis studies the notion of stability in software engineering with the aim of understanding its dimensions, facets and aspects, as well as characterising it. The thesis further investigates the aspect of behavioural stability at the architectural level, as a property concerned with the architecture's capability in maintaining the achievement of expected quality of service and accommodating runtime changes, in order to delay the architecture drifting and phasing-out as a consequence of the continuous unsuccessful provision of quality requirements. The research aims to provide a systematic and methodological support for analysing, modelling, designing and evaluating architectural stability. The novelty of this research is the consideration of stability during runtime operation, by focusing on the stable provision of quality of service without violations. As the runtime dimension is associated with adaptations, the research investigates stability in the context of self-adaptive software architectures, where runtime stability is challenged by the quality of adaptation, which in turn affects the quality of service. The research evaluation focuses on the effectiveness, scale and accuracy in handling runtime dynamics, using the self-adaptive cloud architectures
    corecore