2023IMTA0343 Poirier-Fabrice Diffusion
2023IMTA0343 Poirier-Fabrice Diffusion
2023IMTA0343 Poirier-Fabrice Diffusion
Par
Fabrice POIRIER
Les interactions multimodales dans le contexte de l’internet des objets
Thèse présentée et soutenue à Orange Innovation - Cesson Sévigné, le 12/01/2023
Unité de recherche : Lab-STICC UMR 6285 CNRS
Thèse No : 2023IMTA0343
Composition du Jury :
Tout d’abord, je tiens à remercier mon directeur de thèse et mes encadrants pour leur
support indéfectible tout au long de ce parcours de 3 ans. Un grand merci ...
À Thierry pour avoir suivi de près et avec bienveillance mon travail de thèse, et cela
malgré la distance.
À Anthony pour m’avoir fait découvrir le domaine de la multimodalité et m’avoir
guidé dans mes moments de doutes.
À Jérémy pour m’avoir aidé à réaliser mes objectifs, que cela soit pour du développe-
ment, des expérimentations, ou pour un déménagement.
Je tiens aussi à remercier mon jury de thèse. Merci à Frédéric et Marcos pour avoir
accepté d’être mes rapporteurs et de faire partie de mon jury de soutenance. Vos retours
et questions m’ont permis de prendre plus de recul sur mes travaux. Merci à Gaëlle pour
l’intérêt et les remarques plus que pertinentes que tu as apportées pendant les entretiens
et à la soutenance. Ton énergie et ta force de volonté malgré tes maux me laisse moi aussi
sans voix.
Finalement, je tiens à remercier tous ceux qui m’ont accompagnés et soutenus pendant
ces 3 années, dans les moments difficiles comme dans les meilleurs moments. En particulier,
je pense à tous ceux qui m’accompagnait dans mes pauses plus ou moins longues pour de
grandes discutions sur des sujets très diverses. Je pense aussi à ces compagnons d’aventure
qui m’ont permis de me changer les idées, que cela soit pendant des soirées ludiques, calmes
ou effervescentes. Enfin, je pense à ceux que je connais depuis longtemps et qui ont toujours
cru en moi, qu’ils soient dans le Sud-Ouest, la Provence ou même en Île-de-France.
3
TABLE OF C ONTENTS
Introduction 10
Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Objectif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Méthodologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5
TABLE OF CONTENTS
2.2.5 PHASER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
2.2.6 AM4I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
2.3 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
6
TABLE OF CONTENTS
7
TABLE OF CONTENTS
Bibliography 199
8
Introduction
9
Partie , Chapitre 0 – Introduction
Contexte
10
le chemin à suivre dans l’application de guidage dépend de la topologie des bâtiments et
du placement des objets connectés dans ceux-ci.
Ainsi, ces applications doivent être capables d’utiliser les objets connectés et les tech-
niques d’interaction spécifiques à chaque bâtiment des clients, et cette dépendance à
l’environnement d’exécution complique la création de MIBS par l’éditeur de logiciels. En
particulier, il existe un nombre incalculable d’objets connectés sur le marché 1 , et chaque
objet a ses propres caractéristiques (ex. champ de vision d’une caméra) qui doivent être
prises en compte quand on souhaite l’intégrer dans un système interactif. Concevoir et
développer de zéro des alternatives pour chaque combinaison d’objets est impossible, et
proposer une solution entièrement générique l’est tout autant.
En résumé, les MIBS fournissent un espace d’interaction lié au monde physique, et ils
sont donc très sensibles au contexte d’usage. Or, les environnements possibles de fonc-
tionnement d’un MIBS sont très variés et difficiles (voire impossibles) à anticiper : on y
retrouve un ensemble changeant de capteurs et d’actionneurs fixes ou bien mobiles, des
utilisateurs aux profils variés (ex. parents et enfants à domicile, simples utilisateurs et
administrateurs dans les bureaux, et même visiteurs) pouvant interagir avec le système
interactif seuls ou en groupes.
Pour illustrer cette dépendance des MIBS à l’environnement, nous présentons des cas
d’usage pour les applications de guidage et de réservation. Pour chacune de ces applica-
tions, nous donnons un exemple de configuration qu’une entreprise du tertiaire pourrait
souhaiter installer dans un de ses locaux. Nous illustrons ensuite le fonctionnement de ces
configurations au travers d’exemples de scénarios d’usage.
Le procédé de guidage présenté ici a fait l’objet d’un dépôt de brevet réalisé au cours
de la thèse.
1. https://techjury.net/blog/how-many-iot-devices-are-there/
11
Partie , Chapitre 0 – Introduction
Besoin du client
L’entreprise veut installer un service de réservation de salles de réunion. Pour cela, elle
souhaite utiliser les objets connectés déjà installés dans les salles de réunion : des enceintes
connectés et des interfaces murales connectées. Ces interfaces murales sont constituées de
caméras, de microphones et d’écrans de télévision. L’entreprise souhaite pouvoir réserver
les salles de réunion en utilisant tous les objets connectés. En effet, elle veut que l’applica-
tion fournisse des interfaces visuelles ou vocales, selon les préférences des utilisateurs (i.e.
salariés). De plus, l’application doit pouvoir se synchroniser avec le service de messagerie
qui est déjà utilisé par les salariés depuis leur smartphones.
12
Figure 1 – Plan en vue du dessus de la salle de réunion au début de l’interaction entre
Dominique et le système interactif. L’interface murale est représentée par le rectangle
vert. Le champ de vision de la caméra est représenté par la zone bleue.
Besoin du client
13
Partie , Chapitre 0 – Introduction
jusqu’à la position du salarié. Pour obtenir cette position, l’entreprise veut utiliser la
position de la montre connectée ou du smartphone de l’employé (avec son consentement).
De plus, l’entreprise souhaite que le salarié soit informé quand un nouvel arrivant qui
souhaite le rencontrer passe le portique.
A C
B
Figure 2 – Plan en vue du dessus d’un étage de bâtiment composé de plusieurs pièces
et couloirs. L’environnement est équipé de plusieurs objets connectés. (A) Un portique de
sécurité et (B) une enceinte connectée sont placé à l’entrée. (C) Trois caméras connectées
sont installées. Les ampoules connectées et les écrans connectés sont représentés respec-
tivement par les étoiles bleues et les rectangles verts.
Ce scénario met en scène Dominique, un salarié travaillant dans les locaux où l’appli-
cation de guidage a été installée, et Camille qui vient lui rendre visite. Ce scénario est
illustré figures 3a et 3b
Camille arrive à l’entrée des locaux de l’entreprise dans laquelle Dominique travaille.
Devant le portique à l’entrée du bâtiment, Camille scanne un QR code avec son smart-
phone. Cela installe une application qui lui demande un mail comme identifiant, et qui
lui demande d’accepter de partager sa position dans le bâtiment.
14
(a) (b)
Après s’être identifié, Dominique reçoit une notification signifiant que Camille est
arrivé, et qu’il est automatiquement guidé jusqu’au point de rendez-vous.
Le portique s’ouvre pour laisser passer Camille. De plus, un message vocal émis par
l’enceinte connectée demande à Camille de suivre les lumières en bleu dans les couloirs,
et de se référer aux indications vocales et textuelles transmises aux croisements.
Suite à cette modification, le parcours est adapté, ce qui permet à Camille de rejoindre
Dominique sans problème.
15
Partie , Chapitre 0 – Introduction
Objectif
L’objectif de cette thèse est de faciliter la création de MIBS, et ainsi participer à l’arri-
vée de ces systèmes dans notre quotidien. Or, comme évoqué précédemment, l’utilisation
d’objets connectés dans les MIBS exacerbe le lien entre les applications et les environ-
nements d’exécution. Pour éviter de recourir à des solutions ad hoc, les MIBS doivent
donc être conçus et développés pour être les plus génériques possibles, et doivent pou-
voir s’adapter aux spécificités des environnements. Pour faciliter la création de MIBS, il
faut donc définir ce qui permet de réaliser cette adaptation. Cela soulève la probléma-
tique suivante : Quels méthodes et outils peuvent être utilisés pour faciliter le processus de
création des MIBS, de leurs conceptions par les éditeurs à leurs exécutions dans chaque
environnement ?
Méthodologie
Notre démarche est organisée en deux parties.
Pour répondre à cette problématique, nous fournissons une méthodologie pour créer
des MIBS qui permet par la suite d’adapter ces systèmes à leurs environnements. Nous
proposons notamment une analyse du cycle de vie des MIBS, ainsi qu’une méthode d’aide
à la configuration et à l’évaluation des MIBS qui s’inscrit dans leur processus de création.
Dans la première partie, nous montrons en quoi la création des MIBS peut être sim-
plifiée par un framework adapté à ces systèmes. Dans le chapitre 1, nous synthétisons les
exigences auxquelles un MIBS doit répondre. À partir de ces exigences, nous étudions
dans le chapitre 2 les standards architecturaux et frameworks utilisés pour concevoir des
MIBS. Dans le chapitre 3, nous décrivons un framework pour MIBS à l’état de l’art. Notre
framework et ceux présentés dans le chapitre 2 répondent à la plupart des exigences expri-
mées dans le chapitre 1, mais ils ne permettent pas d’assurer l’adaptation des applications
aux environnements d’exécution. Une intervention humaine est nécessaire.
Dans la seconde partie, nous cherchons à faciliter cette intervention humaine cruciale
au processus d’adaptation. Pour cela, nous étudions les méthodes et outils qui fournissent
des éléments de réponse à notre problématique, puis nous proposons et illustrons une
méthodologie pour configurer et évaluer les MIBS. Nous proposons dans le chapitre 4 un
cycle de vie des MIBS. Cela nous permet d’identifier les étapes de la création des MIBS
qui ne sont pas assez outillées (i.e. qui manquent de méthodes et outils logiciels) dans la
16
littérature pour répondre à notre problématique de recherche. Pour pallier le manque de
méthode permettant de valider l’utilisabilité des MIBS dans les environnements d’exécu-
tion, nous proposons dans le chapitre 5 une méthode de configuration et d’évaluation de
MIBS. Dans le chapitre 6, nous présentons l’expérimentation réalisée pour valider cette
méthode. Nous montrons ensuite comment cette méthode peut être utilisée pour déployer
les applications de réservation et de guidage. .
Nous concluons par un rappel des contributions réalisées, et nous présentons des pers-
pectives d’évolution des ces travaux.
17
Première partie
19
Partie I,
Dans cette partie, nous étudions les systèmes multimodaux qui utilisent les objets
connectés comme interfaces d’interaction, que nous appellerons MIBS (Multimodal IoT-
Based System) par la suite, et nous étudions en particulier les frameworks qui facilitent
leur création. Pour cela, nous définissons dans le chapitre 1 les exigences auxquelles doivent
répondre les MIBS, ce qui nous permet de définir précisément ces systèmes. Dans le
chapitre 2, nous analysons les architectures et frameworks proposant de créer ce genre de
systèmes. A partir de cette analyse, nous synthétisons les limites des approches existantes.
Dans le chapitre 3, nous décrivons un framework pour les MIBS qui synthétise les
standards architecturaux utilisés pour répondre aux exigences que nous avons identifiées
chapitre 1. Nous illustrons ce framework en l’appliquant aux deux scénarios présentés en
introduction.
Nous concluons cette partie par un rappel des limites des frameworks existants, ce
qui nous amène à la question de recherche suivante : quels méthodes et outils peuvent
être utilisés pour faciliter le processus de création des MIBS, de leurs conceptions par les
éditeurs à leurs exécutions dans chaque environnement ?
20
Chapitre 1
Les MIBS sont des systèmes multimodaux qui utilisent des objets connectés comme
interfaces d’interaction. Les éditeurs de logiciels qui doivent créer et mettre en place des
MIBS sont donc confrontés à des problématiques de plusieurs domaines de recherche.
En effet, ces systèmes sont l’aboutissement de travaux sur les interactions multimodales,
mais aussi de la volonté d’exploiter le domaine plus récent de l’Internet des Objets pour
offrir un plus grand panel d’interfaces. Ces systèmes rentrent aussi dans le domaine de
l’informatique ubiquitaire comme nous le verrons par la suite.
L’objectif de ce chapitre est d’identifier les exigences auxquelles les MIBS doivent
répondre. Pour cela, nous commençons par aborder les concepts utilisés dans le domaine
des interactions multimodales. Nous expliquons ensuite en quoi les MIBS sont des systèmes
ubiquitaires. Puis nous étudions les problématiques soulevées dans la conceptualisation
et la création des MIBS. Enfin, nous donnons une définition complète des MIBS à partir
des exigences identifiées. Ces exigences sont synthétisées dans la Table 1.1.
21
Partie I, Chapitre 1 – Définitions des MIBS et exigences
Dans cette section, l’objectif est donc de fournir la terminologie qui sera utilisée dans
la suite de la thèse, ainsi que d’établir les exigences auxquelles les systèmes multimodaux
doivent répondre.
22
1.1. Interactions multimodales
présentation des modalités qui inclue ces deux facettes. Pour cela, nous utiliserons la
définition de la modalité proposée par Bernsen [23], et nous introduisons le terme de ca-
pacité interactive pour décrire les modalités que chaque dispositif physique peut fournir,
et sous quelles conditions. La notion de capacité interactive permet de faire un "catalogue"
d’objets répertoriant pour chaque objet les modalités possibles, ce qui permet d’anticiper
l’usage que l’on peut faire de ces objets. La taxonomie de Augstein et Neumayr [8] (voir
Figure 1.1) convient donc parfaitement à cette représentation des modalités. Dans cette
taxonomie, les modalités d’entrée (i.e. de l’utilisateur vers le système) et de sortie (i.e. du
système vers l’utilisateur) que les dispositifs physiques peuvent fournir sont regroupées
selon la capacité sensori-motrice stimulée de l’utilisateur. Ainsi, cette taxonomie est utili-
sable à la fois pour les approches techno- et humano- centrées, et s’adapte facilement à un
large panel d’applications multimodales. Par exemple, une revue exploratoire des techno-
logies multimodales utilisées en réalité étendue [132] s’appuie sur une version simplifiée
de la taxonomie pour catégoriser les dispositifs physiques existants. Nous utiliserons donc
cette taxonomie par la suite.
Figure 1.1 – Taxonomie des modalités et dispositifs physiques selon Augstein et Neu-
mayr [8].
23
Partie I, Chapitre 1 – Définitions des MIBS et exigences
Interaction multimodale
Une interaction multimodale est définie par l’usage de plusieurs modalités (entrée
et sortie confondus) pour réaliser une interaction [117]. Pour faciliter la compréhension
des interactions multimodales, deux modèles sont souvent utilisés pour décrire l’usage de
plusieurs modalités : les modèles CASE et CARE.
Nigay et Coutaz [116] proposent avec les propriétés CASE (concurrent, alternatif,
synergique, exclusif) une classification utile aux concepteurs de systèmes multimodaux. Ici,
les interactions sont différenciées selon l’usage des modalités : elles peuvent être utilisées
parallèlement ou séquentiellement, et elles peuvent être utilisées de façon indépendante
ou de façon combinée. Le modèle CARE [54] (complémentaire, équivalent, assignation,
redondance) a été proposé par la suite pour décrire l’état d’un système interactif selon les
utilisations possibles des modalités à disposition. Ainsi, ce modèle a pour vocation d’aider
à évaluer les systèmes multimodaux dans les phases de test.
Ces deux modèles ont donc des buts différents, et peuvent être utilisés conjointement,
à l’instar de l’espace conceptuel dans [117]. Par exemple, les modalités détectant les com-
mandes vocales et gestuelles de l’utilisateur dans l’expérience de Bolt [27] sont utilisées
de manière complémentaire (CARE), et elles peuvent être perçues par le système comme
alternées ou synergiques (CASE).
Nigay et Coutaz [116] donnent la définition suivante pour un système interactif multi-
modal (appelé par la suite système multimodal) : "a multimodal system supports commu-
nication with the user through different modalities such as voice, gesture, and typing" (un
système multimodal supporte la communication avec l’utilisateur en utilisant différentes
modalités telles que la voix, les gestes et la dactylographie). Similairement, Bernsen [23]
définit un système multimodal ainsi : "a system which uses at least two different modali-
ties for input and/or output" (un système qui utilise au moins deux modalités différentes
en entrée et/ou sortie). Ces définitions présentent un système multimodal comme un sys-
tème utilisant différentes modalités. Toutefois, Bernsen considère que deux modalités sont
différentes si les structures des données sont différentes, même si le médium est le même.
Ainsi, une interface graphique (GUI : Graphical User Interface) affichant une image et du
texte serait multimodale selon Bernsen. Or, cela s’oppose au principe que les interactions
multimodales font appel à différents sens de l’utilisateur. Nous considérons donc un sys-
24
1.1. Interactions multimodales
tème comme multimodal s’il supporte l’usage de plusieurs modalités utilisant différents
médiums physiques.
Bien qu’il existe plusieurs définitions valables des termes couramment employés dans
le domaine de la multimodalité, deux exigences élémentaires sont communément accep-
tées [117, 120] :
— Support d’interactions multi-sensori-motrices : un système multimodal doit pou-
voir fournir une interface qui requière au moins deux dispositifs (soit d’entrée,
soit de sortie) qui sollicite les multiples capacités sensori-motrices naturelles de
l’homme ;
— Abstraction des dispositifs physiques : "un système multimodal a la faculté d’abs-
traire donc de comprendre ce qui est reçu ou émis via ses dispositifs d’entrée/sor-
tie"[117].
Cette abstraction passe par une représentation des dispositifs physiques selon les modalités
qu’ils peuvent fournir. Ainsi, les applications multimodales peuvent être créées indépen-
damment des dispositifs physiques, et les objets servant d’interfaces pour ces applications
peuvent être plus facilement interchangés.
Bien que ces deux exigences soient simples à comprendre, nous verrons dans le chapitre
2 que de nombreux travaux ont été réalisés au cours de ces 30 dernières années pour y
répondre.
Interactions multimodales
25
Partie I, Chapitre 1 – Définitions des MIBS et exigences
26
1.2. Internet des Objets et informatique ambiante
Toutefois, les réseaux IoT ne sont pas tous à petite échelle. Comme présenté dans [47],
plusieurs réseaux peuvent cohabiter dans des environnements où un grand nombre d’ob-
jets sont gérés/possédés par plusieurs entités. Par exemple, il est possible que les MIBS
doivent accéder à des objets connectés gérés par des plateformes IoT (ex. l’éclairage dans
le scénario de guidage). Cette différence d’échelle entre les environnements met en avant la
première caractéristique que les MIBS héritent de l’IoT : l’extensibilité ("scalability"). En
effet, les réseaux IoT permettent à une entité externe (ex. un service fourni par un MIBS)
l’utilisation de n’importe quel nombre d’objets. Cela veut dire que la taille d’un réseau
n’est pas fixe, mais peut s’étendre selon les besoins. Similairement, les MIBS peuvent faire
appel aux objets personnels des utilisateurs comme les smartphones ou les smartwatchs.
Cette définition des IoT a été comparée aux définitions utilisées en pratique [134],
ce qui a permis de dégager les 4 exigences majoritairement reconnues auxquelles doivent
répondre les systèmes IoT :
— Connexion à Internet : les objets peuvent échanger des données en utilisant in-
ternet. On notera que l’usage d’Internet amène à considérer des exigences non-
fonctionnelles supplémentaires dans la création de MIBS, comme la fiabilité et la
sécurité du réseau. Toutefois, nous ne considérerons pas ces exigences par la suite
car elles dépassent le cadre de cette thèse. On notera aussi que les objets n’ont
pas tous la même technologie ou le même protocole de communication. Ils peuvent
communiquer par un réseau sans fil (ex. Bluetooth, Wifi) ou par câble, et utiliser
des protocoles tels que MQTT [79] ou HTTP 1 . Pour éviter de limiter les MIBS à un
ensemble restreint d’objets connectés, il faut assurer au maximum la compatibilité
entre les MIBS et ces technologies de communication.
— Capacités de captation ou d’action : les objets sont soit capables de capter des in-
formations venant de l’environnement, soit capables d’agir sur cet environnement.
Cette capacité des objets à capter ou agir est similaire à la capacité de fournir des
interfaces multi-sensori-motrices dans le domaine de la multimodalité. En effet,
pour interagir avec les utilisateurs, les systèmes multimodaux captent des informa-
tions sur l’environnement où se trouvent les utilisateurs et agissent sur ce même
environnement. Les plateformes IoT sont aussi capables de capter et d’agir sur
des éléments de l’environnement indépendant de l’interaction avec les utilisateurs.
Cependant, ces informations ne sont pas nécessaires pour les MIBS. Les deux exi-
gences seront donc représentées par la suite par une seule exigence (celle de la
1. https://www.w3.org/Protocols/
27
Partie I, Chapitre 1 – Définitions des MIBS et exigences
multimodalité).
— Objets identifiables : les objets dans un système IoT peuvent être identifiés de façon
unique. L’intérêt d’une convention de nommage est de faciliter la communication.
Cela permet aussi d’intégrer des mécanismes de sécurité en fonction du nom [3].
— Services à disposition : les objets offrent des services, qu’il y ait ou non une in-
tervention humaine directe. Ces services peuvent être utilisés par des utilisateurs
ou d’autres services. Pour permettre cela, les objets doivent exposer sur le réseau
une API sur laquelle d’autres services peuvent dynamiquement se connecter [3].
Par exemple, Philips propose une API RESTful (REpresentational State Transfer)
pour contrôler ses ampoules connectées 2 .
2. https://developers.meethue.com/develop/get-started-2/
28
1.2. Internet des Objets et informatique ambiante
29
Partie I, Chapitre 1 – Définitions des MIBS et exigences
les deux le lien entre le monde numérique et le monde physique. Toutefois, leur objectifs
sont différents : l’invisibilité consiste à faire disparaître le monde numérique, tandis que
la transparence consiste à rendre floue la limite entre les deux mondes. Par exemple, un
bouton de démarrage caché derrière un obstacle n’est pas une interface transparente car
ce n’est ni naturel, ni intuitif. En revanche, le système est invisible tant que l’utilisateur
n’a pas besoin d’utiliser ce bouton. En comparaison, les tables tactiles, comme la plupart
des interfaces tactiles, offrent des interfaces très transparentes car l’action physique et
le retour visuel sont alignés (i.e. on touche directement l’élément graphique avec lequel
on souhaite interagir). Néanmoins, ces tables prennent souvent de la place et attirent
l’attention. elle peuvent donc empêcher un système d’être invisible.
30
1.3. Les MIBS
31
Partie I, Chapitre 1 – Définitions des MIBS et exigences
Les MIBS
32
1.4. MIBS et contexte
encore les positions et identités des deux utilisateurs. Ces informations sont ensuite utili-
sées pour choisir les dispositifs physiques capables de capter la position des utilisateurs et
d’informer du chemin à suivre. Ces informations peuvent aussi être utilisées pour adapter
le message de guidage (ex. informer l’utilisateur s’il ne prend pas le bon chemin). On
remarque à travers cet exemple l’importance de la perception qu’ont les MIBS du monde
physique, aussi appelé le "monde observable" [12].
Pour assurer une bonne gestion de ces problématiques, la première étape est d’étudier
la notion de contexte et de ce qu’elle recouvre. Pour cela, plusieurs travaux proposent de
catégoriser le contexte selon les éléments qui définissent l’état du "monde observable".
Coutaz et Nigay [52] séparent le contexte en trois éléments : l’utilisateur, la plateforme
et l’environnement physique et social. Ici, la plateforme est décrite par les ressources de
calcul, de communication et d’interaction disponibles en temps réel, et notamment les
modalités.
Similairement, plusieurs travaux comme SIAM-DP [114] et l’étude sur les interac-
tions situationnelles dans [26] considèrent que le contexte se sépare entre les informations
représentant les utilisateurs, les objets et l’environnement. De plus, les objets sont classi-
fiés dans [114] selon leur position, leur distance d’interaction et le nombre d’utilisateurs
potentiels avec lesquels les objets peuvent interagir. Ici, les capacités de calculs et de
communication des plateformes ne sont pas considérées.
Hönold et al. [78] séparent les informations de contexte en 8 catégories : applica-
tion, tâche, environnement, utilisateur, dialogue, information, présentation et compo-
sants. Cette classification leur permet de définir les informations utilisables selon le type
d’adaptation envisagé. Par exemple, ils considèrent que l’adaptation du comportement
d’un dispositif physique en entrée ne dépend que des informations sur l’environnement et
l’utilisateur.
Contrairement aux approches précédentes, Knappmayer et al. [87] proposent une clas-
sification du contexte centrée sur la notion de situation. Ainsi, une situation se décom-
pose en 9 aspects : spatial, temporel, objets, communication, environnement, utilisateur,
activité, mental et interaction. Pour reprendre l’exemple de guidage, une situation pos-
sible serait : l’utilisateur guidé se situe seul dans un couloir au début de l’interaction, et il
écoute attentivement une indication vocale transmise par une enceinte connectée au WiFi.
La notion d’environnement est donc ici séparée des informations spatiales, et l’état mental
des utilisateurs est séparé de son profil utilisateur (i.e. préférences et habitudes). De plus,
la notion de temporalité est considérée comme une information contextuelle.
33
Partie I, Chapitre 1 – Définitions des MIBS et exigences
Enfin, Augusto [12] propose une approche complémentaire aux précédentes en définis-
sant une représentation du contexte dans les environnements intelligents selon 4 aspects :
le nom du contexte, le bénéficiaire (ex. l’utilisateur final), la condition d’activation et
l’effet du contexte. L’intérêt de cette représentation est de définir explicitement l’usage
du contexte, ce qui facilite le passage de sa conception à son implémentation en pratique.
En résumé, la perception du contexte est aspect important pour permettre l’adapta-
tion dynamique des MIBS aux environnements d’exécution. De plus, le contexte dans les
MIBS peut être défini de différentes façons. Cette diversité de paradigme s’explique par
la dépendance entre la représentation du contexte et son usage [52], et plus généralement
par l’absence de représentation standardisée du contexte [12]. Toutefois, les approches
présentées proposent généralement dans leurs représentation du contexte 4 types d’enti-
tés : l’utilisateur, l’environnement, les dispositifs physiques et le système. Les
autres aspects plus spécifiques à chaque approche peuvent pour la plupart être inclus
dans les 4 entités (ex. le mental dans [87]) ou sont au croisement entre deux entités (ex.
la plateforme dans [52]). Pour assurer la compatibilité de notre approche du contexte aux
méthodes existantes (et possiblement à de futurs standards), nous utilisons par la suite
ces 4 entités pour définir le contexte. Nous verrons par la suite que ces entités suffisent
pour décrire les informations utiles au processus d’adaptation des MIBS.
1.5 Synthèse
Nous avons vu dans ce chapitre que la conception de MIBS requiert de répondre à
des exigences provenant des domaines de la multimodalité, de l’internet des objets, de
l’informatique ambiante ainsi que des critères qui leur sont propres (voir tableau 1.1).
Ainsi, nous donnons la définition suivante pour les MIBS :
Un MIBS est un système qui utilise les API proposées par des objets connectés à
Internet et identifiables pour fournir des interfaces multi-sensori-motrices entre des uti-
lisateurs et des applications interactives. Les interactions proposées peuvent être mobiles,
invisibles ou transparentes, et utilisent des informations contextuelles collectées et traitées
dynamiquement. Les applications interactives peuvent utiliser de manière interchangeable
les objets qui proposent des capacités interactives similaires. Pour cela, ces objets sont
représentés selon les modalités qu’ils offrent, et les services sont définis indépendamment
de la notion de modalité.
On observe que la capacité d’adaptation des MIBS aux environnements dépend des
34
1.5. Synthèse
réponses apportées à 6 des exigences identifiées. Tout d’abords, les MIBS doivent sup-
porter la multimodalité massive (C13) et doivent permettre l’abstraction des dispositifs
physiques (C2) et l’abstraction des modalités (C15). En effet, répondre à ces 3 exigences
permet de faciliter le découplage entre les divers objets connectés et les noyaux fonction-
nels des applications multimodales, et donc de concevoir et développer les MIBS pour être
les plus génériques possibles. Ensuite, les MIBS doivent être capables d’interagir avec les
utilisateurs en utilisant les capacités interactives de tous les objets disponibles (C14), et
cela même si l’état et la disponibilité de ces objets évoluent dans le temps (C9). Enfin, la
perception du contexte (C7) est nécessaire pour permettre cette adaptation dynamique
des MIBS aux changements dans un environnement.
Nous analyserons dans le chapitre suivant comment les réponses aux exigences pré-
sentées dans ce chapitre sont traitées dans la littérature.
Table 1.1 – Cette table synthétise les exigences que les MIBS doivent satisfaire.
35
Chapitre 2
Plusieurs approches, ou frameworks, ont été proposées pour fournir des MIBS qui
répondent aux exigences présentées dans le chapitre précédent. Pour répondre à ces exi-
gences, ces frameworks s’inspirent des standards architecturaux qui peuvent provenir des
domaines de la multimodalité ou de l’informatique ambiante. C’est pour cela que l’étude
de ces standards et des frameworks est une étape importante pour identifier ce qui permet
de faciliter la création des MIBS.
Dans ce chapitre, nous abordons d’abord un état de l’art sur les différentes architec-
tures logicielles des MIBS. Nous étudions ensuite les frameworks permettant de faciliter la
création des MIBS selon ces architectures. Nous analysons enfin des limites des approches
existantes, et des problématiques restantes.
Comme vu précédemment, les MIBS héritent des caractéristiques des systèmes mul-
timodaux et des systèmes ubiquitaires. Pour répondre aux exigences provenant de ces
domaines, il est courant que les architectures des MIBS soient inspirées des architectures
de ces deux familles de systèmes. Pour identifier les points communs, nous commen-
çons par une revue des caractéristiques des architectures des systèmes multimodaux et
des systèmes ubiquitaires, et plus particulièrement les caractéristiques qui permettent de
répondre aux exigences présentées précédemment. Ensuite, nous étudions les principes
architecturaux des MIBS.
36
2.1. Architectures des MIBS
Le module de fusion a pour rôle d’interpréter les données reçues par les modalités d’entrée,
ce qui inclut la fusion de ces informations. Ces informations sont transmises au moteur de
dialogue qui contrôle le déroulement du dialogue entre l’utilisateur et le système interactif.
La réponse généré par le moteur de dialogue est restituée par le module de fission qui
choisit la bonne modalité, le bon dispositif de sortie et le bon format pour cette réponse.
Enfin, le gestionnaire de contexte assure l’adaptation du système interactif en gérant
37
Partie I, Chapitre 2 – Méthodes de création des MIBS dans la littérature
38
2.1. Architectures des MIBS
39
Partie I, Chapitre 2 – Méthodes de création des MIBS dans la littérature
multimodales implicites et explicites. De plus, elle intègre une méthode de fission proba-
biliste qui inclut un mécanisme de raisonnement comme pour un système ubiquitaire.
Toutefois, les MIBS doivent répondre à des exigences qui leurs sont propres. Nous
détaillons par la suite les standards architecturaux qui répondent à ces exigences. En
particulier, nous présentons deux approches souvent employées pour créer des MIBS :
l’architecture proposée par le World Wide Web Consortium (W3C), et le paradigme des
architectures orientées composants. Enfin, nous revenons sur les standards architecturaux
qui permettent de gérer le contexte.
Les MIBS doivent faciliter l’utilisation de dispositifs ayant des capacités interactives
très variées (C14). Cela ajoute des contraintes supplémentaires sur la conception des com-
posants de modalités. Almeida et al. [4] mettent en avant l’importance de la modularité
de l’architecture pour plus facilement séparer de la partie générique les spécificités des
dispositifs.
De plus, la gestion des modalités dans les systèmes multimodaux est souvent ad
hoc [137], ce qui est un frein à la réutilisabilité et l’interchangeabilité des composants
de modalités (C13). Il faut donc favoriser les couplages faibles entre composants quand
cela est possible. Le besoin de compartimentation des différents éléments des MIBS (i.e.
séparer le plus possible les fonctionnalités de ces systèmes dans des composants logiciels
indépendants) est une contrainte forte. Nous verrons dans la section 2.1.3 que cela se
traduit généralement par des architectures orientées composants.
Nous avons vu dans le chapitre 1.3 que chaque étape d’un dialogue entre un utili-
sateur et un MIBS peut être réalisé au travers des différentes modalités offertes par les
objets connectés. Or, adapter le dialogue aux spécificités de chaque modalité n’est pas
possible du fait de la grande diversité des capacités interactives des objets connectés.
Il est donc nécessaire d’abstraire les modalités dans la gestion du dialogue (C15). Cer-
taines approches [114, 4] définissent une représentation des actes de communication en
des termes indépendants des technologies servant d’interface, communément appelés des
actes de dialogue 1 . Un acte de dialogue inclut un ensemble d’attributs, ou annotations,
décrivant l’information transmise [36]. Par exemple, la description de la question "Quelle
heure est-il ?" peut renseigner l’émetteur, le destinataire, sa fonction de question et le
fait que la phrase fait référence au temps. L’utilisation d’un acte de dialogue requiert
1. https://www.iso.org/fr/standard/76443.html
40
2.1. Architectures des MIBS
des algorithmes de reconnaissance pour chacun de ces attributs. Cela signifie que pour
ces approches par acte de dialogue, le module d’interprétation (et fusion) des MIBS doit
intégrer ces algorithmes.
Pour proposer des MIBS qui respectent les exigences présentées précédemment, des
approches comme [4] se basent sur les travaux du W3C. Nous présentons ces travaux dans
la section suivante.
MIBS et W3C
2. https://www.w3.org/2002/mmi/
3. Copyright © 2012 W3C® (MIT, ERCIM, Keio). This software or document includes material copied
from or derived from Multimodal Architecture and Interfaces https://www.w3.org/TR/mmi-arch/
41
Partie I, Chapitre 2 – Méthodes de création des MIBS dans la littérature
42
2.1. Architectures des MIBS
4. https://www.osgi.org/
5. https://www.docker.com/
43
Partie I, Chapitre 2 – Méthodes de création des MIBS dans la littérature
la gestion du contexte dans les systèmes sensibles au contexte ("context-aware") tels que
les MIBS :
Toutefois, les MIBS utilisent déjà des objets connectés pour collecter et interpréter des
informations concernant l’utilisateur. Il est donc judicieux que le gestionnaire de contexte
puisse acquérir ces informations externes.
Parmi les modèles existants, le contexte dans les MIBS est plus souvent représentés
par des ontologies [131, 114], c’est-à-dire par des relations entre un ensemble d’entités
et de propriétés décrivant un domaine particulier de connaissances 6 . L’avantage de ce
modèle est de proposer, en théorie, la meilleure modélisation du contexte, notamment car
chaque domaine de connaissances peut avoir sa propre ontologie. Cela facilite l’extension
de la base de connaissances et évite toutes les ambiguïtés qu’il pourrait y avoir sur un
terme utilisé différemment suivant la communauté concernée (ex.entre le domaine de la
multimodalité et de l’informatique ubiquitaire).
6. https://www.w3.org/TR/mediaont-10/
44
2.2. Frameworks de création de MIBS
45
Partie I, Chapitre 2 – Méthodes de création des MIBS dans la littérature
2.2.1 AIM
46
2.2. Frameworks de création de MIBS
ment (C8). Les autres composants peuvent ensuite questionner cette base pour obtenir les
informations de contexte nécessaires (C3). En particulier, les caractéristiques des objets
sont utilisées pour construire l’interface utilisateur et contrôler les actionneurs (C1). Il
n’y a toutefois pas de détails fournis quant à la distinction faite entre les différents types
d’objets (ex. les modalités que les objets peuvent fournir ne sont pas explicitées).
Le module d’interface utilisateur adapte l’interface pour qu’elle soit plus naturelle.
Pour fournir ces interfaces naturelles, ce module prédit, à partir des événements agrégés
dans la base de données, les tâches que l’utilisateur réalise. Puis, à partir de ces prédictions
et des informations contenues dans la base de contexte, l’interface utilisateur est générée
(C13). L’agrégation des informations des données captées et des données interprétées
dans une base de contexte permet d’éviter tout problème potentiel dû à la connexion ou
déconnexion de capteurs (C9, C13).
Toutefois, les tâches et services sont fortement couplés aux objets utilisés (C15), ce
qui peut nuire à leur réutilisabilité. De plus, peu d’information est donnée sur le fonc-
tionnement exact des agents. L’efficacité de ces composants est donc difficile à estimer et
l’utilisation du modèle d’architecture proposé peut se résumer au suivi de recommanda-
tions visant à faire respecter ce modèle.
Avec ce framework, pour mettre en place un MIBS qui permette de réaliser le cas
d’usage de guidage, chaque tâche doit être conçue et développée en fonction des objets
installés. Par exemple, chaque ampoule peut être associée à une tâche de guidage consis-
tant à s’allumer. Au début de l’interaction, le module d’adaptation estime que l’utilisateur
veut être guidé. Quand l’utilisateur passe à proximité d’une ampoule, le module d’inter-
face utilisateur infère que l’utilisateur veut réaliser la tâche de guidage associée à cette
ampoule, et donc demande à l’agent qui gère cette ampoule de s’allumer. Exprimer cette
dépendance des tâches aux objets peut être relativement long et fastidieux selon le nombre
d’objets installés et de tâches que l’on souhaite réaliser.
47
Partie I, Chapitre 2 – Méthodes de création des MIBS dans la littérature
48
2.2. Frameworks de création de MIBS
2.2.2 DAME
49
Partie I, Chapitre 2 – Méthodes de création des MIBS dans la littérature
50
2.2. Frameworks de création de MIBS
51
Partie I, Chapitre 2 – Méthodes de création des MIBS dans la littérature
2.2.3 SIAM-DP
52
2.2. Frameworks de création de MIBS
composant de restitution. Comme pour DAME, les composants peuvent être exécutés par
différents ordinateurs (C3, C10) sur le réseau (C4).
Chaque capteur a un interpréteur associé qui fournit au composant de fusion l’in-
tention de l’utilisateur selon un modèle sémantique. Le composant de fusion utilise les
informations sémantiques générées ainsi que les informations de contexte pour contextua-
liser les intentions des utilisateurs et résoudre les problèmes d’ambiguïté entre plusieurs
interprétations. Ainsi, toutes les données captées sont traitées au niveau sémantique avant
d’être comparées (C7, C8).
Les états du gestionnaire de dialogue sont décrits sous un format XML, et le framework
propose un outil graphique d’édition de dialogue qui peut aussi simuler le dialogue pour
analyser le coût en calcul (les auteurs prévoient à l’avenir de permettre la visualisation
de plus d’informations, comme les étapes du dialogue produisant trop de charges cogni-
tives). Un langage indépendant des modalités est utilisé pour concevoir le dialogue (C15).
Le modèle de dialogue par machine à états permet de facilement décrire des dialogues
simples, mais est moins adapté pour représenter des dialogues plus complexes. Ainsi, les
états peuvent faire appel à des programmes exécutables pour complexifier la structure du
dialogue.
Le composant de restitution réalise une optimisation de l’interface finale (i.e. comment
les informations sont concrètement transmises par les différentes ressources d’interaction
de sortie) par comparaison d’interfaces finales candidates selon des variables de contexte
(C9, C13). Ces interfaces candidates sont générées à partir de composants de rendu spé-
cifiques à des ressources d’interaction de sortie.
L’architecture intègre les objets de tous types : capteurs, actionneurs et autres dispo-
sitifs d’entrée et de sortie (C1). Tous les objets en entrée passent par des interpréteurs,
et les objets en sortie ont leurs propres composants de présentation (C2). Comme chaque
composant d’interprétation ou de présentation est spécifique à un objet, réutiliser les
processus d’interprétation intégrés dans ces composants pour d’autres objets requiert un
travail d’adaptation supplémentaire. Par exemple, deux caméras RGB différentes peuvent
avoir des caractéristiques différentes, mais les deux peuvent fournir le même type d’infor-
mation sémantique. Avec SIAM-DP, il faut développer deux composants d’interprétation,
un pour chaque caméra.
Toutes les entrées et sorties des objets sont représentées par des messages intégrant
des méta-données telles que les identifiants (C5), les caractéristiques des objets et les mo-
dalités associées. Cette contextualisation des données permet au système d’obtenir une
53
Partie I, Chapitre 2 – Méthodes de création des MIBS dans la littérature
description des capacités interactives des objets disponibles, et donc d’identifier dynami-
quement les services qu’ils fournissent (C6). De plus, pour gérer la diversité de capacités
interactives des objets, l’auteur propose une classification hiérarchique des objets (C14).
Les objets dans chaque classe sont aussi décrits par des attributs communs (ex. la position,
la distance d’interaction).
Avec ce framework, dans le cas d’usage de l’application de guidage chaque objet
connecté doit être associé à son propre interpréteur qui infère l’acte de communication.
Par exemple, chaque caméra a un interpréteur qui donne l’information sémantique sur
la position estimé de l’utilisateur. Si une des caméras a des caractéristiques différentes
(ex. caméra de profondeur et caméra RGB), alors il faudra développer un nouvel inter-
préteur pour obtenir la même information sémantique. L’autre option est d’uniformiser
les informations syntaxiques fournies par les composant gérant les objets connecté, mais
cela demande de pré-interpréter les informations provenant des capteurs, ce qui nuit à
la réutilisabilité de ces composants dans d’autres services. La granularité de la chaîne
d’interprétation que permet SIAM-DP n’est donc pas optimale.
Les réponses aux exigences sont synthétisées dans le tableau 2.3.
54
2.2. Frameworks de création de MIBS
2.2.4 MIBO
55
Partie I, Chapitre 2 – Méthodes de création des MIBS dans la littérature
MIBO [125] est un framework qui a pour vocation de concevoir des systèmes multimo-
daux pour contrôler les objets connectés capables d’agir sur l’environnement (i.e. lumière,
stores, . . .). Il suit une architecture multi-agent avec un agent pour chaque modalité (C1,
C2). Les données fournies par ces agents sont ensuite agrégées (C3, C7) dans un tableau
(blackboard) (voir figure 2.6). Ce tableau est une base de données centralisées qui peut
être mise à jour dynamiquement. De plus, un composant supprime à intervalles réguliers
les données invalides (ex. les commandes utilisateurs trop anciennes). Tous les autres com-
posants prennent en entrée les données de ce tableau et écrivent en sortie dans le même
tableau. Par exemple, les données dans le tableau sont utilisées par un moteur de règles
pour fournir des informations de plus haut niveau (ex. fusion de données). Ces nouvelles
données sont stockées dans ce tableau, ce qui permet d’enrichir la base de connaissances
de manière itérative (C8, C14).
Pour assurer la communication avec l’ensemble des objets, le framework s’appuie sur
OpenHAB 7 . OpenHAB est un logiciel qui permet d’interagir avec les services offerts par
des objets connectés (C6) tout en cachant les protocoles de communication sous-jacents
(C4).
Il n’y a pas de description de dialogue : chaque interaction est une règle qui agit sur
l’environnement dès que certaines conditions sont atteintes (i.e. les événements associés
sont déclenchés, et les sélecteurs fournissent les informations désirées). "Allumer la lumière
(action) quand un utilisateur pointe du doigt (condition 1) une ampoule (condition 2)" est
un exemple de règle possible avec cette approche. Ce modèle fonctionne relativement bien
sur des scénarios de contrôle simples, mais demande plus d’effort des développeurs pour
réaliser un échange long (les dépendances entre les étapes ne sont pas natives comme dans
une machine à états) Ainsi, l’abstraction des modalités dans la modélisation du dialogue
ne dépend ici que du contenu du tableau (C15).
L’abstraction des dispositifs physiques en sortie (C2) n’est pas réalisée : les commandes
sont directement destinées à des objets spécifiques. En revanche, un composant de feed-
back permet d’observer à l’exécution l’état du système en s’abonnant à des événements
prédéfinis. La gestion des sorties est toutefois limitée à des feedbacks sur les informa-
tions captées. Bien que ces retours puissent être représentés par plusieurs modalités, cela
demande un travail d’implémentation supplémentaire.
À partir des données dans le tableau, un composant (« MIBO definition Expert »)
analyse les connaissances pour réaliser des commandes selon des modèles d’interaction.
7. https://www.openhab.org/
56
2.2. Frameworks de création de MIBS
— les objets "à portée" de la commande, ce qui correspond aux objets que l’on peut
(i.e. à portée) et que l’on veut contrôler avec la commande ;
— le point d’entrée est le déclencheur de la règle (i.e. la méthode d’engagement du
dialogue) ;
— la sélection définit la ou les méthodes de récupération (ex, fusion de modalités) des
informations nécessaires à l’interaction ;
— le contrôle définit la technique d’interaction utilisée pour réaliser la commande ;
— la sortie est le déclencheur qui finit l’interaction (i.e. la méthode de désengagement
du dialogue).
On notera qu’il n’est pas nécessaire de spécifier lequel des capteurs est la source des
informations nécessaires au dialogue. En effet, les informations sont récupérées auprès du
tableau, ce qui évite aux applications de dépendre de la disponibilité des capteurs (C9).
57
Partie I, Chapitre 2 – Méthodes de création des MIBS dans la littérature
MIBO
58
2.2. Frameworks de création de MIBS
2.2.5 PHASER
59
Partie I, Chapitre 2 – Méthodes de création des MIBS dans la littérature
avoir ces objets dans leur environnement direct (i.e. il n’est pas nécessaire d’avoir une
vue globale du système et de l’environnement) (C10). Cela signifie aussi que le choix des
modalités (C13) est contraint par les capacités interactives du nœud, et non de l’ensemble
du réseau.
Pour configurer les nœuds, un outil permet de dessiner en vue du dessus le plan d’une
d’un espace, de placer des icônes représentant les objets associés, et de paramétrer le
nœud. Ces paramètres sont rangés en deux catégories :
— les paramètres qui correspondent au comportement isolé d’un nœud. ils définissent
la capacité du nœud à recevoir et envoyer des données aux autres nœuds ;
— les paramètres qui correspondent au comportement d’un nœud dans un groupement
de nœuds. Ces paramètres définissent comment gérer les groupes et communiquer
à l’intérieur de ce groupe.
Ainsi, un nœud peut communiquer par Websockets avec les nœuds proches (C4) si les
paramètres le permettent (C6). La communication peut être nécessaire pour plusieurs
raisons. Tout d’abord, cela permet à un nœud d’utiliser les capacités interactives des
autres nœuds quand ses capacités interactives ou les informations à sa disposition sont
insuffisantes pour continuer le dialogue. Cela peut aussi être utile pour partager une
information au sein d’un groupe (C7).
60
2.2. Frameworks de création de MIBS
PHASER
61
Partie I, Chapitre 2 – Méthodes de création des MIBS dans la littérature
2.2.6 AM4I
62
2.2. Frameworks de création de MIBS
9. https://www.w3.org/TR/scxml/
63
Partie I, Chapitre 2 – Méthodes de création des MIBS dans la littérature
AM4I
2.3 Synthèse
Dans ce chapitre, nous avons vu les standards d’architectures utilisés pour concevoir
des MIBS. Ces standards proviennent pour certains de la multimodalité, et pour d’autres
64
2.3. Synthèse
de l’informatique ubiquitaire.
Les frameworks existants qui proposent des solutions pour concevoir des MIBS de la
conception au déploiement utilisent une partie des standards présentés. Toutefois, aucune
des approches étudiées ne permet de répondre à toutes les exigences exprimées dans le
chapitre 1 (comme illustré dans le tableau 2.7). En particulier, aucun des frameworks ne
répond entièrement aux exigences liées à l’adaptation des MIBS aux environnements. En
effet, AIM, MIBO et PHASER ne supportent pas assez le découplage entre les dispositifs
physiques et le noyau applicatif. SIAM-DP et AM4I réalisent bien ce découplage, mais les
processus d’interprétation et de présentation sont trop rigides pour facilement supporter
la multimodalité massive. La forte granularité de ces processus dans DAME donne bien la
flexibilité suffisante pour supporter l’hétérogénéité des objets connectés, mais la méthode
d’adaptation automatique des interfaces ne permet pas d’assurer l’utilisabilité du système.
De plus, il n’est pas possible de d’intégrer ces frameworks aux solutions internes à
Orange car leurs implémentations ne sont pas disponibles.
C’est pour cette raison que nous proposons dans le chapitre suivant un framework au
niveau de l’état de l’art dans l’objectif de répondre à toutes les exigences du chapitre 1.
Table 2.7 – Synthèse des réponses apportées aux exigences par les frameworks existants
Exigences (identifiants) AIM [81] DAME [131] SIAM-DP [114] MIBO [125] PHASER [58] AM4I [4]
Support d’interactions
✓ ✓ ✓ (✓) ✓ ✓
multi-sensori-motrices (C1)
Abstraction des dispositifs
- ✓ ✓ (✓) ✓ ✓
physiques (C2)
Extensibilité (C3) ✓ ✓ ✓ ✓ ✓ ✓
Connexion à internet (C4) ✓ ✓ ✓ ✓ ✓ ✓
Objets identifiables (C5) - ✓ ✓ - ✓ ✓
Services à disposition (C6) (✓) ✓ ✓ ✓ ✓ ✓
Perception du contexte (C7) ✓ - ✓ ✓ ✓ ✓
Gestion du contexte (C8) ✓ ✓ ✓ ✓ - -
Inter-opération spontanée
✓ ✓ ✓ (✓) ✓ ✓
(C9)
Mobilité (C10) (✓) (✓) (✓) - ✓ (✓)
Choix libre de modalités et
combinaison de modalités ✓ ✓ ✓ (✓) (✓) ✓
(C13)
Gestion de la multimodalité
(✓) ✓ (✓) (✓) - -
massive (C14)
Abstraction des modalités
- ✓ ✓ ✓ - ✓
(C15)
65
Chapitre 3
Le chapitre précédent nous a permis d’identifier les solutions apportées aux exigences
présentées dans le chapitre 1. Toutefois, une des attentes de cette thèse CIFRE était de
concevoir et développer un framework permettant de créer des MIBS, et qui s’intègre
aux solutions logicielles fournies par Orange, ce qui n’est pas possible avec les frameworks
existants (i.e. solutions propriétaires, incompatibilités logicielles). C’est pour cela que nous
présentons dans ce chapitre un framework qui s’inspire des différentes solutions apportées
par la littérature pour répondre à ces exigences.
Nous commençons par une présentation générale du framework, puis nous présentons
ensuite les différents composants du framework qui permettent de réaliser un MIBS fonc-
tionnel et complet. Enfin, nous illustrons notre approche au travers des applications de
réservation et de guidage présentées en introduction.
Nos avons vu que pour faciliter la création de MIBS, les architectures existantes sé-
parent les fonctionnalités de ces systèmes en plusieurs composants. C’est pour cela que
nous proposons de concevoir les MIBS en respectant l’architecture orientée composants
illustrée en figure 3.1.
66
3.1. Vue générale du framework
Figure 3.1 – Architecture globale de notre framework. Les flèches de couleurs illustrent le
flux de données dans une chaîne d’interaction type. Les flèches en pointillés représentent
la capacité de tous les composants à accéder aux données sauvegardées par le gestion-
naire de contexte. Les cylindres correspondent aux différentes données dans la base de
connaissances utilisée par le système et les flèches correspondent aux différents échanges
d’informations entre les composants. La base de connaissances est accessible depuis un
gestionnaire de contexte externe à l’application, et les composants de dialogue peuvent
faire appel à des logiciels tiers.
67
Partie I, Chapitre 3 – Proposition d’un framework pour la réalisation et le déploiement des
MIBS
Comme proposé dans [87] nous utilisons une base de connaissances gérée par un ges-
tionnaire de contexte centralisé pour toutes les applications de l’environnement. Ainsi,
tous les CPS et applications peuvent participer à l’élaboration et l’enrichissement de la
base de connaissances, et donc à la perception du contexte (C7). Le processus d’inférence
sur le contexte est réalisé par les composants d’interprétation des chaînes d’interaction,
ce qui se rapproche du processus itératif d’interprétation dans MIBO [125]. La séparation
entre les applications et le gestionnaire de contexte permet aussi d’intégrer des systèmes
préexistants de représentation et d’inférence sur le contexte tels que présentés dans [87]
(C8). Les informations enregistrées peuvent être utilisées pour assurer la correspondance
entre l’environnement physique et l’environnement numérique. En effet, les composants
CPS peuvent utiliser les informations de la base de connaissances (ex : la position de
l’objet, l’horodatage des données, l’utilisateur courant du MIBS) pour contextualiser les
données captées.
Nous présentons par la suite les différents composants dans leurs catégories respectives.
Le noyau de notre framework suit l’état des CPS et supervise les ap-
plications formées à partir de composants d’interprétation, de dia-
logue et de présentation. Les composants CPS et les composants
applicatifs peuvent enrichir une base commune de connaissances,
ce qui permet la perception du contexte (C7). L’interprétation des
données est réalisée par les composants d’interprétation faisant par-
tie des chaînes d’interaction des applications (C8).
68
3.2. Noyau du framework
C’est pour cela que de la même façon le noyau de notre framework fonctionne grâce à
la collaboration de ses 4 modules :
— le gestionnaire des CPS, qui découvre et enregistre les CPS disponibles et les mo-
dalités qu’ils fournissent ;
— le gestionnaire d’interprétation, qui gère l’instanciation des composants d’interpré-
tation et il s’assure du bon fonctionnement de ces composants ;
— le gestionnaire de présentation, qui gère l’instanciation des composants de présen-
tation et il s’assure du bon fonctionnement de ces composants ;
— le gestionnaire des applications, qui gère l’instanciation des applications en fonction
des modalités et des composants d’interprétation et présentation à disposition, et
qui ensuite donne aux gestionnaires d’interprétation et de présentation la chaîne
de composants à instancier.
Ces composants sont présentés plus en détail dans les sections suivantes.
Nous présentons aussi le protocole de communication et la convention de nommage
utilisés pour assurer les échanges entre tous les composants.
69
Partie I, Chapitre 3 – Proposition d’un framework pour la réalisation et le déploiement des
MIBS
70
3.2. Noyau du framework
71
Partie I, Chapitre 3 – Proposition d’un framework pour la réalisation et le déploiement des
MIBS
ne peut pas prendre en compte les spécificités de chaque environnement d’exécution. Cet
écart entre le "monde observable" et la réalité peut pousser le gestionnaire des applications
à choisir une alternative sous-optimale. Il serait pertinent dans l’application de guidage
de sélectionner en priorité les modalités les plus proches spatialement de l’utilisateur dans
les espaces fréquentés, mais cela ne garantit pas en pratique que l’utilisateur peut correc-
tement interagir avec les éléments d’interface (ex. affichage des directions sur un écran
derrière l’utilisateur).
Au contraire, la méthode par configuration permet d’assurer que les interfaces des
applications correspondent aux besoins des utilisateurs, bien qu’une intervention humaine
soit requise avant l’exécution pour définir les chaînes d’interaction à utiliser pour chaque
ensemble de CPS possible et pour chaque application.
Dans notre framework, la méthode automatique est utilisée dans les situations qui
n’ont pas été prévues par les configurations existantes, ce qui assure l’adaptation du
système en toute situation en favorisant les attentes spécifiques à chaque environnement.
Nous proposons par défaut un algorithme simple qui consiste à parcourir une liste de
toutes les alternatives (de toutes les applications) jusqu’à trouver la première alternative
(pour chaque application) qui convient.
Nous utilisons le vocabulaire proposé par Paul et al. [122] pour annoter les besoins.
Ici, l’application ne demande en entrée qu’une seule action obligatoire de l’utilisateur :
une salutation. Aucune modalité d’entrée n’est préférée, et il suffit juste que l’identité de
l’utilisateur soit détectée. Des exemples de besoins du composant de dialogue pour les
autres phases de dialogue de l’application de réservation sont présentés en Annexe A.
Après avoir reçu la liste des besoins, le gestionnaire des applications récupère auprès
du gestionnaire des CPS la liste des modalités mises à disposition par les CPS, et récupère
la liste des composants d’interprétation et de présentation qui peuvent être instanciés. Des
chaînes d’interaction sont ensuite générées, puis transmises aux gestionnaires d’interpré-
tation et de présentation.
72
3.2. Noyau du framework
{
"application_reservation" :
{
"user-hi":
{
"optionnel" : Faux,
"source" : "entrée",
"préférence" : {},
"requis" : {"id_utilisateur"},
"canal" : 0
}
}
}
73
Partie I, Chapitre 3 – Proposition d’un framework pour la réalisation et le déploiement des
MIBS
Figure 3.5 – Chaîne d’interaction pour la phase initiale dans le scénario d’usage de
l’application de réservation.
3.2.4 Réseau
Pour faciliter la distribution des composants (C10) sur un réseau (C4), les composants
communiquent entre eux selon le standard industriel de communication Data Distribution
Service (DDS) de l’organisme Object Management Group 1 qui utilise un modèle publish-
subscribe (C9, voir section 2.1.2) permettant de gérer la qualité de service (par exemple,
choisir la latence acceptable entre l’émission et la réception d’un message).
De plus, les noms des canaux de communication entre les composants applicatifs sont
construits à partir de l’information qu’ils permettent de transmettre, ainsi que de l’entité
de rattachement. En effet, les canaux de communication des composants CPS contiennent
1. https://www.omg.org/omg-dds-portal/index.htm
74
3.3. Composants applicatifs
Noyau du framework
75
Partie I, Chapitre 3 – Proposition d’un framework pour la réalisation et le déploiement des
MIBS
une interchangeabilité des nombreuses technologies utilisées dans les MIBS (C13). Cela
permet aussi d’adapter ces processus à la multimodalité massive (C14), et en particulier
aux différentes capacités de calcul et API des objets connectés. Par exemple, cela permet
d’instancier les composants qui nécessitent de réaliser des calculs lourds sur des cartes
graphiques (ex. détection de gestes dans les flux vidéo provenant de plusieurs caméras)
sur plusieurs serveurs de calculs. Nous utilisons donc pour tous les composants applicatifs
des interfaces utilisant le même formalisme, et qui peuvent communiquer sur le réseau.
76
3.3. Composants applicatifs
Comme dans la plateforme OpenInterface [92], nous ne spécifions pas de modèle ex-
plicite de composants de dialogue pour accorder plus de flexibilité aux développeurs des
composants de dialogue. En pratique, ces composants fournissent les mêmes interfaces
que les composants d’interprétation et de présentation, à savoir un canal de communi-
cation en entrée et en sortie, ainsi qu’un accès à la base de connaissances. Ils intègrent
en plus une interface avec le gestionnaire des applications pour fournir une liste de be-
soins en entrée et sortie, et recevoir la confirmation que les chaînes d’interaction ont été
adaptées en fonction des besoins. Ces besoins incluent les informations sémantiques qu’un
composant de dialogue requiert en entrée et fournit en sortie. Ces informations sont an-
notées selon la taxonomie d’actes de dialogue proposée par Paul et al. [122]. Par exemple,
l’intention de l’application de guidage à indiquer à l’utilisateur le chemin à suivre peut
être représentée par l’acte de dialogue "inform" avec pour information sémantique la liste
des salles et couloirs à traverser. C’est l’utilisation d’actes de dialogue pour représenter
l’intention d’interaction de l’utilisateur ou de l’application qui permet d’assurer l’abstrac-
tion des modalités (C15). Nous proposons toutefois des exemples d’implémentation de
composants de dialogue, et des librairies tierces 2 . Des applications externes peuvent aussi
facilement s’interfacer avec ce modèle simple de composant.
Composants applicatifs
2. Par exemple python-statemachine 3 pour un modèle par machine à état, ou SPADE 4 pour un
modèle par agents.
77
Partie I, Chapitre 3 – Proposition d’un framework pour la réalisation et le déploiement des
MIBS
Figure 3.7 – Illustration des entrées et sorties d’un composant CPS. Ici, le composant
fournit une modalité d’entrée et une modalité de sortie qui s’interfacent avec un MIBS.
Les CPS peuvent être utilisés par plusieurs systèmes et leur installation et retrait
ne dépend pas toujours d’un système en particulier. C’est pour cela que les composants
CPS sont gérés séparément des applications, à l’instar des composants de modalité dans
AM4I [4]. En effet, chaque composant CPS est exécuté et arrêté de manière autonome,
et peut être utilisé par plusieurs applications. Ainsi, les applications ont potentiellement
accès à tous l’équipement disponible sur le réseau, ce qui contribue à l’extensibilité de
notre approche (C3).
Chaque CPS, tout comme les modalités qu’il peut fournir, a des caractéristiques qui lui
sont spécifiques. Par exemple, les caméras ont des angles de vue, et les microphones ont des
niveaux de sensibilité. De plus, le protocole d’association peut dépendre de la technologie
utilisée (ex. bluetooth, WiFi). C’est pour cela que nous proposons une classe passerelle,
appelée interface de CPS, qui sert d’interface entre les MIBS et les implémentations
spécifiques aux CPS (C6). Comme illustré Figure 3.7, un composant CPS intègre une
interface de CPS. Cette interface contient des informations sur les caractéristiques du
CPS et son état. De plus, chaque modalité est représentée par une classe qui intègre les
fonctionnalités permettant de communiquer avec les MIBS. Les modalités gèrent aussi les
78
3.4. Composant CPS
informations qui leurs sont spécifiques. En particulier, les modalités sont représentées selon
le formalisme de la taxonomie de Augstein et Neumayr [8], ce qui permet l’abstraction
des dispositifs physiques (C2).
Au cours d’une session d’interaction, les composants CPS alimentent la base de connais-
sances d’informations contextuelles (ex. position de l’objet), et envoient aux applications
les données captées (i.e. modalités d’entrée) dont elles ont besoin. Ces données sont ensuite
interprétées pour obtenir les informations sémantiques demandées par les composants de
dialogue des applications. Pour communiquer avec l’utilisateur, les composants de dia-
logue génèrent des messages abstraits qui sont réifiés par une chaîne de composants de
présentation, puis transmis aux utilisateur au travers des modalités de sortie fournies par
les composants CPS.
Les composants CPS ont aussi accès aux informations de contexte, et transmettent au
gestionnaire du contexte les informations décrivant le CPS lorsque celui-ci change d’état.
Par exemple, les composants CPS informent le gestionnaire du contexte de la disponibi-
lité du CPS. Les messages échangés entre les applications et les CPS peuvent contenir en
plus certaines des méta-données concernant l’objet et sa situation dans l’environnement,
comme proposé dans SIAM-DP [114]. Bien que nous proposions un ensemble de messages
types que peuvent échanger des composants CPS, nous convenons que la taxonomie uti-
lisée peut être restrictive lors de l’implémentation, surtout pour des objets proposant des
interfaces particulières (ex. les Brain Computer Interface, ou BCI). C’est pour cela qu’il
est possible d’ajouter de nouveaux formats de messages. Comme dans AM4I [4], nous
utilisons le formalisme EMMA du W3C pour éviter la création de formats spécifiques à
un usage précis et favoriser l’inter-opérabilité des modalités.
La prise en compte des spécificités de chaque CPS permet de supporter les interactions
multi-sensori-motrices (C1).
Composants CPS
79
Partie I, Chapitre 3 – Proposition d’un framework pour la réalisation et le déploiement des
MIBS
Nous avons intégré plusieurs standards architecturaux pour répondre aux exigences
présentées dans le chapitre 1. Dans cette section, nous illustrons avec les cas d’usage
présentés dans l’introduction que notre framework permet bien de réaliser des interactions
multimodales dans des environnements ubiquitaires.
Description du dialogue
Pour réaliser ces tâches, l’entreprise qui déploie l’application de réservation dans la
salle de réunion a à sa disposition plusieurs dispositifs physiques : un écran d’affichage,
un microphone, une caméra, des enceintes et son smartphone. Chacun de ces objets peut
être utilisé indépendamment. Ils ont donc tous leur propre composant CPS. Les modalités
que ces objets peuvent fournir sont synthétisées dans le tableau 3.1. On notera que le
smartphone n’est utilisé ici que pour accéder à une application tierce (i.e. boîte mail).
Ainsi, il est entièrement géré par cette application tierce et il ne sera pas utilisé comme
fournisseur de modalités.
80
3.5. Utilisation du framework pour réaliser les applications de réservation et de guidage
Les dispositifs physiques et les techniques d’interaction sont différents à chaque phase
du dialogue dans le scénario. Les chaînes d’interaction instanciées pour chaque phase
seront donc différentes.
— l’application doit informer ("inform") l’utilisateur que des créneaux sont dispo-
nibles ;
— l’application doit fournir ("offer") la liste des créneaux disponibles ;
— l’application doit permettre à l’utilisateur de parcourir ("reqalts") la liste ;
— l’application doit permettre à l’utilisateur de sélectionner ("user-confirm") un
élément de la liste.
Ici, la liste est parcourue en passant d’un élément à l’autre ("cible" : ["précédent",
"suivant"]), et une cible est requise pour l’acte de dialogue de sélection.
81
Partie I, Chapitre 3 – Proposition d’un framework pour la réalisation et le déploiement des
MIBS
{
"application_reservation" :
{
"reqalts":
{
"optionnel" : Faux,
"source" : "entrée",
"préférence" : {},
"requis" : {"cible" : ["précédent", "suivant"]},
"canal" : 0
},
"user-confirm":
{
"optionnel" : Faux,
"source" : "entrée",
"préférence" : {},
"requis" : {"cible"},
"canal" : 1
},
"inform":
{
"optionnel" : Faux,
"source" : "sortie",
"préférence" : {"modalité" : "audio"},
"requis" : {"type" : "créneaux", "disponible" : Vrai},
"canal" : 0
},
"offer":
{
"optionnel" : Faux,
"source" : "sortie",
"préférence" : {"modalité" : "visuelle"},
"requis" : {"type" : "créneau"},
"canal" : 1
}
}
}
82
3.5. Utilisation du framework pour réaliser les applications de réservation et de guidage
L’information ("inform") sur les créneaux disponibles est émise par les enceintes après
un processus de restitution par synthèse vocale. Pour cela, le message est transformé en
une chaîne de caractères ("Voici les créneaux disponibles"), puis en fichier audio à joué
sur les enceintes.
La liste de créneaux est affichée sur l’écran de télévision sous un format Web. Pour
faciliter le parcours de cette liste, une variable pcreneau définit quel créneau à mettre en
avant. Un premier composant de présentation transforme la liste en tableau en colorant
le créneau pointé par pcreneau . Ce tableau est ensuite transmis à un autre composant qui
l’intègre dans un fichier HTML compatible à la modalité visuelle du composant CPS de
l’écran.
Pour parcourir cette liste, les mouvement de balayage de la main de l’utilisateur sont
captés par la caméra. un premier composant d’interprétation détecte si l’utilisateur réalise
un mouvement de balayage vers la gauche ou vers la droite. Ces mouvements, représentés
par les valeurs 0 et 1, sont ensuite analysés (ex. à partir de la fréquence d’arrivée de
nouvelles valeurs) pour inférer si l’utilisateur demande une alternative (reqalts), et si
cela correspond à la précédente (valeur 0) ou à la suivante (valeur 1). Le composant de
dialogue renvoie ensuite la liste de créneaux à l’écran d’affichage en indiquant avec pcreneau
le créneau à mettre en avant.
La sélection d’un créneau se fait à partir d’une commande vocale et d’un geste de
pointage. D’abord, le geste de pointage est détecter puis la cible du geste est identifiée.
Ensuite, la phrase "Celui-ci" énoncé par l’utilisateur est transformé en chaîne de caractères,
puis interprété comme une intention de sélectionner ("user-confirm"). Enfin, la cible du
geste est associé à la commande de sélection par un composant de fusion.
83
Partie I, Chapitre 3 – Proposition d’un framework pour la réalisation et le déploiement des
MIBS
Pour pouvoir réaliser le scénario d’usage, la base de connaissances doit contenir plu-
sieurs informations sur l’environnement que les dispositifs physiques ne peuvent pas cap-
ter. Tout d’abord, une base de profils utilisateur doit être accessible. Elle doit contenir
une représentation des visages pour la phase 1, et les dispositifs personnels (ici, le smart-
84
3.5. Utilisation du framework pour réaliser les applications de réservation et de guidage
phone) doivent être associés à leurs propriétaires. Ensuite, il faut connaître la disposition
des objets dans la pièce. Cela permet d’identifier ce que pointe l’utilisateur dans la phase
3, et cela peut permettre de plus facilement détecter le départ de l’utilisateur dans la
phase 5.
Description du dialogue
Pour réaliser le cas d’usage, l’entreprise utilise le portique et l’enceinte connectée placés
à l’entrée pour accueillir l’utilisateur, et les ampoules, les écrans et les enceintes installés
dans les couloirs pour guider l’utilisateur. Ici, une plateforme logicielle gère les équipe-
ments statiques de l’environnement (i.e. les écrans muraux et les ampoules connectées).
Nous représentons l’éclairage par un seul composant CPS où chaque modalité représente
la capacité de changer les couleurs et la luminosité d’une des ampoules, et donc d’interagir
visuellement. De même, un seul composant représente l’ensemble des écrans muraux. Les
modalités que ces objets peuvent fournir sont synthétisées dans le tableau 3.2.
85
Partie I, Chapitre 3 – Proposition d’un framework pour la réalisation et le déploiement des
MIBS
86
3.5. Utilisation du framework pour réaliser les applications de réservation et de guidage
Ces 3 étapes sont répétées à chaque changement de pi et pj jusqu’à qu’il n’y ait plus
d’actionneurs éligibles (ex. la position initiale s’est suffisamment rapprochée de la position
finale pour qu’il n’y ait plus besoin de montrer le chemin). Les actionneurs qui ont été
utilisés sont remis dans leur état initial (ex. les ampoules sont éteintes) par la suite.
Si la destination est modifié depuis la montre connectée, le composant de dialogue
recalcule le trajet à effectuer, puis informe le composant de fission de la nouvelle liste de
position à parcourir.
De plus, dans l’éventualité où un objet connecté devient indisponible (ex. une ampoule
grille), le composant CPS de l’éclairage ambiant informe le gestionnaire de contexte du
changement d’état. Cette information est ensuite récupérée par le composant de fission
quand il identifie les actionneurs se trouvant sur le trajet de l’utilisateur.
87
Partie I, Chapitre 3 – Proposition d’un framework pour la réalisation et le déploiement des
MIBS
Utilisation du framework
3.6 Synthèse
L’objectif de ce chapitre était de définir un framework pour MIBS qui répond aux
exigences présentées dans le chapitre 1. Pour cela, nous avons présenté dans la section
précédente un framework qui intègre plusieurs standards architecturaux utilisés pour créer
des MIBS. Les exigences ainsi que les réponses apportées sont synthétisées dans la table
3.3.
88
3.6. Synthèse
Table 3.3 – Cette table synthétise les réponses apportées (i.e. choix architecturaux et
méthode de conception) aux exigences présentées dans le chapitre 1.
89
Partie I, Chapitre 3 – Proposition d’un framework pour la réalisation et le déploiement des
MIBS
le soleil à certaines périodes de la journée. Or, cette situation est impossible à modéliser
par des métriques génériques. De même, une interaction vocale peut ne pas être adaptée
à certains environnements comme une cafétéria très bruyante ou à l’inverse un open space
dans lequel le silence doit régner. Modéliser l’ensemble de ces paramètres environnemen-
taux est fastidieux, voire impossible dans certains cas. Cependant, ils sont nécessaires à
tout algorithme d’adaptation des modalités.
Le framework supporte l’utilisation de configuration statique des applications en fonc-
tion des objets connectés disponibles. Dans ce cas, il permet à la personne en charge du
déploiement (qui connaît donc l’environnement dans lequel le MIBS sera exécuté), de tenir
compte des différents paramètres influençant l’utilisabilité, et de choisir ainsi les chaînes
d’interaction les plus adéquates. Pour assurer l’utilisabilité du système, une intervention
humaine est alors requise.
Dans la partie suivante, nous réalisons une étude de ces méthodes et outils pour
identifier en quoi consiste cette intervention humaine, et ainsi proposer une méthodologie
pour faciliter l’adaptation des MIBS aux environnements d’exécution.
90
Deuxième partie
91
Partie II,
Nous avons vu dans la partie précédente que l’adaptation des MIBS aux environne-
ments requiert une intervention humaine que les frameworks existants n’abordent pas.
Dans cette partie, nous étudions le processus de création des MIBS pour identifier en quoi
consisterait cette intervention humaine, et proposer ainsi une solution.
Dans le chapitre 4, nous proposons une analyse du cycle de vie de ces systèmes, de
leurs conceptions par les éditeurs à leurs exécutions dans les environnements. Cette analyse
nous donne une vue globale sur le processus de création de ces systèmes, et nous permet
ainsi d’identifier le degré de maturité des méthodes pour accomplir toutes les étapes du
processus. Dans un second temps, nous identifions les étapes insuffisamment outillées pour
répondre à notre problématique de recherche.
À partir de cette analyse, nous présentons dans le chapitre 5 notre solution pour
adapter facilement les MIBS aux spécificités des environnements dans lesquels ils sont
déployés. En effet, nous proposons une méthodologie de configuration et d’évaluation des
MIBS en utilisant la réalité virtuelle (MCEV : MIBS Configuration and Evaluation in
Virtual reality). Cette méthode s’intègre au framework décrit dans le chapitre 3, et elle
s’applique pendant les étapes d’intégration et de déploiement.
Nous présentons dans le chapitre 6 l’expérimentation réalisée pour évaluer cette mé-
thode, puis nous étudions des scénarios présentant l’application de la méthode MCEV
aux cas d’usage de réservation et de guidage.
92
Chapitre 4
Notre objectif dans ce chapitre est d’étudier comment la création des MIBS peut être
facilitée. En particulier, nous nous intéressons aux approches facilitant l’adaptation des
MIBS à leurs environnements d’exécution. La complexité de création de MIBS peut être
allégée par des méthodes et outils logiciels. Cependant, les processus de création que ces
outils supportent, peuvent être différents. Les outils ne sont donc pas tous interopérables.
De plus, ces outils ne prennent en charge que des tâches spécifiques dans leurs processus
respectifs. Enfin, chaque outil demande un niveau d’expertise spécifique à un domaine
d’activité. Par exemple, les outils pour développeurs peuvent être difficiles à utiliser par
un designer.
Pour étudier les outils existants, nous présentons d’abord les tâches liées au cycle de vie
des MIBS, ainsi que les rôles qui leurs sont associés. À partir de ces études préliminaires,
nous proposons une revue de la littérature des outils existants qui correspondent à ce cycle
de vie et à ces tâches. Nous discutons ensuite des limites du soutien apporté par les outils
dans le processus de création. Pour finir, nous rappelons les principales conclusions de ce
chapitre. Nous illustrons les différentes tâches et analysons les outils existants en nous
projetant sur leur utilisation pour créer l’application de réservation de salles de réunion
présentée précédemment.
93
Partie II, Chapitre 4 – Proposition d’un cadre conceptuel pour la création de MIBS
Publication
94
4.1. Études des méthodologies existantes pour guider le processus de création des MIBS
En particulier, Silva et al. [147] mettent l’accent sur l’importance de la séparation entre
modalités et applications lors du développement. Chaque composant gérant une modalité
peut donc être développé indépendamment de toute application. Ainsi, ces composants
génériques peuvent être utilisés dans plusieurs applications, ce qui permet ainsi de ré-
duire les coûts de développement. MIODMIT [55] est un exemple d’architecture basée sur
l’utilisation de composants génériques. MIODMIT propose un processus d’adaptation en
3 étapes. Premièrement, il faut définir les objets, modalités et techniques d’interaction
considérés pour l’application. Deuxièmement, les composants existants nécessaires pour
l’application sont sélectionnés, tandis que les composants qui manquent sont modélisés.
Enfin, troisièmement, ces composants manquants sont développés et intégrés dans un
prototype à évaluer. L’avantage de ces approches est de séparer l’interaction des cœurs
applicatifs, ce qui favorise la réutilisabilité des composants existants. Néanmoins, le rôle
des parties prenantes n’est pas clairement défini, ce qui peut freiner leur coopération.
95
Partie II, Chapitre 4 – Proposition d’un cadre conceptuel pour la création de MIBS
96
4.1. Études des méthodologies existantes pour guider le processus de création des MIBS
sont créés à un niveau supérieur (niveau "meta design") et utilisés par les différents acteurs
(niveau design). Ces développeurs et designers viennent ensuite créer les applications pour
les utilisateurs finaux (niveau "use").
L’avantage principal de ces deux méthodologies est la facilitation de la collaboration
entre les différents acteurs en cachant les considérations des autres domaines d’expertise.
Toutefois, la méthodologie de création de MIBS et les rôles associés dans DAME sont trop
spécifiques à leur approche pour fournir une méthode standard en lien avec les travaux
sur la multimodalité. La méthodologie SSW ne présente quant à elle ni les composants à
créer ni l’interaction concrète entre les acteurs.
Figure 4.2 – Méthodologie SSW utilisée par Barricelli et al. [16] pour concevoir des
systèmes multimodaux pervasifs.
4.1.4 Résumé
Les approches spécifiques à la multimodalité abordent cette difficulté en facilitant la
réutilisation des composants logiciels d’une application à une autre. Pour autant, la place
des différents acteurs intervenant dans la création de MIBS n’est pas clairement définie,
ce qui peut compliquer leur collaboration.
La méthodologie U-C IEDP supporte la participation des parties prenantes dans la
97
Partie II, Chapitre 4 – Proposition d’un cadre conceptuel pour la création de MIBS
Enfin, les méthodes utilisées pour les MIBS n’offrent pas un cycle de vie suffisamment
concret ou générique.
Dans la section suivante, nous proposons un cycle de vie pour les MIBS en lien avec
les standards architecturaux présentés dans le chapitre 2.
C’est pour cela que nous décrivons les tâches à réaliser dans le cycle de vie des MIBS
que nous séparons en 5 étapes (synthétisé en figure 4.3) :
— l’étape du design pour décrire tous les modèles (dialogue, interfaces utilisateur,
contexte) nécessaires au système à partir des spécifications faites ;
— l’étape de développement pour créer les composants logiciels nécessaires à la mise
en œuvre des modèles conçus ;
— l’étape d’intégration pour assembler les composants en un système entièrement
fonctionnel ;
— l’étape de déploiement pour installer le système dans l’environnement désiré ;
— l’étape d’exécution (ou "d’opération et maintenance") pour observer le système en
cours d’exécution.
98
4.2. Proposition : Cycle de vie des MIBS
Figure 4.3 – Vue globale du cycle de vie des MIBS de la spécification des exigences
à l’exécution. Les tâches d’évaluation des étapes de design, d’intégration et d’exécution
permettent de reprendre le cycle à partir des étapes de design ou développement (flux en
gris).
99
Partie II, Chapitre 4 – Proposition d’un cadre conceptuel pour la création de MIBS
Analyse du contexte
Nous avons vu dans les chapitres 1.4 et 2.1.3 que le contexte est un aspect important
des MIBS, et que le fonctionnement des applications dépend généralement de 4 types
d’entités : les dispositifs physiques, l’environnement, l’utilisateur et le système.
Par conséquent, la première étape consiste généralement pour les designers à analyser et
à définir les informations contextuelles qui sont utilisées tout au long du cycle de vie des
MIBS, comme l’explique Augusto [12].
En particulier, les informations environnementales sont essentielles pour réaliser des
systèmes invisibles (C12 dans le tableau 1.1), ou pour assurer l’interaction dans des situa-
tions de mobilité (C10). Dans le processus de design de Lemmelä et al. pour les systèmes
multimodaux avec des dispositifs mobiles [95], les designers définissent l’impact des envi-
ronnements possibles sur les capacités perceptives et cognitives des utilisateurs. De plus,
les designers et les architectes du bâtiment peuvent travailler ensemble pour modéliser les
environnements physiques, comme le proposent Pittarello et al. dans leur ontologie [128].
Cela suppose toutefois que ces environnements sont déjà connus.
La représentation du contexte peut être décidée sur la base d’observations des compor-
tements du public cible, de l’expérience des concepteurs ou de l’interprétation de résultats
d’expérimentations de prototypes faisant intervenir des utilisateurs (voir sections 4.2.3 et
4.2.5). Les designers doivent aussi collaborer avec les autres acteurs pour définir les infor-
mations de contexte relatives à l’application désirée. Par exemple, Oviatt et Cohen [120]
expliquent que les designers doivent identifier comment les utilisateur interagissent quand
il ont à leur disposition un ensemble données de modalités, et quelles techniques d’in-
teraction les utilisateurs souhaitent utiliser. Ces informations liées au domaine d’activité
doivent ensuite être utilisées pour concevoir le modèle de tâches, qui est défini dans [35]
comme la représentation des informations à collecter dans le dialogue.
Dans l’application de réservation de salles de réunion, l’utilisateur peut, entre autres,
100
4.2. Proposition : Cycle de vie des MIBS
sélectionner un créneau avec des commandes vocales ou avec des commandes gestuelles.
Pour faciliter la sélection d’une alternative, les designers peuvent modéliser les micro-
phones connectés comme des dispositifs pouvant fournir des interfaces vocales, et les
smartphones comme des dispositifs pouvant fournir des interfaces graphiques et vocales.
De plus, les gestes de pointage pour sélectionner des pièces nécessitent une représentation
de l’environnement, ainsi que des positions et rotations des smartphones par rapport à
celui-ci. On peut également prendre en compte la situation d’encombrement de la salle.
Design du dialogue
Une fois que toutes les informations contextuelles sont modélisées, des designers peuvent
définir le dialogue. Ils ont accès aux exigences et aux informations contextuelles pour
décrire les tâches d’interaction que les utilisateurs peuvent effectuer, ainsi que leur sé-
quencement. Les méthodes utilisées pour définir les tâches d’interaction comprennent le
cheminement de l’utilisateur à partir d’observations, le storyboarding [95] ou la participa-
tion d’un expert du domaine à la conception [16]. Dans la représentation de la tâche, les
interfaces utilisateur doivent être abstraites car il est impossible de prévoir quels objets
connectés seront utilisés dans le cadre des MIBS. Par exemple, dans le cadre de référence
CAMELEON [38], les modèles de tâches d’interaction sont définis sans spécifier aucune
information sur l’interface utilisateur.
Un designer UX peut aussi définir les alternatives de techniques d’interaction dont le
dialogue pourrait avoir besoin. Cela permet d’adapter les interfaces aux contraintes impo-
sées par le contexte, ce qui est particulièrement important pour concevoir des interactions
implicites. En effet, la conception d’une interaction implicite requiert une gestion du degré
d’attention nécessaire à l’interaction et de l’initiative (entre le système et l’utilisateur) se-
lon [83]. Cela demande donc d’adapter les techniques d’engagement et de désengagement
à l’état d’esprit de l’utilisateur.
Dans notre exemple, des designers UX peuvent représenter le dialogue de l’application
de réservation de salle de réunion en quatre tâches d’interaction successives : engager
le dialogue depuis l’espace réservé à l’interaction, sélectionner la salle de réunion et le
créneau, partager l’invitation, et confirmer le résultat. Les deuxième et troisième tâches
peuvent être réalisées dans n’importe quel ordre, mais les deux sont nécessaires pour
passer à la dernière.
101
Partie II, Chapitre 4 – Proposition d’un cadre conceptuel pour la création de MIBS
Une fois le modèle de dialogue conçu, les interfaces utilisateurs (UI) correspondantes
peuvent être définies. Le modèle transversal de Vanderdonckt [157] sur les interfaces distri-
buées peut être utilisé pour concevoir les interfaces des MIBS : "A UI distribution concerns
the repartition of one or many elements from one or many user interfaces in order to
support one or many users to carry out one or many tasks on one or many domains
in one or many contexts of use, each context of use consisting of users, platforms, and
environments". (La distribution d’une interface utilisateur concerne la répartition d’un ou
plusieurs éléments d’une ou plusieurs interfaces utilisateur afin d’aider un ou plu-
sieurs utilisateurs à effectuer une ou plusieurs tâches dans un ou plusieurs domaines
dans un ou plusieurs contextes d’usage, chaque contexte d’utilisation étant constitué
d’utilisateurs, de plates-formes et d’environnements.) Ce modèle permet de mettre en
avant la place du contexte, et plus particulièrement du profil utilisateur dans la création
d’interface. Cependant, les contextes dans lesquels les utilisateurs finaux interagiront ne
sont pas forcément connus au moment de la conception, bien qu’ils puissent être en partie
anticipés. Ainsi, les approches existantes dans la littérature proposent plusieurs solutions
pour résoudre ce problème.
Les designers UI peuvent définir les différentes UI susceptibles d’être utilisées et sé-
lectionner celle qu’ils préfèrent pendant le déploiement ou l’exécution. Cette démarche
offre un bon contrôle sur les interfaces, et facilite l’évaluation du système. Toutefois, la
capacité d’adaptation de l’UI est limitée à l’ensemble des interfaces ainsi conçues.
Les designers UI peuvent également concevoir des éléments d’interface utilisateur élé-
mentaires qui peuvent être combinés avec un processus de génération d’interface utilisa-
teur. Par exemple, le paradigme comet [39] permet de définir des interfaces graphiques en
sélectionnant et assemblant des widgets configurables en fonction du contexte. En particu-
lier, le style de chaque comet peut être modifié lors de la génération de l’interface concrète.
Comme le proposent Sasse et al. [141], l’assemblage peut être réalisé automatiquement
durant une session ou être personnalisable entre l’arrêt d’une session et le démarrage d’une
nouvelle. L’automatisation de la génération des interfaces rend l’anticipation et l’évalua-
tion de l’UI plus difficile. Néanmoins, l’adaptation au contexte peut être d’autant plus
pertinente que le nombre de combinaisons possibles augmente. Cela permet de se servir
au mieux de la diversité et du nombre de modalités dans un contexte de multimodalité
massive (C14).
Quatre types de dispositifs peuvent fournir une interface utilisateur dans notre applica-
102
4.2. Proposition : Cycle de vie des MIBS
tion de réservation de salles de réunion : les écrans connectés, les enceintes, les smartphones
et les montres intelligentes des utilisateurs. Pour concevoir les interfaces utilisateur, les
designers peuvent dessiner ce que serait l’interface graphique élémentaire correspondant
à chaque tâche. Ils peuvent également définir les commandes vocales permettant de de-
mander à l’utilisateur de lancer l’interaction, de sélectionner une salle de réunion ou de
confirmer le succès du processus de réservation.
Évaluation du design
103
Partie II, Chapitre 4 – Proposition d’un cadre conceptuel pour la création de MIBS
1. https://www.iso.org/obp/ui/#iso:std:iso-iec:18305:ed-1:v1:en
2. https://www.w3.org/TR/mmi-suggestions/
104
4.2. Proposition : Cycle de vie des MIBS
À partir des interfaces utilisateur et des modèles de dialogue, les développeurs peuvent
définir les composants nécessaires à la construction des chaînes d’interaction. Il existe dif-
férentes approches pour catégoriser ces composants, et chacune fournit des langages de
modélisation pour définir les interfaces d’entrée et de sortie des composants, ainsi que
leurs caractéristiques. Ces composants peuvent suivre la représentation utilisée en multi-
modalité (voir chapitre 2.1.1) comme dans notre approche présentée dans le chapitre 3,
mais ce n’est pas la seule approche pour les MIBS. Par exemple, nous avons vu que dans
DAME [131], les chaînes d’interaction comprennent des composants contrôleurs de média
qui abstraient les capacités d’interaction des dispositifs ou d’un ensemble de dispositifs,
et des composants contrôleurs de langage qui servent de pont entre ces composants spé-
cifiques aux dispositifs et les composants de dialogue indépendants des dispositifs.
Pour définir quels composants concevoir, les développeurs peuvent s’appuyer sur des
modèles conceptuels tels que le modèle WWHT ("What-Which-How-Then") de Rousseau
et al.[139]. Ce modèle décrit le processus de conception d’une présentation multimodale.
En particulier, il présente le cycle de vie d’une présentation comme un processus en 4
étapes :
— définir l’information à présenter ;
— choisir les modalités ;
— choisir la mise en forme de l’information présentée sur ces modalités ;
105
Partie II, Chapitre 4 – Proposition d’un cadre conceptuel pour la création de MIBS
La tâche suivante des développeurs consiste à mettre en œuvre les composants issus de
leurs conceptions. Les composants sont généralement implémentés dans le même logiciel de
développement (Integrated Development Environment, ou IDE), mais les fonctionnalités
intégrées peuvent être différentes en fonction de leur proximité avec les dispositifs ou les
techniques d’interaction. Par exemple, certaines librairies logicielles facilitent l’utilisation
de services de reconnaissance vocale en ligne.
Les composants logiciels qui correspondent au modèle de dialogue sont généralement au
centre des contributions sur l’architecture de systèmes multimodaux. Le dialogue peut être
implémenté comme un ensemble de composants qui font partie de la chaîne d’interaction.
Ces composants peuvent être génériques comme dans Openinterface [92], ce qui permet
une plus grande liberté dans la modélisation du dialogue au dépend d’un support limité.
En comparaison, les approches proposant des composants dédiés au dialogue comme dans
la plateforme DAME [131] ont un formalisme plus strict. Cela permet toutefois d’assurer
106
4.2. Proposition : Cycle de vie des MIBS
des interfaces similaires entre ces composants, et donc d’assurer leur réutilisabilité. Le
dialogue peut également être intégré dans la partie du système qui gère la composition
elle-même. Par exemple, le gestionnaire du dialogue dans DynaMo [14] crée en fonction
de modèles d’interaction des chaînes de composants liant les capteurs aux actionneurs.
Le développement des composants d’interprétation et de présentation dépend forte-
ment de la modélisation de ces composants dans les étapes précédentes. Par exemple, les
composants d’interprétation sont séparés des composants de fusion dans SIAM-DP [114].
Les premiers composants transforment les données des dispositifs en une représentation
sémantique, tandis que les seconds ne font que fusionner les informations sémantiques.
L’approche DAME [131] représente avec les mêmes composants les capacités d’entrée et
de sortie. Ainsi, elle considère la dépendance potentielle entre les modalités d’entrée et de
sortie.
Par exemple, les composants de l’application de réservation peuvent être développés
depuis l’IDE Eclipse pour profiter des outils d’aide à la programmation. Le code peut en-
suite être intégré dans l’IDE OpenInterface pour tester le fonctionnement des composants
une fois assemblés.
107
Partie II, Chapitre 4 – Proposition d’un cadre conceptuel pour la création de MIBS
108
4.2. Proposition : Cycle de vie des MIBS
leur intérêt est limité. En effet, les tests automatiques ne sont pas conseillés sur des
systèmes très personnalisables tels que les MIBS, et ne sont pas suffisants pour réaliser
des tests sur l’expérience utilisateur, comme le suggèrent Garousi et Mäntylä dans leur
revue de littérature sur les outils des pratiques de tests automatiques. L’étude réalisée
par Nass et al. [68, 112] sur les tests automatiques d’interface graphiques (GUI) semble
confirmer que ces méthodes d’évaluation sont encore limitées. De plus, ces méthodes
demandent généralement des connaissances en programmation pour définir les tests à
réaliser. Toutefois, elles peuvent être utilisées pour réaliser des tests partiels sur des critères
objectifs. Un des critères possibles est la performance d’un composant d’interprétation en
fonction des données placées en entrée.
Le deuxième type consiste en des expérimentions menées avec des utilisateurs. Comme
l’expliquent Silva et al. [147], un prototype du système interactif est testé par des utilisa-
teurs dans des environnements contrôlés (ex. espaces d’expérimentation de laboratoires)
ou dans l’environnement cible. Ces tests permettent d’avoir un aperçu de l’utilisabilité du
système et de collecter le ressenti des utilisateurs. L’équipe d’évaluation peut évaluer au
préalable les prototypes pour vérifier s’ils sont toujours conformes aux directives consi-
dérées dans la section 4.2.1. L’avantage est d’évaluer les alternatives de composition des
composants dans des prototypes partiellement ou totalement fonctionnels [161, 22] en
s’appuyant sur des normes fiables et sur l’expérience des designers. Ensuite, de vrais uti-
lisateurs peuvent expérimenter les prototypes. Les comportements des participants sont
analysés [161, 120] et leurs retours d’expérience sont enregistrés, comme dans le processus
de prototypage rapide de Lemmelä et al. [95]. Avec un prototype complet entre les mains
d’utilisateurs réels, ces expérimentations sont les plus proches de la vérité du terrain, mais
leurs coûts, les limites des environnements que les expérimentateurs peuvent créer et la
rigidité de leurs configurations sont leurs inconvénients [161, 120]. On notera qu’il est
aussi possible de réaliser des tests pilote. Ces tests consistent à installer le système dans
de vrais environnements pour étudier son influence dans la routine des utilisateurs [147].
Dans l’application de réservation de salles de réunion, c’est au cours de ces expérimen-
tations que les designers peuvent être confrontés à des problèmes pratiques. Par exemple,
les rayons lumineux de l’après-midi peuvent éblouir l’utilisateur faisant face à l’écran, ce
qui peut rendre l’affichage d’une des salles de réunion envisagées impossible à utiliser.
Il convient de noter que la simulation est parfois suivie d’expériences avec les utilisa-
teurs pour obtenir le meilleur des deux mondes [85, 130]. En effet, le fait de commencer
par des simulations permet d’éliminer rapidement et à faible coût les problèmes anticipés
109
Partie II, Chapitre 4 – Proposition d’un cadre conceptuel pour la création de MIBS
par l’équipe d’évaluation. Des expérimentations peuvent être réalisées par la suite pour
détecter les problèmes que seule l’analyse du comportement des utilisateurs finaux permet
de trouver. Cependant, le coût et la durée des deux méthodes utilisées consécutivement
reste élevé.
Les appareils connectés étant de plus en plus courants dans notre environnement, ils
sont généralement déjà installés. Cependant, les administrateurs peuvent avoir besoin de
davantage d’appareils pour une application particulière. Ils peuvent aussi déplacer certains
de ceux qui sont installés. Selon Burzagli et al. [37], cela implique un placement minutieux
de ces appareils, car ils doivent se fondre dans l’environnement de l’utilisateur. Cela a aussi
une grande importance pour le suivi de l’utilisateur dans des situations de mobilité. Le
positionnement relatif entre les dispositifs et la géométrie de l’environnement sont donc
également importants.
Bien qu’il n’y ait pas à notre connaissance de méthode pour placer les objets en fonction
des applications, les administrateurs peuvent suivre les instructions des recommandations
110
4.2. Proposition : Cycle de vie des MIBS
Configuration du MIBS
111
Partie II, Chapitre 4 – Proposition d’un cadre conceptuel pour la création de MIBS
une application domestique) choisissent les dispositifs. Ainsi, ils peuvent sélectionner une
chaîne d’interaction parmi celles recommandées par les designers. Par exemple, ils peuvent
choisir la chaîne d’interaction qui utilise des microphones et des capteurs de présence, puis
associer les appareils connectés de chaque salle de réunion à l’application.
Enfin, les dispositifs connectés doivent être démarrés, configurés et connectés au sys-
tème en fonction des capacités de découverte et d’enregistrement de l’architecture.
En ce qui concerne le processus de communication, Rodriguez et Moissinac [137] ex-
pliquent que bien que des travaux de standardisation menés par des consortiums indus-
triels ont été réalisés 3 , il n’existe pas de protocole unique dans l’IoT, car chaque fournisseur
possède généralement son propre écosystème de réseau. Par conséquent, le déploiement
des dispositifs n’est généralement pas abordé dans la littérature relative aux MIBS, et
les approches existantes (voir chapitre 2.2) ne se placent que dans des environnements où
les objets sont déjà placés et configurés. Néanmoins, Rodriguez et Moissinac proposent
dans leurs travaux un modèle de composant de modalité et un processus de découverte et
d’enregistrement qui pourraient aboutir à un consensus dans la communauté IoT.
Les administrateurs peuvent également spécifier ici la localisation des appareils s’ils
n’ont aucun moyen de déterminer automatiquement leur emplacement dans l’environ-
nement. Plusieurs technologies de localisation peuvent être utilisées, et chacune a ses
avantages et limites [33, 65]. On peut en particulier différencier ces techniques selon le
type d’information de position récupéré : absolues (ex. GPS), relatives (ex. en face de la
porte d’entrée) et de proximité (ex. proche d’une balise).
Dans notre cas d’utilisation, les smartphones sont accessibles via les réseaux Wifi ou
mobiles, tandis que les capteurs de présence peuvent n’être disponibles qu’avec Z-wave 4
ou d’autres protocoles et technologies de bas niveau. Ainsi, les responsables informatiques
peuvent utiliser un outil tel que OpenHAB 5 pour permettre au MIBS de communiquer
avec tous les appareils via un réseau et un protocole uniques.
112
4.2. Proposition : Cycle de vie des MIBS
113
Partie II, Chapitre 4 – Proposition d’un cadre conceptuel pour la création de MIBS
tandis que les administrateurs peuvent modifier certains paramètres pour mieux adapter
le système aux besoins des utilisateurs.
Assistance à l’utilisateur
114
4.2. Proposition : Cycle de vie des MIBS
Comme nous l’avons vu précédemment, la création d’un MIBS est un travail d’équipe
pluridisciplinaire où chaque tâche requiert des connaissances et compétences particulières.
De plus, Augusto et al. [11] expliquent qu’il y a plusieurs parties prenantes dans la gestion
des environnements ubiquitaires : "Sensors available in an intelligent environment may be
owned and managed by different organizations or people" (les capteurs disponibles dans
un environnement intelligent peuvent appartenir et être gérés par des organisations ou
des personnes différentes). C’est donc au système interactif d’être adapté à l’équipement
en place, et seules certaines personnes en charge de l’environnement peuvent modifier la
disposition de cet équipement, voire ajouter de nouveaux objets.
Cette pluridisciplinarité et cette séparation des responsabilités font qu’il est important
de définir les rôles intervenants à chaque étape. Cela permet plus particulièrement de
définir la cible des méthodes et outils existants pour chacune des étapes (voir section 4.3).
Toutefois, la description des rôles (i.e. tâches à réaliser, domaines d’expertise et degrés
d’expertise) peut changer d’une organisation (i.e. éditeur de logiciels et client) à une
autre. C’est pour cela que nous nous basons sur la norme ISO sur l’ingénierie logicielle
et les systèmes [80] pour présenter les rôles qui sont généralement considérés dans la
création de MIBS, et dont les domaines d’expertise ne se chevauchent pas. Ainsi, nous
identifions 6 rôles que nous détaillons plus en détail par la suite : designer UI, designer
UX, développeur, ergonome, administrateur et utilisateur final. L’association des rôles
aux tâches est synthétisée Figure 4.4.
115
Partie II, Chapitre 4 – Proposition d’un cadre conceptuel pour la création de MIBS
Figure 4.4 – Association des 6 rôles aux tâches du cycle de vie des MIBS. Les tâches
d’évaluation des étapes de design, de modélisation des composants logiciels et d’assem-
blage des composants requièrent la collaboration de deux rôles.
116
4.2. Proposition : Cycle de vie des MIBS
On notera que la notion d’expert est aussi utilisée comme rôle à part entière [58].
Néanmoins, elle est principalement utilisée pour décrire un niveau d’expertise d’un des
acteurs présentés précédemment. Ainsi, nous utilisons le terme d’expert pour décrire les
acteurs quand la distinction sera nécessaire (ex. ergonome expert). Similairement, le rôle
d’analyste n’intervient que pendant les phases de définitions des exigences, et parfois dans
l’évaluation des prototypes. Nous considérerons donc ce rôle comme externe à la création
de MIBS, à l’exception de sa tâche de référent expert lors de l’évaluation de MIBS. On
notera aussi que deux des avantages des MIBS sont de pouvoir utiliser des objets installés
pour d’autres usages, et des services en ligne (ex. reconnaissance vocale de Google). On
considère donc que les fournisseurs de solutions IoT et de services en ligne ne sont pas des
acteurs dans la création de MIBS, mais l’interfaçage de ces ressources externes fait partie
du travail des acteurs considérés.
Designer UI et designer UX
117
Partie II, Chapitre 4 – Proposition d’un cadre conceptuel pour la création de MIBS
chaque interface. Ce rôle peut être d’avantage séparé selon les modalités considérées.
Par exemple, la création d’interfaces graphiques (GUI) requiert diverses connaissances
qu’aurait un designer graphique 6 ) (ex. HTML/CSS), tandis que la conception d’interfaces
vocales (VUI) demande une toute autre gestion dans la communication d’information 7 .
De plus, la sélection et l’organisation des modalités [133] dans les systèmes multimodaux
prennent en compte des critères d’UI design, ce designer peut donc intervenir dans la
conception de ces tâches.
Les designers UX et UI échangent ensuite avec les développeurs pour vérifier que le
produit développé (i.e. produit fini ou prototype [120]) répond bien aux besoins identifiés
au départ.
On notera que la séparation n’est pas toujours clairement définie (ex. un designer peut
remplir les deux rôles dans une petite équipe), et le design UI est même parfois considéré
comme une partie du design UX 8 , ce qui est contraire au principe d’indépendance entre
les modalités et le dialogue.
Développeur
Les modèles conçus par les designers UX et UI doivent ensuite être intégrés dans
des composants logiciels. Cette tâche est généralement attribuée au rôle de développeur
dans la littérature, bien qu’elle puisse être réalisée en collaboration avec les designers
pour assurer que les choix techniques n’influencent pas en mal l’interaction (par exemple
un délai dans la gestion du dialogue[61]). Ce sera par exemple le cas avec la plateforme
DAME [131].
L’ISO [80] donne la définition suivante pour le rôle de développeur de produit logiciel :
"The person or organization that manufactures a software product" (La personne ou l’or-
ganisation qui fabrique le produit logiciel). La structure par composants utilisée pour créer
les MIBS fait que la fabrication du produit logiciel se limite à la création et l’assemblage
de ces composants.
Nous avons vu que les types de composants diffèrent entre chaque approche. Néan-
moins, on attend de ces composants qu’ils définissent les 4 éléments des systèmes mul-
timodaux : les modalités, le processus d’interprétation, le dialogue et le processus de
6. https://en.99designs.fr/blog/tips/types-of-graphic-design/
7. https://careerfoundry.com/en/blog/ux-design/how-to-become-a-voice-designer/
#what-does-a-vui-designer-actually-do
8. https://uiuxtrend.com/ui-design-vs-ux-design-vs-interaction-design/
118
4.2. Proposition : Cycle de vie des MIBS
Utilisateur final
Comme défini par l’ISO [80], les utilisateurs finaux sont la cible du système : "the
person or persons who will ultimately be using the system for its intended purpose" (La
personne ou les personnes qui vont utiliser le système pour l’usage prévu à la fin). Au-
gusto [12] fait aussi la distinction entre les utilisateurs primaires et les autres bénéficiaires.
Cette distinction est utile dans les systèmes tels que les assistants de personnes vulné-
rables où le personnel soignant (utilisateur secondaire) a besoin de superviser l’état des
personnes assistées (utilisateurs primaires).
Ainsi, dans la plupart des méthodologies de création de MIBS, le rôle d’utilisateur
final se limite à l’utilisation du système. Toutefois, les approches centrées utilisateur font
aussi participer les utilisateurs au processus de création, comme l’expliquent Oviatt et
Cohen [120]. Par exemple, ils peuvent aider à spécifier les besoins et à tester le système
lors d’expérimentations. Il est aussi possible de leur fournir des outils pour leur permettre
d’observer, de contrôler le système interactif, voire de fournir des commentaires aux autres
acteurs sur le fonctionnement du système dans leurs environnements.
Administrateur
Les rôles présentés dans les sections précédentes ne suffisent pas à prendre en compte
l’ensemble des besoins de notre cas d’usage. En effet, il manque un rôle d’administrateur
du système (appelé par la suite "administrateur") pour gérer son déploiement (ISO : "ins-
tallation and checkout phase") et sa maintenance. Ce rôle se retrouve dans MIBO [125]
sous le rôle de "Facility Manager", et Pruvost [131] utilise le terme d’administrateur d’am-
biant.
119
Partie II, Chapitre 4 – Proposition d’un cadre conceptuel pour la création de MIBS
A noter que dans certains cas l’utilisateur final peut réaliser les tâches de déploiement.
C’est par exemple le cas pour les applications domotiques où une personne utilise elle-
même le système qu’elle administre.
Ergonome
La création de MIBS passe par l’intégration de plusieurs composants qui peuvent avoir
été réalisés séparément. Vérifier la cohérence et l’utilisabilité d’une application selon cer-
tains environnements d’interaction types avant le déploiement (au directement dans l’en-
vironnement cible) permet de valider en partie le travail réalisé en amont. Une meilleure
validation nécessiterait de réaliser les tests dans les environnements de déploiement réels,
ce qui n’est pas toujours possible. Cette tâche ne relève pas d’un rôle précédemment pré-
senté, mais plutôt du rôle d’ergonome. Ce rôle est aussi présent dans le framework MIBO
("Usability Engineer"). DAME [131] s’appuie aussi sur le rôle "d’ergonome d’ambiant",
bien qu’il intervient aussi pendant l’étape de design pour définir des règles de comporte-
ment, en coopération avec les designers.
Un ergonome peut aussi intervenir pour valider la configuration d’une application dans
son environnement d’exécution si celui-ci est disponible. Cela permet d’assurer que cette
application remplit correctement ses objectifs.
120
4.3. Analyse des méthodes et outils par tâches
Les tâches à effectuer tout au long du cycle de vie des MIBS peuvent
être réparties en 5 étapes : le design, le développement, l’intégration,
le déploiement et l’exécution. Nous avons identifié les méthodes
utilisées pour réaliser chaque tâche, ce qui nous a permis d’identifier
les 6 rôles requis pour ces tâches : le designer UI, le designer UX,
le développeur, l’ergonome, l’administrateur et l’utilisateur final.
121
Partie II, Chapitre 4 – Proposition d’un cadre conceptuel pour la création de MIBS
TÂCHES
OUTILS RÔLES ASSOCIÉS Analyse du Modélisation Modélisation Évaluation
contexte du dialogue de l’UI du design
Éditeurs d’ontologies Designer (ontologies) ✓
(ex. [131])
Designer et
CTTe [110] ✓ Dialogue
développeur
Outils de modélisation Designer UX ✓ Dialogue
du dialogue [82, 113,
32]
Outils de design web Designer Web Web
(ex. Figma (11)
Markup validator (12) Designer Web Web
Designer ou
Outil de design d’in- GUI distribuée
développeur UI
terfaces graphiques
distribuées [73]
Éditeur de GUI Designer UI GUI distribuée
distribuées [98] Développeur UI GUI distribuée
TERESA [121] Designer UI GUI, VUI
Sketch (13) Designer UI Apple GUI
Éditeur de graphes Designer UI VUI VUI
vocaux (ex. SUEDE
[86])
Feelix [86] Designer UI Tangible
Interfaces
d.tool [75] Développeur
expérimentales
Éditeur d’UI multi- Designer UI règles d’adaptation ✓
modale (ex. MOSTe
[140])
Spin [13] Designer UX Dialogue
SIHMM [25] Designer UX ✓
MuMoWOz [25] Designer UX GUI, VUI mobiles
CrossWeaver [148] Designer UX ✓
122
4.3. Analyse des méthodes et outils par tâches
représentées par des ontologies pour assurer cette flexibilité. Nous présentons donc ici les
outils qui facilitent la modélisation du contexte par ontologies.
Bien qu’il n’y a pas de consensus sur l’organisation du contexte [12], plusieurs ontolo-
gies ont été proposées dans le domaine de l’informatique ubiquitaire comme par exemple
l’ontologie utilisée dans CoBrA ("Context Broker Architecture") [48] ou BOnSAI ("Smart
Building Ontology for Ambient Intelligence") [150]. Certaines approches considèrent aussi
la cohabitation de plusieurs ontologies conçues par différents parties prenantes. Ces ontolo-
gies peuvent être sémantiquement incompatibles, donc elles sont maintenues séparément,
et possiblement alignées (i.e. mise en correspondance des entités de plusieurs ontologies).
Par exemple, chaque entité (i.e. les objets, les utilisateurs, les applications) a une ontolo-
gie qui la représente dans le cadre du projet ATRACO (Adaptive and TRusted Ambient
eCOlogies) [70]. Ces ontologies sont ensuite alignées par une ontologie pivot.
Des outils tels que l’éditeur d’ontologie Protégé 9 permettent de gérer facilement des
ontologies standard génériques. Protégé a notamment été utilisé pour représenter des
bases de connaissances dans des systèmes multimodaux [105, 131] et supporte le standard
de langage du W3C 10 . Cependant, Pruvost [131] affirme que cet outil est complexe à
prendre en main et trop permissif. Il a donc construit sur son API l’outil "Describe" [131]
pour simplifier l’édition des ontologies, et interdire l’édition de leurs ontologies de base
d’architecture.
Les outils existants sont donc suffisants pour faciliter la modélisation du contexte par
ontologies.
Une fois le contexte défini, de nombreux outils sont proposés pour modéliser les tâches
du dialogue [118]. Par exemple, CTTe [110] aide les designers d’interaction à spécifier
le dialogue comme des tâches d’interaction basées sur une représentation en arbre des
tâches. Cet outil offre également une fonctionnalité de maquettage [120] pour vérifier si le
fonctionnement dynamique du modèle de tâches correspond aux exigences de l’interaction.
Par exemple, la complémentarité entre la tâche de sélection de salle de réunion et la tâche
de commande de réservation dans l’application de réservation de salle de réunion peut
facilement être décrite comme des sous-tâches liées par un opérateur temporel.
Le dialogue conçu peut être analysé indépendamment du reste du système afin de
9. https://protege.stanford.edu/
10. https://www.w3.org/TR/owl2-overview/
123
Partie II, Chapitre 4 – Proposition d’un cadre conceptuel pour la création de MIBS
prévoir ses défauts. Similairement à la capacité de simulation de CTTe, deux autres outils
peuvent aider à faciliter l’analyse du système. Silva et al. [146] utilisent les outils Pet-
shop [113] et Colored Petri-net [82] pour la vérification formelle des chemins d’interaction.
MIGTool [32] aide à transformer les spécifications du scénario en chemins d’interaction
pour analyser et comparer les modèles d’interaction abstraits en fonction de paramètres
tels que la flexibilité ou la cohérence de l’interface utilisateur.
Ainsi, pour une représentation du dialogue comme un arbre de tâches ou de chemins
d’interaction, CTTe et MIGTool apportent le support nécessaire à la conception et à
l’évaluation de modèles de dialogue.
Une fois les tâches définies et validées, les designers peuvent modéliser les UI. Suivant
le type d’interface, différents outils peuvent être utilisés. Les outils de conception de GUI
forment la majorité des outils de conception d’interfaces, et quelques outils pour concevoir
des VUI ont été proposés avec la démocratisation des assistants vocaux.
Les GUI [131, 114] dans les systèmes multimodaux sont conçues avec des langages de
description d’UI et des outils associés. Pour les interfaces basées sur le Web, des outils
tels que Figma 11 prennent en charge la génération de codes HTML et CSS pour des sites
Web et sur mobile (iOS, Android), et divers outils tels que l’application de validation du
balisage 12 complètent les éditeurs par des fonctionnalités utiles. Grundy et Yang [73] ont
développé un éditeur dans lequel les designers (ou développeurs) d’UI peuvent modéliser
des interfaces graphiques dans plusieurs vues de mise en page (i.e. affichage de l’interface
concrète, de la structure hiérarchique et du texte en XML). L’outil fournit aussi des
balises spéciales qui permettent de définir les interfaces élémentaires qui peuvent être
distribuées sur différents dispositifs. Similairement, Lozano et al. [98] présentent deux
outils intégrés à Eclipse pour designers UI et développeurs UI. Ces éditeurs permettent
de définir des modèles d’interfaces graphiques distribuées et d’évaluer leurs capacités de
distribution (i.e. distribuable, divisible) ainsi que leurs états courants. TERESA [121]
permet de construire des UI à partir d’un modèle de tâche composé d’éléments graphiques
et vocaux. Certains outils dépendent de la plateforme d’exécution, bien que cela puisse
nuire à l’interopérabilité des éléments d’interface. Par exemple, Sketch 13 est un outil
11. https://www.figma.com/design/
12. https://validator.w3.org/
13. https://www.sketch.com/
124
4.3. Analyse des méthodes et outils par tâches
14. https://www.voiceflow.com/
15. https://botsociety.io/
125
Partie II, Chapitre 4 – Proposition d’un cadre conceptuel pour la création de MIBS
Les designers peuvent évaluer les modèles de manière formelle ou expérimentale avec
des utilisateurs finaux.
Les outils d’analyse formelle évaluent les modèles selon un ensemble de critères tels que
que les critères pragmatiques et les critères hédoniques proposés par Wechsung [162].Par
exemple, un designer peut utiliser l’outil de recherche d’erreurs de design Spin 16 . Cet
outil permet de simuler des logiciels distribués et vérifier à la volée l’exactitude ("correct-
ness") des modèles selon le langage Promela. Il a été utilisé, entre autres, pour améliorer
la fiabilité d’environnements intelligents [13]. Dans cette approche, le modèle à étudier
intègre des informations sur le comportement de plusieurs entités : l’environnement, les
utilisateurs, les dispositifs physiques (capteurs et actionneurs) et les unités de calculs (i.e.
l’application, ce qui inclut le dialogue).
Les designers peuvent aussi simuler des utilisateurs dans des environnements virtuels
pour tester le système. Par exemple, le simulateur SIHMM [25] permet d’observer des
utilisateurs virtuels (i.e. des agents virtuels) interagissant avec un système multimodal
au travers d’appareils mobiles simulés dans un environnement modélisé. Le dialogue est
représenté par une machine à états, où chaque état est une action du système vers l’uti-
lisateur, et les transitions correspondent aux actions de l’utilisateur vers le système. Le
contexte est décrit ici selon 9 concepts : la luminosité ambiante, le bruit, la présence
de voix interférentes, le contexte affectif, la pression temporelle, l’importance du but,
la mobilité, l’activité double (i.e. l’utilisateur réalise une autre tâche en même temps),
la ressource cognitive (i.e. charge cognitive). Pour réaliser une simulation, les designers
doivent modéliser les propriétés multimodales des appareils, les perturbations physiques
et sociales que les entités de l’environnement peuvent générer, le scénario à suivre et le
modèle d’utilisateur dictant ses préférences d’interaction.
L’avantage des méthodes par simulation est de contextualiser les expériences dans des
environnements proches du réel, dans les limites du moteur physique et de la modélisation
géométrique et comportementale des utilisateurs, de l’environnement et des objets. On
16. https://spinroot.com/spin/whatispin.html
126
4.3. Analyse des méthodes et outils par tâches
notera que la qualité des modèles est très importante dans les domaines d’application (ex.
industrie, médical) où la marge d’erreur tolérable est basse. En effet, expérimenter un
système dans des environnements simulés très proches du réel permet de plus facilement
valider les performances qu’aura le système dans l’environnement réel.
La dernière méthode d’évaluation des modèles consiste à faire participer des utilisa-
teurs finaux à des échanges ou des expérimentations. MuMoWOz [6] est un outil permet-
tant d’évaluer les choix de conception à l’aide d’expériences du Magicien d’Oz. Cependant,
les designers doivent définir le contenu concret à fournir aux utilisateurs lors des expé-
riences, et cet outil ne couvre que les systèmes multimodaux mobiles. Un designer UX
peut également évaluer le système sans tout modéliser au préalable, comme dans l’ou-
til CrossWeaver [148]. Ici, les designers d’interaction créent un storyboard en définissant
l’état du système sous forme de dessins, les transitions possibles en fonction des entrées
de l’utilisateur, et les retours du système aux utilisateurs. Ensuite, les expériences des
utilisateurs finaux sont réalisées pour produire des journaux que les designers peuvent
visualiser et rejouer.
L’indépendance recherchée entre les composants facilite ici le travail des développeurs.
En effet, chaque développeur peut travailler sur des composants en lien avec son domaine
d’expertise. Cela permet en outre de laisser au développeur le choix de l’outil de développe-
ment qui lui convient le mieux. Ce point est important car chaque outil couvre un domaine
d’expertise particulier, à l’exception des outils génériques qui requièrent souvent d’instal-
ler des extensions pour ajouter de nouvelles fonctionnalités (ex. les plugins d’Eclipse ou
de PyCharm) qui ne correspondent pas toujours aux besoins des développeurs. Les outils
sont synthétisés dans le tableau 4.2.
127
Partie II, Chapitre 4 – Proposition d’un cadre conceptuel pour la création de MIBS
TÂCHES
OUTILS RÔLES ASSOCIÉS Modélisation Implémentation
des composants des composants
SKEMMI [92] Designer et développeur ✓
Extensions Eclipse (ex. AsTeRICS [160]) Développeur ✓
Plateformes IoT (ex. OpenHAB (5) Développeur IoT
Éditeur de dialogue (ex. IMBuilder [31]) Designer et développeur UX dialogue
Interface builder (20) Développeur UI Apple
Outils de développement Web (ex. Bootstrap (21) Développeur Web Web
Outils d’analyse (ex. SoapUI (22) Développeur Web Web
Éditeur d’assistants vocaux (ex. Wit.ai (24) Développeur VUI
17. le modèle C4https://c4model.com/ est implémenté dans l’outil de modélisation ArchiMate https:
//www.archimatetool.com/
128
4.3. Analyse des méthodes et outils par tâches
Pour développer les composants logiciels, les approches existantes proposent souvent
le même éditeur et exigent de suivre des modèles de code pour correspondre au modèle et
aux fonctionnalités de leurs composants. Dans SIAM-DP [114], ils proposent des plugins
pour Eclipse afin d’aider les développeurs à générer des modèles de code, à visualiser le
flux de dialogue et à prévisualiser l’interface graphique. De manière identique, la boîte à
outils AsTeRICS 18 fournit également des modèles avec des extensions Eclipse pour mettre
en œuvre des composants compatibles.
Ensuite, c’est aux développeurs de remplir les modèles de composants avec le code
nécessaire, en utilisant les API de services et les SDK. Pour d’autres approches (ex. dans
MIBO [125]), des plateformes tel que OpenHAB 19 sont utilisées pour interagir avec les
objets connectés.
Avant d’implémenter les composants de dialogue, les développeurs peuvent transformer
le modèle en un dialogue lisible par une machine. Pour ce faire, les développeurs ont accès
à divers éditeurs de systèmes interactifs. IMBuilder [31], FSM translator [44] et MyUI
editor [123] sont quelques-uns de ces outils qui permettent l’implémentation du dialogue
comme une machine à états finis (FSM). Petshop [113] fournit le même service, mais avec
une représentation en réseau de Petri.
La méthode de développement des UI est souvent liée à l’approche utilisée pour mo-
déliser les interfaces.
Par exemple, un développeur peut utiliser l’outil Apple Interface Builder 20 pour inté-
grer les interfaces conçus sur l’outil Sketch d’Apple.
De même, les développeurs Web favoriseront des outils comme Bootstrap 21 pour in-
tégrer les fichiers CSS et HTML générés précédemment dans leurs programmes. Chi et
al. [49] proposent l’outil Weave pour développer des interfaces WIMP (Window, Icon,
Menu, Pointing device [61]) distribuées sur des objets portés (ex. smartphones, montres
intelligentes). Cet éditeur permet de programmer des interfaces Web indépendamment
18. AsTeRICS[160] est disponible sur le site https://www.asterics.eu/.
19. https://www.openhab.org/
20. https://developer.apple.com/xcode/interface-builder/
21. https://getbootstrap.com/
129
Partie II, Chapitre 4 – Proposition d’un cadre conceptuel pour la création de MIBS
des spécificités des objets, puis de tester ces interfaces sur des objets réels ou émulés. Les
interfaces Web peuvent être testée par la suite avec des outils d’analyse automatique tels
que SoapUI 22 ou postman 23 .
Les outils pour concevoir les assistants vocaux (ex. Wit.ai 24 , assistant Watson 25 )
peuvent être utilisés pour concevoir des VUI [64]. Ces outils suivent à peu près la même
méthode : un développeur entraîne un modèle de langage avec un corpus de phrases anno-
tées. L’avantage de cette méthode est de faciliter l’extension du vocabulaire connu. Cela
permet au système de détecter un plus large panel d’intentions, et cela rend possiblement
le système plus efficace à détecter l’intention dans l’énoncé de l’utilisateur.
Ainsi, pour chaque technologie à intégrer, les développeurs ont le choix entre des outils
spécifiques à ces technologies et des éditeurs génériques améliorés par des plugins.
TÂCHES
OUTILS RÔLES ASSOCIÉS Assemblage statique Assemblage dynamique Évaluation de
des composants des composants prototypes
Éditeurs de chaînes d’interaction Designer UX ✓
statique ([60, 30])
Éditeurs de chaînes d’interaction Designer UX et développeur ✓
statique (ACS(27), [92])
Éditeurs de chaînes d’interaction développeur ✓
dynamique (ex. hciλ2 [145])
Outils de collecte de données (ex. Designer, ergonome et analyste Vérification partielle
EagleView [34])
"Simulate" [131] Designer et ergonome Vérification partielle
22. https://www.soapui.org/getting-started/rest-testing/
23. https://www.postman.com/
24. https://wit.ai/
25. https://cloud.ibm.com/docs/watson-assistant
130
4.3. Analyse des méthodes et outils par tâches
ICON [60] est un éditeur graphique qui aide à créer des chaînes d’interaction. Cepen-
dant, les interfaces des composants sont représentées par les variables qu’ils utilisent en
entrée, et qu’il fournissent en sortie. Cette représentation similaire à un langage de pro-
grammation peut être difficile à maîtriser rapidement. ICARE [30] améliore ce concept et
permet la création sans besoin de connaissances approfondies grâce à la représentation du
paradigme CARE [54] présenté dans le chapitre 1, ce qui est plus intuitif que de travailler
avec des variables telles que les positions x ou y des curseurs. ACS 26 (et sa version web
WebACS 27 ) est un autre outil graphique pour le développement d’applications d’assis-
tance similaire à SKEMMI [92]. Il permet de visualiser la même chaîne d’interaction du
point de vue du designer ou du développeur. De plus, ACS fournit un éditeur GUI basé
sur le composant instancié.
Les outils d’intégration statique proposent donc pour la plupart des méthodes gra-
phique d’assemblage des composants, ce qui facilite cette méthode d’intégration.
L’équipe d’évaluation peut tester l’utilisabilité des prototypes développés (i.e. version
du système) avant de mettre en circulation une version du système. Pour cela, les pro-
totypes peuvent être évalués par simulation ou par expérience utilisateur (voir section
4.2.3). On notera aussi que les caractéristiques des différents outils d’évaluation formelle
disponibles doivent être comparées (comme dans [67]) avant de sélectionner un outil : tout
changement a posteriori de ce genre d’outil est coûteux [68].
26. https://www.asterics.eu/get-started/Overview.html#acs
27. https://www.asterics.eu/manuals/WebACS/
131
Partie II, Chapitre 4 – Proposition d’un cadre conceptuel pour la création de MIBS
132
4.3. Analyse des méthodes et outils par tâches
dispositifs. Pour ce faire, les administrateurs peuvent être assistés dans leurs tâches. Nous
présentons par la suite les outils permettant de configurer les MIBS, et nous discutons
sur le manque d’outil pour faciliter le placement des objets et la mise en place des pilotes
d’objets connectés. Les outils sont synthétisés dans le tableau 4.4.
TÂCHES
OUTILS RÔLES ASSOCIÉS Configuration de
Placement d’objets Configuration d’objets
MIBS
Outils graphiques pour la configuration Assemblage de
et le test d’interactions multimodales Administrateur composants logi-
([103, 30, 100, 126]) ciels
Outils graphiques pour la configuration visualisation spa-
Positionnement dans des modèles sim-
et le test des interactions spatialisées Administrateur tiale de la configu-
plifiés des environnements d’exécution
([24, 131, 59, 101, 69]) ration
Outil graphique pour guider l’installa- Installation et configuration
Administrateur
tion d’objets connectés ([66]) d’objets connectés
133
Partie II, Chapitre 4 – Proposition d’un cadre conceptuel pour la création de MIBS
Dans leur approche, Biehl & Bailey [24] fournissent un outil permettant d’associer des
applications à des écrans et des tablettes positionnés en utilisant une vue de dessus de
la salle modélisée. Ils démontrent qu’avec leur représentation spatiale, les utilisateurs ont
une meilleure compréhension et de meilleures performances qu’avec un outil plus simple
sans information spatiale. Cependant, cet outil est limité au processus de configuration.
Pour aider les ergonomes à configurer et à évaluer le MIBS, Pruvost [131] propose trois
outils : l’éditeur d’ontologie "Describe" pour modéliser l’environnement, l’éditeur de règles
"Behave" pour définir le comportement du système, et l’outil de simulation "Simulate" pré-
senté précédemment. Son approche d’évaluation par simulation permet d’évaluer un plus
grand panel de configuration à un faible coût de développement. Néanmoins, cette ap-
proche nécessite des connaissances sur les ontologies et les règles logiques pour configurer
les MIBS. Similairement, Di Mauro propose avec le framework PHASER [58] (Chapitre
2.2.5) une suite d’outils pour configurer et évaluer les MIBS en 3 étapes. Tout d’abord,
un outil permet de choisir et positionner des représentations 2D de dispositifs physiques
et d’éléments de décor dans un modèle 2D de l’environnement réel. Ensuite, un outil
graphique permet de paramétrer chaque nœud. Enfin, un outil permet de tester la confi-
guration en simulant dans une modélisation 3D de l’environnement (réalisée à partir de
la configuration réalisée en 2D) des agents autonomes qui se déplacent et interagissent
avec le MIBS. Les interactions se limitent toutefois à des échanges de messages entre les
agents autonomes et les nœuds pour simuler des interfaces vocales.
Des travaux récents sur la notion de proxémique [46] fournissent un support partiel
pour configurer et évaluer les MIBS. Par exemple, la distance et le mouvement d’une
tablette par rapport à une caméra peuvent être utilisés pour définir le comportement
de ces objets. Le "Proximity toolkit" [102, 101] est un outil de supervision de systèmes
multimodaux construit sur ce paradigme pour mieux saisir le lien entre le comportement
du système et les emplacements des objets et des utilisateurs. Il suit toutes les entités
(c’est-à-dire les objets, le mobilier, les utilisateurs) et fournit des informations sur leurs
distances relatives, angles relatifs et vitesses relatives. Elle peut rejouer des séquences
enregistrées à partir de ce qui a été mesuré par les capteurs. L’outil graphique de [69]
fournit un vocabulaire plus simple pour la proxémique (par exemple "près de" ou "lorsque
l’utilisateur se déplace") pour adapter l’interface distribuée aux entités proxémiques.
Par conséquent, les outils existants fournissent un certain soutien à l’étape de déploie-
ment mais n’effectuent pas toutes les tâches identifiées dans la section 4.2.4 : les tâches
de placement des appareils et de configuration de leurs programmes logiciels ne sont pas
134
4.3. Analyse des méthodes et outils par tâches
abordées.
Nous avons vu que le positionnement des objets dans l’espace a une grande importance
pour les MIBS. Pourtant, le support se limite à des recommandations et à l’expérience de
l’administrateur. L’absence d’outil peut s’expliquer par la difficulté de proposer des choix
d’objet et de placement qui soient adaptés à l’environnement considéré, aux réglementa-
tions en vigueur et aux besoins et préférences des utilisateurs.
Les MIBS peuvent requérir les informations de placement des objets dans l’environ-
nement physique selon les applications considérées.
Des plateformes utilisées pour gérer les objets connectés peuvent être utilisées ici.
Par exemple, Frigo et al. [66] proposent un outil pour configurer de bout en bout un
environnement IoT. Avec cet outil, les administrateurs manipulent depuis une interface
graphique des blocs représentant les différentes entités (i.e. objets, réseaux, applications),
ainsi qu’un guide d’installation. Bien que cet outil permette donc de faciliter la coopération
entre les développeurs et l’administrateur, il ne propose pas de mécanismes qui permettent
de réutiliser les composants développés.
TÂCHES
OUTILS RÔLES ASSOCIÉS Surveillance Assistance à
et analyse l’utilisateur
Outils de logs (ex. MMWA [115]) Utilisateur final Logs
Outils de collecte de feedback (ex. DynEaaS [124]) Utilisateur final Questionnaires
135
Partie II, Chapitre 4 – Proposition d’un cadre conceptuel pour la création de MIBS
Une fois le système démarré, les administrateurs et les éditeurs de logiciels peuvent
superviser l’usage du système pour détecter des modèles de comportement, des préférences
ou des failles non détectées jusque-là. Par exemple, dans l’environnement de création
MMWA [115], les designers peuvent accéder au journal des interactions des utilisateurs.
Les outils de supervision en Réalité Augmentée ou en Réalité Virtuelle dans un jumeau
numérique de l’environnement réel tels que présentés par Lacoche et al. [90] peuvent
également être adaptés aux systèmes multimodaux. En effet, l’immersion peut aider à
mieux comprendre l’état du système.
Les utilisateurs peuvent aussi être amenés à remplir des questionnaires en fonction
du comportement de l’utilisateur et du contexte. La plateforme d’évaluation dynamique
DynEaaS [124, 147] permet par exemple à l’équipe d’évaluation de transmettre des ques-
tionnaires aux utilisateurs à l’aide d’une interface Web. Ces questionnaires sont proposés à
l’utilisateur selon des plans d’évaluation déclenchés à certains moments ou selon certaines
conditions, et distribués sur les objets choisis.
De nos jours, il est courant de recueillir des données d’usage auprès des utilisateurs pour
hâter le développement des correctifs avec les mises à jour du réseau, mais les exigences
de confidentialité et de sécurité dépendent de l’application et du public cible. Il semble
donc que la supervision du système à l’exécution soit généralement limitée à la stratégie
d’évaluation du prototypage dans l’étape d’intégration, et donc le support est limité aux
outils présentés en section 4.3.3.
Il existe donc plusieurs outils qui permettent de faciliter le suivi des MIBS dans l’en-
vironnement d’exécution, bien que leurs fonctionnalités puissent être limitées par rapport
à la variété de données que les éditeurs de logiciels voudraient analyser.
Nous n’avons pas identifié d’outil permettant d’assister l’utilisateur pendant qu’il in-
teragit avec un MIBS. Cependant, il peut être intéressant d’assurer l’interopérabilité entre
ces systèmes et les systèmes déjà présents pour faciliter le passage d’un service à un autre
pour l’utilisateur. Par exemple, les assistants virtuels (i.e. Microsoft Cortana, Apple Siri,
Amazon Alexa et Google Home) embarqués dans des enceintes connectées, les smart-
phones et les ordinateurs peuvent servir de méta-IHM pour contrôler les MIBS. De plus,
ces systèmes IoT offrent déjà des interfaces multimodales. Le temps de développement
136
4.4. Discussion
peut donc être réduit en utilisant les briques logicielles de ces systèmes.
Ce ne sont pour l’instant que des usages restreints à des plateformes propriétaires. Des
travaux supplémentaires seraient nécessaires pour standardiser ce type d’approche.
4.4 Discussion
Au travers des analyses réalisées pour chaque tâche, nous pouvons constater que cer-
tains aspects ne sont pas encore suffisamment pris en compte. Le résultat de ces analyses
est synthétisé dans le tableau 4.6. Nous discutons ci-dessous des tâches qui pourraient
être mieux prises en charge.
137
Partie II, Chapitre 4 – Proposition d’un cadre conceptuel pour la création de MIBS
Les tests de systèmes en étape d’intégration manquent encore d’un outil permettant
d’évaluer un système multimodal dans une simulation réaliste avec de vrais utilisateurs.
En effet, les expériences sur le terrain et en laboratoire sont difficiles et coûteuses à
réaliser, mais elles garantissent des résultats proches de la vérité du terrain. La simulation
est une bonne stratégie pour tester rapidement plusieurs chaînes de configuration, mais
les outils existants reposent sur des utilisateurs modélisés, de sorte que les résultats sont
susceptibles d’être biaisés.
À l’exécution, les utilisateurs n’ont souvent à leur disposition que des manuels d’uti-
lisation. Or, ces manuels ne permettent pas d’anticiper les différences de comportement
qu’aura un MIBS en fonction de l’environnement d’exécution. Les méta-IHM et les tech-
nologies compagnon permettent de réaliser ce support, mais ces méthodes ne sont pas
assez outillées. Il n’y a donc pas d’outil qui peut s’adapter à l’environnement pour fournir
une assistance personnalisée à l’utilisateur.
138
4.5. Synthèse
4.5 Synthèse
Table 4.6 – Résumé des tâches du cycle de vie des MIBS qui ne sont pas bien prises en
charge par les outils logiciels. Les couleurs verte, orange et rouge représentent respecti-
vement les tâches qui sont bien supportées, qui pourraient être améliorées ou qui ne sont
pas supportées.
Design Développent Intégration Déploiement Exécution
Modélisation des com- Assemblage des com- Positionnement des Analyse de l’expé-
Analyse du contexte
posants posants objets rience utilisateur
Mise en place des
Modélisation du dia- Implémentation des Détection de pro-
pilotes des objets
logue composants blèmes d’utilisabilité
connectés
Configuration du
Modélisation des UI
MIBS
Évaluation du design
Notre identification des tâches et des outils logiciels associés au SDLC des systèmes
multimodaux utilisant des dispositifs connectés comme supports interactifs conduit à une
proposition des outils qui pourraient être conçus pour combler le vide dans le processus
identifié. Ceci est synthétisé dans le tableau 4.6.
La conception d’interfaces utilisateur autres que graphiques ou vocales nécessite des
outils plus normalisés et plus faciles à utiliser que ceux qui existent déjà. L’étape d’intégra-
tion peut bénéficier de meilleurs outils de simulation pour évaluer des systèmes dépendant
30. https://softengi.com/projects/public-sector/smart-space-solution-for-the-softengi-office/
139
Partie II, Chapitre 4 – Proposition d’un cadre conceptuel pour la création de MIBS
140
Chapitre 5
P ROPOSITION : M ÉTHODE DE
CONFIGURATION ET ÉVALUATION DE
MIBS
141
Partie II, Chapitre 5 – Proposition : Méthode de configuration et évaluation de MIBS
142
5.1. Étude des outils immersifs pour la configuration et le test des services MR et IoT
Soumission
143
Partie II, Chapitre 5 – Proposition : Méthode de configuration et évaluation de MIBS
144
5.2. Proposition : Méthodologie MCEV
Notre méthodologie permet de définir une configuration d’un MIBS (i.e. l’environne-
ment, les dispositifs, les services et les techniques d’interaction), ainsi que de réaliser des
simulations de MIBS pour des tests immersifs. De plus, plusieurs fonctionnalités de retour
d’information sont fournies pour partager les configurations et les résultats d’évaluation.
145
Partie II, Chapitre 5 – Proposition : Méthode de configuration et évaluation de MIBS
Figure 5.1 – Menu de gestion des ob- Figure 5.2 – Menu pour sélectionner
jets une technique d’interaction
Dans l’outil, la plupart des fonctions de configuration sont accessibles par des interfaces
utilisateur 2D positionnées dans l’environnement 3D. Ces interfaces utilisateur et les objets
sont interactifs grâce à une technique classique de sélection et de manipulation basée
sur des rayons 3D. La navigation dans les environnements virtuels est facilitée par une
fonctionnalité classique de téléportation consistant à pointer une position souhaitée pour
s’y déplacer instantanément.
Il convient de noter que les ergonomes peuvent appliquer la méthodologie MCEV
pour évaluer les MIBS pendant leur production, de manière similaire à la méthodologie
de simulation de [97].
146
5.2. Proposition : Méthodologie MCEV
teurs peuvent configurer et tester des MIBS dans des environnements virtuels multiples
et éventuellement énormes sans délai.
Dans notre évaluation présentée dans le chapitre 6.1, le modèle 3D de l’environnement
a été créé à partir du fichier de modélisation (BIM) du bâtiment, puis affiné par un
infographiste 3D.
147
Partie II, Chapitre 5 – Proposition : Méthode de configuration et évaluation de MIBS
de l’emplacement d’un objet sur ses performances, et trouver plus facilement un empla-
cement satisfaisant. Actuellement, notre outil comprend plusieurs modèles d’objets avec
leurs auras qui correspondent aux objets réels en notre possession, mais cela peut être
étendu à n’importe quel type d’objets. C’est particulièrement intéressant pour des objets
indisponibles (ex. chers) ou non-existants (pour un usage prospectif).
Les objets peuvent aussi avoir des paramètres qui leurs sont spécifiques (ex. la taille
des caractères pour le texte sur un écran). Ces paramètres peuvent être fixés par l’applica-
tion, mais des valeurs par défaut peuvent être définies grâce aux scripts de comportement.
C’est pour cela que l’outil MCEV permet de modifier ces paramètres avec des interfaces
2D attachées aux objets virtuels. L’outil intègre aussi un Monde-en-Miniature interac-
tif [152] de l’environnement. Cela permet à l’utilisateur d’avoir une vue plus complète de
l’environnement et se déplacer facilement dans de grands environnements.
148
5.2. Proposition : Méthodologie MCEV
regardant simplement les extrémités des chaînes. Ces chaînes d’interaction peuvent être
développées avec l’un des outils graphiques de composition de composants pour systèmes
multimodaux, tels que Squidy [88] ou SKEMMI [93].
Ensuite, pour chaque modalité requise par la technique d’interaction, l’administrateur
doit sélectionner les objets à utiliser (comme dans la Figure 5.3). Chaque modalité requise
peut être associée à plusieurs objets, soit à partir de la liste d’une interface 2D (voir Figure
5.4) soit directement en pointant sur les objets. La liste des objets que l’administrateur
peut associer à une technique d’interaction est limitée aux objets qui peuvent fournir l’une
des modalités souhaitées. L’administrateur peut faire le lien entre le nom d’un objet de la
liste et son modèle 3D dans l’environnement en sélectionnant l’un des deux éléments, ce
qui met en surbrillance l’autre élément. Par conséquent, l’administrateur peut sélectionner
les objets de manière intuitive en les pointant directement. Cependant, l’administrateur
dispose également d’une vue centralisée des associations qui simplifient la modification de
la configuration et la sélection de plusieurs objets.
Figure 5.3 – Menu général pour asso- Figure 5.4 – Menu pour associer des
cier des objets selon les besoins d’une objets à un besoin spécifique d’une
chaîne d’interaction sélectionnée chaîne d’interaction
149
Partie II, Chapitre 5 – Proposition : Méthode de configuration et évaluation de MIBS
150
5.2. Proposition : Méthodologie MCEV
Figure 5.6 – La console attachée à la main. Les événements du MIBS sont affichés ici.
Dans leur revue de littérature [136], Rodrigues et Silva identifient plusieurs catégories
de méthodes permettant d’aider à l’utilisation de systèmes interactifs. On retrouve par
exemple l’usage de textes, d’images, et de vidéos expliquant l’utilité d’un élément d’in-
terface ou de l’usage de cet élément. Nous nous sommes inspirés de ces approches pour
proposer trois fonctionnalités de révision collaborative : l’accès et la création de notes
contextualisées, l’enregistrement et relecture d’actions d’un utilisateur de l’outil MCEV,
la prise de capture d’images. Ces fonctionnalités sont décrites par la suite.
151
Partie II, Chapitre 5 – Proposition : Méthode de configuration et évaluation de MIBS
Les administrateurs peuvent rédiger des notes colocalisées et horodatées tout au long
du processus MCEV : ils peuvent les rédiger à l’étape de la configuration pour décrire
la configuration globale, ou pendant un test pour signaler une situation spécifique. Un
exemple de note se trouve en figure 5.7.
Figure 5.7 – Interface d’une note en RV. La sphère représente la position de la note
dans l’environnement. La couleur rouge signifie que la note est attachée à un objet (la
Kinect). Ainsi, la position de la note sera fixe (i.e. colocalisation) par rapport à l’objet.
Les informations contextuelles sur l’environnement actuel, telles que la position des ap-
pareils, l’état du service et la position de la note sont automatiquement enregistrées dans
chaque note. De plus, les notes peuvent être attachées à des objets ou simplement placées
à un endroit spécifique de l’environnement testé. Ainsi, les administrateurs peuvent faci-
lement fournir des commentaires descriptifs aux producteurs de MIBS. Ces notes peuvent
également être utilisées pour fournir des conseils ou des avertissements lors de l’installa-
tion d’une configuration dans l’environnement réel. Ces notes peuvent être rédigées par
des ergonomes à partir de guidelines telles que présentées dans le chapitre 4.
De plus, les notes, les objets et les configurations créés peuvent être sauvegardés dans
des fichiers de configuration et peuvent être chargés pour démarrer à partir d’un MIBS
préconfiguré. Par conséquent, des configurations alternatives pour chaque environnement
152
5.2. Proposition : Méthodologie MCEV
Les administrateurs MIBS peuvent enregistrer et rejouer leurs actions dans les envi-
ronnements testés. Ainsi, ils peuvent vérifier l’impact de l’utilisation du MIBS d’un point
de vue externe. Par exemple, la gêne occasionnée par des commandes vocales pourrait
être plus facilement remarquée de cette façon (ex, les gestes de la main ou les commandes
vocales peuvent gêner les personnes qui partagent le même espace comme des collègues
de bureau). De plus, les actions enregistrées peuvent être réutilisées pour tester des chan-
gements mineurs (par exemple, le changement de modèle de microphone n’a pas d’impact
sur le processus d’interaction) sans effort. En plus de la possibilité de rejouer les tests des
administrateurs, les services, les techniques d’interaction et les objets peuvent être modi-
fiés pour produire de nouveaux résultats avec le même comportement de l’utilisateur.
Les administrateurs peuvent produire des vues en 2D de leurs configurations pour aider
ceux qui sont chargés du déploiement. En effet, ils peuvent prendre des captures d’écran
depuis n’importe quel endroit ou angle de l’environnement, et générer automatiquement
une carte 2D en vue de dessus de tout l’espace avec les emplacements des objets marqués.
Les captures d’écran affichent également les notes localisées sur lesquelles on peut cliquer
pour les lire. Ensuite, un outil comme l’éditeur Pervasive Maps [158] peut importer ces
captures d’écran et la carte pour recréer de manière plus fiable la configuration virtuelle.
153
Partie II, Chapitre 5 – Proposition : Méthode de configuration et évaluation de MIBS
5.3 Architecture
Notre outil s’intègre à l’architecture présentée dans le chapitre 3. Il est séparé en quatre
composants principaux, comme l’illustre la figure 5.8) :
— le simulateur d’environnements prend en charge la transition entre les jumeaux
numériques des environnements (gérés par la base de contexte) et les simulations
3D de ces environnements ;
— le gestionnaire de notes fournit les fonctionnalités de collaboration proposées, et
gère la création et le stockage des notes ;
— le gestionnaire de dispositifs simulés simplifie la gestion des dispositifs : il centra-
lise la création, la suppression et l’association des dispositifs aux applications, et
l’association est ensuite transmise au gestionnaire de configuration ;
— le gestionnaire de configuration permet de créer de nouvelles configurations, ainsi
que charger, et mettre à jour les configurations existantes. Pour cela, il prend en
charge le processus d’association entre les services, les techniques d’interaction et
les dispositifs. Il a aussi accès aux interfaces des composants du MIBS pendant son
exécution, ce qui lui permet d’agréger les rapports publiés (ex. messages d’erreur).
Simulateur Gestionnaire
d’environnements de notes Notes
Figure 5.8 – Architecture de l’outil MCEV. Les flèches rouges représentent les canaux
de communication entre les dispositifs simulés et les applications configurés pendant l’exé-
cution du MIBS dans la phase d’évaluation.
On notera que les jumeaux numériques des objets connectés sont récupérés depuis la
Interne Orange
154
5.4. Synthèse
géométrie de l’objet. Par exemple, la position relative entre les deux objectifs d’une caméra
stéréoscopique est indispensable dans la plupart des processus d’interprétation utilisant
une information de profondeur. Les modèles peuvent aussi servir pour des méthodes d’éva-
luation de MIBS dans les phases de design et développement comme dans [123].
5.4 Synthèse
Dans ce chapitre, nous avons proposé une méthodologie et un outil logiciel basés sur
la RV pour faciliter la configuration et l’évaluation des MIBS. Grâce aux interactions
3D, notre méthode vise à faciliter la sélection et le positionnement des dispositifs et leur
association avec les techniques et services d’interaction multimodale nouvellement confi-
gurés. Les MIBS créés peuvent ensuite être évalués en immersion sans avoir besoin de
l’environnement réel. Enfin, les configurations évaluées peuvent être partagées avec les
fonctionnalités collaboratives que nous proposons pour améliorer le MIBS ou faciliter son
installation dans l’environnement réel. Dans le chapitre suivant, nous décrivons une ex-
périmentation réalisée pour comparer l’utilité de notre méthodologie par rapport à une
installation directement dans l’environnement réel. De plus, nous illustrons la méthodolo-
gie MCEV au travers de deux cas d’usage sur les applications de réservation et de guidage
présentées en introduction.
155
Chapitre 6
Dans ce chapitre, nous allons mettre en pratique la méthode MCEV décrite dans le
chapitre précédent, dans le but notamment de l’évaluer. Dans un premier temps (6.1),
nous décrivons une expérimentation que nous avons menée auprès de 24 utilisateurs, qui
consistait à comparer l’outil MCEV à un équivalent sans réalité virtuelle.Dans un second
temps (chapitre 6.2), nous illustrons l’usage de la méthode MCEV sur les deux cas d’usage
présentés en introduction, à savoir la réservation de salle de réunion et le guidage.
156
6.1. Validation de la méthode MCEV
Soumission
157
Partie II, Chapitre 6 – Application de la méthode MCEV
Figure 6.1 – Menu de gestion des objets connectés dans l’outil graphique 2D (sur le
terrain). Les participants peuvent identifier les objets disponibles et les placer dans une
représentation en vue du dessus de la pièce. Le cercle noir représente l’aura du microphone.
158
6.1. Validation de la méthode MCEV
Figure 6.2 – Menu d’association des objets connectés à un service dans l’outil graphique
2D (sur le terrain). Les participants peuvent sélectionner parmi les objets positionnés
fournissant la modalité requise pour le service (ici le microphone permet d’écouter l’uti-
lisateur) ceux que l’utilisateur souhaite utiliser.
Scénario
Notre exigence pour l’expérience était de fournir un scénario qui présente l’utilisation
d’interactions multimodales où l’emplacement d’au moins un dispositif connecté a un
impact sur le résultat. Les interactions multimodales complexes peuvent être difficiles à
utiliser au début pour la plupart des utilisateurs, et fournir de nombreuses alternatives
de modalité est une tâche répétitive qui n’est pas nécessaire pour une expérience. Les
participants devaient donc configurer dans la RV et directement dans l’environnement
réel (sur le terrain) un service simple de gestion de la lumière. Ce scénario couvre un cas
d’utilisation adapté à divers environnements (par exemple, maisons, bureaux) [114].
159
Partie II, Chapitre 6 – Application de la méthode MCEV
Ce service consiste à contrôler par des commandes vocales et des gestes deux am-
poules connectées placées aux mêmes endroits dans l’environnement réel et dans la RV
(voir Figure 6.3c). Pour représenter les cas d’utilisation dans lesquels les positions de cer-
tains dispositifs connectés sont déjà définies et non modifiables, les ampoules sont déjà
positionnées et ne peuvent pas être déplacées. Seules deux modalités en entrée (vocale et
gestuelle) et une en sortie (luminosité) étaient possibles afin de fournir une interaction
multimodale sans répétitions inutiles dans le processus de configuration. Les participants
devaient utiliser un microphone et une caméra de profondeur pour les commandes vo-
cales et gestuelles. Dans l’expérience RV , les deux dispositifs ont dû être instanciés et
placés. Pour recréer ce besoin de positionner les objets dans l’expérience sur le terrain,
les dispositifs étaient dans la pièce, mais placés délibérément dans de mauvaises positions
(voir la figure 6.5b. De plus, les deux appareils étaient connectés par USB à un ordinateur
portable qui exécutait l’outil graphique. La caméra était fixée à un trépied professionnel
réglable en angle et en hauteur.
De plus, d’autres appareils étaient disponibles, en plus de ceux qui devaient être utilisés
pendant l’expérience.. En effet, nous avons voulu recréer un scénario où des appareils
connectés extérieurs à l’environnement considéré sont disponibles et détectés. Ainsi, une
ampoule électrique et un microphone ont été simulés dans les deux expériences et étaient
visibles dans la liste des identifiants des dispositifs, mais les participants ne pouvaient pas
trouver ces dispositifs autour d’eux.
Pour faciliter la comparaison du positionnement des dispositifs, l’espace d’interaction
a été limité à une zone spécifique : les participants ont été invités à configurer le service
de gestion de la lumière afin de pouvoir l’utiliser depuis les trois chaises beiges (voir la
figure 6.3c).
Trois techniques d’interaction étaient disponibles pour ce service :
T1 : contrôle de l’éclairage avec seulement la commande vocale "lumière" pour allumer
ou éteindre les éclairages.
T2 : contrôle de l’éclairage avec un geste de pointage et une commande vocale où
l’utilisateur doit commander oralement d’"allumer" ou d’"éteindre" une lumière
spécifique en la pointant. Nous l’appelons la technique du "pointage".
T3 : contrôle de l’éclairage avec un mouvement de la main et une commande vocale
comme déclencheur pour démarrer ou arrêter en considérant la position de la main
pour changer l’intensité de l’éclairage. C’est la technique dite du "haut en bas".
T1 était une technique d’interaction monomodale pour apprendre le processus de confi-
160
6.1. Validation de la méthode MCEV
guration tandis que les participants ont testé T2 et T3 avec les deux outils.
Pour fournir des conditions similaires entre l’expérience de RV et la réalité, l’environ-
nement de RV était une réplique haute-fidélité de l’environnement réel. Cet environnement
était une salle de réunion dédiée aux expériences des utilisateurs qui reproduit un salon.
Dans l’environnement RV , les participants pouvaient utiliser une technique de télépor-
tation pour naviguer qui consiste à pointer avec la manette la position desiré pour y
être déplacer. Les participants étaient incarnés par un avatar composé de deux mains et
d’un corps (voir le retour caméra dans la figure 5.1). L’objectif de l’utilisation d’un corps
était d’aider les participants à se situer lorsqu’ils utilisaient le retour caméra, de manière
similaire au retour caméra réel.
Figure 6.3 – Les deux environnements utilisés pour l’expérimentation : (a) l’environne-
ment réel et (b) l’environnement virtuel. Les étoiles vertes dans (c) la vue du dessus de
l’environnement représentent les positions des ampoules connectées, et le rectangle rouge
représente l’espace d’interaction.
Procédure
Les participants devaient expérimenter successivement les deux outils. Ils commen-
çaient par une explication de la procédure d’expérimentation. Ensuite, pour chaque outil,
ils avaient une étape d’apprentissage pour se familiariser avec le processus et les spéci-
ficités des outils (par exemple, les commandes dans la RV). Les participants recevaient
un guide de configuration étape par étape avec des explications (voir Annexe B) pour
configurer et tester le service de gestion de la lumière avec la technique d’interaction T1.
Ils n’avaient besoin que du microphone à ce stade. Une fois formés à l’utilisation d’un
outil, ils étaient invités à configurer et à tester le service avec les techniques d’interaction
T2 ou T3 sans instructions détaillées. T2 et T3 nécessitaient toutes deux une caméra de
profondeur pour fonctionner correctement. L’ensemble de l’expérience durait jusqu’à 2
161
Partie II, Chapitre 6 – Application de la méthode MCEV
Participants
L’objectif de notre expérience était de préserver entre les groupes une diversité similaire
d’âge, de sexe et d’expérience en RV. Ainsi, les 4 groupes étaient composés de 6 personnes.
Chaque groupe comptait 5 hommes et 1 femme. La moyenne (m) et la déviation standard
(sd) de l’âge par groupe étaient :
— m=37.7, sd=16.8 pour "T2_SLT_first" ;
— m=35,8, sd=15,8 pour "T2_VR_first" ;
— m=42.3, sd=12.3 pour "T3_SLT_first" ;
— m=34.8, sd=15.7 pour "T3_VR_first".
Les groupes qui ont commencé en réel avaient le même nombre d’experts (c’est-à-dire des
participants ayant des heures d’expérience en RV) et de non-experts en RV (6 personnes),
alors qu’il y avait 7 experts pour 5 non-experts pour les deux autres groupes.
L’expérimentateur et les participants étaient des designers d’interface utilisateur, des
développeurs et des chercheurs de la même entreprise. Notre laboratoire n’a pas de comité
d’éthique, mais nous avons fait de notre mieux pour respecter les principes éthiques :
les participants ont été informés des principes de l’expérience, ils ont dû donner leur
consentement écrit et ils pouvaient arrêter l’expérience à tout moment. En outre, les
données collectées ont été conservées de manière anonyme et l’expérience n’a pas mis les
participants dans une situation dangereuse.
162
6.1. Validation de la méthode MCEV
Implémentation et équipement
Notre outil MCEV est développé avec Unity 2019.4 LTS https://unity3d.com/. Nous
avons utilisé l’API de reconnaissance vocale de Google pour reconnaître les commandes
vocales. L’outil MCEV était exécuté sur un casque Oculus Quest 2 connecté à un ordina-
teur portable (RTX 2080, Intel Core I9-9900K, 32Go de RAM) avec le mode "link" (avec
fil).
Données collectées
Nous avons mis en place un système de notation en pourcentage pour imposer une
qualité de configuration minimale sur le positionnement des dispositifs et la couverture de
l’espace d’interaction illustré par le carré rouge de la figure 6.3c. Le système de score est
détaillé dans l’encart ci-dessous. Une configuration était considérée comme acceptable si
le score pour chaque dispositif était suffisamment élevé (supérieur à 75 En pratique, il a
été facilement obtenu tant que les deux dispositifs n’étaient pas trop éloignés des chaises
et que la caméra avait les chaises dans son champ de vision. Ainsi, il n’y avait pas de
positionnement optimal spécifique qui pouvait être déduit du score.
1. https://www.pysimplegui.org/en/latest/
163
Partie II, Chapitre 6 – Application de la méthode MCEV
2. http://www.attrakdiff.de/index-en.html
3. https://www.usability.gov/how-to-and-tools/methods/system-usability-scale.html
164
6.1. Validation de la méthode MCEV
Id Affirmations
FQ1 Le placement et repositionnement des objets connectés est plus rapide ...
FQ2 Le placement et repositionnement des objets connectés est plus permissif ...
FQ3 L’identification des objets connectés est plus facile ...
Table 6.2 – Les affirmations utilisées pour comparer la gestion des objets connectés dans
l’expérience sur le terrain (SLT) et en RV. L’évaluation est entre -3 ("sur le terrain") et 3
("en réalité virtuelle")
.
Hypothèses
Avec cette expérience, notre objectif est de prouver que notre méthodologie MCEV
pourrait être une alternative fiable à la configuration et au test des MIBS sur le terrain. En
particulier, nous pensons que notre outil MCEV est plus rapide qu’un outil graphique 2D,
et nous prévoyons un positionnement similaire des dispositifs dans les deux expériences.
De plus, nous pensons que les avantages de la simulation et de l’immersion apportés par la
RV réduisent la pénibilité du processus de configuration et de test. Nous pensons que c’est
particulièrement vrai lors de la manipulation de dispositifs connectés dans des interactions
multimodales et spatialisées. Ainsi, nos hypothèses sont les suivantes :
H1) La configuration de MIBS avec l’outil MCEV est plus rapide qu’avec l’outil
graphique, sans dégradation du résultat.
H2) L’outil MCEV induit chez l’utilisateur une charge de travail cognitive moins
importante que l’outil graphique.
H3) L’outil MCEV est plus facile à utiliser que l’outil graphique pour identifier, placer
ou déplacer les dispositifs.
6.1.3 Résultats
Temps de configuration
165
Partie II, Chapitre 6 – Application de la méthode MCEV
les participants ont eu besoin de plus de temps pour configurer le service avec l’outil
graphique qu’avec l’outil MCEV (une différence moyenne de 195s). Chaque participant
a expérimenté à la fois dans la réalité et dans la RV, les mesures sont donc appariées.
Comme les résultats ne suivent pas une distribution normale, nous évaluons la significa-
tion du résultat avec un test de Wilcoxon. Le résultat (Z=-2.23, p=0.013) indique que
cette différence de temps moyen est significative, ce qui confirme l’hypothèse initiale selon
laquelle il est plus rapide de configurer MIBS avec l’outil MCEV qu’avec l’outil graphique.
Qualité de la configuration
166
6.1. Validation de la méthode MCEV
(a) (b)
Figure 6.5 – (a) Les positions du microphone et (b) les positions de la caméra de
profondeur pour toutes les configurations finales des participants, ainsi que les positions
moyennes de ces capteurs. Les étoiles vertes numérotées dans la figure (b) sont respec-
tivement les positions initiales de la caméra, du microphone et de l’ordinateur portable
dans l’expérience sur le terrain (SLT).
Charge de travail
Pour évaluer la charge de travail des utilisateurs, nous avons recueilli les résultats
des questionnaires NASA-TLX remplis après chaque expérience. Les résultats détaillés
dans la figure 6.6 montrent que la charge de travail semble légèrement inférieure en RV
qu’en réalité. Les résultats sont appariés de la même manière que les mesures du temps
de configuration, De plus, les données ne suivaient pas une loi normale. Nous avons donc
effectué un test de Wilcoxon pour évaluer la signification de ce résultat. En conséquence, la
différence de charge de travail globale n’est pas significative (Z=-1,34, p=0,09). Pour une
analyse plus approfondie, nous avons comparé les résultats pour chaque facteur NASA-
TLX, comme détaillé dans la Figure 6.6. Aucune tendance n’a été observée sur la plupart
des paramètres (p>0,05), sauf pour le critère d’estimation de la performance (Z=-2,51,
p=0,006) qui semble montrer que la performance induit davantage de charge mentale en
RV qu’en réel.
167
Partie II, Chapitre 6 – Application de la méthode MCEV
(a) (b)
Figure 6.6 – (a) La notation globale de la charge cognitive et (b) la notation pour chacun
des critères.
SSQ
Pour évaluer si les participants n’ont pas eu le mal des simulateurs, nous avons comparé
les résultats du SSQ avant et après cette expérience. Les mesures n’ont pas suivi une
distribution normale, nous avons donc utilisé un test de rang signé par paire appariée de
Wilcoxon pour évaluer la signification des résultats du questionnaire. Même si le score
SSQ a significativement (Z=-3.45, p=2.8 ∗ 10−4 ) augmenté pendant l’expérience de RV
(c’est-à-dire qu’il est passé d’une moyenne de 4.99 à une moyenne de 18.23), il est resté
faible.
Utilisabilité
168
6.1. Validation de la méthode MCEV
Tout d’abord, la plupart des participants ont signalé des difficultés à placer la caméra
dans l’expérience sur le terrain, et ont perdu du temps à le faire. En effet, nous avions
expressément autorisés les participants à déplacer l’ordinateur portable hébergeant l’outil
graphique pour pouvoir manipuler la caméra tout en ayant son retour affiché sur l’ordina-
teur. Malgré cela, nous avons observé que la plupart des participants ne déplaçaient pas
l’ordinateur, et faisaient des allers-retours entre la caméra pour la placer, et l’ordinateur
portable pour le retour visuel. Il y avait aussi des participants qui n’ont pas utilisé le
retour visuel de la caméra au début, car ils ont déclaré qu’ils étaient confiants dans leurs
placements de caméra. En comparaison, nous avons observé que la plupart des partici-
pants n’ont pas eu de difficultés à placer la caméra dans l’outil MCEV, et qu’ils ont été
relativement rapides à trouver une position apparemment acceptable. Deuxièmement, cer-
tains participants ont fait part de leurs inquiétudes quant au réalisme du positionnement
de l’appareil dans la RV. Par exemple, il était possible de placer les appareils (par exemple
le microphone) sous ou "dans" les meubles dans la RV. Certains participants ont essayé
de tels placements pendant l’expérience, mais ils ont fini par se contenter d’emplacements
plus réalistes. Troisièmement, la plupart des utilisateurs ont eu des difficultés dans la RV
avec les interactions gestuelles car ils ont tendance à oublier que la caméra simulée a un
aura similaire à celui de la caméra réelle. En effet, ils pensaient que les positions de leur
corps et de leurs mains étaient captées en permanence grâce au tracking RV, même s’ils
n’étaient pas parfaitement en face de la caméra. Enfin, lorsqu’ils déplaçaient la caméra
réelle, certains participants ont oublié de mettre à jour sa position sur la carte en vue de
dessus de l’outil graphique.
169
Partie II, Chapitre 6 – Application de la méthode MCEV
6.1.5 Discussion
Nos résultats montrent que notre première hypothèse H1 est validée. En effet, les par-
ticipants étaient plus rapides avec notre outil MCEV, et les dispositifs étaient positionnés
à peu près aux mêmes endroits. Nos observations indiquent que la possibilité de manipu-
ler un dispositif et de visualiser son retour en même temps dans l’environnement virtuel
(comme dans les figures 5.1 et 5.5) pourrait permettre de gagner du temps. De même,
le fait que les emplacements des dispositifs soient directement accessibles dans l’environ-
nement virtuel pourrait aider à éviter les erreurs et les approximations, ce qui pourrait
également avoir un impact positif sur les performances temporelles. Il pourrait être inté-
ressant d’observer la différence de performance dans des cas d’utilisation plus complexes
(environnements plus grands, plus de dispositifs, services plus élaborés), comme un service
pour guider les nouveaux arrivants dans un bâtiment du tertiaire connecté. Nous pensons
que le gain de temps pour configurer des MIBS serait encore plus grand en RV pour ces
scénarios exigeants.
Néanmoins, l’outil MCEV pourrait être amélioré par l’ajout d’une fonctionnalité per-
mettant de générer automatiquement des avertissements et des recommandations sur le
positionnement des dispositifs à partir des informations sur les dispositifs et l’environne-
ment.
170
6.1. Validation de la méthode MCEV
Charge de travail
Contrairement à notre hypothèse H2, nos résultats suggèrent que les outils graphiques
et MCEV ne présentent pas de différences vérifiées en termes de charge cognitive, bien
que les participants se soient trouvés en moyenne moins performants en RV que sur le
terrain.
Cette absence de différence d’utilisabilité pourrait s’expliquer par la simplicité du
cas d’usage de notre expérimentation. En effet, comme nous savions que nous allions
avoir des participants aux profils très différents, certains étant très peu familiers avec
la Réalité Virtuelle, nous avons limité notre expérience à un scénario simple dans une
seule pièce, et nous n’avons pas expérimenté les fonctionnalités collaboratives de notre
système. Comme nous nous y attendions, certains des commentaires des participants
suggèrent que l’avantage de la RV pourrait devenir plus significatif avec des situations
à plus grande échelle et complexité. La différence de performance dans le NASA-TLX
pourrait s’expliquer par les difficultés de la plupart des utilisateurs à comprendre que la
caméra virtuelle et la caméra réelle partagent la même aura.
171
Partie II, Chapitre 6 – Application de la méthode MCEV
L’expérimentation présentée dans la section précédente n’a donné qu’un aperçu limité
des fonctionnalités de notre méthodologie MCEV. En effet, l’application se limitait à une
interaction, seulement 4 objets connectés étaient utilisables, l’environnement d’exécution
était relativement simple et toutes les fonctionnalités de collaboration étaient désactivées.
Pour montrer le plein potentiel de notre approche, nous présentons dans cette section
la manière dont la méthodologie MCEV pourrait être utilisée pour adapter les applications
de réservation et de guidage aux environnements présentés en introduction.
Nous reprenons dans ces exemples les composants présentés dans le chapitre 3.5 (voir
figures 6.8 et 6.9).
172
6.2. Applications aux cas d’usage
173
Partie II, Chapitre 6 – Application de la méthode MCEV
Pour chacun des cas d’usage, nous détaillons le travail d’évaluation qu’un ergonome
pourrait réaliser lors de la phase d’intégration. Nous présentons ensuite comment les
recommandations de cet ergonome pourraient aider l’administrateur d’un bâtiment à ins-
taller l’application.
(a) (b)
Figure 6.11 – Les deux portions des chaînes d’interaction pour l’application de réserva-
tion de salles de réunion. La chaîne de composants (a) permet de sélectionner un créneau
avec une seule commande vocale. La chaîne de composants (b) permet de sélectionner un
créneau en fusionnant une commande vocale et un geste de pointage.
174
6.2. Applications aux cas d’usage
3D d’objets connectés une webcam équipée d’un microphone. Il place la webcam en face
de lui pour être dans l’aura de la caméra, comme illustré figure 6.12a.
B
A A
(a) (b)
Figure 6.12 – Schéma du placement des modèles 3D des objets par rapport à l’avatar
de l’ergonome. La webcam placée à la position A et le microphone en B. L’aura de la
caméra est représentée en vert, l’aura du microphone intégré est représentée en jaune, et
l’aura du microphone sur pied est représentée en bleu.
Cependant, l’aura du microphone intégré n’est pas très grande, et il faudrait être
à moins d’un mètre pour être entendu. Or, les bras ne peuvent pas être captés par la
caméra si l’utilisateur est à cette distance. C’est pour cela que l’ergonome explique dans
une note que l’utilisation d’une webcam avec la technique d’interaction de pointage est à
déconseiller, puis il place cette note sur le modèle 3D de la webcam pour que la note soit
associée à l’usage de webcams.
Pour pouvoir tester la technique d’interaction par pointage, il ajoute un microphone
qu’il place au dessus de la webcam. Comme illustré figure 6.12b, cette configuration permet
bien à l’utilisateur d’être dans les deux zones.
Il configure ensuite l’application pour utiliser la technique d’interaction par pointage
avec les deux objets installés, et teste le système pour vérifier que l’application ainsi
configurée fonctionne. Il sauvegarde sa configuration (ce qui inclue l’environnement et les
objets virtuels), et organise une expérience utilisateur en envoyant cette configuration à
un groupe de testeurs. Ces testeurs ont tous un équipement de RV, ce qui permet de
réaliser toutes les séances en parallèle. Le comportement des utilisateurs dans le monde
virtuel, les rapports du système et les notes réalisées dans l’outil sont collectés, et envoyés
175
Partie II, Chapitre 6 – Application de la méthode MCEV
à l’ergonome. Des questionnaires comme celui présenté dans [162] sont aussi complétés par
les participants pour obtenir leur ressenti sur l’interaction. Avec ce processus, l’ergonome
n’a pas besoin de préparer un espace d’expérimentation ou de faire venir des testeurs, car
tout peut se faire à distance avec un équipement unique.
Ensuite, l’ergonome peut rapidement créer de nouvelles configurations à partir de cette
première phase. Contrairement à une expérimentation dans un environnement réel, il peut
tester facilement et rapidement différents modèles ou positions de caméra. De plus, il peut
passer instantanément d’un environnement à un autre, et cela sans avoir à déplacer de
matériel de test. L’ergonome peut donc évaluer dans une même séance avec des testeurs des
configurations très différentes. Préparer une grande variété de configurations à plusieurs
avantages :
— changer d’objets permet d’identifier les objets les plus adaptés pour l’interaction ;
— changer de technique d’interaction permet d’estimer l’interaction préférée des uti-
lisateurs selon leurs profils ;
— changer de positionnement des objets permet d’identifier le rapport entre le place-
ment des objets et la qualité de l’interaction ;
— changer d’environnement permet d’identifier l’impact d’un changement d’espace
d’interaction disponible sur la qualité de l’interaction.
Par exemple, dans la phase 3 du dialogue, l’ergonome peut vérifier si les testeurs préfèrent
avoir la liste des créneaux transmise par messages audio ou par affichage graphique.
Les problèmes rencontrés lors de ces tests (ex. dysfonctionnement du système) peuvent
être transmis à l’équipe de design et développement. Les configurations et les données
collectées pendant les tests facilitent l’identification du problème.
Ensuite, l’ergonome identifie parmi les configurations testées celles qui pourraient ser-
vir d’exemple au déploiement. Il ajoute pour chacune de ces configurations les notes
contenant des conseils et avertissements définis à partir des évaluations réalisées. Par
exemple, l’ergonome conseille de n’utiliser l’interaction par caméra de profondeur qu’à 5
conditions :
— que la caméra de profondeur soit de bonne qualité (1280 x 720, ex. Realsense
D435) ;
— que la caméra soit au dessus ou en dessous de l’écran, et que l’écran soit à hauteur
du regard ;
— que l’espace d’interaction soit suffisamment profond (entre 2m et 5m) ;
— qu’il y ait une bonne luminosité ;
176
6.2. Applications aux cas d’usage
— qu’il n’y ait aucune fenêtre orientée dans le champ de vision de l’utilisateur.
En résumé, l’ergonome a pu évaluer l’application de réservation de salles de réunion
dans une grande variété de configurations. Pour cela, il n’avait besoin que de jumeaux
numériques d’objets connectés, de modèles 3D d’environnements et de l’équipement de
Réalité Virtuelle pour lui et ses testeurs. Il n’a donc pas perdu de temps à installer du
matériel physique dans des espaces de test, et il n’a pas eu besoin d’organiser des séances
d’expérimentation pour chaque testeur.
177
Partie II, Chapitre 6 – Application de la méthode MCEV
L’ergonome doit s’assurer que l’application permet bien de guider un utilisateur dans
des bâtiments de topologies différentes, voire au travers de plusieurs bâtiments et étages.
Un bâtiment peut par exemple être représentés comme un graphe 3D constitué de pièces,
d’escaliers, d’ascenseurs, de couloirs et de portes [156]. Contrairement à l’application de
réservation, les environnements testés doivent donc être complexes. Par exemple, l’er-
178
6.2. Applications aux cas d’usage
Pour avoir les mêmes conditions dans toutes les expériences utilisateurs, la technique
d’enregistrement et re-jeu du comportement des utilisateurs est utilisé ici. En effet, l’ergo-
nome peut s’enregistrer pendant qu’il parcourt l’environnement de test. En rejouant ces
enregistrements, l’ergonome crée ainsi des agents se déplaçant selon un trajet prédéfini.
Ces agents peuvent prendre le rôle d’éléments perturbateurs (ex. un agent qui s’arrête de-
vant un écran et gêne la vue de l’utilisateur), mais peuvent aussi représenter l’utilisateur
de l’application. Par exemple, les testeurs peuvent être amenés à suivre un enregistre-
ment de personne guidée pour obtenir leur ressenti (ex. la gêne occasionnée par un usage
individuel de l’éclairage et des écrans).
179
Partie II, Chapitre 6 – Application de la méthode MCEV
6.3 Synthèse
Dans ce chapitre, nous avons étudié l’application de la méthode MCEV dans des cas
pratiques.
Tout d’abord, nous avons mené une expérience utilisateur pour comparer l’efficacité
et la convivialité de notre outil à celles d’un outil graphique que nous avons développé
pour adapter notre processus méthodologique aux expériences sur le terrain. Les résultats
montrent que le processus de configuration et d’évaluation est plus efficace avec notre outil
de RV, et qu’il a au moins la même facilité d’utilisation que l’outil graphique. Ainsi, nous
pensons que notre méthodologie et notre outil basés sur la RV proposent une alternative
valable aux expériences sur le terrain et pourraient participer à l’arrivée de ces systèmes
dans notre quotidien.
Ensuite, nous avons présenté comment la méthode MCEV peut être appliquée aux
cas d’usage de réservation et de guidage. Nous avons illustré comment un ergonome peut
travailler sur des prototypes des MIBS pour faciliter leur déploiement. Nous avons aussi
montré comment un administrateur d’un bâtiment du tertiaire peut facilement configurer
et tester les MIBS pour qu’ils soient adaptés à l’environnement d’exécution.
180
Conclusion et perspectives
181
Conclusion
Dans cette thèse, nous avons vu que les MIBS (i.e. systèmes multimodal utilisant
des objets connectés comme interfaces d’interaction) permettent de profiter au mieux des
objets connectés qui nous entourent pour fournir des interactions accessibles et naturelles
dans notre quotidien. Toutefois, la création de tels systèmes pour une grande variété
d’environnements est encore un challenge. C’est pour cette raison que nous proposons un
framework, une méthodologie et des outils associés pour faciliter l’adaptation d’un MIBS
aux spécificités des environnements. Nous avons illustré nos travaux au travers de deux
cas d’usage : une application de réservation de salle de réunion, et une application de
guidage d’un utilisateur dans un bâtiment.
Notre analyse de l’état de l’art nous a permis de définir les 15 exigences auxquelles
ces systèmes doivent répondre. Nous avons distingué en particulier 6 exigences qui ré-
gissent la capacité d’adaptation des MIBS aux environnements. Ces 6 exigences sont :
l’abstraction des dispositifs physiques, la perception du contexte, le support de l’interopé-
ration spontanée, le choix libre de modalités et combinaison de modalités, la gestion de
la multimodalité massive et l’abstraction des modalités.
Ensuite, nous avons montré au travers d’une étude des standards architecturaux et des
frameworks existants qu’il n’y a pas d’approche pour répondre à toutes les exigences. En
particulier, nous avons établi qu’aucune solution ne permet de satisfaire les 6 exigences
liées à l’adaptation des MIBS aux environnements, et qu’une intervention humaine est
nécessaire pour s’assurer de l’utilisabilité du système au déploiement. Nous avons ensuite
présenté et développé un framework qui s’inspire des différentes solutions aux exigences
apportées par la littérature. Ce framework s’intègre aux solutions logicielles fournies par
Orange, et il nous sert par la suite de base logicielle pour proposer une méthodologie
facilitant le processus d’adaptation.
Notre analyse des méthodes et outils utilisés pour concevoir et développer les MIBS
nous a permis de définir le cycle de vie d’un MIBS qui prend en compte son adaptation
aux environnements d’exécution. Cette étude nous a aussi permis d’identifier les tâches,
acteurs, outils et moments opportuns pour effectuer cette adaptation de la manière la plus
simple possible. En particulier, nous avons identifié que le processus de déploiement par
un administrateur du bâtiment (i.e. l’environnement d’exécution) n’était pas assez outillé
pour pouvoir efficacement configurer les MIBS.
Notre analyse nous a permis de proposer une méthode de configuration et d’évalua-
182
tion en réalité virtuelle (MCEV). Cette méthode facilite les expérimentations de plusieurs
configurations d’applications (ex. choix des objets, des techniques d’interaction) en utili-
sant un casque de réalité virtuelle pour placer l’utilisateur dans un jumeau numérique de
l’environnement réel dans lequel il souhaite déployer un MIBS. Ainsi, notre méthode offre
aux utilisateurs une solution complète pour aider un administrateur à configurer un MIBS
en fonction de l’environnement d’exécution. L’usage de la Réalité Virtuelle (RV) permet
de ne pas avoir besoin de tester le système dans l’environnement réel, et donc d’éviter les
contraintes matérielles que les tests sur le terrain impliquent (ex. accès à l’environnement,
gestion de l’équipement). De plus, un administrateur n’a pas besoin de compétences avan-
cées en programmation, design ou ergonomie pour configurer le système. Au contraire, il
peut tester dans des environnements virtuels des configurations réalisées et validées par
des ergonomes, ce qui peut guider l’administrateur dans ses choix.
L’expérience utilisateur réalisée permet de valider que la méthode MCEV permet de
réaliser des configurations similaires à une installation directement dans l’environnement
réel, et que le processus de configuration et d’évaluation est plus efficace en réalité virtuelle
que sur le terrain. L’application de notre méthodologie aux cas d’usage de réservation et
de guidage montre à quel point il est facile d’adapter des MIBS à une grande variété
d’environnements.
Ainsi, nous montrons au travers de cette thèse une approche permettant de faciliter
l’adaptation des MIBS aux spécificités des environnements. Pour cela, nous intégrons au
processus de création de MIBS une méthodologie pour permettre de facilement configurer
les MIBS, ce que les outils et frameworks existants n’abordent pas assez.
Perspectives
Les perspectives de recherche envisagées concernent l’évolution de notre outil de confi-
guration et d’évaluation pour utiliser au mieux la capacité d’immersion de l’utilisateur
dans une modélisation 3D de l’environnement réel.
183
déos démontrant ces techniques d’interaction pourrait être plus intuitif et agréable pour
l’utilisateur.
De plus, nous n’avons développé que les composants CPS d’interprétation, de présen-
tation et de dialogue requis pour notre expérimentation et pour interagir avec les objets
connectés à notre disposition. Or, pour réaliser la phase de test avec l’outil MCEV, le
MIBS doit utiliser des composants existants. Pour pouvoir explorer d’autres cas d’usage,
de nouveaux composants doivent donc être développés.
Le processus de configuration peut être facilité lors du placement des objets dans l’en-
vironnement . En effet, une piste d’évolution de l’outil MCEV est de proposer des zones de
recommandations (et avertissements) dans l’environnement virtuel quand un utilisateur
souhaite ajouter de nouveaux objets. La détection et visualisation de ces zones permet-
trait de faire gagner du temps à la configuration, et d’aider à réaliser des configurations
plus fiables. Les travaux sur l’optimisation du déploiement de réseaux de capteurs sans fil
peuvent être utilisés pour proposer une méthode d’ajout de dispositifs dans de grands es-
paces. Par exemple, Afghantoloee et Mostafavi [2] proposent une méthode pour optimiser
le placement de capteurs dans des modèles 3D d’environnements d’intérieur. Pour cela,
Leur algorithme utilise les zones que chaque capteur peut percevoir (i.e. les auras).
Exploration de l’utilisation de la RA
184
Étude de la collaboration entre acteurs
Nous n’avons évalué notre méthodologie qu’au travers d’une expérimentation sur la
phase de configuration avec des utilisateurs qui n’avaient, pour la plupart, jamais ins-
tallé ou utilisé d’applications multimodales ou ubiquitaires. Nous n’avons donc pas étudié
l’impact de cette méthode sur la collaboration entre les acteurs intervenant dans le pro-
cessus de création de MIBS. Une perspective d’expérimentation serait de regrouper des
designers, développeurs, ergonomes et administrateurs, et de leur demander de concevoir,
développer et installer un MIBS en utilisant notre méthodologie.
185
Annexe A
Dans cette annexe, nous montrons comment chaque phase du scénario présenté dans
l’introduction peut être réalisée avec un MIBS créé avec notre framework (voir chapitre 3).
Plus spécifiquement, nous montrons des exemples de besoins du composant de dialogue,
et de chaînes d’interaction qui peuvent être générées. Nous considérons pour cela que les
composants utilisés ont été développés au préalable.
Les 5 étapes du scénario de réservation de salle de réunion sont détaillées dans les
sections suivantes. Pour chaque étape, les besoins du composant de dialogue et la chaîne
d’interaction choisie par le gestionnaire de dialogues sont présentés.
186
{
"application_reservation" :
{
"user-hi":
{
"optionnel" : Faux,
"source" : "entrée",
"préférence" : {},
"requis" : {"id_utilisateur"},
"canal" : 0
}
}
}
187
{
{
"application_reservation" :
{
"request":
{
"optionnel" : Faux,
"source" : "entrée",
"préférence" : {},
"requis" : {"nom_service"},
"canal" : 0
},
"greetings":
{
"optionnel" : Faux,
"source" : "sortie",
"préférence" : {"modalité" : "audio"},
"requis" : {"cible" : "id_utilisateur"},
"canal" : 0
},
"greetings":
{
"optionnel" : Vrai,
"source" : "sortie",
"préférence" : {"modalité" : "visuelle"},
"requis" : {"cible" : "id_utilisateur"},
"canal" : 1
}
}
}
188
Figure A.4 – Exemple de chaîne d’interaction pour la phase 2.
189
{
"application_reservation" :
{
"reqalts":
{
"optionnel" : Faux,
"source" : "entrée",
"préférence" : {},
"requis" : {"cible" : ["précédent", "suivant"]},
"canal" : 0
},
"user-confirm":
{
"optionnel" : Faux,
"source" : "entrée",
"préférence" : {},
"requis" : {"cible"},
"canal" : 1
},
"inform":
{
"optionnel" : Faux,
"source" : "sortie",
"préférence" : {"modalité" : "audio"},
"requis" : {"type" : "créneaux", "disponible" : Vrai},
"canal" : 0
},
"offer":
{
"optionnel" : Faux,
"source" : "sortie",
"préférence" : {"modalité" : "visuelle"},
"requis" : {"type" : "créneau"},
"canal" : 1
}
}
}
190
Figure A.6 – Exemple de chaîne d’interaction pour la phase 3.
191
{
"application_reservation" :
{
"inform":
{
"optionnel" : Faux,
"source" : "sortie",
"préférence" : {},
"requis" : {},
"canal" : 0
}
}
}
192
{
"application_reservation" :
{
"bye":
{
"optionnel" : Faux,
"source" : "entrée",
"préférence" : {},
"requis" : {},
"canal" : 0
},
"bye":
{
"optionnel" : Faux,
"source" : "sortie",
"préférence" : {},
"requis" : {},
"canal" : 0
}
}
}
193
Figure A.10 – Exemple de chaîne d’interaction pour la phase 5.
194
Annexe B
L’expérimentation réalisée sur la méthode MCEV était en deux parties : une partie
en RV, et l’autre partie directement dans l’environnement réel. La suite de cette annexe
contient les instructions que les participants avaient dans la phase d’apprentissage de la
partie dans l’environnement réel.
195
Phase d’apprentissage dans l’environnement réel
Pendant cette phase d’apprentissage, votre objectif est de configurer puis tester un service
permettant d’allumer ou éteindre depuis les fauteuils orange les ampoules connectées de la pièce où
vous êtes. Vous utiliserez un microphone pour écouter les instructions de l’utilisateur.
Vous aurez en bas de l’interface un bouton d’aide qui ouvre une fenêtre donnant un numéro. Ces
numéros font références aux instructions associées à chaque étape dans l’annexe INSTRUCTIONS.
Dans la phase de test, un rappel de la méthode d’interaction, les scores de placement des objets, et
les événements survenant au cours de la phase de test s’afficheront sur une pop-up.
La première étape est de sélectionner les objets connectés que vous allez utiliser pendant
l’interaction, et les placer dans l’environnement
•Dans le Menu principal, cliquez sur Gestion des objets connectés. Cela va vous permettre
d’identifier les objets connectés disponibles et de définir leurs emplacements dans l’environnement.
•Vous avez besoin des deux ampoules connectés et du microphone présents dans la pièce. Dans le
menu déroulant, veuillez choisir une des ampoules connectées. Il est possible que certains objets
n’ont pas été synchronisés, cliquez sur le bouton en haut à droite pour rafraîchir la liste.
•L’ampoule sélectionnée a un identifiant. En revanche vous ne savez pas à quelle ampoule cet
identifiant correspond. Pour cela, on va utiliser une méthode d’identification. Chaque objet à sa
propre méthode d’identification. Dans le cas des ampoules, il s’agit de faire varier leurs intensités.
Utilisez maintenant le bouton identifier et repérez l’ampoule qui clignote. S’il s’agit d’une ampoule
de la pièce, il faut l’ajouter à la carte pour pouvoir l’utiliser ultérieurement dans une configuration,
pour cela cliquez sur ajouter. Sinon, essayez une autre ampoule.
•Il faut ensuite rentrer dans l’outil l’emplacement de l’objet ajouté. Certains services ont besoin de
savoir où sont les objets connectés pour fonctionner correctement, cette étape est donc essentielle.
Placez-vous dans le mode déplacement, puis faites glisser l’icône représentant l’ampoule
(l’hexagone vert) pour être au même endroit que l’ampoule réelle (celle qui vient de clignoter).
•Vous pouvez aussi définir l’orientation des objets avec le mode rotation, ce qui sera utile plus tard.
En effet, un score s’affichera en début de phase de test. Ce score représente la validité théorique du
placement des objets (position et angles). Le résultat sera jugé satisfaisant si le score de chaque
objet est supérieur à 75 %. Il est conseillé de se servir des zones d’action pour améliorer le score.
•Il est possible que l’on souhaite ajouter et placer de nouveaux objets dans l’environnement. Dans
notre cas, le microphone est un ajout par rapport à l’équipement préexistant de la pièce. Placez le
microphone de telle façon que votre voix soit bien détectée. Pour cela, aidez-vous de l’outil
d’identification qui affiche l’évolution de l’intensité du signal sonore dans le temps.
•Reportez la position du microphone dans l’outil comme pour les ampoules connectées.
La deuxième étape est d’ajouter une configuration au service de contrôle de la luminosité. Pour
cela, il faut choisir le service, choisir une méthode d’interaction adaptée aux objets connectés
désirés, puis associer ces objets à cette configuration.
•Allez dans Gestion des services. Vous trouverez dans cette fenêtre toutes les configurations que
vous allez ajouter.
•Vous n’avez pas de configuration pour l’instant, et vous devez en ajouter une nouvelle. Dans le
menu Gestion des services, cliquez sur nouveau.
•Il n’y a qu’un seul service disponible ici, celui que l’on souhaite mettre en place. Dans Ajout d’un
service, choisissez contrôle de la luminosité, puis faites Suivant.
•Chaque service peut offrir différentes fonctionnalités. Il y a donc un descriptif de ce qu’il est
capable de faire. Lisez le descriptif du service, puis faites Configurer.
•Vous avez maintenant le choix entre plusieurs méthodes d’interaction, et chacune fournit une
fonctionnalité et requiert différents types d’objets connectés. Pour naviguer entre les différentes
méthodes d’interaction, cliquez sur configuration précédente ou configuration suivante. Choisissez
la méthode contrôle par commande vocale simple qui permet de réaliser la configuration désirée :
piloter les ampoules simplement par commande vocale. Cliquez sur Sélectionner dès que vous avez
atteint la bonne méthode d’interaction.
•Vous allez maintenant pouvoir renommer votre configuration pour pouvoir l’identifier par la suite.
Donnez-lui un nom en remplissant le champ en haut de la fenêtre.
•Il faut maintenant choisir les objets connectés que vous utiliserez pour cette configuration. Une
couleur orange ou verte met en avant les objets connectés nécessaires à la méthode d’interaction. La
couleur orange signifie qu’il n’y a pas d’objet associé et vert que l’association est faite. Cliquez sur
l’icône orange représentant l’ampoule connectée pour réaliser l’association.
•Vous vous retrouvez dans une fenêtre similaire à celle rencontrée plus tôt. L’objectif ici est
d’associer les ampoules connectées de la pièce avec le service désiré. Veuillez vous assurer d’être
dans le mode sélection, puis cliquez sur tous les hexagones représentant les ampoules désirées. Vous
avez en dessous de la carte les noms de tous les objets sélectionnés pour l’association. Enfin,
validez votre choix en cliquant sur Associer.
Il ne vous reste plus qu’à faire de même pour les autres objets connectés, puis cliquer sur Terminer
pour finaliser la configuration et être renvoyé au menu principal.
IV Tester le service
Le bouton vert dans le menu principal permet de lancer/arrêter les configurations installées. Testez
votre configuration. Vous pouvez supprimer cette configuration pour éviter qu’elle rentre en conflit
avec d’autres configurations depuis le menu Gestion des services.
Vous venez de finir la phase d’apprentissage. Vous pouvez passer à la phase d’expérimentation si
dessous.
Pour cette phase, vous aurez donc à fournir rapidement une configuration pour le besoin suivant :
« Je veux pouvoir contrôler toutes les lumières de la pièce depuis les fauteuils orange en les
pointant individuellement du doigt et en leur demandant de s’allumer ou s’éteindre »
Pour cela, vous allez avoir besoin d’ajouter une caméra de profondeur (Kinect), et de repositionner
le microphone déjà ajouté. Le repositionnement des objets ne sera pris en compte que dans les
phases de configuration, mais vous pouvez toutefois réaliser plusieurs cycles de configurations et
tests pour obtenir de meilleurs résultats.
Il ne faut pas déplacer ou ajouter d’ampoules : ce ne sera pas possible dans l’environnement final.
B IBLIOGRAPHIE
[1] Hamada Abdulwakel et emad nabil emad, « A conflicts’ classification for IoT-
based services : a comparative survey », in : PeerJ Computer Science 7 (avr. 2021),
doi : 10.7717/peerj-cs.480.
[2] Ali Afghantoloee et Mir Abolfazl Mostafavi, « A Local 3D Voronoi-Based
Optimization Method for Sensor Network Deployment in Complex Indoor Envi-
ronments », en, in : Sensors 21.23 (jan. 2021), Number : 23 Publisher : Multidis-
ciplinary Digital Publishing Institute, p. 8011, issn : 1424-8220, doi : 10.3390/
s21238011, url : https://www.mdpi.com/1424- 8220/21/23/8011 (visité le
23/09/2022).
[3] Antonio Alberti et al., « Platforms for Smart Environments and Future Internet
Design : A Survey », in : IEEE Access PP (oct. 2019), p. 1-1, doi : 10.1109/
ACCESS.2019.2950656.
[4] Nuno Almeida et al., « The AM4I Architecture and Framework for Multimodal
Interaction and Its Application to Smart Environments », eng, in : Sensors (Basel,
Switzerland) 19.11 (juin 2019), issn : 1424-8220, doi : 10.3390/s19112587.
[5] Oscar Ardaiz, F. Freitag et Leandro Navarro, « On Service Deployment in
Ubiquitous Computing », in : (mars 2002).
[6] Carmelo Ardito et al., « A tool for Wizard of Oz studies of multimodal mobile
systems », in : juin 2009, p. 344-347, doi : 10.1109/HSI.2009.5091003.
[7] Luigi Atzori, Antonio Iera et Giacomo Morabito, « The Internet of Things : A
survey », en, in : Computer Networks 54.15 (oct. 2010), p. 2787-2805, issn : 1389-
1286, doi : 10.1016/j.comnet.2010.05.010, url : http://www.sciencedirect.
com/science/article/pii/S1389128610001568 (visité le 07/01/2021).
[8] Mirjam Augstein et Thomas Neumayr, « A Human-Centered Taxonomy of In-
teraction Modalities and Devices », in : Interacting with Computers 31.1 (jan.
2019), p. 27-58, issn : 0953-5438, doi : 10 . 1093 / iwc / iwz003, url : https :
//doi.org/10.1093/iwc/iwz003 (visité le 23/04/2021).
199
[9] J. Augusto et al., « A Smart Environments Architecture (Search) », in : Ap-
plied Artificial Intelligence 34.2 (jan. 2020), Publisher : Taylor & Francis _eprint :
https ://doi.org/10.1080/08839514.2020.1712778, p. 155-186, issn : 0883-9514, doi :
10.1080/08839514.2020.1712778, url : https://doi.org/10.1080/08839514.
2020.1712778 (visité le 07/08/2022).
[10] J. Augusto et al., « The user-centred intelligent environments development pro-
cess as a guide to co-create smart technology for people with special needs », en,
in : Universal Access in the Information Society 17.1 (mars 2018), p. 115-130,
issn : 1615-5297, doi : 10.1007/s10209-016-0514-8, url : https://doi.org/
10.1007/s10209-016-0514-8 (visité le 26/08/2022).
[11] Juan C. Augusto et al., « Intelligent Environments : a manifesto », en, in :
Human-centric Computing and Information Sciences 3.1 (juin 2013), p. 12, issn :
2192-1962, doi : 10.1186/2192-1962-3-12, url : https://doi.org/10.1186/
2192-1962-3-12 (visité le 28/07/2022).
[12] Juan Carlos Augusto, « Contexts and Context-awareness Revisited from an In-
telligent Environments Perspective », in : Applied Artificial Intelligence 36.1 (déc.
2022), Publisher : Taylor & Francis _eprint : https ://doi.org/10.1080/08839514.2021.2008644,
p. 2008644, issn : 0883-9514, doi : 10 . 1080 / 08839514 . 2021 . 2008644, url :
https://doi.org/10.1080/08839514.2021.2008644 (visité le 06/08/2022).
[13] Juan Carlos Augusto et Miguel J. Hornos, « Software simulation and verifica-
tion to increase the reliability of Intelligent Environments », en, in : Advances in
Engineering Software 58 (avr. 2013), p. 18-34, issn : 0965-9978, doi : 10.1016/j.
advengsoft.2012.12.004, url : https://www.sciencedirect.com/science/
article/pii/S0965997813000033 (visité le 31/08/2022).
[14] Pierre-Alain Avouac, Philippe Lalanda et Laurence Nigay, « Service-oriented
autonomic multimodal interaction in a pervasive environment », en, in : Procee-
dings of the 13th international conference on multimodal interfaces - ICMI ’11,
Alicante, Spain : ACM Press, 2011, p. 369, isbn : 978-1-4503-0641-6, doi : 10.
1145 / 2070481 . 2070552, url : http : / / dl . acm . org / citation . cfm ? doid =
2070481.2070552 (visité le 02/12/2019).
[15] Syafril Bandara et al., « Towards a standard API design for open services in
smart buildings », in : 2016 TRON Symposium (TRONSHOW), déc. 2016, p. 1-7,
doi : 10.1109/TRONSHOW.2016.7842883.
200
[16] Barbara R. Barricelli et al., Designing Pervasive and Multimodal Interactive
Systems : An Approach Built on the Field, English, chap., Archive Location :
designing-pervasive-multimodal-interactive-systems ISBN : 9781605663869 Library
Catalog : www.igi-global.com Publisher : IGI Global, 2009, url : https://www.
igi-global.com/gateway/chapter/35891 (visité le 08/06/2021).
[17] Barbara Rita Barricelli et Stefano Valtolina, « Designing for End-User De-
velopment in the Internet of Things », en, in : End-User Development, sous la dir.
de Paloma Díaz et al., Lecture Notes in Computer Science, Cham : Springer Inter-
national Publishing, 2015, p. 9-24, isbn : 978-3-319-18425-8, doi : 10.1007/978-
3-319-18425-8_2.
[18] Zouhir Bellal et al., « Integrating Mobile Multimodal Interactions based on Pro-
gramming By Demonstration », in : International Journal of Human–Computer
Interaction 37.5 (mars 2021), Publisher : Taylor & Francis _eprint : https ://-
doi.org/10.1080/10447318.2020.1823688, p. 418-433, issn : 1044-7318, doi : 10.
1080/10447318.2020.1823688, url : https://doi.org/10.1080/10447318.
2020.1823688 (visité le 08/06/2021).
[19] Yacine Bellik et D Teil, « Définitions terminologiques pour la communication
multimodale », in : Proceeding of IHM (jan. 1992).
[20] Steve Benford et Lennart Fahlén, « A Spatial Model of Interaction in Large
Virtual Environments », en, in : Proceedings of the Third European Conference
on Computer-Supported Cooperative Work 13–17 September 1993, Milan, Italy
ECSCW ’93, sous la dir. de Giorgio de Michelis, Carla Simone et Kjeld Schmidt,
Dordrecht : Springer Netherlands, 1993, p. 109-124, isbn : 978-94-011-2094-4, doi :
10.1007/978-94-011-2094-4_8, url : https://doi.org/10.1007/978-94-
011-2094-4_8 (visité le 21/07/2022).
[21] Pascal Bercher et al., « A companion-system architecture for realizing individua-
lized and situation-adaptive user assistance », in : 2018, doi : 10.18725/OPARU-
11023.
[22] Regina Bernhaupt et al., « Model-Based Evaluation : A New Way to Support
Usability Evaluation of Multimodal Interactive Applications », en, in : Maturing
Usability : Quality in Software, Interaction and Value, sous la dir. d’Effie Lai-
Chong Law, Ebba Thora Hvannberg et Gilbert Cockton, Human-Computer
Interaction Series, London : Springer, 2008, p. 96-119, isbn : 978-1-84628-941-5,
201
doi : 10.1007/978-1-84628-941-5_5, url : https://doi.org/10.1007/978-
1-84628-941-5_5 (visité le 15/06/2021).
[23] Niels Ole Bernsen, « Multimodality Theory », en, in : Multimodal User Interfaces
(2008), Publisher : Springer, Berlin, Heidelberg, p. 5-29, doi : 10.1007/978-3-
540-78345-9_2, url : https://link.springer.com/chapter/10.1007/978-3-
540-78345-9_2 (visité le 25/03/2020).
[24] Jacob T. Biehl et Brian P. Bailey, « Improving interfaces for managing applica-
tions in multiple-device environments », in : Proceedings of the working conference
on Advanced visual interfaces, AVI ’06, Venezia, Italy : Association for Compu-
ting Machinery, mai 2006, p. 35-42, isbn : 978-1-59593-353-9, doi : 10 . 1145 /
1133265.1133273, url : https://doi.org/10.1145/1133265.1133273 (visité le
21/03/2022).
[25] Laurent Bodic et al., « SIHMM : Simulateur de l’Interaction Homme Machine
Multimodale », in : (jan. 2006).
[26] Dan Bohus et Eric Horvitz, « Situated interaction », in : The Handbook of
Multimodal-Multisensor Interfaces : Language Processing, Software, Commercia-
lization, and Emerging Directions, Association for Computing Machinery et Mor-
gan & Claypool, juill. 2019, p. 105-143, isbn : 978-1-970001-75-4, url : https:
//doi.org/10.1145/3233795.3233800 (visité le 02/08/2022).
[27] Richard A. Bolt, « “Put-that-there” : Voice and gesture at the graphics inter-
face », en, in : ACM SIGGRAPH Computer Graphics 14.3 (juill. 1980), p. 262-270,
issn : 00978930, doi : 10.1145/965105.807503, url : http://portal.acm.org/
citation.cfm?doid=965105.807503 (visité le 02/12/2019).
[28] Dario Bonino et Fulvio Corno, « DogOnt - Ontology Modeling for Intelligent
Domotic Environments », in : t. 5318, oct. 2008, p. 790-803, isbn : 978-3-540-
88563-4, doi : 10.1007/978-3-540-88564-1_51.
[29] Geeth Boralessa et al., « Towards Robust Ubicomp : A Comprehensive Review
on the Grand Challenges of Ubiquitous Computing », in : juill. 2021.
[30] Jullien Bouchet, Laurence Nigay et Thierry Ganille, « ICARE software com-
ponents for rapidly developing multimodal interfaces », en, in : Proceedings of
the 6th international conference on Multimodal interfaces - ICMI ’04, State Col-
lege, PA, USA : ACM Press, 2004, p. 251, isbn : 978-1-58113-995-2, doi : 10.
202
1145/1027933.1027975, url : http://portal.acm.org/citation.cfm?doid=
1027933.1027975 (visité le 02/12/2019).
[31] Marie-Luce Bourguet, « A toolkit for creating and testing multimodal interface
designs », in : (jan. 2002).
[32] Giorgio Brajnik et Simon Harper, « Measuring interaction design before buil-
ding the system : a model-based approach », in : Proceedings of the 8th ACM
SIGCHI Symposium on Engineering Interactive Computing Systems, EICS ’16,
Brussels, Belgium : Association for Computing Machinery, juin 2016, p. 183-193,
isbn : 978-1-4503-4322-0, doi : 10.1145/2933242.2933246, url : https://doi.
org/10.1145/2933242.2933246 (visité le 09/07/2021).
[33] Frederik Brudy et al., « Cross-Device Taxonomy : Survey, Opportunities and
Challenges of Interactions Spanning Across Multiple Devices », in : Proceedings
of the 2019 CHI Conference on Human Factors in Computing Systems, CHI ’19,
Glasgow, Scotland Uk : Association for Computing Machinery, mai 2019, p. 1-
28, isbn : 978-1-4503-5970-2, doi : 10.1145/3290605.3300792, url : https:
//doi.org/10.1145/3290605.3300792 (visité le 17/02/2022).
[34] Frederik Brudy et al., « EagleView : A Video Analysis Tool for Visualising and
Querying Spatial Interactions of People and Devices », in : Proceedings of the 2018
ACM International Conference on Interactive Surfaces and Spaces, ISS ’18, Tokyo,
Japan : Association for Computing Machinery, nov. 2018, p. 61-72, isbn : 978-1-
4503-5694-7, doi : 10.1145/3279778.3279795, url : https://doi.org/10.
1145/3279778.3279795 (visité le 30/08/2022).
[35] Trung Bui, « Multimodal dialogue management-state of the art », in : Surface
Science - SURFACE SCI (fév. 2006).
[36] Harry Bunt et al., « Dialogue Act Annotation with the ISO 24617-2 Standard »,
en, in : Multimodal Interaction with W3C Standards : Toward Natural User Inter-
faces to Everything, sous la dir. de Deborah A. Dahl, Cham : Springer Interna-
tional Publishing, 2017, p. 109-135, isbn : 978-3-319-42816-1, doi : 10.1007/978-
3-319-42816-1_6, url : https://doi.org/10.1007/978-3-319-42816-1_6
(visité le 13/08/2022).
203
[37] Laura Burzagli, Pier Luigi Emiliani et Francesco Gabbanini, « Ambient In-
telligence and Multimodality », en, in : Universal Access in Human-Computer In-
teraction. Ambient Interaction, sous la dir. de Constantine Stephanidis, Lecture
Notes in Computer Science, Berlin, Heidelberg : Springer, 2007, p. 33-42, isbn :
978-3-540-73281-5, doi : 10.1007/978-3-540-73281-5_4.
[38] Gaëlle Calvary et al., « A Unifying Reference Framework for multi-target user
interfaces », en, in : Interacting with Computers, Computer-Aided Design of User
Interface 15.3 (juin 2003), p. 289-308, issn : 0953-5438, doi : 10.1016/S0953-
5438(03)00010-9, url : https://www.sciencedirect.com/science/article/
pii/S0953543803000109 (visité le 22/09/2021).
[39] Gaëlle Calvary et al., « Towards a New Generation of Widgets for Supporting
Software Plasticity : The ”Comet” », en, in : Engineering Human Computer Inter-
action and Interactive Systems, sous la dir. de David Hutchison et al., t. 3425,
Berlin, Heidelberg : Springer Berlin Heidelberg, 2005, p. 306-324, isbn : 978-3-540-
26097-4 978-3-540-31961-0, doi : 10.1007/11431879_21, url : http://link.
springer.com/10.1007/11431879_21 (visité le 03/12/2019).
[40] Victoria Carlsson et Bernt Schiele, « Towards systematic research of multimo-
dal interfaces for non-desktop work scenarios », in : CHI ’07 Extended Abstracts
on Human Factors in Computing Systems, New York, NY, USA : Association for
Computing Machinery, avr. 2007, p. 1715-1720, isbn : 978-1-59593-642-4, url :
https://doi.org/10.1145/1240866.1240889 (visité le 13/09/2021).
[41] Rainara Maia Carvalho et al., « Quality characteristics and measures for hu-
man–computer interaction evaluation in ubiquitous systems », en, in : Software
Quality Journal 25.3 (sept. 2017), p. 743-795, issn : 1573-1367, doi : 10.1007/
s11219- 016- 9320- z, url : https://doi.org/10.1007/s11219- 016- 9320- z
(visité le 26/08/2022).
[42] Antonio Carzaniga et al., « A Characterization Framework for Software Deploy-
ment Technologies », in : (mai 1998).
[43] Maria Chiara Caschera et al., « Multimodal Systems : An Excursus of the Main
Research Questions », in : t. 9416, oct. 2015, p. 546-558, doi : 10.1007/978-3-
319-26138-6_59.
204
[44] Jaeseung Chang et Marie-Luce Bourguet, « Usability Framework for the Design
and Evaluation of Multimodal Interaction », in : Proceedings of the 22Nd British
HCI Group Annual Conference on People and Computers : Culture, Creativity,
Interaction - Volume 2, BCS-HCI ’08, event-place : Liverpool, United Kingdom,
Swindon, UK : BCS Learning & Development Ltd., 2008, p. 123-126, isbn : 978-
1-906124-06-9, url : http://dl.acm.org/citation.cfm?id=1531826.1531857
(visité le 12/12/2019).
[45] Shih-Fu Chang et al., « Report of 2017 NSF Workshop on Multimedia Chal-
lenges, Opportunities and Research Roadmaps », in : arXiv :1908.02308 [cs] (août
2019), arXiv : 1908.02308, url : http://arxiv.org/abs/1908.02308 (visité le
29/05/2020).
[46] Khadidja Chaoui, Sabrina Bouzidi-Hassini et Yacine Bellik, « Spatial User
Interaction : What Next ? », in : mars 2022, p. 163-170, isbn : 978-989-758-555-
5, url : https : / / www . scitepress . org / PublicationsDetail . aspx ? ID =
piqbh29ZppA=&t=1 (visité le 16/03/2022).
[47] Abiy Biru Chebudie, Roberto Minerva et Domenico Rotondi, « Towards a
definition of the Internet of Things (IoT) », thèse de doct., août 2014.
[48] Harry Chen, Tim Finin et Anupam Joshi, « An ontology for context-aware perva-
sive computing environments », en, in : The Knowledge Engineering Review 18.3
(sept. 2003), Publisher : Cambridge University Press, p. 197-207, issn : 1469-
8005, 0269-8889, doi : 10 . 1017 / S0269888904000025, url : https : / / www .
cambridge.org/core/journals/knowledge- engineering- review/article/
abs/an-ontology-for-contextaware-pervasive-computing-environments/
AA9BDD7E22480F3478A523014AC6B794 (visité le 28/08/2022).
[49] Pei-Yu (Peggy) Chi et Yang Li, « Weave : Scripting Cross-Device Wearable In-
teraction », in : Proceedings of the 33rd Annual ACM Conference on Human Fac-
tors in Computing Systems, CHI ’15, Seoul, Republic of Korea : Association for
Computing Machinery, avr. 2015, p. 3923-3932, isbn : 978-1-4503-3145-6, doi :
10.1145/2702123.2702451, url : https://doi.org/10.1145/2702123.2702451
(visité le 22/03/2022).
[50] Cristiano Andre da Costa, Adenauer Correa Yamin et Claudio Fernando Resin
Geyer, « Toward a General Software Infrastructure for Ubiquitous Computing »,
205
in : IEEE Pervasive Computing 7.1 (jan. 2008), Conference Name : IEEE Pervasive
Computing, p. 64-73, issn : 1558-2590, doi : 10.1109/MPRV.2008.21.
[51] Joëlle Coutaz et James L Crowley, « Plan « intelligence ambiante » : défis et
opportunités », fr, in : (oct. 2008), p. 75.
[52] Joëlle Coutaz et Laurence Nigay, « Multimodalité et plasticité des interfaces
homme-machine en informatique ambiante : concepts et espaces de conception »,
in : Information Interaction Intelligence - Le point sur le i (3), sous la dir. de
Florence Sèdes, Jean-Marc Ogier et Pierre Marquis, Cépaduès Editions, juin
2012, p. 179-214, url : https://hal.archives- ouvertes.fr/hal- 00752068
(visité le 07/02/2020).
[53] Joëlle Coutaz et al., « Context is key », in : Commun. ACM 48 (mars 2005),
p. 49-53, doi : 10.1145/1047671.1047703.
[54] Joëlle Coutaz et al., « Four Easy Pieces for Assessing the Usability of Multimodal
Interaction : The Care Properties », en, in : Human—Computer Interaction, sous
la dir. de Knut Nordby et al., Boston, MA : Springer US, 1995, p. 115-120, isbn :
978-1-5041-2898-8 978-1-5041-2896-4, doi : 10.1007/978- 1- 5041- 2896- 4_19,
url : http://link.springer.com/10.1007/978-1-5041-2896-4_19 (visité le
02/12/2019).
[55] Martin Cronel et al., « MIODMIT : A Generic Architecture for Dynamic Multi-
modal Interactive Systems », en, in : Human-Centered Software Engineering, sous
la dir. de Cristian Bogdan et al., Lecture Notes in Computer Science, Cham :
Springer International Publishing, 2019, p. 109-129, isbn : 978-3-030-05909-5, doi :
10.1007/978-3-030-05909-5_7.
[56] Fredy Cuenca et al., « Graphical Toolkits for Rapid Prototyping of Multimodal
Systems : A Survey », in : Interacting with Computers 27.4 (juill. 2015), Conference
Name : Interacting with Computers, p. 470-488, issn : 1873-7951, doi : 10.1093/
iwc/iwu003.
[57] Deborah A. Dahl, Standards for Multimodal Interaction, en, chap., ISBN : 9781605663869
Library Catalog : www.igi-global.com Pages : 409-429 Publisher : IGI Global, 2009,
doi : 10.4018/978-1-60566-386-9.ch022, url : https://www.igi-global.
com / chapter / standards - multimodal - interaction / www . igi - global . com /
chapter/standards-multimodal-interaction/35900 (visité le 15/09/2021).
206
[58] Dario Di Mauro, Human-Computer Interaction in Intelligent Environments, it,
Tesi di dottorato, Library Catalog : www.fedoa.unina.it Num Pages : 142 Pu-
blisher : Università degli Studi di Napoli Federico II, déc. 2017, url : http :
//www.fedoa.unina.it/12241/ (visité le 07/08/2022).
[59] Dario Di Mauro et Francesco Cutugno, « A Framework for Interaction Design in
Intelligent Environments », in : sept. 2016, p. 246-249, doi : 10.1109/IE.2016.56.
[60] Pierre Dragicevic et Jean-Daniel Fekete, « Input Device Selection and Interac-
tion Configuration with ICON », en, in : People and Computers XV—Interaction
without Frontiers, sous la dir. d’Ann Blandford, Jean Vanderdonckt et Phil
Gray, London : Springer London, 2001, p. 543-558, isbn : 978-1-85233-515-1 978-
1-4471-0353-0, doi : 10.1007/978- 1- 4471- 0353- 0_34, url : http://link.
springer.com/10.1007/978-1-4471-0353-0_34 (visité le 02/12/2019).
[61] Bruno Dumas, Denis Lalanne et Sharon Oviatt, « Multimodal Interfaces : A
Survey of Principles, Models and Frameworks », in : Human Machine Interaction,
sous la dir. de Denis Lalanne et Jürg Kohlas, t. 5440, Berlin, Heidelberg :
Springer Berlin Heidelberg, 2009, p. 3-26, isbn : 978-3-642-00437-7, doi : 10 .
1007/978-3-642-00437-7_1, url : http://link.springer.com/10.1007/978-
3-642-00437-7_1 (visité le 02/12/2019).
[62] Bruno Dumas, María Solórzano et Beat Signer, « Design Guidelines for Adap-
tive Multimodal Mobile Input Solutions », in : août 2013, doi : 10.1145/2493190.
2493227.
[63] Deborah Estrin et al., « Connecting the Physical World with Pervasive Net-
works », in : Pervasive Computing, IEEE 1 (fév. 2002), p. 59-69, doi : 10.1109/
MPRV.2002.993145.
[64] Michael Feld, Robert Neβelrath et Tim Schwartz, « Software platforms and
toolkits for building multimodal systems and applications », in : The Handbook of
Multimodal-Multisensor Interfaces : Language Processing, Software, Commercia-
lization, and Emerging Directions, Association for Computing Machinery et Mor-
gan & Claypool, juill. 2019, p. 145-190, isbn : 978-1-970001-75-4, url : https:
//doi.org/10.1145/3233795.3233801 (visité le 15/06/2022).
[65] Daniel Fernandes et al., « Combining IoT and Users’ Profiles to Provide Contex-
tualized Information and Services », in : Journal of Internet Social Networking and
Virtual Communities 2020(2020) (jan. 2020), p. 1-10, doi : 10.5171/2020.663286.
207
[66] Matheus Frigo et al., « A Toolbox for the Internet of Things - Easing the Setup
of IoT Applications », in : oct. 2020.
[67] Heidilyn Gamido et Marlon Gamido, « Comparative Review of the Features of
Automated Software Testing Tools », in : International Journal of Electrical and
Computer Engineering 9 (oct. 2019), p. 4473-4478, doi : 10.11591/ijece.v9i5.
pp4473-4478.
[68] Vahid Garousi et Mika Mäntylä, « When and what to automate in software tes-
ting ? A multi-vocal literature review », in : Information and Software Technology
76 (avr. 2016), doi : 10.1016/j.infsof.2016.04.015.
[69] Giuseppe Ghiani, Marco Manca et Fabio Paternò, « Authoring context-dependent
cross-device user interfaces based on trigger/action rules », in : Proceedings of the
14th International Conference on Mobile and Ubiquitous Multimedia, MUM ’15,
Linz, Austria : Association for Computing Machinery, nov. 2015, p. 313-322, isbn :
978-1-4503-3605-5, doi : 10.1145/2836041.2836073, url : https://doi.org/
10.1145/2836041.2836073 (visité le 14/09/2021).
[70] Christos Goumopoulos, « A Middleware Architecture for Ambient Adaptive Sys-
tems », in : jan. 2016, p. 1-35, isbn : 978-3-319-23451-9, doi : 10.1007/978-3-
319-23452-6_1.
[71] Christos Goumopoulos et al., Next Generation Intelligent Environments, en,
sous la dir. de Stefan Ultes et al., Cham : Springer International Publishing,
2016, isbn : 978-3-319-23452-6, doi : 10.1007/978-3-319-23452-6, url : http:
//link.springer.com/10.1007/978-3-319-23452-6 (visité le 12/02/2020).
[72] Michael Grieves et John Vickers, « Digital Twin : Mitigating Unpredictable,
Undesirable Emergent Behavior in Complex Systems », in : août 2017, p. 85-113,
isbn : 978-3-319-38754-3, doi : 10.1007/978-3-319-38756-7_4.
[73] John Grundy et Biao Yang, « An environment for developing adaptive, multi-
device user interfaces », in : Proceedings of the Fourth Australasian user interface
conference on User interfaces 2003 - Volume 18, AUIC ’03, Adelaide, Australia :
Australian Computer Society, Inc., fév. 2003, p. 47-56, isbn : 978-0-909925-96-3,
(visité le 24/09/2021).
208
[74] Sandra G. Hart et Lowell E. Staveland, « Development of NASA-TLX (Task
Load Index) : Results of Empirical and Theoretical Research », en, in : Advances
in Psychology, sous la dir. de Peter A. Hancock et Najmedin Meshkati, t. 52,
Human Mental Workload, North-Holland, jan. 1988, p. 139-183, doi : 10.1016/
S0166- 4115(08)62386- 9, url : https://www.sciencedirect.com/science/
article/pii/S0166411508623869 (visité le 04/04/2022).
[75] Björn Hartmann et al., « Reflective physical prototyping through integrated de-
sign, test, and analysis », in : Proceedings of the 19th annual ACM symposium on
User interface software and technology, UIST ’06, Montreux, Switzerland : Asso-
ciation for Computing Machinery, oct. 2006, p. 299-308, isbn : 978-1-59593-313-3,
doi : 10.1145/1166253.1166300, url : https://doi.org/10.1145/1166253.
1166300 (visité le 31/08/2022).
[76] Gerd Herzog et Alassane Ndiaye, « Building Multimodal Dialogue Applications :
System Integration in SmartKom », en, in : SmartKom : Foundations of Multimodal
Dialogue Systems, sous la dir. de Wolfgang Wahlster, Cognitive Technologies,
Berlin, Heidelberg : Springer, 2006, p. 439-452, isbn : 978-3-540-36678-2, doi :
10.1007/3-540-36678-4_28, url : https://doi.org/10.1007/3-540-36678-
4_28 (visité le 07/04/2021).
[77] Frank Honold, Felix Schüssel et Michael Weber, « Adaptive probabilistic fis-
sion for multimodal systems », in : Proceedings of the 24th Australian Computer-
Human Interaction Conference, OzCHI ’12, Melbourne, Australia : Association
for Computing Machinery, nov. 2012, p. 222-231, isbn : 978-1-4503-1438-1, doi :
10.1145/2414536.2414575, url : https://doi.org/10.1145/2414536.2414575
(visité le 12/08/2022).
[78] Frank Honold et al., « Context Models for Adaptive Dialogs and Multimodal
Interaction », in : 2013 9th International Conference on Intelligent Environments,
ISSN : null, juill. 2013, p. 57-64, doi : 10.1109/IE.2013.54.
[79] Urs Hunkeler, Hong Linh Truong et Andy Stanford-Clark, « MQTT-S
— A publish/subscribe protocol for Wireless Sensor Networks », in : 2008 3rd
International Conference on Communication Systems Software and Middleware
and Workshops (COMSWARE ’08), jan. 2008, p. 791-798, doi : 10.1109/COMSWA.
2008.4554519.
209
[80] « ISO/IEC/IEEE International Standard - Systems and software engineering–Vocabulary »,
in : ISO/IEC/IEEE 24765 :2017(E) (août 2017), Conference Name : ISO/IEC/IEEE
24765 :2017(E), p. 1-541, doi : 10.1109/IEEESTD.2017.8016712.
[81] Hyun-Su Jang et al., « Agent-based Intelligent Middleware for User-Centric Ser-
vices in Ubiquitous Computing Environments », in : J. Inf. Sci. Eng. 27 (sept.
2011), p. 1729-1746.
[82] Kurt Jensen, Lars Michael Kristensen et Lisa Wells, « Coloured Petri Nets
and CPN Tools for modelling and validation of concurrent systems », en, in :
International Journal on Software Tools for Technology Transfer 9.3 (juin 2007),
p. 213-254, issn : 1433-2787, doi : 10.1007/s10009-007-0038-x, url : https:
//doi.org/10.1007/s10009-007-0038-x (visité le 19/09/2021).
[83] Wendy Ju et Larry Leifer, « The Design of Implicit Interactions : Making Inter-
active Systems Less Obnoxious », in : Design Issues 24.3 (juill. 2008), p. 72-84,
issn : 0747-9360, doi : 10.1162/desi.2008.24.3.72, url : https://doi.org/
10.1162/desi.2008.24.3.72 (visité le 29/08/2022).
[84] Robert S. Kennedy et al., « Simulator Sickness Questionnaire : An Enhanced Me-
thod for Quantifying Simulator Sickness », in : The International Journal of Avia-
tion Psychology 3.3 (juill. 1993), Publisher : Taylor & Francis _eprint : https ://-
doi.org/10.1207/s15327108ijap0303_3, p. 203-220, issn : 1050-8414, doi : 10 .
1207/s15327108ijap0303_3, url : https://doi.org/10.1207/s15327108ijap0303_
3 (visité le 04/04/2022).
[85] Pierre Taner Kirisci et al., « SUPPORTING INCLUSIVE PRODUCT DESIGN
WITH VIRTUAL USER MODELS AT THE EARLY STAGES OF PRODUCT
DEVELOPMENT », en, in : DS 68-9 : Proceedings of the 18th International
Conference on Engineering Design (ICED 11), Impacting Society through Engi-
neering Design, Vol. 9 : Design Methods and Tools pt. 1, Lyngby/Copenhagen,
Denmark, 15.-19.08.2011 (2011), p. 80-90, url : https://www.designsociety.
org / publication / 30786 / SUPPORTING + INCLUSIVE + PRODUCT + DESIGN + WITH +
VIRTUAL+USER+MODELS+AT+THE+EARLY+STAGES+OF+PRODUCT+DEVELOPMENT (visité
le 04/06/2021).
[86] Scott R. Klemmer et al., « Suede : a Wizard of Oz prototyping tool for speech user
interfaces », in : Proceedings of the 13th annual ACM symposium on User interface
software and technology, UIST ’00, San Diego, California, USA : Association for
210
Computing Machinery, nov. 2000, p. 1-10, isbn : 978-1-58113-212-0, doi : 10 .
1145/354401.354406, url : https://doi.org/10.1145/354401.354406 (visité
le 31/08/2022).
[87] Michael Knappmeyer et al., « Survey of Context Provisioning Middleware », in :
IEEE Communications Surveys Tutorials 15.3 (2013), p. 1492-1519, issn : 2373-
745X, doi : 10.1109/SURV.2013.010413.00207.
[88] Werner A. Konig, Roman Radle et Harald Reiterer, Interactive Design of
Multimodal User Interfaces Reducing technical and visual complexity, en, Library
Catalog : www.semanticscholar.org, 2009, url : https://www.semanticscholar.
org/paper/Interactive- Design- of- Multimodal- User- Interfaces- Konig-
Radle/fce4e431da4b53544011aeb1c8676a12dc841c98 (visité le 22/04/2022).
[89] Jérémy Lacoche et Eric Villain, « Prototyping Context-aware Augmented Rea-
lity Applications for Smart Environments inside Virtual Reality », in : GRAPP
2022, Online, Portugal, fév. 2022, url : https://hal.archives-ouvertes.fr/
hal-03559175 (visité le 11/03/2022).
[90] Jérémy Lacoche et al., « Model and Tools for Integrating IoT into Mixed Reality
Environments : Towards a Virtual-Real Seamless Continuum », in : ICAT-EGVE
2019 - International Conference on Artificial Reality and Telexistence and Euro-
graphics Symposium on Virtual Environments, Tokyo, Japan, sept. 2019, url :
https://hal.archives-ouvertes.fr/hal-02332096 (visité le 03/12/2019).
[91] Philippe Lalanda, Laurence Nigay et Morgan Martinet, « Multimodal Inter-
actions in Dynamic, Service-Oriented Pervasive Environments », in : 2014 IEEE
International Conference on Services Computing, ISSN : null, juin 2014, p. 251-258,
doi : 10.1109/SCC.2014.41.
[92] Jean-Yves Lawson et al., « An open source workbench for prototyping multimo-
dal interactions based on off-the-shelf heterogeneous components », in : jan. 2009,
p. 245-254, doi : 10.1145/1570433.1570480.
[93] Jean-Yves Lawson et al., « Component-Based High Fidelity Interactive Prototy-
ping of Post-WIMP Interactions. », in : nov. 2010, p. 47, doi : 10.1145/1891903.
1891961.
211
[94] Tobias Lechler et al., « Virtual Commissioning – Scientific review and explo-
ratory use cases in advanced production systems », in : Procedia CIRP 81 (juin
2019), p. 1125-1130, doi : 10.1016/j.procir.2019.03.278.
[95] Saija Lemmelä et al., « Designing and evaluating multimodal interaction for
mobile contexts », in : Proceedings of the 10th international conference on Mul-
timodal interfaces, ICMI ’08, Chania, Crete, Greece : Association for Compu-
ting Machinery, oct. 2008, p. 265-272, isbn : 978-1-60558-198-9, doi : 10.1145/
1452392.1452447, url : https://doi.org/10.1145/1452392.1452447 (visité le
19/05/2021).
[96] Irma Lindt, « Adaptive 3D-User-Interfaces », in : 2009.
[97] Pierre DE Loor et al., « Un simulateur d’usage pour l’évaluation des systèmes
interactifs multimodaux », fr, in : 7 (2006), p. 33.
[98] María Lozano et al., « Distributed user interfaces and multimodal interaction »,
in : 8541 (jan. 2014), p. 581-582.
[99] Zaigham Mahmood, éd., Guide to Ambient Intelligence in the IoT Environment,
en, Springer, 2019, isbn : 978-3-030-04172-4, url : https://doi.org/10.1007/
978-3-030-04173-1 (visité le 15/06/2022).
[100] Marco Manca et Fabio Paternò, « Customizable dynamic user interface dis-
tribution », in : Proceedings of the 8th ACM SIGCHI Symposium on Enginee-
ring Interactive Computing Systems, EICS ’16, Brussels, Belgium : Association
for Computing Machinery, juin 2016, p. 27-37, isbn : 978-1-4503-4322-0, doi :
10.1145/2933242.2933259, url : https://doi.org/10.1145/2933242.2933259
(visité le 22/03/2022).
[101] Nicolai Marquardt, Frederico Schardong et Anthony Tang, « EXCITE :
EXploring Collaborative Interaction in Tracked Environments », en, in : Human-
Computer Interaction – INTERACT 2015, sous la dir. de Julio Abascal et al.,
Lecture Notes in Computer Science, Cham : Springer International Publishing,
2015, p. 89-97, isbn : 978-3-319-22668-2, doi : 10.1007/978-3-319-22668-2_8.
[102] Nicolai Marquardt et al., « The proximity toolkit : prototyping proxemic inter-
actions in ubiquitous computing ecologies », in : Proceedings of the 24th annual
ACM symposium on User interface software and technology, UIST ’11, Santa Bar-
bara, California, USA : Association for Computing Machinery, oct. 2011, p. 315-
212
326, isbn : 978-1-4503-0716-1, doi : 10.1145/2047196.2047238, url : https:
//doi.org/10.1145/2047196.2047238 (visité le 16/03/2022).
[103] Simon Mayer et al., « Configuration of smart environments made simple : Com-
bining visual modeling with semantic metadata and reasoning », in : 2014 Inter-
national Conference on the Internet of Things (IOT), oct. 2014, p. 61-66, doi :
10.1109/IOT.2014.7030116.
[104] Tomasz Mazuryk et Michael Gervautz, « Virtual Reality - History, Applica-
tions, Technology and Future », in : (déc. 1999).
[105] Hildeberto Mendonça et al., « A fusion framework for multimodal interactive
applications », in : Proceedings of the 2009 international conference on Multi-
modal interfaces, ICMI-MLMI ’09, Cambridge, Massachusetts, USA : Association
for Computing Machinery, nov. 2009, p. 161-168, isbn : 978-1-60558-772-1, doi :
10.1145/1647314.1647344, url : https://doi.org/10.1145/1647314.1647344
(visité le 19/09/2021).
[106] Maximilian Metzner et al., « Intuitive, VR- and Gesture-based Physical Inter-
action with Virtual Commissioning Simulation Models », in : jan. 2020, p. 11-20,
isbn : 978-3-662-61754-0, doi : 10.1007/978-3-662-61755-7_2.
[107] Andrei Miclaus, Till Riedel et Michael Beigl, « End-user installation of hetero-
geneous home automation systems using pen and paper interfaces and dynamically
generated documentation », in : 2014 International Conference on the Internet of
Things (IOT), oct. 2014, p. 19-24, doi : 10.1109/IOT.2014.7030109.
[108] Markus Modzelewski et al., « Creative Design for Inclusion Using Virtual User
Models », in : t. 7382, juill. 2012, p. 288-294, isbn : 978-3-642-31521-3, doi :
10.1007/978-3-642-31522-0_43.
[109] Sebastian Moller et al., « A taxonomy of quality of service and Quality of Expe-
rience of multimodal human-machine interaction », in : 2009 International Work-
shop on Quality of Multimedia Experience, juill. 2009, p. 7-12, doi : 10.1109/
QOMEX.2009.5246986.
[110] G. Mori, F. Paternò et Carmen Santoro, « CTTE : Support for Developing
and Analyzing Task Models for Interactive System Design », in : IEEE Trans.
Software Eng. (2002), doi : 10.1109/TSE.2002.1027801.
213
[111] Camille Moussette, Tangible interaction toolkits for designers, en, Library Ca-
talog : www.semanticscholar.org, 2007, url : https://www.semanticscholar.
org / paper / Tangible - interaction - toolkits - for - designers - Moussette /
69fcf4959218be260cdf581219c88d6e8d077425 (visité le 06/10/2021).
[112] Michel Nass, Emil Alégroth et Robert Feldt, « Why many challenges with
GUI test automation (will) remain », en, in : Information and Software Technology
138 (oct. 2021), p. 106625, issn : 0950-5849, doi : 10.1016/j.infsof.2021.
106625, url : https : / / www . sciencedirect . com / science / article / pii /
S0950584921000963 (visité le 30/08/2022).
[113] David Navarre et al., « ICOs : A model-based user interface description technique
dedicated to interactive systems addressing usability, reliability and scalability »,
in : ACM Trans. Comput.-Hum. Interact. 16 (nov. 2009).
[114] Robert Neßelrath, « SiAM-dp », thèse de doct., jan. 2016.
[115] Americo Talarico Neto et Renata Pontin de Mattos Fortes, « Improving mul-
timodal interaction design with the MMWA authoring environment », in : Pro-
ceedings of the 28th ACM International Conference on Design of Communication,
New York, NY, USA : Association for Computing Machinery, sept. 2010, p. 151-
158, isbn : 978-1-4503-0403-0, url : https : / / doi . org / 10 . 1145 / 1878450 .
1878476 (visité le 06/01/2021).
[116] Laurence Nigay et Joëlle Coutaz, « A design space for multimodal systems :
concurrent processing and data fusion », en, in : Proceedings of the SIGCHI confe-
rence on Human factors in computing systems - CHI ’93, Amsterdam, The Nether-
lands : ACM Press, 1993, p. 172-178, isbn : 978-0-89791-575-5, doi : 10.1145/
169059.169143, url : http://portal.acm.org/citation.cfm?doid=169059.
169143 (visité le 02/12/2019).
[117] Laurence Nigay et Joëlle Coutaz, « Espaces conceptuels pour l’interaction mul-
timédia et multimodale », in : Technique Et Science Informatiques - TSI 15 (jan.
1996).
[118] Laurence Nigay, Yann Laurillau et Frédéric Jourde, « Description of tasks
with multi-user multimodal interactive systems : existing notations », fr, in : Jour-
nal d’Interaction Personne-Système Volume 3, Numéro 3, Numéro Spécial : Mo-
dèles de Tâches (juill. 2015), Publisher : Episciences.org, doi : 10.46298/jips.
658, url : https://jips.episciences.org/658/pdf (visité le 05/10/2021).
214
[119] Anke van Oosterhout, Miguel Bruns et Eve Hoggan, « Facilitating Flexible
Force Feedback Design with Feelix », in : Proceedings of the 2020 International
Conference on Multimodal Interaction, ICMI ’20, Virtual Event, Netherlands :
Association for Computing Machinery, oct. 2020, p. 184-193, isbn : 978-1-4503-
7581-8, doi : 10.1145/3382507.3418819, url : https://doi.org/10.1145/
3382507.3418819 (visité le 05/10/2021).
[120] Sharon Oviatt et Philip R. Cohen, « The Paradigm Shift to Multimodality in
Contemporary Computer Interfaces », in : Synthesis Lectures on Human-Centered
Informatics 8.3 (avr. 2015), Publisher : Morgan & Claypool Publishers, p. 1-243,
issn : 1946-7680, doi : 10 . 2200 / S00636ED1V01Y201503HCI030, url : https :
//www.morganclaypool.com/doi/abs/10.2200/S00636ED1V01Y201503HCI030
(visité le 18/05/2020).
[121] F. Paternò et al., « Authoring pervasive multimodal user interfaces », in : Int.
J. Web Eng. Technol. (2008), doi : 10.1504/IJWET.2008.018099.
[122] Shachi Paul, Rahul Goel et Dilek Hakkani-Tür, Towards Universal Dialogue
Act Tagging for Task-Oriented Dialogues, rapp. tech. arXiv :1907.03020, arXiv :1907.03020
[cs] type : article, arXiv, juill. 2019, doi : 10.48550/arXiv.1907.03020, url :
http://arxiv.org/abs/1907.03020 (visité le 26/09/2022).
[123] Matthias Peissner et al., « Interim Report on VUMS cluster standardisation »,
en, in : (juin 2011), p. 59, url : https : / / manualzz . com / doc / o / v1opy /
myui--mainstreaming-accessibility-through-synergistic-user-context-
management-approach.
[124] Carlos Pereira, António Teixeira et Miguel Oliveira e Silva, « Live evaluation
within ambient assisted living scenarios », in : Proceedings of the 7th International
Conference on PErvasive Technologies Related to Assistive Environments, PETRA
’14, Rhodes, Greece : Association for Computing Machinery, mai 2014, p. 1-6,
isbn : 978-1-4503-2746-6, doi : 10.1145/2674396.2674414, url : https://doi.
org/10.1145/2674396.2674414 (visité le 31/08/2022).
[125] Sebastian Peters, « MIBO - A Framework for the Integration of Multimodal
Intuitive Controls in Smart Buildings », in : 2016.
215
[126] Sebastian Peters, Jan Ole Johanssen et Bernd Bruegge, « An IDE for mul-
timodal controls in smart buildings », in : Proceedings of the 18th ACM Interna-
tional Conference on Multimodal Interaction, ICMI ’16, Tokyo, Japan : Associa-
tion for Computing Machinery, oct. 2016, p. 61-65, isbn : 978-1-4503-4556-9, doi :
10.1145/2993148.2993162, url : https://doi.org/10.1145/2993148.2993162
(visité le 14/09/2021).
[127] Thies Pfeiffer et Nadine Pfeiffer-Leßmann, « Virtual Prototyping of Mixed
Reality Interfaces with Internet of Things (IoT) Connectivity », in : i-com 17.2
(2018), p. 179-186, issn : 1618-162X, doi : 10 . 1515 / icom - 2018 - 0025, url :
https://www.degruyter.com/view/j/icom.2018.17.issue- 2/icom- 2018-
0025/icom-2018-0025.xml (visité le 03/12/2019).
[128] Fabio Pittarello et Augusto Celentano, « Deployment of Multimodal Ser-
vices : an Ontology Driven Architecture », in : IEEE International Conference on
Pervasive Services, juill. 2007, p. 267-274, doi : 10.1109/PERSER.2007.4283925.
[129] Fabrice Poirier et al., « Interactive Multimodal System Characterization in the
Internet of Things Context », in : HUCAPP 2022, Conférence Virtuelle en ligne,
France, fév. 2022, url : https://hal.archives- ouvertes.fr/hal- 03451478
(visité le 22/03/2022).
[130] Davy Preuveneers et Paulo Novais, « A survey of software engineering best
practices for the development of smart applications in Ambient Intelligence », en,
in : Journal of Ambient Intelligence and Smart Environments 4.3 (jan. 2012),
Publisher : IOS Press, p. 149-162, issn : 1876-1364, doi : 10.3233/AIS- 2012-
0150, url : https://content.iospress.com/articles/journal-of-ambient-
intelligence-and-smart-environments/ais150 (visité le 30/08/2022).
[131] Gaëtan Pruvost, « Modélisation et conception d’une plateforme pour l’interac-
tion multimodale distribuée en intelligence ambiante », fr, thèse de doct., Univer-
sité Paris Sud - Paris XI, fév. 2013, url : https://tel.archives-ouvertes.fr/
tel-00805487 (visité le 24/02/2020).
[132] Ismo Rakkolainen et al., « Technologies for Multimodal Interaction in Extended
Reality—A Scoping Review », en, in : Multimodal Technologies and Interaction
5.12 (déc. 2021), Number : 12 Publisher : Multidisciplinary Digital Publishing
Institute, p. 81, issn : 2414-4088, doi : 10 . 3390 / mti5120081, url : https :
//www.mdpi.com/2414-4088/5/12/81 (visité le 20/07/2022).
216
[133] Leah M. Reeves et al., « Guidelines for multimodal user interface design », in :
Communications of the ACM 47.1 (jan. 2004), p. 57-59, issn : 0001-0782, doi :
10.1145/962081.962106, url : https://doi.org/10.1145/962081.962106
(visité le 15/09/2021).
[134] Gianna Reggio et al., « What are IoT systems for real ? An experts’ survey
on software engineering aspects », en, in : Internet of Things 12 (déc. 2020),
p. 100313, issn : 2542-6605, doi : 10.1016/j.iot.2020.100313, url : https:
//www.sciencedirect.com/science/article/pii/S254266052030144X (visité
le 05/07/2022).
[135] Ana Rocha et al., « An Accessible Smart Home Based on Integrated Multimodal
Interaction », in : Sensors 21 (août 2021), p. 5464, doi : 10.3390/s21165464.
[136] Pedro Rodrigues et Jose Luis Silva, « Help through demonstration and automa-
tion for interactive computing systems : A survey of recent works », en, in : Interna-
tional Journal of Electrical and Computer Engineering (IJECE) 11.2 (avr. 2021),
Number : 2, p. 1549-1560, issn : 2722-2578, doi : 10.11591/ijece.v11i2.pp1549-
1560, url : https://ijece.iaescore.com/index.php/IJECE/article/view/
21962 (visité le 25/09/2022).
[137] Berha Helena Rodriguez et Jean-Claude Moissinac, « Discovery and Regis-
tration : Finding and Integrating Components into Dynamic Systems », en, in :
(2017), Publisher : Springer, p. 325, doi : 10.1007/978- 3- 319- 42816- 1_15,
url : https://hal.telecom-paris.fr/hal-02287487 (visité le 03/10/2021).
[138] Léon Rothkrantz et al., « Multimodal Dialog Management », in : (mars 2012).
[139] Cyril Rousseau et al., « A framework for the intelligent multimodal presentation
of information », en, in : Signal Processing, Special Section : Multimodal Human-
Computer Interfaces 86.12 (déc. 2006), p. 3696-3713, issn : 0165-1684, doi : 10.
1016 / j . sigpro . 2006 . 02 . 041, url : https : / / www . sciencedirect . com /
science/article/pii/S0165168406001423 (visité le 16/02/2021).
[140] Cyril Rousseau et al., « Multimodal output simulation platform for real-time
military systems », in : (jan. 2005).
[141] Angela Sasse, David Thevenin et Joëlle Coutaz, « Plasticity of User Interfaces :
Framework and Research Agenda », in : (fév. 2000).
217
[142] Albrecht Schmidt, « Interactive context-aware systems interacting with ambient
intelligence », in : Ambient intelligence (jan. 2005), p. 159-178.
[143] Ronny Seiger et al., « A framework for rapid prototyping of multimodal interac-
tion concepts », in : CEUR Workshop Proceedings 1380 (jan. 2015), p. 21-28.
[144] Pallavi Sethi et Smruti R. Sarangi, « Internet of Things : Architectures, Proto-
cols, and Applications », en, in : Journal of Electrical and Computer Enginee-
ring 2017 (jan. 2017), Publisher : Hindawi, e9324035, issn : 2090-0147, doi :
10.1155/2017/9324035, url : https://www.hindawi.com/journals/jece/
2017/9324035/ (visité le 14/11/2022).
[145] Jie Shen, Wenzhe Shi et Maja Pantic, « HCIλ2 Workbench : A development tool
for multimodal human-computer interaction systems », in : avr. 2011, p. 766-773,
doi : 10.1109/FG.2011.5771346.
[146] José Silva et al., « Analysis of WIMP and Post WIMP Interactive Systems based
on Formal Specification », in : (jan. 2013).
[147] Samuel Silva et al., « Design and Development of Multimodal Applications : A
Vision on Key Issues and Methods », en, in : Universal Access in Human-Computer
Interaction. Access to Today’s Technologies, sous la dir. de Margherita Antona et
Constantine Stephanidis, Lecture Notes in Computer Science, Cham : Springer
International Publishing, 2015, p. 109-120, isbn : 978-3-319-20678-3, doi : 10 .
1007/978-3-319-20678-3_11.
[148] Anoop Sinha et James Landay, « Capturing user tests in a multimodal, multide-
vice informal prototyping tool », in : jan. 2003, p. 117-124, doi : 10.1145/958432.
958457.
[149] Barnabé Edoh Barnabé Soedji, Jérémy Lacoche et Eric Villain, « Creating
AR Applications for the IOT : a New Pipeline », in : VRST ’20 : 26th ACM
Symposium on Virtual Reality Software and Technology, Virtual Event Canada,
France : ACM, nov. 2020, p. 1-2, doi : 10.1145/3385956.3422088, url : https:
//hal.archives-ouvertes.fr/hal-03005941 (visité le 06/10/2021).
[150] Thanos G. Stavropoulos et al., « BOnSAI : a smart building ontology for am-
bient intelligence », in : Proceedings of the 2nd International Conference on Web
Intelligence, Mining and Semantics, WIMS ’12, Craiova, Romania : Association
for Computing Machinery, juin 2012, p. 1-12, isbn : 978-1-4503-0915-8, doi :
218
10.1145/2254129.2254166, url : https://doi.org/10.1145/2254129.2254166
(visité le 28/08/2022).
[151] Stefanos Stavrotheodoros et al., « A Smart-Home IoT Infrastructure for the
Support of Independent Living of Older Adults », en, in : t. AICT-520, Springer
International Publishing, mai 2018, p. 238, doi : 10.1007/978- 3- 319- 92016-
0_22, url : https://hal.inria.fr/hal-01821303 (visité le 02/06/2021).
[152] Richard Stoakley, Matthew J. Conway et Randy Pausch, « Virtual reality
on a WIM : interactive worlds in miniature », in : Proceedings of the SIGCHI
Conference on Human Factors in Computing Systems, CHI ’95, Denver, Colorado,
USA : ACM Press/Addison-Wesley Publishing Co., mai 1995, p. 265-272, isbn :
978-0-201-84705-5, doi : 10.1145/223904.223938, url : https://doi.org/10.
1145/223904.223938 (visité le 26/04/2022).
[153] Ryohei Suzuki, Katsutoshi Masai et Maki Sugimoto, ReallifeEngine : A Mixed
Reality-Based Visual Programming System for SmartHomes, en, Accepted : 2019-
09-11T05 :43 :10Z ISSN : 1727-530X, The Eurographics Association, 2019, isbn :
978-3-03868-083-3, doi : 10.2312/egve.20191287, url : https://diglib.eg.
org:443/xmlui/handle/10.2312/egve20191287 (visité le 22/03/2022).
[154] Ronnie Taib et Natalie Ruiz, « Wizard of Oz for Multimodal Interfaces Design :
Deployment Considerations », in : juill. 2007, p. 232-241, isbn : 978-3-540-73104-7,
doi : 10.1007/978-3-540-73105-4_26.
[155] Farshid Tavakolizadeh, Sisay Adugna Chala et Hanbing Zhang, « An Inter-
active Interface for Bulk Software Deployment in IoT », in : Proceedings of the 9th
International Conference on the Internet of Things, IoT 2019, Bilbao, Spain : Asso-
ciation for Computing Machinery, oct. 2019, p. 1-4, isbn : 978-1-4503-7207-7, doi :
10.1145/3365871.3365912, url : https://doi.org/10.1145/3365871.3365912
(visité le 27/07/2022).
[156] Jean-Claude Thill, Diep Dao et Yuhong Zhou, « Traveling in the three-dimensional
city : Applications in route planning, accessibility assessment, location analysis
and beyond », in : Journal of Transport Geography - J TRANSP GEOGR 19 (mai
2011), p. 405-421, doi : 10.1016/j.jtrangeo.2010.11.007.
[157] Jean Vanderdonckt, « Distributed User Interfaces : How to Distribute User
Interface Elements across Users, Platforms, and Environments », in : (jan. 2010).
219
[158] Geert Vanderhulst, Kris Luyten et Karin Coninx, « Pervasive maps : Ex-
plore and interact with pervasive environments », in : 2010 IEEE International
Conference on Pervasive Computing and Communications (PerCom), mars 2010,
p. 227-234, doi : 10.1109/PERCOM.2010.5466973.
[159] Geert Vanderhulst et al., « Edit, inspect and connect your surroundings : a
reference framework for meta-UIs », in : Proceedings of the 1st ACM SIGCHI sym-
posium on Engineering interactive computing systems, EICS ’09, Pittsburgh, PA,
USA : Association for Computing Machinery, juill. 2009, p. 167-176, isbn : 978-
1-60558-600-7, doi : 10.1145/1570433.1570466, url : https://doi.org/10.
1145/1570433.1570466 (visité le 21/11/2022).
[160] Christoph Veigl et al., « Model-based design of novel human-computer interfaces
— The Assistive Technology Rapid Integration & Construction Set (AsTeRICS) »,
in : 2013 ISSNIP Biosignals and Biorobotics Conference : Biosignals and Robotics
for Better and Safer Living (BRC), ISSN : 2326-7844, fév. 2013, p. 1-7, doi :
10.1109/BRC.2013.6487539.
[161] Roman Vilimek, « More Than Words : Designing Multimodal Systems », en, in :
Usability of Speech Dialog Systems : Listening to the Target Audience, sous la dir. de
Thomas Hempel, Signals and Commmunication Technologies, Berlin, Heidelberg :
Springer, 2008, p. 123-145, isbn : 978-3-540-78343-5, doi : 10.1007/978-3-540-
78343-5_6, url : https://doi.org/10.1007/978-3-540-78343-5_6 (visité le
23/06/2021).
[162] Ina Wechsung, An Evaluation Framework for Multimodal Interaction : Determi-
ning Quality Aspects and Modality Choice, en, T-Labs Series in Telecommunication
Services, Cham : Springer International Publishing, 2014, isbn : 978-3-319-03809-
4, doi : 10.1007/978-3-319-03810-0, url : http://link.springer.com/10.
1007/978-3-319-03810-0 (visité le 07/02/2020).
[163] Mark Weiser, « The Computer for the 21 st Century », in : Scientific American
265.3 (1991), Publisher : Scientific American, a division of Nature America, Inc.,
p. 94-105, issn : 0036-8733, url : https://www.jstor.org/stable/24938718
(visité le 28/09/2021).
220
Titre : Les interactions multimodales dans le contexte de l’internet des objets
Mot clés : Interactions Multimodales, Informatique ambiante, Objets connectés, Internet des
Objets, Réalité Virtuelle
Résumé : Les MIBS sont des systèmes multi- per notre propre framework. À ce stade une
modaux utilisant des objets connectés comme intervention humaine est nécessaire au pro-
interfaces d’interaction. Il faut des méthodes et cessus d’adaptation des MIBS. Nous avons
des outils pour faciliter l’adaptation de ces sys- ensuite proposé une étude du cycle de vie
tèmes aux spécificités des environnements de ces systèmes pour identifier les tâches,
d’exécution. D’un environnement à l’autre, les rôles et outils intervenant dans ce processus
objets connectés sont différents, placés à des d’adaptation. Pour outiller l’étape de déploie-
endroits différents, avec des disponibilités va- ment des MIBS nous avons proposé une mé-
riables. Un état de l’art a permis d’identifier thode et un outil proposant d’utiliser la Réalité
les exigences à atteindre pour réaliser des Virtuelle (RV) pour configurer et évaluer des
MIBS, puis de déterminer les fonctionnalités MIBS dans des modèles 3D d’environnements
essentielles et les principales limitations des avant de passer au déploiement dans les en-
frameworks permettant de réaliser des MIBS. vironnements réels. Une expérimentation utili-
Cela nous a permis de proposer et dévelop- sateur a confirmé l’intérêt de cette approche.
Abstract: MIBS are multimodal systems using velop our own framework. At this stage, hu-
connected objects as interaction interfaces. man intervention is necessary for the MIBS
Methods and tools are needed to facilitate the adaptation process. We then proposed a study
adaptation of these systems to the specificities of the life cycle of these systems to identify the
of the execution environments. From one envi- tasks, roles and tools involved in this adapta-
ronment to another, the connected objects are tion process. To equip the MIBS deployment
different, placed in different places, with vari- stage, we have proposed a method and a tool
able availability. A state of the art made it pos- proposing to use Virtual Reality (VR) to con-
sible to identify the requirements to be met in figure and evaluate MIBS in 3D models of en-
order to create MIBS, then to determine the vironments before moving on to deployment
essential functionalities and the main limita- in real environments. A user experiment con-
tions of the frameworks allowing the creation firmed the interest of this approach.
of MIBS. This allowed us to propose and de-