# Controltheory and models at runtime PierreAlain Muller 1

- Slides: 20

Control-theory and models at runtime Pierre-Alain Muller 1, Olivier Barais 2, Franck Fleurey 2 1 Université de Haute-Alsace Mulhouse, France 2 IRISA / INRIA Rennes, France [email protected]’ 07

Talk outline ► Introduction ► Basics of control-theory ► Control-theory and models @ runtime ► Example of control theory reuse for Qo. S adaptation policies ► Conclusions [email protected]’ 07 2

Introduction ► Models at runtime are considered as a key enabling technology for systems that control themselves as they operate ► The automatic-control community has developed extensive theories and experiences in qualifying the properties of controller and systems; including stability, controllability and observability ► We propose to use control-theory for describing selfadaptive model-driven systems [email protected]’ 07 3

Basics of control-theory X represents the inputs of the system This is the system under control + e y x ref Inputs are used Controller Plant to act on the system Obs(y) Observer Y represents the outputs of the system Ouputs are used to observe the system [email protected]’ 07 4

Basics of control-theory This is what the system must enforce ref + e - Controller This is the difference between y xwhat the system should do, and Plant what it does actually. Obs(y) It is known as the error Observer This is what the system actually does [email protected]’ 07 5

Basics of control-theory The goal of the controller is to minimize the error by acting on the inputs of the system ref + e - Controller x Plant y Obs(y) Observer To know how to act on the system, the controller uses a representation of the system (the control law) [email protected]’ 07 6

Stability ► Stability ensures that a system will not be endangered by out of range (theoretically infinite) values § For any bounded input over any amount of time, the output will also be bounded [email protected]’ 07 7

Controllability ► Controllability is related to the ability of forcing the system into a particular state by using an appropriate control signal § If a state is not controllable, then no signal will ever be able to stabilize the system [email protected]’ 07 8

Observability ► Observability is related to the possibility of observing, through output measurements, the state of a system § If a state is not observable, the controller will never be able to correct the closed-loop behavior if such a state is not desirable [email protected]’ 07 9

Open-Loop Controller Vs Closed-Loop Controller ► Open-Loop Controller § The control-law of the controller takes the reference and calculates the inputs to the system under control ► Closed-Loop Controller § The controller takes the difference (known as the error) between the reference and the actual outputs to change the inputs to the system under control ► Closed-loop controllers outperform open-loop controllers in terms of reference tracking, sensitivity to parameter variations, disturbance rejection and stabilization of unstable processes [email protected]’ 07 10

What about models now? The control law is an analytical model of the plant (the system) ref + e - Controller x Plant y Obs(y) Observer The control law is used by the controller to answer questions such as: « What happens if I inject such value in the system ? » [email protected]’ 07 11

What about models now? The reference is a model of what the system should do (requirements) ref + e - The error is a model of the difference between what should be done and what is actually done Controller x Plant y Obs(y) Observer The observer provides a model of what the system does actually [email protected]’ 07 12

What about models now? Input models are used to act on the system ref + e - Controller x Plant y Obs(y) Observer Input models can be either token models or type models Token models: model elements are in a one-to-one correspondence with system items (typically initialization values) Type models : model elements represent sets of system items (typically classes and relations) [email protected]’ 07 13

Research directions ► Re-defining basic notions of control-theory in the context of software engineering § Stability § Controllability § Observability [email protected]’ 07 14

Defining stability criteria for software ► A system is said to be stable when little disturbances applied to the system have negligible effects on its behavior ► In terms of model-driven software systems, this means that small changes in the input models do not radically change the behavior of the system § Most important is the notion of margin, that is the amount of changes that can be applied to inputs without disturbing too much the system, and make it become unstable [email protected]’ 07 15

Defining controllability criteria for software ► A system is controllable if it can be driven (say by a model) in a desired direction. Controllability is about proving that systems will perform according to the specifications when inputs change ► For instance, this might be true as long as token models conform to type models; the system is then likely to react as expected ► General criteria for controllability of software have to be defined (in the same way that control-theory created tools for linear systems) [email protected]’ 07 16

Defining observability criteria for software ► For a system to be controllable, with a closed-loop controller, it must be possible to get precise information about any state of the system at any time ► The point here is to be able to build representations (models) which cover all relevant aspects of a system, as far as control is concerned ► This is the place for analytical models which gather information about systems, including at runtime, such as trace models [email protected]’ 07 17

Example: Fuzzy logic ► Fuzzy logic provides a way to express qualitativaly the controlability § load is “medium” => cache. Size is “medium” § load is “small” => cache. Size is “small” Fuzzy logic expresses the control law with qualitative properties ref + e - Controller x Plant y Obs(y) Observer [email protected]’ 07 18

Fuzzy logic ► Three steps § Fuzzification (From observed quantitative properties to qualitative membership value) § Inference (Select the rule that can be applied and infer qualitative membership value of actions) § Defuzzification (Infer quantitative values of actions) ► Interests § Define qualitative rules can be useful at the design stage [email protected]’ 07 19

Conclusions ► Control-theory § may be used to represent the development of selfadaptive model-driven applications § might be an important element for the study of models at runtime, especially in the context of self-adaptation § ► New research directions § reformulate basic notions of control-theory applied to model-driven development, in the context of selfadaptive systems [email protected]’ 07 20