Software engineering for self-adaptive systems theory

These approaches take inspiration from machine learning and control theory, constructing software that monitors and modifies its own behavior to meet goals. The paper is partitioned into four parts, one for each of the identified essential views of selfadaptation. Marin litoiu 1, mary shaw 2, gabriel amtura 3, norha m. Selfadaptive system an overview sciencedirect topics. Uncertainty in selfadaptive software systems 5 this model, the selfadaptive software system can be broken down into two parts. Exemplars software engineering for selfadaptive systems. Dagstuhl seminars software engineering for selfadaptive. Lncs 7475 software engineering for selfadaptive systems. A framework for evaluating qualitydriven selfadaptive. Symposium on software engineering for adaptive and selfmanaging systems seams 2012, pages 1298, 6 2012.

Control theory for software engineering antonio filieri imperial college london. It was established in 2006 at the international conference on software engineering icse. In proceedings of the international symposium on empirical software engineering and measurement. Highassurance systems modeldriven engineering autonomic self adaptive systems recently, also working in following areas. Automated design of selfadaptive software with controltheoretical formal guarantees. Selfadaptation has been proposed as a viable solution to alleviate the. Automated planning for selfadaptive systems proceedings of the. Recommended steps for thematic synthesis in software engineering. Overview of software engineering and development processes. Abstractthe software engineering community has proposed numerous approaches for making software selfadaptive.

The workshop on software engineering for adaptive and selfmanaging systems seams is an academic conference for exchanging research results and experiences in the areas of autonomic computing, selfmanaging, selfhealing, selfoptimizing, selfconfiguring, and selfadaptive systems theory. This site contains a set of exemplars for selfadaptive systems. A major challenge in engineering selfadaptive systems is to provide assurances engineers can use to be confident that the selfadaptive system will perform as designed. Thus, the investigation of systematic software engineering approaches is necessary, in order to develop selfadaptive systems that may ideally be applied across multiple domains. Ahybridapproach combining control theory and ai for engineering selfadaptive systems. Control theoretical techniques have been successfully adopted as methods for selfadaptive systems design to provide formal guarantees about the effectiveness and robustness of adaptation mechanisms.

Selfadaptation carnegie mellon school of computer science. Our framework is based on a survey of selfadaptive system papers and a set of adaptation properties derived from. Modeldriven engineering of selfadaptive software with eurema. Unfortunately, the latter types of control loops are far more common. Foundational concepts self properties understanding and taming uncertainty runtime models and variability consistent change of systems in. The complexity of current software systems, evolution of their requirements and uncertainty in their environments has led the software engineering community to look for inspiration in diverse related fields e. What can control theory eacth us about assurances in selfadaptive software systems. Antonio filieri, henry hoffmann, and martina maggio. Report from dagstuhl seminar 511 software engineering. Software engineering for selfadaptive systems lecture. Her research and teaching interests include formal methods for software engineering, software development environments, objectoriented analysis and design, embedded systems development, assurance patterns, adaptive.

Software engineering for selfadaptive systems ii pp 2 cite as. A exemplar can be quite generic such as an artifact or rather specific such as a model problem in selfadaptive systems. An outcome of this seminar is the seams 2015 paper software engineering meets control theory openaccess version and its extension control strategies for selfadaptive software systems openaccess version published in acm taas journal in 2017. The baselevel subsystem provides the main functionality of the software i. We are investigating the use of probabilistic model checking and stochastic multiplayer games to provide such assurances. The objective of seams is to bring together researchers and practitioners from diverse areas to investigate, discuss, and examine the fundamental principles, the state of the art, and critical challenges of engineering selfadaptive and selfmanaging systems.

Software engineering for selfadaptive systems ss 2015. Report from dagstuhl seminar 511 software engineering for selfadaptive systems. Cheng is a professor in the department of computer science and engineering at michigan state university. The software engineering community has proposed numerous approaches for making software selfadaptive. This paper complements and extends a previous roadmap on software engineering for selfadaptive systems published in 2009 covering a di. A hybrid approach combining control theory and ai for. Addressing critical challenges of engineering selfadaptive and selfmanaging systems. Nsf science and technology center evolution in action research and instruction areas. Software engineering for selfadaptive systems lecture notes in computer science programming and. Dynamic decision networks for decisionmaking in self. The goal of this roadmap paper is to summarize the stateoftheart and to identify critical challenges for the systematic software engineering of selfadaptive systems.

Software engineering meets control theory abstract. The key features of multiagent systems in the engineering of selfadaptive systems are, specifically, loose coupling, context sensitivity, robustness in response to failure and unexpected events. In 36th international conference on software engineering icse14. This roadmap paper is a result of the dagstuhl seminar 08031 on software engineering for selfadaptive systems, which took place in january 2008. An adaptive system is a set of interacting or interdependent entities, real or abstract, forming an integrated whole that together are able to respond to environmental changes or changes in the interacting parts, in a way analogous to either continuous physiological homeostasis or evolutionary adaptation in biology. These approaches take inspiration from machine learning and control theory, constructing software that monitors and modi. A number of efforts from the software engineering for selfadaptive systems.

Software engineering for adaptive and selfmanaging systems. Software engineering for selfadaptive systems semantic scholar. In this paper we propose a framework for evaluating qualitydriven selfadaptive software systems. International seminar, dagstuhl castle, germany, october 2429, 2010 revised selected and invited papers pp. What can control theory teach us about assurances in self. However, the computational effort to obtain guarantees poses severe constraints when it comes to dynamic adaptation. Software engineering meets control theory proceedings of. Citeseerx document details isaac councill, lee giles, pradeep teregowda. Software engineering for selfadaptive systems lecture notes in computer science programming and software engineering lecture notes in computer science 5525 cheng, betty h. Bayesian decision theory is increasingly applied to support decisionmaking processes under environmental variability and uncertainty.

Software engineering and network systems sens lab digital evolution devolab beacon. Software engineering for selfadaptive systems acm digital library. Modeldriven software engineering of self adaptive systems. Al though control theory provides 60 years of experience and software the necessary flexibility to attain selfadaptability, the proper engineering and re alization. The 15th edition of the international symposium on software engineering for adaptive and selfmanaging systems will be colocated with icse 2020 and will be held in seoul, south korea on may 2526, 2020. Research reports in software engineering and management 2014. Solutions to complement software systems with selfmanaging and selfadaptive capabilities have been proposed by researchers from different areas including software architecture, faulttolerant computing, programming languages, robotics, and run time program analysis and verification. Planning helps the adaptive system to determine an appropriate course of action at run time that seeks to change the systems behavior in response to faults, changing environments and security threats. Selfadaptive software is an exciting new field merging ideas from traditional software engineering and computer systems, with artificial intelligence ai, machine learning ml, control theory, datadriven control, game theory, stochastic processes etc.

However, in the area of software engineering and specifically in the area of selfadaptive systems sass, little progress has. The objective of seams is to bring together researchers and practitioners from academia, industry and government, to investigate, discuss, examine and advance the fundamental principles, the. A research roadmap 15 control engineering has determined that systems with a single control loop are easier to reason about than systems with multiple loops. For each topic, we present an overview, suggest future directions, and focus on selected challenges. Seams 2019 will be colocated with icse 2019 and held in montreal, may 2526, 2019. Software engineering for adaptive and selfmanaging. In order to solve these limitations, in this paper, we propose a hybrid. Recent research has applied control theory to adaptive software systems, ensuring software behaves predictably in dynamic environments for examples see the survey 5.

Automated multiobjective control for selfadaptive software design. Feedback loops represent a key feature of adaptive systems, such as. This paper complements and extends a previous roadmap on software engineering for selfadaptive systems published in 2009 covering a different set of topics, and reflecting in part on the previous paper. Rather than providing a set of distinct approaches for engineering selfadaptive systems that have been developed over time, the waves put complementary aspects of engineering selfadaptive systems in focus that synergistically have contributed to the current body of knowledge in the eld. Furthermore, the evaluation mechanisms of selfadaptive systems may rely on. Researchers from application areas like psychology and biomedicine have applied these techniques successfully. This paper on research challenges complements previous roadmap papers on software engineering for selfadaptive 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.

878 303 1081 373 1246 1098 1359 1170 642 326 849 893 610 1039 994 957 1510 933 896 218 92 479 7 393 943 1303 950 903 1261 569 636 198 316 1441 127 1322 1269 1278 1245 604