• Aucun résultat trouvé

Modèle d’agent mobile de recherche

Chapitre 4 : Une architecture de recherche basée agent mobile et rôle

4.3 Modèle d’agent mobile de recherche

Nous présentons un modèle d‟agent mobile de recherche à base de rôle adaptable, sensible au contexte dynamiquement, pour s‟adapter aux variations de son environnement de recherche ubiquitaire. En fait, ce modèle d‟agent nourri des travaux qui ont été réalisés dans ce domaine et qui ont des succès notable dans le domaine de la recherche d‟information. Vu que l‟agent se voie comme étant un composant, le comportement de l‟agent mobile proposé est construit principalement à partir d‟un assemblage de rôles de recherche de granularité faible, il s‟agit, en fait, de micro-composants remplaçables et spécialisables en fonction de la variabilité du contexte de la recherche. Ce style d‟architecture d‟agent flexible doit faire face

Fig 4.7 Positionnement des technologies

Systèmes flexibles - configuration - extensibilité - adaptation dynamique Agent mobile - autonomie - encapsulation - déploiement Intergiciels

- accès aux ressources - abstraction - interopérabilité Composants logiciels - structuration - réutilisation - personnalisation - complexité invisible

RI dans le Web Ubiquitaire

- RI« any time, any where, any media » - sensibilité aux contextes

- adaptation dynamique de l’interface Génie logiciel

Chapitre 4 : Une architecture de recherche basée agent mobile et rôle

124

à la forte dynamicité de son environnement ubiquitaire de recherche, dans lequel, différentes stratégies d‟assemblages de rôles permettent d‟engendrer un comportement sensible au contexte de la recherche.

Nous allons utiliser le rôle comme étant un composant spécialisé à la RI pour construire par assemblage le comportement des agents mobiles de recherche, nous allons déployer une base de rôle de recherche au sein des serveurs d‟informations. Où chaque agent de recherche véhicule le minimum de comportement étant donné qu‟à tout serveur d‟informations, il existe un comportement spécifique que nous organisons sous forme de rôles. De cette façon, l‟agent visitant un serveur, peut déposer ou absorber des rôles selon sa tache.

4.3.1 Rôle de recherche

On restreint donc la définition du comportement des agents mobiles de recherche à la gestion de leurs rôles, passage d‟information et changement : la cognicité des agents se limite à la possibilité de choisir dans une situation donnée une collection parmi ceux dont ils disposent. Les rôles pris en charge deviennent entièrement responsables des éléments de comportements de recherche.

4.3.2 Modélisation du rôle de recherche

Les langages de description d‟architecture (ou ADL pour Architecture Description Langage), employés dans le domaine des architectures logicielles, reposent sur un certain nombre de concepts fondamentaux pour modéliser les systèmes logiciels, dont principalement les composants, les connecteurs et les configurations [249], [250], que nous réutilisons dans le contexte de notre architecture pour modéliser un rôle de recherche ubiquitaire.

Les rôles se présentent comme des briques logicielles dotées d‟une ou de plusieurs interfaces de communication (décrit dans la figure 4.8). Chacune d‟entre elles correspond à un port de communication. Un rôle dispose alors d‟un ensemble de ports qui sont des points d‟interaction avec le monde extérieur. Les ports peuvent également être perçus comme des points d‟accès au rôle.

4.3.3 Comportement de recherche

La configuration décrit l‟architecture du système de RI sous la forme d‟un assemblage de rôles de recherche et de connecteurs formant ainsi un graphe. Plus particulièrement, la configuration peut être statique ou évolutive. Selon la spécificité de l‟ADL considéré pour modéliser un système. La configuration est par exemple statique si l‟on considère l‟ADL

Rôle Ri

Le Rôle se comporte comme un consommateur de service via l’interface

(port) L’interface de communication (port)

Chapitre 4 : Une architecture de recherche basée agent mobile et rôle

125

Wright [251], [252] ou évolutive si l‟on considère sa version dynamique [253]. L‟aspect statique d‟une configuration ne correspond pas à notre vision de l‟environnement ubiquitaire où l‟assemblage des rôles et des connecteurs est dynamique. Notre perception de la configuration est plus proche des ADL où la configuration est évolutive. On distingue plus précisément deux types d‟évolution possible : planifiée, et non planifiée [250], [103].

 Une évolution planifiée signifie que le système est uniquement en mesure de s‟accommoder à des changements dynamiques prévus à l‟avance (par exemple, l‟approche de l‟ADL Darwin [254] ou de la version dynamique de l‟ADL Wright [25

3

])

 Une évolution non-planifiée caractérise l‟aptitude générale du système à s‟adapter à des changements dynamiques impromptus (par exemple, l‟approche de l‟ADL C2 [255]). Cette dernière définition caractérise parfaitement la conception que l‟on a d‟un environnement ubiquitaire.

Celui-ci est donc un graphe pourrait être construit à partir du patron de conception de composition (composite design pattern). Par conséquent, le comportement de recherche embarqué au sein des agents mobiles est un graphe de rôles et de connecteurs qui évolue et/ou réagit au cours du temps via des assemblages/désassemblages, des apparitions/disparitions de rôles et de connecteurs.

L‟évolution du système ainsi modélisé n‟étant pas planifiée, il y a potentiellement des incohérences de couplages, qui se traduisent par l‟incapacité d‟interconnecter des composants, étant donné l‟incompatibilité de leurs ports respectifs avec les connecteurs qui les interconnectent susceptibles de survenir.

4.3.4 Organisation du système d’agents et rôles

Dans notre système multi-agents, plusieurs entités évoluent dans un même environnement. Ces entités qui sont en interaction et utilisent souvent les mêmes ressources ne peuvent être traitées isolement.

Dans les approches centrées organisation des systèmes multi-agents, les organisations s‟intéressent généralement soit au fonctionnement, soit à la structure interne des agents dans le système. Cependant, la combinaison de ces deux dimensions peut s‟avérer bénéfique pour

Connecteur 2 Connecteur 1 Connecteur 3 Connecteur n Rôle R2 Rôle R3 Rôle R1 Rôle Rn A cti ve u r C1 C2 C2 C3

Sélecteur des Rôles en fonction du contexte Valeurs des contextes

de la recherche Rôles de recherche

Rôle Composite

R1

Fig.4.9 Configuration dynamique de rôles de recherche en fonction de du contexte

Chapitre 4 : Une architecture de recherche basée agent mobile et rôle

126

spécifier les organisations à condition de le faire de manière cohérente et flexible. De ce fait, nous utilisons le formalisme Agent-Groupe-Rôle (AGR) [256]-[257] pour définir l‟organisation sociale de notre système de recherche d‟information distribuée dans le Web ubiquitaire.

AGR permet de mieux représenter l‟organisation sociale d‟un système multi-agents, et de gérer l‟hétérogénéité et l‟ouverture des systèmes informatiques tels qu‟Internet d‟une manière souple et modulaire.

Dans le formalisme AGR (décrit par la figure 4.10), un agent est une entité active et communicante. Il peut prendre simultanément plusieurs rôles dans un seul groupe de recherche. Un groupe de recherche est défini par un ensemble d‟agents de recherche interagissant à travers leurs rôles. Un rôle définit la représentation abstraite de la fonction d‟un agent dans un groupe.

L‟utilisation du formalisme permettra d‟augmenter la souplesse de notre système. Par exemple, un agent peut changer dynamiquement la stratégie d‟exécution des rôles de recherche. En termes de programmation et de conception, il permet d‟augmenter l‟expressivité et la modularité du système. La maintenance du modèle est également plus facile et permet une évolution à long terme pour l‟adapter à d‟autres situations différentes. De même, l‟agent ne communicant qu‟à travers les rôles, le traitement des messages est plus facile.

La satisfaction des buts de recherche globaux communs est due à une sorte de mémoire organisationnelle dans laquelle sont stockés les meilleurs plans de recherche (Politiques pour allouer les rôles aux agents, coordination pour exécuter un plan, et qualité d‟un plan, temps consommé, ressources utilisées, . . .). Ceci est à la charge d‟un agent Médiateur qui sera présenté par la suite.

Groupe de recherche

Un groupe de recherche sera formé pour chaque requête utilisateur, par l‟envoie d‟une copie de comportement configurée par l’agent Médiateur aux serveurs. Les agents mobiles créés seront repartis entre les différents serveurs spécifiés et dont leur nombre est défini en fonction des paramètres de la requête et le contexte de la recherche. Chaque agent mobile véhicule alors, un minimum de comportement étant donné qu‟à tout serveur existe un comportement spécifique que nous organisons sous forme de rôles. Lui permettant d‟enrichir son comportement par absorbation des rôles adéquats.

1 1..* Groupe de recherche Rôle Est un membre de * * Joue 1..*

Fig.4.10 : Le modèle d‟organisation AGR adapté Agent

Chapitre 4 : Une architecture de recherche basée agent mobile et rôle

127