Thèse soutenue

Modélisation centrée utilisateur pour la configuration logicielle en environnement ambiant

FR  |  
EN
Auteur / Autrice : Maroun Koussaifi
Direction : Jean-Paul ArcangeliJean-Michel Bruel
Type : Thèse de doctorat
Discipline(s) : Informatique et Télécommunications
Date : Soutenance le 18/12/2020
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

L'intelligence ambiante vise à offrir à un utilisateur humain des applications et des services personnalisés et adaptés à la situation courante. L'environnement ambiant, dans lequel cet humain est plongé, est composé d'un ensemble d'objets connectés et de composants logiciels qui sont des briques de base pour la construction d'applications par composition. La disponibilité de ces composants peut varier dynamiquement, en cas de mobilité par exemple. Ceux-ci peuvent apparaître ou disparaître de manière non anticipée. De plus, dans ces environnements dynamiques et ouverts, le besoin de l'utilisateur humain n'est pas stable ni toujours bien défini. Pour construire des applications dans un tel contexte, et fournir à l'utilisateur "les bonnes applications au bon moment", notre équipe explore une approche originale appelée "composition logicielle opportuniste" : l'idée est de construire des applications à la volée par assemblage de composants logiciels présents dans l'environnement sur le moment, sans se baser sur des besoins explicites ni sur des schémas de construction prédéfinis. C'est l'opportunité qui déclenche la construction des applications à la volée. Elle est contrôlée par un système intelligent, appelé moteur de composition opportuniste, qui doit décider des "bonnes" compositions à effectuer sans contribution explicite de l'utilisateur. Ainsi, les applications "émergent" dynamiquement. Les applications émergentes peuvent être imprévues ou inconnues de l'utilisateur. Au centre du système, ce dernier doit être en informé. Il doit pouvoir les contrôler, c'est-à-dire les accepter ou les rejeter, et s'il a les compétences requises, les modifier ou même construire lui-même des applications en assemblant des composants logiciels présents dans l'environnement ambiant. Dans les tâches de contrôle, l'utilisateur doit être assisté au mieux. D'autre part, pour que le moteur de composition opportuniste construise des assemblages pertinents en l'absence de besoins explicites, il doit recevoir des informations de l'utilisateur. Ceci ne doit cependant pas entraîner, pour l'utilisateur, une surcharge d'information ou d'opérations à effectuer. Dans cette thèse, nous proposons une approche basée sur l'ingénierie dirigée par les modèles (IDM) afin de mettre l'utilisateur "au centre de la boucle". Il s'agit de lui présenter les applications émergentes, de l'assister dans son contrôle et d'extraire des données de feedback utiles à fournir au moteur de composition "intelligent". Notre solution repose sur un métamodèle d'assemblage de composants logiciels, des langages spécifiques à un domaine (DSL) qui supportent la description des applications, un éditeur graphique qui permet d'éditer les applications et de capturer le feedback de l'utilisateur. Différentes transformations de modèle permettent l'interfaçage avec le moteur de composition et la génération de différentes formes de descriptions structurelles et sémantiques des applications pour des utilisateurs différents. En outre, les descriptions peuvent être facilement ajustées à un humain particulier, en changeant ou en adaptant les DSL et les transformations de modèle au profil de l'utilisateur. Dans notre approche, contrairement à l'utilisation classique de l'IDM où les outils et les techniques sont utilisés par les ingénieurs pour développer des logiciels et générer du code, le focus est sur les utilisateurs finaux qui prennent la place des ingénieurs. L'ensemble de la solution a été implémentée et fonctionne de manière couplée avec le moteur de composition opportuniste : notre solution prend en entrée les applications proposées par le moteur, les transforme en des modèles présentables, compréhensibles et modifiables par l'utilisateur, et enfin capture le feedback de l'utilisateur pour le transmettre au moteur pour mettre à jour sa connaissance.