• Aucun résultat trouvé

7.5 Délégation entre différentes cartes embarquées

8.1.1 Synthèse globale des travaux

A travers notre introduction, nous avons problématisé nos travaux concernant l’intégration d’algorithmes multi- agents au cœur des systèmes embarqués pour améliorer l’adaptation dynamique de ces derniers à leur contexte d’exécution. Nous avons alors présenté quatre hypothèses de recherche pour guider nos travaux [Section 1.5]. Nos deux premières hypothèses sont liées à la proposition de solutions pour l’intégration des SMA dans les systèmes embarqués. Nous focalisons ainsi notre approche sur les systèmes multi-agents centrés interaction pour favoriser la généricité de nos travaux. De plus, nous recherchons la formalisation d’une plateforme multi-agents embarquée nor- malisée pour assurer sa compatibilité avec d’autres projets multi-agents. Nous précisons également nos hypothèses liées aux apports pour les SE. Nous prévoyons ainsi l’optimisation de ces derniers par le biais d’une délégation des tâches réalisée grâce aux algorithmes de négociation multi-agents. Enfin, nous estimons que le partage d’une tâche entre plusieurs agents apportera plus de flexibilité à notre SE. Notre hypothèse vise également l’apport d’une capacité à réagir dynamiquement aux variations du contexte d’exécution.

Pour re-situer nos hypothèses, nous avons développé un état de l’art des deux domaines de notre thèse. En Cha- pitre2, nous avons présenté les quatre défis principaux régissant les systèmes embarqués : leur fiabilité, leur sécurité, leur réactivité et leur optimisation. Nous avons particulièrement détaillé ce dernier point au centre de notre problé- matique. Nous avons ainsi précisé les spécificités des composants matériels des SE et de leur gestion pour soulever le problème à l’origine de ce défi : des ressources matérielles limitées. Nous avons alors résumé les mécanismes d’or- donnancement appliqués au cœur du matériel. Nous avons précisé une solution d’optimisation de nos ressources en agissant sur les tâches leur étant allouées : le principe de délégation des tâches. Nous avons ensuite exprimé le besoin

8.1. Apports de la thèse Z YCHAPITRE 8.Conclusions et Perspectives

d’établir des interactions sociales entre les différentes ressources pour rendre cette délégation possible. Cette limite nous a amenés à présenter les différents systèmes de communication existant au sein des SE. Nous avons détaillé les notions de processus et de threads pour introduire les différentes méthodes de synchronisation nécessaires aux échanges d’information. Nous avons achevé cette partie par la présentation des protocoles de communication inter processus dont les socket et D-Bus que nous avons choisi d’expérimenter par la suite. Nous avons achevé ce chapitre par un rappel des différentes méthodes d’évaluation des travaux du domaine, notamment de la mesure du temps de réponse d’un traitement comme repère de performance.

Dans le Chapitre3nous avons introduit les notions de systèmes multi-agents par des définitions des principaux termes. Nous avons ainsi présenté les différents types d’agents, leur comportement, leurs modèles et leurs plateformes. Nous avons particulièrement détaillé deux modèles agents centrés interaction : DIAMOND et IODA. Le premier pro- pose une approche complémentaire de nos travaux avec une méthode de co-design de systèmes embarqués et de SMA. Nos travaux se focalisent sur l’intégration d’un SMA à un SE existant. Le deuxième présente un modèle agent basant sa réalisation sur la spécification de ses interactions. Il établit notamment une matrice des interactions dont nous nous inspirons pour la formalisation de nos systèmes multi-agents embarqués.

Lors de notre présentation des différentes plateformes multi-agents existantes, nous avons constaté leur focalisation sur d’autres contextes de recherche. Nous avons profité de l’étude de ces plateformes existantes pour spécifier nos critères. Nous avons ainsi souligné l’importance de supporter un langage de programmation bas niveau pour op- timiser notamment notre gestion de la mémoire. Nous avons également spécifié le besoin d’appliquer des modèles agents centrés interaction, de supporter des domaines d’application liés aux SE et de suivre des normes pour favoriser l’hétérogénéité de la plateforme.

Nous avons poursuivi avec la présentation des normes existantes : KQML et FIPA. La deuxième propose en plus de son standard de communication, FIPA-ACL, une normalisation de l’administration de la plateforme. Nous avons choisi d’employer cette option pour nos propositions et donc particulièrement détaillé les spécifications de cette norme. Nous avons notamment précisé les paramètres d’encapsulation des messages, le fonctionnement de la couche MTPS assurant leur transfert et les propriétés des agents administratifs AMS, DF et ACC. Nous avons ensuite rappelé les principes des algorithmes sociaux multi-agents et en particulier celui de négociation applicable à notre contexte de travail. Nous avons en particulier présenté le protocole de négociation CNP utilisé par la suite pour expérimenter notre délégation des tâches. Enfin nous avons présenté les méthodes d’évaluation pour ce domaine, notamment la mesure du temps de transfert moyen d’un message sur une plateforme ainsi que l’évaluation des temps de réponse des services d’un agent administratif.

Après cette présentation de l’existant, nous nous sommes intéressés à la mise en place de nos propositions. Dans le Chapitre4, nous avons proposé la spécification de nos agents embarqués à travers leur cadre d’évolution et leur cycle de vie. Nous avons présenté les deux environnements regroupant les entités cibles pour les interactions de nos agents : l’environnement immédiat pour les entités partageant le même SE et l’environnement hétérogène pour l’ensemble des entités reliées au même réseau. Pour la caractérisation du cycle de vie de nos agents embarqués, nous avons différen- cié le processus agent de ses threads de services et d’écoute assurant son évolution. Nous avons ensuite proposé une méthodologie de formalisation pour les systèmes multi-agents embarqués. Cette méthode conduit à l’aboutissement d’une table des besoins listant les entités moyens pouvant aider un agent à réaliser ses services. Elle établit également une matrice des interactions regroupant l’ensemble des échanges entre les agents du SMA.

Dans le Chapitre5, nous avons détaillé notre proposition de MERMAID, une plateforme multi-agents embarquée répondant aux critères présentés lors de l’état de l’art. Nous avons spécifié son architecture séparée en deux blocs : un noyau essentiel à l’application d’un agent embarqué sur SE et un bloc d’administration unitaire par SMA. Ce dernier regroupe notre propositions des trois agents administratifs AMS, DF et ACC. Le noyau apporte une API de communication correspondant à la couche MTPS de la norme FIPA et des bibliothèques de fonctions permettant la gestion du cycle de vie et des interactions de nos agents.

En troisième partie de cette thèse, nous avons proposé plusieurs expérimentations pour éprouver nos propositions et nos hypothèses. Lors du Chapitre 5.3, nous avons évalué notre proposition MERMAID en mesurant son RTT ainsi que les temps de réponse des services principaux de l’agent administratif AMS. Dans le Chapitre6, nous avons éprouvé notre hypothèse concernant l’apport de flexibilité des SMA aux SE en étudiant le cas du partage d’un zoom. Nous avons évalué nos résultats par une étude performance en relevant le temps de réponse de notre solution et en la comparant à une alternative en programmation séquentielle. Nous avons également analysé la possibilité de réagir dynamiquement à un contexte de traitement défavorable. Nous avons ensuite éprouvé notre hypothèse liée

CHAPITRE 8.Conclusions et Perspectives Z Y 8.1.Apports de la thèse

à la délégation des tâches en Chapitre 7 toujours dans le cadre d’étude du traitement d’images. Dans un premier temps, nous avons analysé le temps de réponse induit par le protocole de négociation CNP. Puis, nous avons évalué l’apport en parallélisation du travail en relevant le temps de réponse d’un traitement groupé de plusieurs images. Nous avons enfin amélioré notre expérimentation relative au contexte défavorable en permettant à nos agents de déléguer dynamiquement les tâches leur ayant été allouées. Nous avons étendu notre protocole d’expérimentation à plusieurs cartes embarquées. A ce stade, nous avons tout d’abord effectué une première expérience sans délégation pour éprouver notre hypothèse concernant la normalisation de notre plateforme. Nous avons finalement appliqué la délégation pour optimiser la répartition des tâches entres les différents systèmes.