• Aucun résultat trouvé

Partie I. Etat de l’art et travaux connexes

V. Contribution 2: Architecture du système

V.5. Processus de découverte et composition

V.5.2. Interactions entre agents

Le comportement d’un Agent est défini comme un ensemble de tâches exécutées par un agent pour accomplir un but prédéterminé. Le comportement d’un agent est activé en réponse à un événement relative à son objectif. Un comportement peut être ajouté, supprimer ou arrêter, en fonction des besoins du système. Dans cette section, nous présentons les comportements et les interactions des agents du moteur proposé (Tableau V.1):

Agents Identificateur de comportement

Fonctions principale

AA InitiateurNœud Pour soumettre les fichiers des clients au composant de chaque nœud.

StockFichier Pour enregistrer le fichier et les services sur chaque Nœud.

DistributeurTâches Pour gérer le composant SaaS du nœud de réception

ContratRessources Pour déployer et composé des ressources Cloud externe dont le nœud a besoin.

MisàJourNœud Pour mettre à jour l’ontologie WordNet, et l’index WSDL.

GestionARD Pour superviser l’opération de recherche de nouveaux services IaaS et SaaS

AIf GestionMV Pour gérer la virtualisation des ressources physiques sur chaque nœud.

DistributeurMV Pour distribuer les taches sur les machines virtuelles.

PrédicteurBesoin Pour prédire et composé les ressources internes sur chaque nœud.

AS IndexeurRQ Pour superviser l’opération d’indexation des réclamations et des questions des clients.

AP PréparateurDécouverte Pour Superviser l’opération de Prétraitement de la requête et des fichiers WSDL.

DiaaS-AMInitiateur Pour soumettre les mots clés de la requête et des fichiers WSDL à l’AM.

AM DiaaSInitiateur Pour soumettre les services atomiques sélectionnés au composant DiaaS.

SélectionneurSS Pour superviser l’opération de sélection des meilleurs services atomiques.

103

Tableau 0V.1: Résumé du comportement d’agents

Les agents de gestion des nœuds Cloud ainsi que les agents mobiles interagissent entre eux pour gérer : les ressources virtuelles de chaque nœud, et le mécanisme de découverte et composition de services. En plus, les AAs sont les seuls points d'accès à n'importe quel nœud du moteur proposé.

L’AA interagit avec les agent AP , AQ , l'AIf et AS et tous les agents mobiles et cela en adoptant : (i) InitiateurNœud : pour recevoir les requêtes et les réclamations des clients de l’IA , ensuite il soumet les fichiers des clients , les services sélectionnés, les services virtuels composites ou les réclamations aux agent : PA , QA (CaA et CA), et SA , des nœuds, respectivement , découverte , vérifications et réception, à l'aide de l'AMC , (ii) StockFichier:

AQ CaaS-ACaInitiateur Pour soumettre les scores QoS des services atomiques à l’ACa.

CalculateurQoS Pour superviser l’opération de calcul des scores QoS atomiques et agrégatifs.

ACa CaaS-ACInitiateur Pour soumettre les tableaux de catégorisation a l’AC.

CatégoriserSS Pour superviser l’opération de création des tables de catégorisation.

AC CaaSInitiateur Pour soumettre les services sélectionnés au composant CaaS.

VérificateurSS Pour superviser l’opération de création des services virtuels composites.

ClasseurSS Pour superviser l’opération de classification des services atomiques et composites.

AMI InteractionClient Pour relier les clients avec le nœud de réception. AMC LiaisonNœud Pour relier les nœuds du moteur SDCE-ACS ainsi

que les ressources IaaS.

AMD ChercheurSS Pour chercher de nouveaux SaaS sur Internet.

DistributeurAD Pour coordonner l’opération de découverte des SaaS.

AMM MisàJourSS Pour soumettre les fichiers WSDL mis à jours, à l’AA du nœud de découverte.

AMR ChercheurRC Pour chercher des nouveaux IaaS sur Internet.

DistributeurAR Pour coordonner l’opération de découverte d’IaaS.

ComposantsDéployer Pour déployer les composants du moteur proposé sur les nœuds IaaS.

104

pour superviser les opérations de stockage , (iii) DistributeurTâches : pour soumettre les tâches de créations des fichiers des clients , au composant SaaS du nœud de réception et SA , (iv) ContratRessources : pour composer les ressources Cloud nécessaires (ressources externes) dans le cas où l’AIf le demande, (v) MisàJourNœud : Pour recevoir les fichiers WSDL mise-à-jour par l’UA , et également mettre à jours l’ontologie WordNet quand une nouvelle version apparaît (sur le nœud de découverte) , (vi) RDA Manager : pour superviser la recherche de nouveaux services SaaS et de nouvelles ressources Cloud en utilisant les agents DA et RA.

L’AIf interagit avec les agents : AA, AP, AM, AQ, ACa et AC en adoptant : (i)

GestionMV: pour créer les MV nécessaires pour le traitement des requêtes des clients, et

composer des ressources Cloud(ressources interne), parmi celles disponibles, et cela quand les agent AA , AP , AM , AQ , ACa et AC ont en besoin pour exécuter leurs tâches , (ii)

DistributeurMV : pour distribuer les tâches des agents AA , AP , AM , AQ , ACa et AC sur

les machines virtuelles disponibles, (iii) PrédicteurBesoin: ils le font sur la base du taux d’utilisation des MVs et de l’espace de stockage utilisé par les agents : AA , PA , AM , AQ , ACa et AC .L'AIf composent les ressources Cloud nécessaires (ressources internes ) pour des besoins futurs.

L’AS interagit avec les agents : AA ,AIf et AMC , en adoptant : (i) IndexeurRQ: pour recevoir les réclamations et les questions des clients à partir de l’AA , pour lancer l'opération d'indexation en utilisant le composant SaaS, la création des AMC pour transmettre les réclamations aux nœuds de découverte et de vérification, et pour demander des MVs supplémentaires de l’AIf en cas de besoin.

L’AP interagit avec les agents : AA, AIf et AM, en adoptant : (i)

PréparateurDécouverte : Pour recevoir les requêtes des clients et les fichiers WSDL de l’AA,

lancer l'opération de prétraitements de la requête, la création des arbres WSDL en utilisant le composant DiaaS, et demander des MVs supplémentaires de l’AIf en cas de besoin, (ii)

DiaaS-AMInitiateur: pour soumettre les mots-clés de la requête et arbres WSDL aux AM.

L’AM interagit avec les agents : AP et AIf, en adoptant : (i) DiaaSInitiateur: Pour recevoir les mots-clés de la requête du client et des Arbres WSDL de l’AP, et les soumettre au composante DiaaS, (ii) SélectionneurSS : Pour lancer l’opération de sélection des services, et demander des MVs supplémentaires de l’AIf en cas de besoin.

L’AQ interagit avec les agents : AA, AIf et ACa, en adoptant: (i) CaaS-ACaInitiateur: Pour recevoir les poids des paramètres QoS introduit par le client, pré-classer les services atomiques basés sur leurs scores QoS, et les soumettre au composanteCaaS ,(ii)

CalculateurQoS : Pour lancer l’opération de calcul des scores QoS, des services atomiques et

composite en utilisant le composant CaaS, et pour demander des MVs supplémentaires de l’AIf en cas de besoin.

L’ACa interagit avec les agents : AA, AIf, et AQ, en adoptant: (i) CaaS-ACInitiateur: Pour recevoir les scores QoS de l'QA, les mots-clés de la requêtes et les services sélectionnés de l’AA, afin de les soumettre au composant CaaS , (ii) CatégoriserSS: pour lancer la création de tables de catégorisation (en utilisant le composant CaaS), et demander des MV supplémentaires de l’AIf en cas de besoin.

105

L’AC interagit avec les agents : AA et AIf en adoptant: (i) CaaS-initiateur: Pour recevoir les tables de catégorisation de l’ACa, les mots-clés de la requêtes et les services sélectionnés de l’AA, afin de les soumettre au composant CaaS , (ii) VérificateurSS: Pour lancer les tests de connectivité entre les services sélectionnés afin de choisir les meilleures chaînes de composition de services en utilisant le composant CaaS et demander des MVs supplémentaire de l’AIf en cas de besoin , (ii) ClasseurSS: pour classer les services atomiques et composites en utilisant le composant CaaS et demander des MVs supplémentaires de l’AIf en cas de besoin.

L’AI interagit avec l’AA en adoptant : (i) InteractionClient : Pour apporter les requêtes ou les réclamations des clients à l’AA, et afficher les services virtuels composites aux clients.

L'AMC interagit avec l’AA en adoptant: (i) LiaisonNœud : pour transmettre les fichiers et les réclamations des clients, les caractéristiques des ressourcesCloud, les services sélectionnés et les services virtuels composites entre les principaux nœuds du moteur proposé. L’AMD interagit avec l’AA en adoptant : (i) ChercheurSS: pour la recherche de nouveaux services SaaS sur Internet, (ii) DistributeurAD: pour la Coopération avec les autres AMD afin d’éviter de chercher dans les mêmes régions d’Internet.

L'AMM interagit avec l’AA en adoptant : (i) Mise-à-JourSS : Pour mettre à jour les fichiers WSDL indexées dans le nœud de découverte.

L’AMR interagit avec l’AA et l’AIf en adoptant: (i) ChercheurRC : pour la recherche de nouveaux fournisseurs de services Cloud IaaS sur Internet, (ii) DistributeurAD: Pour la coopération avec les autres AMR afin d’éviter de chercher dans les mêmes Régions Internet, (iii) ComposantsDéployer : Pour déployer l'AIf dans le nœud IaaS cible, afin de tester son intégrité et sa fiabilité, et pour commencer le déploiement des composants du moteur proposé sur ce nœud.

Enfin, nous notons que les comportements des agents : AMR et AMD, sont très similaires, mais l’AMD cherche des nouveaux fournisseurs de services SaaS pour le compte des clients, alors que l’AMR cherche de nouveaux fournisseurs de services IaaS pour le compte du moteur proposé.

106

Figure V.11: Diagramme d’interactions entre agents.