Download presentation

Presentation is loading. Please wait.

Published bySkyla Becket Modified over 2 years ago

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
Talk outline ► Introduction ► Basics of control-theory ► Control-theory and runtime ► Example of control theory reuse for QoS adaptation policies ► Conclusions

3
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
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
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
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
► 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
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
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
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
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
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
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
Research directions ► Re-defining basic notions of control-theory in the context of software engineering Stability Controllability Observability

15
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
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
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
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
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
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

Similar presentations

© 2016 SlidePlayer.com Inc.

All rights reserved.

Ads by Google