Controltheory and models at runtime PierreAlain Muller 1

  • Slides: 20
Download presentation
Control-theory and models at runtime Pierre-Alain Muller 1, Olivier Barais 2, Franck Fleurey 2

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

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

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

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 -

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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