Software engineering for self-adaptive systems theory

A number of efforts from the software engineering for selfadaptive systems. Automated multiobjective control for selfadaptive software design. Research reports in software engineering and management 2014. Dynamic decision networks for decisionmaking in self. Recent research has applied control theory to adaptive software systems, ensuring software behaves predictably in dynamic environments for examples see the survey 5. Software engineering for selfadaptive systems ss 2015.

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. Dagstuhl seminars software engineering for selfadaptive. Software engineering for selfadaptive systems lecture. Modeldriven software engineering of self adaptive systems. Software engineering for adaptive and selfmanaging systems. Selfadaptation carnegie mellon school of computer science. 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. Modeldriven software engineering of selfadaptive systems nth graduate school, 28. The baselevel subsystem provides the main functionality of the software i. Furthermore, the evaluation mechanisms of selfadaptive systems may rely on. Symposium on software engineering for adaptive and selfmanaging systems seams 2012, pages 1298, 6 2012.

In order to solve these limitations, in this paper, we propose a hybrid. Addressing critical challenges of engineering selfadaptive and selfmanaging systems. Software engineering for selfadaptive systems lecture notes in computer science programming and software engineering lecture notes in computer science 5525 cheng, betty h. 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. Software engineering meets control theory abstract. Control theory for software engineering antonio filieri imperial college london. The software engineering community has proposed numerous approaches for making software selfadaptive.

Citeseerx software engineering meets control theory. Automated planning for selfadaptive systems proceedings of the. In 36th international conference on software engineering icse14. In this paper we propose a framework for evaluating qualitydriven selfadaptive software systems. 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.

Software engineering for self adaptive systems thomas vogel, matthias tichy, and alessandra gorla department of computer science and engineering. What can control theory eacth us about assurances in selfadaptive software systems. Abstractthe software engineering community has proposed numerous approaches for making software selfadaptive. Al though control theory provides 60 years of experience and software the necessary flexibility to attain selfadaptability, the proper engineering and re alization. These approaches take inspiration from machine learning and control theory, constructing software that monitors and modifies its own behavior to meet goals. Software engineering and network systems sens lab digital evolution devolab beacon.

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 proceedings of. Cheng is a professor in the department of computer science and engineering at michigan state university. International seminar, dagstuhl castle, germany, october 2429, 2010 revised selected and invited papers pp. Software engineering for selfadaptive systems ii pp 2 cite as. Lncs 7475 software engineering for selfadaptive systems. Marin litoiu 1, mary shaw 2, gabriel amtura 3, norha m. Her research and teaching interests include formal methods for software engineering, software development environments, objectoriented analysis and design, embedded systems development, assurance patterns, adaptive.

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. However, in the area of software engineering and specifically in the area of selfadaptive systems sass, little progress has. 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. This roadmap paper is a result of the dagstuhl seminar 08031 on software engineering for selfadaptive systems, which took place in january 2008.

Hybrid planning in selfadaptive systems planning is one of the fundamental design considerations when building a self adaptive software system. Nsf science and technology center evolution in action research and instruction areas. Software engineering for selfadaptive systems lecture notes in computer science programming and. The paper is partitioned into four parts, one for each of the identified essential views of selfadaptation. Recommended steps for thematic synthesis in software engineering. Citeseerx document details isaac councill, lee giles, pradeep teregowda. Overview of software engineering and development processes. Software engineering for selfadaptive systems semantic scholar. Highassurance systems modeldriven engineering autonomic self adaptive systems recently, also working in following areas. 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. Report from dagstuhl seminar 511 software engineering. These approaches take inspiration from machine learning and control theory, constructing software that monitors and modi. In proceedings of the international symposium on empirical software engineering and measurement.

Feedback loops represent a key feature of adaptive systems, such as. Antonio filieri, henry hoffmann, and martina maggio. For each topic, we present an overview, suggest future directions, and focus on selected challenges. It was established in 2006 at the international conference on software engineering icse.

Software engineering for selfadaptive systems acm digital library. 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. Modeldriven engineering of selfadaptive software with eurema. 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. The goal is to provide a repository of examples, challenge problems, and solutions that the software engineering for selfadaptive systems community can use.

Automated design of selfadaptive software with controltheoretical formal guarantees. A framework for evaluating qualitydriven selfadaptive. Ahybridapproach combining control theory and ai for engineering selfadaptive systems. Selfadaptation has been proposed as a viable solution to alleviate the. This paper complements and extends a previous roadmap on software engineering for selfadaptive systems published in 2009 covering a di. 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. Our framework is based on a survey of selfadaptive system papers and a set of adaptation properties derived from. A hybrid approach combining control theory and ai for. Unfortunately, the latter types of control loops are far more common. 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. Selfadaptive system an overview sciencedirect topics. Researchers from application areas like psychology and biomedicine have applied these techniques successfully.

Foundational concepts self properties understanding and taming uncertainty runtime models and variability consistent change of systems in. Thus, the investigation of systematic software engineering approaches is necessary, in order to develop selfadaptive systems that may ideally be applied across multiple domains. Uncertainty in selfadaptive software systems 5 this model, the selfadaptive software system can be broken down into two parts. 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.

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. 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. We are investigating the use of probabilistic model checking and stochastic multiplayer games to provide such assurances. However, the computational effort to obtain guarantees poses severe constraints when it comes to dynamic adaptation. What can control theory teach us about assurances in self. Report from dagstuhl seminar 511 software engineering for selfadaptive systems. Bayesian decision theory is increasingly applied to support decisionmaking processes under environmental variability and uncertainty. Software engineering for adaptive and selfmanaging. This site contains a set of exemplars for selfadaptive systems. A exemplar can be quite generic such as an artifact or rather specific such as a model problem in selfadaptive systems. 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. 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.

1200 1288 198 1486 1004 553 485 1437 1399 1309 1137 1475 989 865 1218 195 1343 1328 1088 804 1476 274 1644 1523 1577 6 1028 1015 4 979 815 573 914 1382 1338