Distribution d’une tâche grâce aux SMA : apport de flexibilité

Télécharger le fichier original (Mémoire de fin d’études)

Positionnement des travaux

L’intégration des SMA à des environnements matériels embarqués est abordée dans plusieurs travaux couvrant de nombreux domaines dont nous souhaitons ici donner un aperçu. Nous présentons de manière la plus exhaustive possible des cas d’expérimentation de SMA en embarqué afin de positionner au mieux notre travail.
Gestion de l’énergie
Certains travaux de recherche appliquant les SMA dans le cadre de la régulation intelligente de l’énergie dans les bâtiments proposent leur implémentation au sein de systèmes embarqués. Ces applications se focalisent alors sur la fonctionnalité des SE concernés. Les recherches analysent les résultats de différents algorithmes agents dans le but d’établir une gestion de l’énergie plus intelligente. Les résultats sont majoritairement obtenus par le biais de simulations pour déterminer le paramétrage le plus pertinent du matériel concernant l’énergie consommée sur l’ensemble de la zone considérée. Ce paramétrage est ensuite intégré au niveau du matériel. Les agents n’interagissent pas directement avec ce dernier pour le modifier, ils sont également rarement placés au cœur même du matériel.
C’est par exemple le cas du système multi-agents SAVES (Sustainable multi-Agents building application for opti-mizing Various objectives including Energy and Satisfaction) où les agents restent au niveau d’applications relevant des données et simulant des possibilités pour baisser le niveau de consommation de l’énergie. Après l’établissement d’une solution, l’agent propose à l’utilisateur de l’appliquer s’il le souhaite [Kwak et al., 2012].
Dans le même contexte, le système multi-agents BLEMS (Building-Level Energy Management Systems) utilise des capteurs pour estimer la présence de personnes dans une pièce et proposer une adaptation de la consommation d’énergie en fonction de cette information [Mamidi et al., 2012].

Positionnement des travaux Z Y

Introduction

La prédiction de l’activité et la présence humaine est également le cas d’étude de SMACH, une plateforme multi-agents [Gil-Quijano and Sabouret, 2010], permettant de simuler les déplacements d’une famille dans sa maison au quotidien. Ce projet est repris dans le cadre de la simulation des activités mêmes de la famille, simulant complètement le comportement d’un être humain [Amouroux et al., 2013]). Les résultats des simulations ont ici encore pour but d’être analysés afin de proposer des solutions pour réduire la consommation d’énergie en adéquation avec les habitudes de la famille.
Le projet MAHAS (Multi-Agents Home Automation System), destiné à réguler l’énergie dans le bâtiment, propose une intégration des SMA dans les systèmes embarqués à travers les appareils consommateurs et producteurs d’énergie [Abras et al., 2009]. Le projet utilise une méthode de conception du système multi-agents permettant d’allier SMA et SE sans aller jusqu’au bout de la mise en pratique : le projet est resté théorique [Abras, 2009]. Depuis ces travaux ont été repris avec un développement se concentrant sur l’analyse de simulations [Abras et al., 2013].
Nous pouvons ainsi observer que le domaine de recherche de gestion de l’énergie se concentre sur un résultat applicatif global et la simulation reste le principal outil. Nous souhaitons adapter les agents au cœur de l’embarqué et leur permettre d’interagir directement avec ce dernier. Nous pourrions ainsi exploiter l’autonomie leur permettant de réagir en temps-réel et de façon appropriée face à des situations imprévues ou nouvelles pour apporter de l’adaptabilité et de la réactivité à notre SE.
Maison intelligente
Les objets connectés représentent un marché en forte croissance : la notion d’objets intelligents correspond à une large demande. Ces objets incarnent des systèmes embarqués à l’origine d’un nouveau contexte commercial et industriel. En effet, une étude menée par la société Gartner estime un nombre d’objets connectés dans notre quotidien montant à 20 milliards pour l’horizon 2020 [Hung, 2017]. Les marchés couverts par les projets basés sur les IoT sont les environnements intelligents, les entreprises intelligentes, les vêtements intelligents, les maisons intelligentes et les cités intelligentes [Perera et al., 2015].
Ici le terme « objet intelligent » est utilisé pour désigner un objet capable de s’identifier, d’agir sur son environne-ment et de communiquer avec d’autres objets intelligents via des réseaux. Dans le cadre de l’Internet des objets, nous retrouvons essentiellement la capacité à communiquer des informations relevées en temps-réel pour un traitement distant. L’implémentation d’agents au cœur de ces objets pourrait permettre d’apporter des capacités d’interaction avec l’environnement en plus d’une possibilité d’adaptation ou d’apprentissage.
Le domaine de la « maison intelligente » correspond à l’intégration d’IoT dans l’environnement utilisateur personnel. Des recherches parlent de la possibilité d’intégrer des SMA au cœur d’unités matérielles dans ce but. Il s’agit actuellement d’approches théoriques. Leur objectif n’est actuellement pas d’être confrontées aux problématiques abordées par une réalisation concrète telles que les notions de bande passante et de contraintes mémoire ou temps réel pour les interactions des agents.
Par exemple, certains travaux proposent la modélisation d’un réseau de capteurs et d’acteurs multi-agents pour équiper une maison intelligente. Ces travaux relèvent ainsi l’utilité d’appliquer des SMA pour communiquer dans un environnement composé de machines très hétérogènes. Ils se concentrent sur la présentation d’un modèle agent BDI (Belief Desire Intention) et l’évaluation des performances de ce modèle dans le cadre de simulations [Sun et al., 2013]. La mise en pratique est brièvement présentée en perspective.
De la même manière, le projet TORRENT devait expérimenter un système multi-agents en tant que réseau intelligent de l’habitat, mais n’a a priori pas été poursuivi [Scharf et al., 2002].
La proposition d’une architecture de SMA adaptée à la domotique tout en prenant en compte le contexte matériel a également été proposée. Elle se focalise sur une formalisation de cette architecture et ne propose pas d’expérimen-tations post-implémentation [Miraoui et al., 2016].
Dans un contexte plus axé sur le multimédia de l’habitat, des travaux ont été effectués pour mettre en place un SMA pour réaliser un service de jeu multi-joueurs [Poggi, 2008]. L’idée est de pouvoir intégrer des agents aussi bien sur un ordinateur que sur un téléphone mobile ou une télévision interactive. Le projet s’en tient cependant à des agents n’ayant pas été intégrés au cœur même des différents appareils cités.
Sans spécifiquement nous restreindre au domaine de la domotique ou des IoT, nous souhaitons pour notre part une intégration concrète sur SE pour en étudier l’ensemble des contraintes. Nos travaux se positionnent ainsi en parallèle des travaux réalisés dans ce domaine.
Agents mobiles
Certains projets travaillent sur une approche d’agents mobiles, c’est à dire pouvant migrer d’un contexte d’exé-cution à un autre. Cette possibilité est utilisée en parallèle de plateformes de communications multi-agents : en effet cette approche autorise le déplacement de l’agent pour lui permettre d’obtenir les informations dont il a besoin ou pour transmettre des informations directement aux agents évoluant dans un autre contexte [Mayowa et al., 2016].
Un modèle agent spécifiquement adapté à ce type d’agent mobile a été proposé [Gherbi et al., 2013]. Cette ap-proche, bien qu’utilisée dans le domaine de l’embarqué, se concentre sur l’évolution des agents et leur capacité de mobilité. Le matériel est considéré comme une ressource. De la même façon que pour les travaux liés à la gestion de l’énergie, les travaux ne se focalisent pas sur l’optimisation du système embarqué.
Exécution sur un processeur graphique
Certains travaux dans le domaine des systèmes multi-agents proposent d’adapter leur système à une application sur unité matérielle : l’unité processeur graphique (Graphical Processing Unit, GPU). Les recherches nécessitent d’adapter le langage de programmation pour être en adéquation avec l’architecture parallèle de ce composant. L’in-tégration du SMA sur GPU permet d’augmenter considérablement la puissance des simulations expérimentées en traitant un plus grand nombre d’agents simultanément ou d’augmenter la vitesse de calcul du résultat.
Par exemple, dans le domaine de la sécurité des personnes, l’expérimentation sur GPU de certaines recherches permet d’augmenter la complexité du cas étudié en simulation [Kleiner et al., 2013]. Des travaux ont également proposé une amélioration de la plateforme de simulation multi-agents TurtleKit3 afin qu’elle puisse intégrer le lan-gage de programmation spécifique à cette unité : le GPGPU (General-Purpose Computing on Graphics Processing Units), pour faire des simulations à très grande échelle [Michel, 2013]. Un autre projet propose une modification de l’algorithme de programmation dynamique (Improved Dynamic Programming, IDP), utilisé dans le cadre de géné-ration de coalition en simulation, pour le faire fonctionner sur GPU afin d’en améliorer les performances de calcul [Pawlowski et al., 2014].
Ici le but est donc d’appliquer ce composant embarqué comme ressource pour améliorer des performances de SMA dans le cadre de simulations. Dans notre cas, nous nous intéressons à la possibilité d’expérimenter des SMA au cœur de systèmes embarqués pour optimiser l’utilisation des ressources de ces derniers.
Robotique
En robotique, une partie ou l’ensemble de la machine peut être considérée comme un agent auquel sont appliqués des comportements sociaux. Cet agent dispose ainsi des acteurs et capteurs du robot pour interagir avec son envi-ronnement et les autres agents-robots. Par exemple, une distribution des tâches entre les différents robots peut ainsi s’organiser [Liekna et al., 2012].
Dans ce contexte, des recherches ont proposé une approche de développement générique pour des agent-robots [Cossentino et al., 2003]. Ces travaux ont évolué vers la présentation d’une structure logicielle dédiée au dévelop-pement de SMA appliqués à la robotique [Iñigo-Blasco et al., 2012]. Un modèle de formalisation de système multi agent-robots fut soumis [García et al., 2012]. Plus récemment, certains travaux se sont focalisés sur la proposition d’une plateforme dédiée aux agent-robots pour permettre de faire le lien entre des SMA logiciels et leur support em-barqué dans le cadre de la robotique [Lazarin and Pantoja, 2015]. Ces travaux sont poursuivis avec la présentation d’une architecture agent, ARGO, pour la programmation d’agent-robots embarqués. Elle relie les capteurs et acteurs de l’agent aux informations de son environnement matériel tout en conservant une base de raisonnement de type BDI [Pantoja et al., 2016].
A travers tous ces travaux, nous observons la prise en compte des contraintes matérielles sur les systèmes multi-agents. Cependant nous constatons la focalisation de ces projets sur l’ensemble du système, pour lui donner des comportements sociaux ou coordonner plusieurs pièces entre elles par le biais des protocoles d’interaction multi-agents. A la différence de ces travaux, nous souhaitons expérimenter nos agents en tant que processus au cœur même de nos unités matérielles. Notre perspective de recherche repose sur l’application de ces protocoles d’interaction entre les ressources à l’échelle de nos composants, amenant des contraintes embarquées strictes aux systèmes multi-agents.

Table des matières

Remerciements
Table des matières
Liste des Figures
Liste des Tables
1 Introduction
1.1 Motivations
1.2 Positionnement des travaux
1.3 Définition de la problématique
1.4 Contexte de la recherche
1.5 Hypothèses et contributions visées
1.6 Structure du mémoire
Bibliographie
I État de l’art
2 Les systèmes embarqués
2.1 Défis de l’embarqué
2.1.1 Fiabilité du système
2.1.2 Sécurité du système
2.1.3 Réactivité du système
2.1.4 Optimisation du système
2.2 Ressources et tâches
2.3 Allocation des tâches
2.4 Communication entre les tâches
2.4.1 Notion de processus
2.4.2 Échange d’informations et synchronisation
2.4.3 Protocoles de communication
2.5 Évaluation des travaux dans les SE
Bibliographie
3 Les systèmes multi-agents
3.1 Définitions et spécifications
3.1.1 Différentes catégories d’agents
3.1.2 Modèles agents
3.1.3 Plateformes multi-agents
3.2 Normalisation des échanges
3.2.1 Norme KQML
3.2.2 Fondation FIPA et norme FIPA-ACL
3.2.3 Administration
3.2.4 Transport des messages
3.3 Algorithmes de comportements sociaux des SMA
3.3.1 Coordination et négociation
3.3.2 Protocole de négociation
3.4 Évaluation des travaux dans les SMA
Bibliographie
Synthèse
II Propositions transversales
4 Formalisation d’un SMA embarqué
4.1 SMA embarqué
4.2 Caractéristiques d’un agent embarqué
4.3 Méthodologie de formalisation
4.3.1 Caractérisation des familles d’agents
4.3.2 Établissement de la table des besoins
4.3.3 Réalisation d’une matrice des interactions
5 MERMAID : une plateforme agent embarquée
5.1 Architecture
5.1.1 Couche de communication
5.1.2 Couche d’administration et de gestion
5.1.3 Agents administratifs
5.1.4 Couche applicative
5.2 Organisation
5.3 Évaluation de la plateforme
5.3.1 Mesure du temps de transfert moyen de MERMAID
5.3.2 Mesure du temps de réponse
Synthèse
III Expérimentations et analyses
6 Distribution d’une tâche grâce aux SMA : apport de flexibilité
6.1 Contexte d’expérimentation
6.1.1 Cadre applicatif des expériences : le traitement d’images
6.1.2 Description du matériel utilisé : SE Cannes
6.2 Flexibilité des choix dans les SE
6.3 Cas d’application : zoom sur une image
6.3.1 Présentation du programme séquentiel
6.3.2 Méthodes d’interpolation utilisées
6.4 Formalisation des agents embarqués
6.5 Application du zoom via MERMAID
6.6 Expérimentation de la flexibilité
6.6.1 Évaluation du temps de réponse du SMA
6.6.2 Qualité du rendu de l’image
6.7 Synthèse de l’expérimentation
7 Délégation de tâches par SMA entre cartes embarquées
7.1 Délégation dynamique des tâches
7.2 Temps de réponse de la négociation
7.2.1 Formalisation du SMA embarqué et application à MERMAID
7.2.2 Protocole d’expérimentation
7.2.3 Résultats
7.3 Temps de réponse du traitement
7.4 Analyse de la délégation associée à la flexibilité
7.4.1 Formalisation des agents embarqués et application à MERMAID
7.4.2 Analyse de la délégation
7.5 Délégation entre différentes cartes embarquées
7.5.1 Choix d’organisation des agents au sein du SMA
7.5.2 Protocole d’analyse de la délégation dans un contexte hétérogène
7.5.3 Expérimentation du contexte multi-cartes
7.5.4 Optimisation entre systèmes embarqués par délégation
Synthèse
Bibliographie
8 Conclusions et Perspectives
8.1 Apports de la thèse
8.1.1 Synthèse globale des travaux
8.1.2 Résultats obtenus
8.2 Extensions et perspectives
8.2.1 Perfectionnement de la plateforme MERMAID
8.2.2 Continuité de la gestion des ressources dans les SE
8.2.3 Domaines d’application à explorer
Bibliographie
Bibliographie complète
Publications réalisées au cours des travaux de la thèse
Table des acronymes

Télécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *