• Aucun résultat trouvé

6.2 M´ ecanisme de r´ esolution

6.2.4 Obtention de la configuration adapt´ ee

Apr`es avoir pr´esent´e le r´eseau de contrainte associ´e `a une application, cette section pr´esente comment la r´esolution du CSP associ´e `a une application permet la g´en´eration d’une configuration adapt´ee pour la situation de l’environnement.

Cette section pr´ecise tout d’abord les crit`eres selon lesquels une configuration est appropri´ee est choisie, en particulier pour les cas o`u plusieurs solutions du CSP

existent. Elle d´etaille comment construire la description de la configuration correspon- dant `a une solution du CSP.

a) Crit`ere de choix de la configuration adapt´ee

Dans l’approche propos´ee, la configuration adapt´ee est la configuration obtenue `a partir de la meilleure solution du CSP associ´e `a une application. Cette section d´efinit plus pr´ecis´ement les crit`eres de choix de la meilleure solution du CSP.

On d´efinit l’ensemble Γ[X] des instanciations satisfaisantes pour le CSP comme l’ensemble des instanciations satisfaisantes pour chacune des contraintes c ∈ C :

γ[X] ∈ Γ[X] ⇔ ∀c ∈ C, γ[Xc] ∈ Γc[Xc]

Plusieurs cas peuvent se pr´esenter :

– Si Γ[X] ne contient aucun ´el´ement, il n’existe aucune solution au CSP. – Si Γ[X] contient un seul ´el´ement, c’est l’unique solution du CSP.

– Si Γ[X] contient plusieurs ´el´ements, il existe plusieurs solutions. Dans ce cas, on cherche `a comparer les solutions pour choisir les meilleures.

Afin de comparer diff´erentes solutions possibles, on d´efinit un ordre partiel sur Γ[X]. Pour cela, on consid`ere la fonction

M : Γ[X] × Γ[X] → P (C)

(γ1, γ2) → {c ∈ C|∆c(γ1[Xc]) > ∆c(γ2[Xc])}

M (γ1, γ2) est l’ensemble des contraintes pour lesquelles γ1 a un coˆut plus ´elev´e que

γ2. Le cardinal de cet ensemble, |M (γ1, γ2)| est le nombre de contraintes pour les-

quelles γ1 a un coˆut plus ´elev´e que γ2. On consid`ere de plus la fonction S(γ1, γ2) =

P

c∈M (γ1,γ2)∆c(γ1[Xc]) − ∆c(γ2[Xc]). Cette fonction caract´erise l’´ecart global de coˆut

entre les deux instanciations. Par d´efinition, on a toujours S(γ1, γ2) > 0.

`

A l’aide de ces fonctions, deux instanciations sont ordonn´ees de la mani`ere sui- vante :

|M (γ1, γ2)| > |M (γ2, γ1)|

γ1[X] > γ2[X] ⇔ OU

|M (γ1, γ2)| = |M (γ2, γ1)| ET S(γ1, γ2) ≥ S(γ1, γ2)

Cela signifie que l’instanciation γ1 est consid´er´ee comme plus coˆuteuse que l’instan-

ciation γ2s’il existe plus de contraintes pour lesquelles le coˆut de γ1est plus ´elev´e que

celui de γ2, ou bien s’il en existe autant mais que le coˆut global de γ1est plus ´elev´e que

celui de γ2. Notons que cet ordre privil´egie une comparaison contrainte par contrainte

par rapport `a une comparaison globale bas´ee sur la somme de l’ensemble des coˆuts des contraintes : une telle somme n’a en effet que peu de sens car il n’est pas possible de garantir une certaine uniformit´e dans l’ordre de grandeur des coˆuts des contraintes (ce qui conduit `a des aberrations pour une instanciation pour laquelle une seule contrainte `

a un coˆut beaucoup plus ´elev´e que les autres). Notons par ailleurs qu’il ne s’agit pas d’un ordre total. Dans le cas o`u |M (γ1, γ2)| = |M (γ2, γ1)| et S(γ1, γ2) = S(γ1, γ2), on

a `a la fois γ1[X] > γ2[X] et γ1[X] > γ2[X], sans avoir γ1[X] = γ2[X].

`

A l’aide de cet ordre, on d´etermine l’ensemble Γ−[X] des instanciations de Γ[X] dont le coˆut est le plus faible

Γ−[X] = {γ[X] ∈ Γ[X]|∀γ0[X] ∈ Γ[X], γ0[X] > γ[X]}

L’ensemble Γ−[X] est l’ensemble des meilleures solutions de Γ[X]. Il peut contenir plusieurs ´el´ements : dans ce cas, une discrimination plus fine est laiss´ee au contrˆole des utilisateurs du syst`eme.

Dans certains cas, il est int´eressant de consid´erer le sous-ensemble Γ0[X] ⊂ Γ[X] des solutions parfaites, pour lesquelles le coˆut de toutes les contraintes est nul :

Γ0[X] = {γ[X] ∈ Γ[X]|∀c ∈ C, γ[Xc] ∈ Γ0c[Xc]}

Dans le cas o`u Γ0[X] 6= ∅, on a alors simplement Γ

[X] = Γ0[X]. Comme pr´ec´edem-

ment, si Γ0[X] contient plusieurs ´el´ements, il n’est pas possible de discriminer une solution optimale du probl`eme.

b) Construction de la description d’une configuration adapt´ee

`

A partir d’une solution du CSP associ´e `a une application, on construit la description d’une configuration adapt´ee. Cette description est obtenue en combinant plusieurs descriptions :

– la description abstraite de l’application (et donc les descriptions des fonctionna- lit´es abstraites).

– les descriptions des fonctionnalit´es r´eelles choisies.

– les interpr´etations de fonctionnalit´es correspondant aux contraintes du CSP. On consid`ere une solution γ0 du CSP (X, V, C). Pour simplifier les notations, on note chacune des valeurs choisies en utilisant le mˆeme indice que la variable qu’elle ins- tancie. Ainsi, $∀xi ∈ X, γ0(xi) est not´e vi. La description de la fonctionnalit´e r´eelle

correspondant `a cette valeur est not´ee fi= (fi, Fi).

Pour chaque contrainte, on doit consid´erer l’interpr´etation correspondant aux va- leurs choisies. Ainsi, pour une contrainte d’arit´e 1 d´efinie par (Xc = {xi}, ∆τ, λτ),

l’interpr´etation correspondante est τ [(fi, ai)]. Pour une contrainte d’arit´e 2 d´efinie par

(Xc = {xi, xj}, ∆τ, λτ), l’interpr´etation correspondante est τ [(fi, ai), (fj, aj), ]. On

note Ti l’ensemble des interpr´etations portant sur une instanciation [(fi, ai)] et Ti,j

l’ensemble des interpr´etations portant sur une instanciation [(fi, ai), (fj, aj)].

Pour chaque fonctionnalit´e choisie, on obtient la description contextualis´ee de la fonctionnalit´e en combinant les interpr´etations portant sur cette fonctionnalit´e, c’est- `

a-dire en cr´eant une nouvelle description dont le document support importe toutes ces interpr´etations. La description contextualis´ee d’une fonctionnalit´e fi est ainsi :

fi0= (fi, F 0 i) avec Import(F 0 i) = [ Ti τ [(fi, ai)]

Pour chaque couple de fonctionnalit´es en interaction choisie, on obtient la description de connexion du couple de fonctionnalit´es en combinant les interpr´etations portant sur ce couple de fonctionnalit´es. La description contextualis´ee d’un couple de fonctionna- lit´es (fi, fj) est ainsi :

ci,j= (ci,j, Ci,j) avec Import(Ci,j) =

[

Ti,j

τ [(fi, ai), (fj, aj)]

Finalement, pour une application dont la description est not´ee a = (a, A), on obtient la description de la configuration adapt´ee en combinant les descriptions contextualis´ees des fonctionnalit´es et les descriptions de connexion des couples de fonctionnalit´es. Cette description est ainsi :

a0= (a, A0) avec Import(A0) =[

i F0i∪ [ i,j Ci,j

6.3

Synth`ese

Ce chapitre a pr´esent´e les m´ecanismes flexibles de gestion de composition. Ces m´ecanismes se divisent en deux groupes : les m´ecanismes d’interpr´etation et le m´e- canisme de r´esolution. Un m´ecanisme d’interpr´etation est consacr´e `a l’interpr´etation

sp´ecifique de certains ´el´ements de descriptions de fonctionnalit´es. Il fournit ainsi une expertise sur un aspect particulier des fonctionnalit´es et sur le rˆole de cet aspect dans la composition. Le m´ecanisme de r´esolution est charg´e de d´eterminer la description d’une configuration adapt´ee pour l’application dans une situation donn´ee. Ce m´eca- nisme repose sur la d´efinition d’un probl`eme de satisfaction de contraintes associ´e `

a une application. Ce probl`eme de satisfaction de contraintes int`egre les diff´erentes contributions des m´ecanismes d’interpr´etation pour ´elaborer une solution globale.

Les m´ecanismes de gestion de composition pr´esentent deux caract´eristiques prin- cipales :

L’ind´ependance entre les diff´erents m´ecanismes est fondamentale. D’une part, cha- cun des m´ecanismes d’interpr´etation de description est ind´ependant des autres et offre un point de vue particulier sur les descriptions consid´er´ees. D’autre part, le m´ecanisme de r´esolution agr`ege ces diff´erentes interpr´etations de mani`ere `a fournir une solution coh´erente.

L’´evolution des interactions entre les diff´erents m´ecanismes est possible. En effet, il n’existe pas un unique algorithme de composition capable de d´eterminer la confi- guration adapt´ee dans tout les cas. Selon les situations, les diff´erents m´ecanismes de gestion de composition doivent ˆetre organis´es et articul´es diff´eremment pour rendre compte des ´evolutions de l’environnement.

En cons´equence de ces caract´eristiques, il reste `a d´efinir une architecture permet- tant d’organiser ces diff´erents m´ecanismes de mani`ere flexible au sein d’un syst`eme de gestion de composition. L’architecture d’un syst`eme de gestion de composition doit pr´eserver les caract´eristiques d’ind´ependance des m´ecanismes d’interpr´etation et la possibilit´e d’´evolution du probl`eme de contraintes en fonction de la situation. Le chapitre suivant propose une architecture multi-agents pour les syst`emes de gestion de composition. L’utilisation d’une approche multi-agents garantit ces propri´et´es et apporte ainsi une r´eponse appropri´ee aux probl´ematiques des applications attentives.

Chapitre 7

Architecture multi-agents

d’un syst`eme de gestion de

composition flexible

Le chapitre 6 d´ecrit les diff´erents m´ecanismes qui permettent `a un syst`eme de ges- tion de composition de d´eterminer dynamiquement une configuration adapt´ee pour une application. Une des caract´eristiques fondamentales de ces m´ecanismes est la possibi- lit´e d’´evolution du probl`eme de satisfaction de contraintes associ´e `a une application, qui permet de refl´eter les ´evolutions de l’environnement et des besoins des utilisateurs. Cette flexibilit´e est n´ecessaire pour prendre en compte la dynamicit´e, l’ouverture et l’impr´ecision des besoins dans les environnements attentifs. Le syst`eme de gestion de composition adapte ainsi constamment l’assemblage de fonctionnalit´e utilis´e suivant les conditions rencontr´ees.

Ce chapitre d´etaille l’architecture d’un syst`eme de gestion de composition FCAP. Cette architecture est bas´ee sur un syst`eme multi-agents dans lequel les diff´erents agents r´ealisent les diff´erents m´ecanismes pr´esent´es pr´ec´edemment. L’utilisation d’une approche multi-agents garantit l’ind´ependance du fonctionnement des diff´erents m´e- canismes de gestion de composition et la possibilit´e d’organiser les interactions entre ces diff´erents m´ecanismes de mani`ere flexible. Les capacit´es d’´evolution et de r´eorga- nisation d’un syst`eme multi-agents sont essentielles pour r´epondre efficacement aux probl´ematiques des environnements attentifs, en particulier concernant la dynamicit´e et l’´evolution de l’environnement et des besoins des utilisateurs.

La section 7.1 pr´esente l’architecture g´en´erale du syst`eme multi-agents, en d´e- taillant les diff´erents types d’agents et leurs interactions. La section 7.2 d´etaille le fonctionnement des agents de r´esolutions, charg´es de mettre en place une configu- ration adapt´ee en r´esolvant le probl`eme de contraintes. La section 7.3 pr´esente le fonctionnement des agents d’interpr´etation, qui fournissent au syst`eme les m´ecanismes d’interpr´etation de description grˆace auxquels une configuration adapt´ee peut ˆetre d´etermin´ee.

7.1

Syst`eme de gestion de composition `a base

d’agents

Cette section pr´esente le syst`eme multi-agents qui fournit un m´ecanisme flexible de r´esolution du probl`eme de contraintes associ´e `a une application. Dans cette approche,

les variables et les contraintes du probl`eme sont repr´esent´ees par des agents. Les in- teractions entre ces agents, et donc l’organisation du r´eseau de contraintes, sont mises en place dynamiquement.

Agent

Composeur

Agents

superviseurs

Type de

fonctionnalité

Condition de

contexte

ID

Agents d'interprétation

Correspondance

des services

Plateforme FCAP

Agents de résolution

ID

SP

SP

Assemblage

Découverte

Découverte

CA

Utilisateur

(ou agent assistant)

Figure 7.1 – Exemple d’architecture d’un syst`eme de gestion de composition

La figure 7.1 illustre l’architecture g´en´erale d’un syst`eme de gestion de composition, dont les diff´erents constituants sont d´ecrits dans les sections suivantes. La section 7.1.1 introduit les diff´erents types d’agents pr´esents dans un syst`eme de gestion de composition. La section 7.1.2 d´etaille les protocoles d’interaction grˆace auxquels les diff´erents agents interagissent et mettent en place l’organisation du syst`eme.

7.1.1

Types d’agents du syst`eme de gestion de composi-