Self adaptive software meets control theory

Principles of adaptive filters and selflearning systems. The selfcontrolling software model supports three levels of control. A preliminary approach supporting reliability requirements a filieri, c ghezzi, a leva, m maggio 2011 26th ieeeacm international conference on automated software, 2011. The software engineering community has proposed numerous approaches for making software selfadaptive. Antonio filieri, carlo ghezzi, alberto leva, martina. Darpa board agency in 1997 as selfadaptive software. Adaptive control is the control method used by a controller which must adapt to a controlled system with parameters which vary, or are initially uncertain.

These approaches take inspiration from machine learning and control theory, constructing software that monitors and modifies its own behavior to meet goals. Software engineering meets control theory software and systems. The control theory based paradigm provides a framework for designing software that supports selfcontrol during the operation of the software. The material is presented in a progression from a short introduction to adaptive systems through modelling, classical filters and spectral analysis to adaptive control theory, nonclassical adaptive systems and applications.

Thus, a self adaptive system based on control can provide the user with quantitative guarantees on its convergence, the time to convergence, and its robustness in the face of errors and noise. The control theory based paradigm provides a framework for designing software that supports self control during the operation of the software. In 26th ieeeacm international conference on automated software engineering ase11. Since the advent of autonomic computing 35, 44 and the increasing popularity of self adaptive software both in. An approach to controlling context by combining game. Software quality, modeldriven software, selfadaptive software systems, casebased reasoning, runtime uncertainty 1. Tamura, et al a framework for evaluating qualitydriven selfadaptive software systems. Antonio filieri, carlo ghezzi, alberto leva, and martina maggio.

Several authors proposed adopting methods from control theory to engineer self adaptive software because of the similarities between the two fields and the benefits of the mathematically well. Meng 8 proposed a control system for self adaptive software based on a descriptive. Control strategies for selfadaptive software systems acm. Abstractthe software engineering community has proposed numerous approaches for making software selfadaptive. Citeseerx software engineering meets control theory. The self controlling software model supports three levels of control.

Selfadaptive software evaluates its own behavior and changes behavior when the evaluation indicates that it is not accomplishing what the software is intended to do, or when better functionality or performance is possible. A control strategies for selfadaptive software systems. However, self adaptive systems community has neglected the use of control theory as a central tool to guarantee hard goals while aiming to better satisfy soft goals. The 1st casas focused on formal guarantees that can be provided in selfadaptive systems via the use of control theory e. 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. Adaptive software incorporates monitoring, decisionmaking, and actuation to maintain reliable behavior despite sud. Once the desired properties of the closed loop system are met, the controller should. In 26th ieeeacm international conference on automated software engineering ase11, perry alexander, corina s. It had over 30 attendees from more than 10 countries. Dagstuhl seminars software engineering for selfadaptive. Selfadaptive software is widelyuse for users who need to output varies results after responding from changing environment. Jan 18, 2018 in this chapter we examine the control theory approach, explain several control strategies illustrated with examples from both domains, classical control theory and sas, and show how the issues addressed by these strategies can and should be seriously considered for the assurance of self adaptive software systems.

Selfadaptive system article about selfadaptive system by. 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 paper investigates a novel approach to derive selfadaptive software by automatically modifying the model of the application using a control. Electrical engineering with computer science major center for research and advanced studies of the national polytechnic institute, guadalajara, jal, mexico thesis. Qualityaware approach for engineering self adaptive. A manufacturing vision with a software product line paradigm.

Control theoretical adaptation mechanisms have received growing interest from the software engineering community in the last few years for their mathematical. It was established in 2006 at the international conference on software engineering icse. Control theory, in particular, has received considerable attention as it represents a general methodology for creating adaptive systems. Software engineering meets control theory ieee conference. Control theory, in particular, has received considerable attention as it represents a. A preliminary approach supporting reliability requirements. International audiencethe software engineering community has proposed numerous approaches for making software selfadaptive. From requirements to model predictive control article pdf available in acm transactions on autonomous and adaptive systems 1. A novel approach for building selfadaptive software based on a controller synthesis algorithm is presented. Uncertainty in selfadaptive software systems 5 this model, the selfadaptive software system can be broken down into two parts.

Software engineering for adaptive and selfmanaging systems. Yu, threm, and ramaswamy 2011 suggested that, as control theory has been successfully applied in robotics, self adaption, self management, and additional areas, it is time to consider combining control theory with complex systems theory to produce realtime intelligence in software systems. According to the control theory, the controller is designed to measure result errors for the purpose of reinputs of edited results into the system. Software engineering for adaptive and selfmanaging. International audiencethe software engineering community has proposed numerous approaches for making software self adaptive.

Marin litoiu 1, mary shaw 2, gabriel amtura 3, norha m. Self adaptation is achieved at the model level to assure that the. Several authors proposed adopting methods from control theory to engineer selfadaptive software because of the similarities between the two fields and the benefits of the mathematically well. The results are normally followed by the control theory in order to be constructed in a rigid feedback loop. What can control theory eacth us about assurances in selfadaptive software systems. The seminar was an active gathering of outstanding researchers in both control theory and software engineering, and provided a forum in which discussions on. Adaptive software, control theory, dynamic systems, nonfunctional requirements, runtime veri. Selforganized network management meets machine learning. Automated multiobjective control for selfadaptive software. The 1st casas focused on formal guarantees that can be provided in self adaptive systems via the use of control theory e. The software engineering community has proposed numerous approaches for making software self adaptive. Yu, threm, and ramaswamy 2011 suggested that, as control theory has been successfully applied in robotics, selfadaption, selfmanagement, and additional areas, it is time to consider combining control theory with complex systems theory to produce realtime intelligence in software systems.

Introduction the majority of the existing work in the literature agrees 1 2 that selfadaptivity in software systems is the ability of a software system. An architecturebased approach to selfadaptive software. A controlbased approach for selfadaptive software systems. All living organisms have a highly developed capacity for adaptation. Selfadaptive system article about selfadaptive system. Adaptive software development i about the tutorial adaptive software development is a move towards adaptive practices, leaving the deterministic practices in the context of complex systems and complex environments. A generalized approach to optimizing performance under power constraints through resource management icac 2014. May 19, 2015 software engineering meets control theory abstract.

Software engineering meets control theory abstract. Control strategies for selfadaptive software systems. Adaptive software development focuses on collaboration and learning as a technique to build complex systems. Pdf control strategies for selfadaptive software systems.

Meng 8 proposed a control system for selfadaptive software based on a descriptive. Selfadaptive software is a relatively new idea aiming at producing applications that can readily adapt in the face of changing user needs, desires and environment. Thus, a selfadaptive system based on control can provide the user with quantitative guarantees on its convergence, the time to convergence, and its robustness in the face of errors and noise. A controller synthesis algorithm for building self. Adaptive software incorporates monitoring, decisionmaking, and actuation to. Control theory is an established formal discipline typically used to control the behavior of physical systems, such as production lines, aircrafts, etc. An outcome of this seminar is the seams 2015 paper software engineering meets control theory openaccess version and its extension control strategies for self adaptive software systems openaccess version published in acm taas journal in 2017. The seminar was an active gathering of outstanding researchers in both control theory and software engineering, and provided a forum in which discussions on the connections between control theory and software engineering for selfadaptive systems could be held. Selfadaptive systems are required to adapt its behavior in the face of changes in their.

Feedback control as mapek loop in autonomic computing. A conflict resolution control architecture for self. Selfadaptive software an architecturebased approach to selfadaptive software peyman oreizy, michael m. What can control theory teach us about assurances in self. In this chapter we examine the control theory approach, explain several control strategies illustrated with examples from both domains, classical control theory and sas, and show how the issues addressed by these strategies can and should be seriously considered for the assurance of selfadaptive software systems. A self aware processor soc using energy monitors integrated into power converters for self adaptation vlsi symposium 2014 automated design of self adaptive software with control theoretical formal guarantees icse 2014 pcp. These approaches take inspiration from machine learning and control theory, constructing software that monitors and modi. The goal is to bootstrap the design of mathematically grounded controllers, sensors, and actuators for selfadaptive software systems, to achieve formally provable effectiveness, ef. Taylor, dennis heimbigner, gregory johnson, nenad medvidovic, alex quilici, david s. Fglm11 antonio filieri, carlo ghezzi, alberto leva, and martina maggio. Very recently, software engineering community has started to study the application of control theory and the formal guarantees it provides in the context of software engineering. Control theoretical adaptation mechanisms have received growing interest from the. 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. The workshop on software engineering for adaptive and self managing systems seams is an academic conference for exchanging research results and experiences in the areas of autonomic computing, self managing, self healing, self optimizing, self configuring, and self adaptive systems theory.

The goal is to bootstrap the design of mathematically grounded controllers, sensors, and actuators for selfadaptive software systems to achieve formally provable effectiveness, ef. Proof of this is the dagstuhl seminar control theory meets software. Computer science arizona state university, tempe, az, usa dissertation. This paper investigates a novel approach to derive selfadaptive software by automatically modifying the model of the application using a controltheoretical approach. The baselevel subsystem provides the main functionality of the software i. They also point out the importance of studying how a. Selfadaptive system an automatic control system that preserves its operational capability under conditions of unforeseen change in the properties of the controlled system, in the control goal, or in the environment by changing its operation algorithm or searching for optimal states. Automated design of selfadaptive software with control. A conflict resolution control architecture for self adaptive. Self adaptation is achieved at the model level to assure that the modelwhich lives alongside the application at runtime continues to satisfy its reliability requirements. For example, as an aircraft flies, its mass will slowly decrease as a result of fuel consumption. Self adaptive software an architecturebased approach to self adaptive software peyman oreizy, michael m. Automated multiobjective control for selfadaptive software design. To assess the accuracy of our tip approach into the domain of runtime testing for self adaptive software systems, the experiment should be performed on other self adaptive system i.