Acquisitions et Modélisations pour la Gestion des Contextes Équipe Rainbow Stéphane Lavirotte (Stephane.Lavirotte@unice.fr) Jean-Yves Tigli (tigli@polytech.unice.fr) Diane Lingrand (lingrand@polytech.unice.fr) I3S - UMR 6070 (CNRS - Université de Nice - Sophia Antipolis) Laboratoire d Informatique de Signaux et Systèmes de Sophia Antipolis UNSA-CNRS 930, Route des Colles - Bât Ecole Polytech Nice Sophia, Dept. SI BP. 145-06903 Sophia Antipolis Cedex - France
Plan Pourquoi s intéresser au contexte? Qu est-ce que le contexte? Définitions Classification des contextes Modélisation Modèles Architectures Mise en application et Conclusion 2
Pourquoi s intéresser au Contexte? Dans le communication humaine But Information situationnelle souvent implicite Augmente la «bande passante» conversationnelle Augmenter l efficacité (en terme d interaction) et faciliter les interactions en prenant en compte le «contexte environnementale» Adapter dynamiquement les applications aux environnements d exécution Le contexte peut être largement pris en compte dans les applications. 3
Les Utilisations du Contexte en Informatique Context-Aware Computing Mobile Computing (Huang, «Supporting Context-aware Computing in Ad Hoc Mobile Environments», Technical Report WUCS-02-36, 2002) Ambiant Intelligence Ubiquitous Computing (Weiser, «The computer of the 21th century», Scientific American, 1991) Pervasive Computing Applications Réseau (QS) Diffusion de média, IHM Grilles 4
Définitions et Classifications 5
Qu est ce que le Contexte Étymologie Contexte = «co-text» : ce qui est de part et d autre d une expression Actuellement Acceptation plus large du terme Contexte: un ensemble de circonstances qui encadre un événement ou un objet 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 6
Définitions du Contexte Appliquées à l Informatique Définitions par énumération Souvent utilisé dans les premières applications Type de définition trop limitant Localisation, environnement, identité, date et heure, bande passante, Définitions par description «Aspects de la situation actuelle»: peut-être trop généraliste «Les éléments de l environnement dont l ordinateur à connaissance» [Brown 1996] 7
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 Contexte primaire (localisation, identité, heure, ) Contexte secondaire (adresse email, ) 8
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 Critiques: le contexte actif (caractéristiques déterminant le comportement) Appropriées: le contexte passif (approprié mais non critique) 9
Classification des Contextes Types de contexte Physique: externe, mesuré par des capteurs matériels Logique: interne, spécifié par l utilisateur ou capturé par un système de monitoring Explicite (fourni par l utilisateur) / Implicite Classification du contexte en familles: Contexte environnemental: proximité, bruit, climat, Contexte utilisateur: localisation, activité, émotion, Contexte machine: énergie, ressources, occupation système, connexions, débits réseau, Contexte temporel: date, heure, historique des actions, 10
Capture des Informations Contextuelles: Capteurs / Senseurs Capteurs physiques GPS, accéléromètres, microphones, caméras, thermomètres, senseurs tactiles, Bio-senseurs Capteurs virtuels Activité de l utilisateur par analyse des mouvements de la souris et les interactions claviers Localisation par utilisation d un agenda électronique Capteurs logiques Combinaison de plusieurs capteurs physiques et virtuels avec recours éventuel à une base d informations Nécessité d avoir un assemblage des données et/ou une composition 11
Plusieurs Sources pour un même Type d Information Localisation géographique: GPS, GSM, badges IR, RFID, ultra-sons, caméras, Identification: lecteur d empruntes, reconnaissance vocale, caméras, code alpha numérique, Température: capteur thermomètre numérique, internet (serveur météo), Heure: Horloge interne ordinateur, radio, internet (ntp), 12
Utilisation du Contexte Challenge: synthétiser des événements de haut niveau à partir: d événements de bas niveau d informations partielles (manques) d informations partiellement correctes (erreurs) d informations en contradiction (plusieurs sources) Proposition de solution pour résoudre ces problèmes Donner une priorité aux informations Utiliser des modèles probabilistes Modéliser le contexte pour une réutilisation plus aisée 13
Modèles et Architectures 14
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 Paires de nom/valeur Brown pointe aussi que les valeurs des attributs comme «none», «any» et «not-working» sont nécessaires pour avoir tous les comportements souhaitables. Ontologie du contexte nécessaire 15
Formalisation de la mesure des Composantes Contextuelles Modélisation à l aide de fonctions de distance: Pauty, Couderc, Banâtre, 2004. Zones contextuelles Modélisation à l aide de fonctions de coût Lavirotte, Lingrand, Tigli, 2005. Zones contextuelles Mode de sélection asymétrique 16
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 17
«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) Context Widgets: obtient un type d info contextuelle Context Operations: Interpreters, Aggregators, Services, Discoverers Description complète du système dans: Special Issue on Context-Aware Computing of Human- Computer Interaction (2001), 70 pages Code disponible pour l expérimentation http://contexttoolkit.sourceforge.net/ 18
Enactor Newberger, Dey, 2003. Composants encapsulant la logique de l application References Acquisition du contexte Listeners Surveille les changements Parameters Autorise le contrôle 19
Contextor Coutaz, Rey, 2002. Context = composition de situation multiples dans un laps de temps donné Situation = un ensemble de valeurs observées Types de contextors: Elementary, History, Threshold, Translation, Fusion, Abstraction Types de composition: Encapsulation, Data Channels Connection Propriétés Reflexivité, Remanence, Mobilité 20
«Context Information Service» Pascoe, Ryan et Morse: «le cœur d une infrastructure supportant les applications sensibles au contexte est un Context Information Service» Les objectifs d un CIS: Rassembler, Modéliser, Fournir les informations contextuelles «Guidelines» pour un CIS: Modèle contextuel orienté objet Accès partagé aux ressources Composants réutilisables et extensibles Infrastructure de service multicouches Support de l extensibilité Indépendant de la plate-forme 21
CML Contextual Extended ORM* Henricksen, Indulska 2006 Approche par modélisation graphique du contexte: The Context Modelling Language (CML) Quatre classes d informations du contexte Sensed, static, user-supplied (profiled) and derived informations Fact dependencies: dependson Modélisation façon UML * ORM: Object Role Modelling 22
Problèmes des Applications Sensibles au Contexte Pascoe, Ryan et Morse: Gourmand en ressources Coût de développement élevé 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 23
Mise en application et Conclusion 24
L approche Wcomp Container (plate-forme cible) Un ensemble de composants (C) et de liens (L). Un container est une instance d une interface pour contrôler l assemblage. Composant contenant un assemblage Designer (multiples) Fourni un modèle de l application Permet d adapter l application pour une préoccupation donnée Basé sur des langages explicitant la sémantique de composition pour les composants d un domaine 25
La plate-forme expérimentale de Wcomp Containers Différentes cibles: J2SE, J2ME,.NET, Compact.NET, ObjectC Designers Bean4Wcomp: Design d application par diffusion d événements (fonctionnel) ISL4Wcomp: Langage d expression de règles d interaction (comportemental) Composants et Services Web Services Web Services for devices (UPnP) 26
Conclusion Différentes approches: Proches des composants et des préoccupations (contexte / application) 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 Règles d interaction? Composition des règles? Fusion? 27
Bibliographie 1/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. 28
Bibliographie 2/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 ConferenceonHuman Factorsin 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. Karen Henricksen, Jadwiga Indulska. "Developing context-aware pervasive computing applications: Models and approach" in Journal of Pervasive and Mobile Computing (PMC), 2 (1) pages 37--64, Elsevier, feb 2006. Julien Pauty, Paul Couderc, Michel Banâtre. "Synthèse des Méthodes de Programmation en Informatique Contextuelle" Research Report IRISA, number 1595, 37 pages, jan 2004. 29
Bibliographie 3/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. 30