L’objectif de l’informatique ambiante est de faire disparaître l’informatique traditionnelle au profit d’un espace informatisé sensible au contexte au service des activités humaines.
Afin de formaliser la notion de contexte, nous avons proposé en 2002 un méta modèle s’appuyant sur les notions de rôle, relation et situation. Une situation est définie par un ensemble de rôles (associés à des entités perçues) et de relations (entre les entités jouant ces rôles). A chaque situation est associé un ensemble d’actions correspondantes (si la réunion commence, mon téléphone passe en mode vibreur). Un contexte (ou scénario) est un graphe temporel de situations.
La mise en place d’applications sensibles au contexte repose sur deux acteurs : le développeur et l’utilisateur final. La notion de situation pertinente est une notion personnelle. De la même manière que dans le cadre d’une application « traditionnelle », le développeur fournit des choix par défaut (taille des fenêtres, couleur, police etc) que l’utilisateur peut ensuite modifier à sa convenance, le développeur doit fournir un ensemble de contextes (graphe de situations et actions correspondantes) à priori pertinent pour l’ensemble des utilisateurs, chaque utilisateur devant pouvoir adapter cette liste à ces propres besoins. La complexité de cette tâche est grande, aussi bien du point de vue du développeur que de l’utilisateur final. Il est important de proposer une approche adaptée à ces deux catégories d’acteurs. Nous avons proposé avec mes différents doctorants une pile logicielle complète allant des capteurs à la proposition de services. Cette pile repose sur de l’apprentissage automatique pour l’interprétation des données perçues (SVM, modèles bayésiens), de l’ingénierie dirigée par les modèles pour la génération automatique de modules de reconnaissance de scénarios (réseaux de Petri synchronisés, HMM) à partir d’une description formelle (Réseau de Petri). Elle propose également de l’apprentissage supervisé et de l’apprentissage renforcé indirect pour l’adaptation du comportement au souhait de l’utilisateur.
Bilan tiré en 2011 : où en est-on ?
Weiser, dans sa vision initiale, parlait de l’ordinateur du 21 ème siècle. Nous sommes actuellement au 21 ème siècle. Avons-nous atteint cette vision ? De l’avis général, ce n’est pas le cas et la plupart des publications parlent de l’intelligence ambiante comme d’un avenir proche, comme le faisait déjà Weiser en 1991. C’est donc un domaine qui est toujours tout proche (just around the corner) depuis 15 ans, mais qui est toujours repoussé à demain, qu’on n’atteint finalement jamais.
Un des problèmes important dans le cadre des systèmes ambiants est le décalage entre les scénarios imaginés par les scientifiques et les attentes réelles des usagers. Il n’existe pas de scénario type pouvant convenir au plus grand nombre mais chaque utilisateur a ses propres besoins et attentes, ses besoins évoluant au cours du temps de manière opportuniste.
Intelligence Ambiante : Ambiante
Pourtant, de nombreux progrès significatifs ont été accomplis. Comme le souligne Aarts de Philips Research en 2009, la technologie est de moins en moins un élément bloquant dans le développement de l’intelligence ambiante. Les progrès récents en micro-électronique, dans le domaine des réseaux sans fil, dans la gestion de l’énergie, etc. commencent à rendre réaliste le déploiement de capteurs ou d’interacteurs dans nos environnements. Ce constat fait en 2009 sur lequel je me suis appuyé en 2011 se réalise pleinement de nos jours avec l’arrivée massive des objets connectés ainsi que des boxes et kits de domotique pour les particuliers.
Intelligence Ambiante : Intelligence
Si l’on reprend le terme Intelligence Ambiante, la partie ambiante est donc de plus en plus une réalité même si elle ne correspond pas à la vision de Weiser où les infrastructures seraient continues et sans heurt. Nous vivons au contraire dans un monde où ces infrastructures sont par nature un fouillis. La partie intelligence n’a pas suivi le même développement et reste un verrou important. Cette intelligence doit être « système » (sensibilité au contexte, adaptation, anticipation etc) mais également sociale (étiquette, sens commun, sensibilité aux émotions etc). Les systèmes ambiants doivent apporter un service adapté mais doivent également être soucieux de respecter les conventions sociales (ne pas déranger une personne occupée par exemple). Depuis 2011, on constate également une arrivée importante “d’assistants ou compagnons virtuels” (Google now, Siri, Robots Compagnons par exemple). Au-delà du « simple » respect des conventions sociales, leur implication de plus en plus forte et profonde dans nos vies et notre sphère sociale implique qu’il est important d’en mesurer les conséquences et les dangers.
Des systèmes proactifs aux usagers proactifs
Suite aux constats précédents, j’ai décidé de réorienter la direction de mes recherches en 2011. Je suis passé d’une approche « génie logiciel et centrée expert » à une approche centrée utilisateur. L’objectif est de redonner le contrôle aux usagers en leur offrant la possibilité de façonner et contrôler leur expérience ambiante à travers des approches de type apprentissage interactif incrémental.