Вы находитесь на странице: 1из 20

Control-theory

and models at
runtime
Pierre-Alain Muller
, Olivier Barais , Franck
1

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

Models@runtime07

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

Models@runtime07

Basics of control-theory
This is the
system under
control

X represents
the inputs of
the system
+ e
x
ref
Inputs are used
Controller
Plant
to act on the system
Obs(y)
Observer

Y represents
the outputs of
the system

Models@runtime07

Ouputs are
used to
observe the
system

Basics of control-theory
This is what the
system must
enforce

ref

e
-

Obs(y)

Controller

This is the difference


y the system
x between what
Plant
should
do, and what it does
actually.

ObserverIt is known as the error


This is what the
system actually
does

Models@runtime07

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

Plant

Obs(y)
Observer
To know how to act on the
system, the controller uses a
representation of the system
(the control law)
Models@runtime07

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

Models@runtime07

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

Models@runtime07

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

Models@runtime07

Open-Loop Controller Vs ClosedLoop 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

Models@runtime07

10

What about models now?


The control law is an analytical
model of the plant (the system)

ref

e
-

Controller

Plant

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 ?
Models@runtime07

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

Plant

Obs(y)
Observer

The observer provides a


model of what the system
does actually
Models@runtime07

12

What about models now?


Input models are used to
act on the system

ref

e
-

Controller

Plant

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)
Models@runtime07
13

Research directions
Re-defining

basic notions of controltheory in the context of software


engineering
Stability
Controllability
Observability

Models@runtime07

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

Models@runtime07

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)

Models@runtime07

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
Models@runtime07

17

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

ref

e
-

Controller

Plant

Obs(y)
Observer
Models@runtime07

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
Models@runtime07

19

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
Models@runtime07

20

Вам также может понравиться