Acquisitions et Modélisations pour la Acquisitions et Modélisations pour la
Gestion des Contextes Gestion des Contextes
Équipe Rainbow Équipe Rainbow
Stéphane Lavirotte ([email protected]) Jean-Yves Tigli ([email protected]) Diane Lingrand ([email protected])
I3S - UMR 6070
(CNRS - Université de Nice - Sophia Antipolis)
Plan Plan
{
Pourquoi s’intéresser au contexte ?
{
Qu’est-ce que le contexte ?
z Définitions
z Classification des contextes
{
Modélisation
z Modèles
z Architectures
{
Mise en application et Conclusion
Pourquoi s’intéresser au Contexte ? Pourquoi s’intéresser au Contexte ?
{
Dans le communication humaine
z Information situationnelle souvent implicite
z Augmente la « bande passante » conversationnelle
{
But
z Augmenter l’efficacité (en terme d’interaction) et faciliter les interactions en prenant en compte le « contexte
environnementale »
z Adapter dynamiquement les applications aux environnements d’exécution
Les Utilisations du Contexte en Les Utilisations du Contexte en
Informatique Informatique
{
Context-Aware Computing
z Mobile Computing (Huang, « Supporting Context-aware Computing in Ad Hoc Mobile Environments », Technical Report WUCS-02-36, 2002)
{
Ambiant Intelligence
z Ubiquitous Computing (Weiser, « The computer of the 21th century », Scientific American, 1991)
z Pervasive Computing
{
Applications Réseau (QS)
z Diffusion de média, …
{
IHM
{
Grilles
{
…
Définitions et Classifications
Définitions et Classifications
Qu’est ce que le Contexte Qu’est ce que le Contexte
{
Étymologie
z Contexte = « co-text » : ce qui est de part et d’autre d’une expression
{
Actuellement
z Acceptation plus large du terme
z Contexte: un ensemble de circonstances qui encadre un événement ou un objet
z Notion pluridisciplinaire
{ Corpus de plus de 150 définitions (Bazire and Brézillon, « Understanding Context Before Using it», LNAI 3554, Modeling and Using Context, 2005)
{ Psychologie, …, Informatique
{ Difficile de trouver une définition satisfaisant toutes les disciplines
Définitions du Contexte Appliquées à Définitions du Contexte Appliquées à
l’Informatique l’Informatique
{
Définitions par énumération
z Souvent utilisé dans les premières applications
z Type de définition trop limitant
z Localisation, environnement, identité, date et heure, bande passante, …
{
Définitions par description
z « Aspects de la situation actuelle »: peut-être trop généraliste
z « Les éléments de l’environnement dont l’ordinateur à connaissance » [Brown 1996]
Le Contexte selon Dey et Abowd Le Contexte selon Dey et Abowd
{
« Le contexte est défini par toute information qui peut être utilisée pour caractériser une entité. Une entité peut être une personne, un lieu, un objet, pouvant être considérée comme appropriée dans l’interaction homme / application, incluant l’utilisateur et l’application eux-mêmes. »
{
« Un système est dit sensible au contexte s’il utilise le contexte pour fournir les informations et/ou les services
pertinents à l’utilisateur, la pertinence dépendant des tâches de l’utilisateur. »
{
Le auteurs parlent de
z Contexte primaire (localisation, identité, heure, …)
z Contexte secondaire (adresse email, …)
Le Contexte selon Chen et Kotz Le Contexte selon Chen et Kotz
{
« Le contexte est un ensemble d’états et de
paramètres qui soit détermine le comportement d’une application ou bien dans lequel un événement
d’application se produit et est intéressant pour l’utilisateur. »
{
Distinction de deux catégories d’informations
z Critiques: le contexte actif (caractéristiques déterminant le comportement)
z Appropriées: le contexte passif (approprié mais non critique)
Classification des Contextes Classification des Contextes
{
Types de contexte
z Physique: externe, mesuré par des capteurs matériels
z Logique: interne, spécifié par l’utilisateur ou capturé par un système de monitoring
z Explicite (fourni par l’utilisateur) / Implicite
{
Classification du contexte en familles:
z Contexte environnemental: proximité, bruit, climat, …
z Contexte utilisateur: localisation, activité, émotion, …
z Contexte machine: énergie, ressources, occupation système, connexions, débits réseau, …
z Contexte temporel: date, heure, historique des actions, …
Capture des Informations Capture des Informations
Contextuelles: Capteurs / Senseurs Contextuelles: Capteurs / Senseurs
{
Capteurs physiques
z GPS, accéléromètres, microphones, caméras, thermomètres, senseurs tactiles, Bio-senseurs
{
Capteurs virtuels
z Activité de l’utilisateur par analyse des mouvements de la souris et les interactions claviers
z Localisation par utilisation d’un agenda électronique
{
Capteurs logiques
z Combinaison de plusieurs capteurs physiques et virtuels avec recours éventuel à une base d’informations
Plusieurs Sources pour un même Plusieurs Sources pour un même
Type d’Information Type d’Information
{
Localisation géographique:
z GPS, GSM, badges IR, RFID, ultra-sons, caméras, …
{
Identification:
z lecteur d’empruntes, reconnaissance vocale, caméras, code alpha numérique, …
{
Température:
z capteur thermomètre numérique, internet (serveur météo), …
{
Heure:
z Horloge interne ordinateur, radio, internet (ntp), …
Utilisation du Contexte Utilisation du Contexte
{
Challenge: synthétiser des événements de haut niveau à partir:
z d’événements de bas niveau
z d’informations partielles (manques)
z d’informations partiellement correctes (erreurs)
z d’informations en contradiction (plusieurs sources)
{
Proposition de solution pour résoudre ces problèmes
z Donner une priorité aux informations
z Utiliser des modèles probabilistes
Modèles et Architectures
Modèles et Architectures
Représentation du Contexte Représentation du Contexte
{
Différents types de structures de données ont été utilisés pour la modélisation ou représentation du contexte
(Chen et Kotz){
Souvent le contexte est décrit comme un ensemble d’attributs
z Paires de nom/valeur
z Brown pointe aussi que les valeurs des attributs comme
« none », « any » et « not-working » sont nécessaires pour avoir tous les comportements souhaitables.
Formalisation de la mesure des Formalisation de la mesure des
Composantes Contextuelles Composantes Contextuelles
{
Modélisation à l’aide de fonctions de distance:
z Pauty, Couderc, Banâtre, 2004.
z Zones contextuelles
{
Modélisation à l’aide de fonctions de coût
z Lavirotte, Lingrand, Tigli, 2005.
z Zones contextuelles
z Mode de sélection asymétrique
But des modélisations But des modélisations
{
Cacher la complexité des capteurs / senseurs utilisés
{
Fournir une abstraction des informations contextuelles
{
Fournir des outils réutilisables et paramétrables pour la
gestion des informations contextuelles
« « Context Toolkit Context Toolkit » »
{
Salber, Dey et Abowd définissent une boîte à outils pour le contexte
(Proc. Conf. Human Factors in Computing Systems, CHI’99, 1999)z Context Widgets: obtient un type d’info contextuelle
z Context Operations:
{ Interpreters, Aggregators, Services, Discoverers
{
Description complète du système dans:
z Special Issue on Context-Aware Computing of Human- Computer Interaction (2001), 70 pages
{
Code disponible pour l’expérimentation
z http://contexttoolkit.sourceforge.net/
Enactor Enactor
{
Newberger, Dey, 2003.
{
Composants
encapsulant la logique de l’application
{
References
z Acquisition du contexte
{
Listeners
z Surveille les changements
Contextor Contextor
{
Coutaz, Rey, 2002.
z Context = composition de situation multiples dans un laps de temps donné
z Situation = un ensemble de valeurs observées
{
Types de contextors:
z Elementary, History, Threshold, Translation, Fusion, Abstraction
{
Types de composition:
z Encapsulation, Data Channels Connection
{
Propriétés
z Reflexivité, Remanence, Mobilité
« « Context Information Service Context Information Service » »
{
Pascoe, Ryan et Morse:
z « le cœur d’une infrastructure supportant les applications sensibles au contexte est un Context Information Service »
{
Les objectifs d’un CIS:
z Rassembler, Modéliser, Fournir les informations contextuelles
{
« Guidelines » pour un CIS:
z Modèle contextuel orienté objet
z Accès partagé aux ressources
z Composants réutilisables et extensibles Infrastructure de service multicouches
CML CML Contextual Extended Contextual Extended ORM* ORM*
{
Henricksen, Indulska 2006
{
Approche par modélisation graphique du contexte:
z The Context Modelling Language (CML)
{
Quatre classes d’informations du contexte
z Sensed, static, user-supplied (profiled) and derived informations
{
Fact dependencies: dependsOn
{
Modélisation façon UML
Problèmes des Applications Problèmes des Applications
Sensibles au Contexte Sensibles au Contexte
{
Pascoe, Ryan et Morse:
z Gourmand en ressources
z Coût de développement élevé
z Environnements informatiques divers
{
Les applications sensibles au contexte existantes sont majoritairement monolithiques. Manque un modèle
conceptuel partagé
(Huang, 2002){
Des outils et des standards doivent être développés
pour faciliter la tâche
Mise en application Mise en application
et Conclusion
et Conclusion
L’approche
L’approche Wcomp Wcomp
{
Container (plate-forme cible)
z Un ensemble de composants (C) et de liens (L). Un container est une instance d’une interface pour contrôler l’assemblage.
z Composant contenant un assemblage
{
Designer (multiples)
z Fourni un modèle de l’application
z Permet d’adapter l’application pour une préoccupation donnée
z Basé sur des langages explicitant la sémantique de composition pour les composants d’un domaine
La plate
La plate - - forme expérimentale de forme expérimentale de Wcomp
Wcomp
{
Containers
z Différentes cibles: J2SE, J2ME, .NET, Compact .NET, ObjectC
{
Designers
z Bean4Wcomp:
{ Design d’application par diffusion d’événements (fonctionnel)
z ISL4Wcomp:
{ Langage d’expression de règles d’interaction (comportemental)
{
Composants et Services
z Web Services
z Web Services for devices (UPnP)
Conclusion Conclusion
{
Différentes approches:
z Proches des composants et des préoccupations (contexte / application)
z …mais la sémantique des interactions entre les composants pas toujours bien définie
{
Définition de langages pour la composition des informations contextuelles et leur utilisation pour l’adaptation dynamiques des applications
{
Définition d’une sémantique pour la composition
z Règles d’interaction ?
Bibliographie
Bibliographie
1/31/3{ Mary Bazire, Patrick Brézillon. "Understanding Context Before Using it"in Proceedings of the Proceedings of the 5th International and Interdisciplinary Conference - Modeling and Using Context, pages 29--40, 2005.
{ Mark Weiser"The Computer for the Twenty-First Century"in Scientific American, pages 94--104, sep 1991.
{ Qingfeng Huang"Supporting Context-Aware Computing in Ad Hoc Mobile Environments"Research Report Washington University in St Louis, number WUCSE-2002-36, 11 pages, sep 2002.
{ Daniel Salber, Anind K. Dey, Gregory D. Abowd. "The Context Toolkit: Aiding the Development of Context- Enabled Applications"in Proceedings of the Conference on Human Factors in Computing Systems, pages 434- -441, ACM Press, Pittsburgh, 15-20 may 1999.
{ Anind K. Dey, Gregory D. Abowd. "The Context Toolkit: Aiding the Development of Context-Aware Applications"(workshop) in Proceedings of the Workshop on Software Engineering for Wearable and Pervasive Computing, Limerick (Ireland), 6 2000.
{ Anind K. Dey "Understanding and Using Context"in Pattern Recognition Letters (PRL), 5 (1) pages 4--7, Springer, 2001.
{ Anind K. Dey, Daniel Salber, Gregory D. Abowd. "A Conceptual Framework and a Toolkit for Supporting the Rapid Prototyping of Context-Aware Applications"(special issue: on context-aware computing) in Human- Computer Interaction (HCI), 16 (2-4) pages 97--166, Lawrence Erlbaum, 2001.
{ Anind K. Dey, Tim Sohn. "Supporting End User Programming of Context-Aware Applications"in Proceedings of the Workshop on Perspectives in End User Development, Frt Lauderdale (Florida, USA), 5.10 apr 2003.
{ Alan Newberger, Anind K. Dey. "Designer Support for Context Monitoring and Control"Research Report Intel Research Berkeley, number IRB-TR-03-017, 10 pages, jun 2003.
Bibliographie
Bibliographie
2/32/3{ Anind K. Dey, Raffay Hamid, Chris Beckmann, Ian Li, Daniel Hsu. "a CAPpella: Programming by
demonstration of context-aware applications"in Proceedings of the ACM Conference on Human Factors in Computing Systems, apr 2004.
{ Guanling Chen, David Kotz. "A Survey of Context-Aware Mobile Computing Research"Research Report Dept.
of Computer Science, Darmouth Coll, number TR2000-381, nov 2000.
{ Guanling Chen, David Kotz. "Context Aggregation and Dissemination in Ubiquitous Computing Systems"
(workshop) in Proceedings of the IEEE Workshop on Mobile Computing Systems and Applications, pages 105- -116, IEEE Computer Society Press, Callicoon (NY, USA), 20-21 jun 2002.
{ Philip D. Gray, Daniel Salber. "Modelling and Using Sensed Context Information in the Design of Interactive Applications"in Proceedings of the 8th IFIP International Conference on Engineering for Human-Computer Interaction, vol. LNCS 2254, pages 317--336, Springer-Verlag, Toronto (Canada), 11-13 may 2001.
{ Joëlle Coutaz, Gaëtan Rey. "Foundations for a Theory of Contextors"in Proceedings of the International Conference on Computer-Aided Design of User Interfaces, pages 283--302, ACM Press, Valenciennes (France), may 2002.
{ Jason Pascoe"Adding Generic Contextual Capabilities to Wearable Computers" in Proceedings of the
International Symposium on Wearable Computers, pages 92--99, IEEE Computer Society Press, Los Alamitos (CA, USA), 1998.
Bibliographie
Bibliographie
3/33/3{ Diane Lingrand, Stéphane Lavirotte, Jean-Yves Tigli. "Selection using non symmetric context areas"in Proceedings of the Workshop on Context-Aware Mobile Systems, OnTheMove Federated Conferences (OTM'05), vol. LNCS 3762, pages 225--228, Springer, Agia Napa (Cyprus), 30-31 oct 2005.
{ Stéphane Lavirotte, Diane Lingrand, Jean-Yves Tigli. "Définition du contexte et méthodes de sélection"in Proceedings of the Secondes Journées Francophones: Mobilité et Ubiquité, pages 9--12, 2005.
{ Gareth J. F. Jones, Peter J. Brown. "Challenges and opportunities for context-aware retrieval on mobile devices"in Proceedings of the Workshop on Mobile Personal Information Retrieval, pages 47--56, Tampere (Finland), 2002.
{ Bill Schilit, Norman Adams, Roy Want. "Context-Aware Computing Applications"in Proceedings of the IEEE Workshop on Mobile Computing Systems and Applications, 8-9 dec 1994.
{ Adenauer Corrêa Yamin, Jorge Victoria Barbosa, Iara Augustin, Liciano Cavalheiro da Silva, Rodrigo Real, Claudio Geyer, Gerson Cavalheiro. "Towards Merging Context-aware, Mobile and Grid Computing"in
International Journal of High Performance Computing Applications, 17 (2) pages 191--203, Sage Publications, jul 2003.
{ Daniel Cheung Foo Wo, Jean-Yves Tigli, Stéphane Lavirotte, Michel Riveill. "Wcomp: a Multi-Design Approach for Prototyping Applications using Heterogeneous Resources"in Proceedings of the 17th IEEE International Workshop on Rapid System Prototyping, jun 2006.