Abstract

Self-adaptive software (SAS) systems monitor their own behavior and autonomously make dynamic adjustments to maintain desired properties in response to changes in the systems’ operational contexts. Control theory provides verifiable feedback models to realize this kind of autonomous control for a broad class of systems for which precise quantitative or logical discrete models can be defined. Recent MAPE-K models, and variants such as the hierarchical ACRA and similar others, address a broader range of tasks, but they do not provide the inherent assurances that control theory does, as they do not explicitly identify the properties that reliable controllers should have. These properties, in general, result not from the abstract models, but from the specifics of control strategies, which precisely these models fail to analyze. We show that, even for systems too complex for direct application of classical control theory, the abstractions of control theory provide design guidance that identifies important control characteristics and raises critical design issues about the details of the strategy that determine the controllability of the resulting systems. This in turn enables careful reasoning about whether the control characteristics are in fact achieved. 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 in the design of self-adaptive software systems. From this examination we distill challenges for developing principles that may serve as the basis of a control theory for self-adaptive software systems.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call