Thèse soutenue

Un système multi-agent pour la composition logicielle opportuniste en environnement ambiant et dynamique

FR  |  
EN
Auteur / Autrice : Walid Younes
Direction : Jean-Paul ArcangeliFrançoise AdreitSylvie Trouilhet
Type : Thèse de doctorat
Discipline(s) : Intelligence Artificielle
Date : Soutenance le 03/06/2021
Etablissement(s) : Toulouse 3
Ecole(s) doctorale(s) : École doctorale Mathématiques, informatique et télécommunications (Toulouse)
Partenaire(s) de recherche : Laboratoire : Institut de Recherche en Informatique de Toulouse (1995-....)

Résumé

FR  |  
EN

Les systèmes cyber-physiques et ambiants sont constitués d'appareils fixes ou mobiles reliés par des réseaux de communication. Ces appareils hébergent des composants logiciels qui fournissent des services et peuvent nécessiter d'autres services pour fonctionner. Ces composants logiciels sont généralement développés, installés et activés indépendamment les uns des autres et, avec la mobilité des utilisateurs et des appareils, ils peuvent apparaître ou disparaître avec une dynamique imprévisible. Ceci donne aux systèmes cyber-physiques et ambiants une nature ouverte et changeante. Les composants logiciels sont des briques que l'on peut assembler pour former des applications mais, dans un tel contexte de dynamique et d'ouverture, les assemblages de composants sont difficiles à concevoir, à maintenir et à adapter. Les applications sont utilisées par des humains qui sont donc au cœur de ces systèmes. L'intelligence ambiante vise à leur offrir un environnement personnalisé adapté à la situation, c'est-à-dire à fournir la bonne application au bon moment, en anticipant leurs besoins, qui peuvent aussi changer dans le temps. Pour répondre à ces problèmes, notre équipe explore une approche originale appelée "composition logicielle opportuniste" qui consiste à construire automatiquement des applications à la volée à partir des composants disponibles sur le moment dans l'environnement, sans s'appuyer sur des besoins explicites de l'utilisateur ni sur des plans d'assemblage prédéfinis. Ainsi, les applications émergent de l'environnement, en tirant parti des opportunités au fur et à mesure qu'elles se présentent. Cette thèse définit une architecture logicielle pour la composition logicielle opportuniste et propose un système intelligent, appelé "moteur" de composition opportuniste, afin de construire automatiquement des applications pertinentes, à la fois adaptées à l'utilisateur et à l'environnement ambiant. Le moteur de composition opportuniste détecte périodiquement les composants et leurs services présents dans l'environnement ambiant, construit des assemblages de composants et les propose à l'utilisateur. Il apprend automatiquement les préférences de l'utilisateur en fonction de la situation afin de maximiser ultérieurement sa satisfaction. L'apprentissage se fait en ligne par renforcement. Il est décentralisé au sein d'un système multi-agent dans lequel les agents interagissent via un protocole qui prend en charge la découverte et la sélection dynamique de services. Pour apprendre de l'utilisateur et pour l'utilisateur, ce dernier est mis dans la boucle. Ainsi, il garde le contrôle sur son environnement ambiant, et décide de la pertinence de l'application émergente avant qu'elle ne soit déployée. La solution a été implémentée et expérimentée. Elle fonctionne de manière couplée avec une interface qui décrit les applications émergentes à l'utilisateur et lui permet de les modifier. Les actions de l'utilisateur sur cette interface sont sources de feedback pour le moteur et servent à alimenter le mécanisme d'apprentissage par renforcement.