• Aucun résultat trouvé

La nature distribuée et ouverte des réseaux sans fil rend l’approche multi-agents particulièrement adaptée. Le fait que cette approche fournisse une représentation externe des interactions et de l’orga-nisation permet plusieurs fonctionnalités comme le contrôle par un observateur externe. Nous avons identifiés plusieurs domaines d’applications des systèmes multi-agents dans le contexte des réseaux sans fil : le routage de l’information, la fusion de données, la recherche et la description de services. Nous avons créé une autre catégories pour introduire des travaux connexes où les systèmes multi-agents sont utilisés.

Le routage de l’information. Peu de travaux, traitant de la problématique du routage de l’infor-mation dans les réseaux ad-hoc d’entités physiques autonomes, utilisent les systèmes multi-agents. On peut cependant citer les travaux relatés dans [Choudhury et al., 2000] utilisant des agents mobiles18 et centrés sur l’optimisation des temps d’acheminements de messages. Leur technique repose sur la gestion des affinités entre agents (similaire aux techniques de routage dites par état des liens). Le projet militaire ActComm [Gray, 2000] pour lequel le routage de l’information est essentiel : l’objectif est de gérer les communications qu’échangent les soldats entre eux et le quartier général via un satellite.

D’autres approches de l’intelligence artificielle distribuée connexes aux systèmes multi-agents sont uti-lisées. Dans [Arabshahi et al., 2001] des algorithmes sont décris pour le routage d’information reposant sur l’intelligence Swarm.

La recherche et la description de services. La recherche et la description de services est un do-maine de recherche très actif où les systèmes multi-agents sont utilisés dans le contexte des réseaux ad-hoc [Chen et al., 2000, Langley, 2003, Ratsimor et al., 2002, Campo et al., 2002]. Dans ce cadre FIPA, qui travaille sur la normalisation des interactions dans les systèmes multi-agents, s’est d’ailleurs intéressé au cas de cette famille de réseau de communication [Berger et al., 2003]. Certains travaux sur ce stan-dard on été réalisés [FIPA, 2002a, FIPA, 2002b] et des résultats intéressants on été mesurés pour certains types de réseaux ad-hoc [Helin and Laukkanen, 2002].

Dans [Minar et al., 1999] un outil pour aider à la conception et au management de réseaux sans fil. Ces travaux concernent la gestion de services en utilisant des agents mobiles selon l’idée d’un écosys-tème où les agents évolueraient dans l’environnement que représente le réseau. Le problème décrit dans [Zhang et al., 2002] est similaire au notre mais leur approche utilise les algorithmes stochastiques distri-bués.

Dans [Campo et al., 2002] les systèmes multi-agents proposent une infrastructure multi-agents pour pro-poser un service type pages jaunes au système.

La fusion de données. Le projet Unmanned Ground Vehicle Program ARPA [Cook et al., 1996] utilise l’approche multi-agents pour fusionner des données provenant de plusieurs véhicules militaires afin d’avoir une vue globale du champ d’opération à partir des différentes vues locales. Plus récemment, Petriu et al [Petriu et al., 2002] présente un projet dans lequel les agents sont utilisés pour réaliser une structure ouverte et flexible d’assemblage de cellules dans laquelle les données collectées par les agents sont fusionnées pour créer un environnement virtuel.

18. les agents mobiles sont des agents qui se déplacent d’unité de calcul en unité de calcul. Ils encapsulent leur code, données et autres objectifs globaux.

Conclusion 133

Autres travaux. Dans [Sansores and Pavón, 2004], il est proposé une architecture en trois couches (couche applicative, couche ontologie et une couche de communication) pour minimiser l’impact des déconnexions. Une implémentation tourne sur PDA et utilise des modules Bluetooth. Elle permet la réservation de tickets de cinéma et places de théâtre via une connexion internet.

6.6 Conclusion

Dans ce chapitre, nous avons présenté le domaine des réseaux sans fil en focalisant sur les réseaux ad-hoc. Cette présentation des réseaux ad-hoc permet de les situer dans l’évolution des réseaux sans fil et insiste sur le routage des messages dans de tels réseaux. Les principes fondamentaux des techniques de routage sont exposés afin de rendre plus compréhensible la partie qui traite des différents protocoles représentatifs de ce domaine.

Cette revue des protocoles est organisée selon le critère de la réactivité/pro-activité. Ces protocoles reposent généralement sur l’inondation. Les protocoles réactifs ne maintiennent pas de tables de routage. Si ils en utilisent, ce n’est que de façon temporaire. Ils sont les plus adaptatifs mais aussi ceux qui ont la moins bonne efficacité. Les protocoles pro-actifs utilisent des tables de routage qu’ils maintiennent pour être plus efficaces mais leur degré d’adaptabilité est fonction de la fréquence d’envoi de message dont le rôle est d’assurer la cohérence des données.

Cette revue met en évidence quatre techniques exploitées par les protocoles. Ces techniques sont basées sur différentes approches qui sont les approches par diffusion, les approches par clusters, les ap-proches par hiérarchies et les apap-proches basées sur la théorie des graphes.

L’idée qui semble la plus prometteuse est celle qui consiste à regrouper les agents en clusters ou en groupes. Le degré d’adaptabilité est souvent fonction de la fréquence d’envoi des messages de confi-guration. Un inconvénient majeur de ces techniques est la non optimalité des routes que prennent les messages. La formation d’un groupe ne dépend généralement que du critère de localité géographique.

135

Chapitre 7

Le maintien de l’intégrité fonctionnelle

Informatique : Alliance d’une science inexacte et d’une activité hu-maine faillible.

Luc Fayard

Ce chapitre présente le maintien d’intégrité fonctionnelle. Dans une première partie, nous définissons le maintien, le traitement classique des erreurs dans les réseaux et des critères qui permettent d’éva-luer la qualité du maintien de l’intégrité fonctionnelle. Nous introduisons dans une deuxième partie les techniques basées sur la réplication de services. Enfin dans une troisième partie nous présentons l’auto-organisation comme moyen d’assurer l’adaptation. Nous insistons particulièrement sur les moyens de mettre en oeuvre une auto-organisation (les mécanismes).

7.1 Généralité sur le maintien d’intégrité fonctionnelle

7.1.1 Définitions

Un système multi-agents est conçu pour satisfaire un ou plusieurs objectifs. Toute perturbation (faute ou panne) qui amène le système à ne pouvoir accomplir ces buts nuit donc au bon fonctionnement de ce système : elle a violé son intégrité fonctionnelle, sa cohérence.

Nous utiliserons indifféremment, dans la suite du manuscrit, le terme faute, qui fait référence à un manquement aux règles, et erreur, qui est une faute commise par méprise.

Nous utiliserons le terme de panne pour désigner un arrêt de fonctionnement temporaire ou définitif. Il est à noter que d’une panne peut découler des erreurs.

Un système maintient donc son intégrité fonctionnelle s’il est en mesure d’effectuer toutes les tâches que lui a imposées son concepteur et ce indépendamment des changements qu’il peut subir (internes ou externes).

Nous appellerons maintien d’intégrité fonctionnelle l’ensemble de mécanismes qui aident à ga-rantir le bon fonctionnement du système construit, afin qu’il soit conforme aux spécifications de l’utilisateur et pérenne en cours d’exécution (d’après [Equipe MAGMA, 2002].

136 Le maintien de l’intégrité fonctionnelle

Il apparaît donc clairement que le maintien de l’intégrité fonctionnelle est un problème inhérent aux systèmes multi-agents ouverts. En effet, les agents, qui sont les éléments actifs travaillant (en collabora-tion ou non) à l’accomplissement des objectifs du système multi-agents, sont supposés dans le contexte d’un système ouvert, pouvoir le quitter librement. Si les services qu’ils offraient ne sont connus d’aucun autre agent alors le système multi-agents peut devenir défaillant. A l’inverse on pourrait imaginer que, dans un système, l’arrivée trop massive d’agents désorganiserait le système multi-agents et nuirait à son intégrité fonctionnelle.

7.1.2 Le traitement d’erreurs

Maintenir l’intégrité fonctionnelle d’un système, qu’il soit ou non multi-agents, revient à traiter les erreurs qui apparaissent (à moins de réussir à les empêcher). Le traitement d’une faute se décompose en quatre étapes [Pujolle, 2000] :

La signalisation du fonctionnement anormal

Il existe trois outils pour détecter un mauvais fonctionnement :

– les messages d’erreurs : le composant qui fonctionne mal en est "conscient" et le signale aux autres,

– les tests : le système vérifie son état en procédant à des tests de sécurité (on vérifie un maxi-mum d’éléments en un minimaxi-mum de temps) ou de diagnostic (on teste les composants un à un),

– les seuils : le système possède des seuils qui déclenchent automatiquement des alarmes s’ils sont dépassés.

Pour ce qui est des systèmes multi-agents, il est envisageable dans certains cas d’utiliser des agents diagnostic (du type de ceux abordés dans [Schroeder et al., 1996]) ou d’utiliser des agents senti-nelles [Haegg, 1997]. Dans notre contexte, ces agents espionneraient toutes les communications à la recherche d’erreurs. Cette approche n’est pas efficace lorsque les communications sont volumi-neuses.

La localisation du défaut qui consiste à procéder à une analyse plus poussée des tests qui ont amené à détecter un défaut, voire à en utiliser d’autres.

La réparation : suivant la nature de la panne on peut la réparer, dans le cas de problèmes logiciels, en réinitialisant et en rechargeant certaines parties de l’application.

La confirmation du retour à l’état normal : Il s’agit en fait de confirmer le fait que la panne a été traitée, voire de procéder à un test de vérification.

7.1.3 Recherche de critères d’évaluations

Nous pouvons tirer de ces causes de perturbation des critères qui permettent d’apprécier la qualité d’un maintien de l’intégrité fonctionnelle. Ces critères sont:

La complexité de la méthode de maintien de cohérence.

Il est nécessaire de pouvoir quantifier la complexité d’une méthode de maintien d’intégrité fonc-tionnelle. En effet, si une méthode demande par exemple de procéder à de longs calculs, cela aura des répercussions sur la puissance de calcul qu’il faudra affecter aux stations, cela peut induire une consommation d’énergie importante etc.

Méthodes classiques de maintien d’intégrité fonctionnelle 137

On peut donc imaginer plusieurs types de solutions pour le maintien d’intégrité fonctionnelle : – une solution prédictive : on veille à toujours empêcher une violation de la cohérence du

sys-tème,

– une solution curative: après constat de la perte de l’intégrité fonctionnelle, on travaille pour revenir dans un état cohérent. Cette solution implique de pouvoir faire des diagnostics.

Le nombre de stations. Le nombre d’éléments maximum supporté par une méthode est un critère important. En effet, on pourrait imaginer des solutions qui seraient efficaces pour un nombre limité de stations et complètement inintéressantes dans un contexte différent.

L’efficacité. En effet, il ne faut pas que le temps qui sépare l’envoi d’un message de sa réception soit trop important (bien que cela dépend en fait de l’application que l’on souhaite en faire). On peut aussi estimer l’efficacité d’un système en calculant le ratio entre le nombre des messages utiles pour le transport des informations sur le nombre total des messages envoyés (incluant donc les trames utilisées pour la configuration du réseau).