Presentation is loading. Please wait.

Presentation is loading. Please wait.

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 /

Similar presentations


Presentation on theme: "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 /"— Presentation transcript:

1 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 Rennes, France

2 Models@runtime’072 Talk outline ► Introduction ► Basics of control-theory ► Control-theory and models @ runtime ► Example of control theory reuse for QoS adaptation policies ► Conclusions

3 Models@runtime’073 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 self- adaptive model-driven systems

4 Models@runtime’074 Basics of control-theory ControllerPlant + - ref Observer e x y Obs(y) This is the system under control X represents the inputs of the system Inputs are used to act on the system Y represents the outputs of the system Ouputs are used to observe the system

5 Models@runtime’075 Basics of control-theory ControllerPlant + - ref Observer e x y Obs(y) This is what the system must enforce This is what the system actually does This is the difference between what the system should do, and what it does actually. It is known as the error

6 Models@runtime’076 Basics of control-theory ControllerPlant + - ref Observer e x y Obs(y) The goal of the controller is to minimize the error by acting on the inputs of the system To know how to act on the system, the controller uses a representation of the system (the control law)

7 Models@runtime’077 ► 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 Stability

8 Models@runtime’078 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

9 Models@runtime’079 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

10 Models@runtime’0710 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

11 Models@runtime’0711 What about models now? ControllerPlant + - ref Observer e x y Obs(y) The control law is an analytical model of the plant (the system) The control law is used by the controller to answer questions such as: « What happens if I inject such value in the system ? »

12 Models@runtime’0712 The reference is a model of what the system should do (requirements) What about models now? ControllerPlant + - ref Observer e x y Obs(y) The observer provides a model of what the system does actually The error is a model of the difference between what should be done and what is actually done

13 Models@runtime’0713 What about models now? ControllerPlant + - ref Observer e x y Obs(y) Input models are used to act on the system 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)

14 Models@runtime’0714 Research directions ► Re-defining basic notions of control-theory in the context of software engineering  Stability  Controllability  Observability

15 Models@runtime’0715 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

16 Models@runtime’0716 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)

17 Models@runtime’0717 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

18 Models@runtime’0718 Example: Fuzzy logic ► Fuzzy logic provides a way to express qualitativaly the controlability   load is “medium” => cacheSize is “medium”   load is “small” => cacheSize is “small” ControllerPlant + - ref Observer e x y Obs(y) Fuzzy logic expresses the control law with qualitative properties

19 Models@runtime’0719 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

20 Models@runtime’0720 Conclusions ► Control-theory  may be used to represent the development of self- adaptive 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 self- adaptive systems


Download ppt "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 /"

Similar presentations


Ads by Google