200 likes | 212 Views
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. Talk outline. Introduction Basics of control-theory Control-theory and models @ runtime
E N D
Control-theory and models at runtime Pierre-Alain Muller1, Olivier Barais2, Franck Fleurey2 1 Université de Haute-Alsace Mulhouse, France 2 IRISA / INRIA Rennes Rennes, France
Talk outline • Introduction • Basics of control-theory • Control-theory and models @ runtime • Example of control theory reuse for QoS adaptation policies • Conclusions
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
+ e Controller Plant y x ref - Obs(y) Observer Basics of control-theory 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
+ e Controller Plant y x ref - Obs(y) Observer Basics of control-theory This is what the system must enforce This is the difference between what the system should do, and what it does actually. It is known as the error This is what the system actually does
+ e Controller Plant y x ref - Obs(y) Observer Basics of control-theory 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)
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
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
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
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
+ e Controller Plant y x ref - Obs(y) Observer What about models now? 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 ? »
+ e Controller Plant y x ref - Obs(y) Observer What about models now? The reference is a model of what the system should do (requirements) The error is a model of the difference between what should be done and what is actually done The observer provides a model of what the system does actually
+ e Controller Plant y x ref - Obs(y) Observer What about models now? 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)
Research directions • Re-defining basic notions of control-theory in the context of software engineering • Stability • Controllability • Observability
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
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)
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
+ e Controller Plant y x ref - Obs(y) Observer 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” Fuzzy logic expresses the control law with qualitative properties
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
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