Contexte en Interaction Homme-Machine : le contexteur Gaëtan Rey Equipe IIHM, Laboratoire CLIPS-IMAG, Grenoble, France Président du Jury : James L. Crowley (GRAVIR, INP Grenoble) Rapporteurs : Michel Beaudouin-Lafon (LRI, Paris 11) Simon Dobson (Computer Science, UCD) Examinateur : Jean Vanderdonckt (BCHI, ESPO Louvain-La-Neuve) Directeur de thèse : Joëlle Coutaz (CLIPS-IMAG, UJF Grenoble) Soutenance de thèse - 1er août 2005
Interaction Homme-Machine Contexte n’est pas un concept nouveau Conceptual Design [Beyer 98] Dilution progressive dans le processus de développement Modèle du contexte implicite dans les applications finales Soutenance de thèse - 1er août 2005
Interaction Homme-Machine Contexte n’est pas un concept nouveau Évolutions récentes de l’informatique Mobilité des utilisateurs Soutenance de thèse - 1er août 2005
Interaction Homme-Machine Contexte n’est pas un concept nouveau Évolutions récentes de l’informatique Mobilité des utilisateurs Intégration du numérique dans l’environnement physique Soutenance de thèse - 1er août 2005
Interaction Homme-Machine Contexte n’est pas un concept nouveau Évolutions récentes de l’informatique Exploitation nouvelle du contexte Modèle implicite du contexte modèle explicite Capture du contexte Adaptation du système à l’exécution Soutenance de thèse - 1er août 2005
Problèmes Profusion De définition du contexte Absence de consensus sur la notion de contexte Absence de méthode pour le développement logiciel Soutenance de thèse - 1er août 2005
Problèmes Profusion De définitions du contexte Absence de consensus sur la notion de contexte Absence de méthode pour le développement logiciel De solutions logicielles pour la gestion du contexte Développement ad-hoc Comparaison des infrastructures de gestion du contexte difficile Soutenance de thèse - 1er août 2005
Objectifs de ma thèse Classification et comparaison des infrastructures existantes Soutenance de thèse - 1er août 2005
Objectifs de ma thèse Classification et comparaison des infrastructures existantes Définition de la notion de contexte et d’une méthode de modélisation Soutenance de thèse - 1er août 2005
Objectifs de ma thèse Classification et comparaison des infrastructures existantes Définition de la notion de contexte et d’une méthode de modélisation Réalisation d’une infrastructure logicielle Soutenance de thèse - 1er août 2005
Objectifs de ma thèse Classification et comparaison des infrastructures existantes Définition de la notion de contexte et d’une méthode de modélisation Réalisation d’une infrastructure logicielle Validation de cette infrastructure Soutenance de thèse - 1er août 2005
Objectifs de ma thèse Etude de l’existant Définition Réalisation Classification et comparaison des infrastructures existantes Définition de la notion de contexte et d’une méthode de modélisation Réalisation d’une infrastructure logicielle Validation de cette infrastructure Approche descendante Etude de l’existant Définition Réalisation Validation Soutenance de thèse - 1er août 2005
Plan de la présentation Problèmes Objectifs de ma thèse Contributions Conclusion Soutenance de thèse - 1er août 2005
Contributions Espace taxonomique Notion de contexte d’interaction Modèle logiciel : notion de contexteur Validation du modèle Soutenance de thèse - 1er août 2005
Contributions Espace taxonomique Notion de contexte d’interaction Espace d’analyse Bilan de la littérature Notion de contexte d’interaction Modèle logiciel : notion de contexteur Validation du modèle Soutenance de thèse - 1er août 2005
Espace d’analyse Soutenance de thèse - 1er août 2005
Espace d’analyse Soutenance de thèse - 1er août 2005
Les niveaux d’abstraction La pyramide du contexte Décomposition fonctionnelle d’une infrastructure de gestion du contexte Soutenance de thèse - 1er août 2005
Les niveaux d’abstraction La pyramide du contexte Décomposition fonctionnelle d’une infrastructure de gestion du contexte Trois niveaux d’abstraction Capture Capture les données contextuelles Soutenance de thèse - 1er août 2005
Les niveaux d’abstraction La pyramide du contexte Décomposition fonctionnelle d’une infrastructure de gestion du contexte Trois niveaux d’abstraction Transformation Calcule les données contextuelles Capture Capture les données contextuelles Soutenance de thèse - 1er août 2005
Les niveaux d’abstraction La pyramide du contexte Décomposition fonctionnelle d’une infrastructure de gestion du contexte Trois niveaux d’abstraction Identification Reconnaît le contexte Transformation Calcule les données contextuelles Capture Capture les données contextuelles Soutenance de thèse - 1er août 2005
Les niveaux d’abstraction La pyramide du contexte Décomposition fonctionnelle d’une infrastructure de gestion du contexte Trois niveaux d’abstraction Un niveau d’adaptation Adaptation Fait le lien avec les applications Identification Reconnaît le contexte Transformation Calcule les données contextuelles Capture Capture les données contextuelles Soutenance de thèse - 1er août 2005
Espace d’analyse Soutenance de thèse - 1er août 2005
Les services transversaux La pyramide du contexte Décomposition fonctionnelle d’une infrastructure de gestion du contexte Trois niveaux d’abstraction Un niveau d’adaptation Un ensemble de services transversaux Adaptation Identification Historique Transformation Capture Services transversaux Soutenance de thèse - 1er août 2005
Les services transversaux La pyramide du contexte Décomposition fonctionnelle d’une infrastructure de gestion du contexte Trois niveaux d’abstraction Un niveau d’adaptation Un ensemble de services transversaux Adaptation Identification Reprise sur pannes Découverte Historique Transformation Capture Services transversaux Soutenance de thèse - 1er août 2005
Les services transversaux La pyramide du contexte Décomposition fonctionnelle d’une infrastructure de gestion du contexte Trois niveaux d’abstraction Un niveau d’adaptation Un ensemble de services transversaux Adaptation Identification Vie privée Sécurité Confiance Reprise sur pannes Découverte Historique Transformation Capture Services transversaux Soutenance de thèse - 1er août 2005
Espace d’analyse Soutenance de thèse - 1er août 2005
Mécanismes d’autorégulation Méta-Données Prise en charge des incertitudes introduites par les capteurs Gestion de la qualité de services Soutenance de thèse - 1er août 2005
Mécanismes d’autorégulation Méta-Données Prise en charge des incertitudes introduites par les capteurs Gestion de la qualité de services Meta-Interfaces et / ou Migration de code Adaptation de l’infrastructure à l’évolution du contexte Soutenance de thèse - 1er août 2005
Espace d’analyse Soutenance de thèse - 1er août 2005
Les infrastructures existantes Niveaux d’abstraction Services transversaux Mécanisme d’autorégulation Context Toolkit [Dey 01] Capture Transformation Identification Historique Meta Interface (planifiée) SCI [Glassey 03] Confab [Hong 01] Sécurité Méta données (limitées) BT Node [Beutel 03] Migration code Irisnet [Gibbons 03] Soutenance de thèse - 1er août 2005
Les infrastructures existantes Niveaux d’abstraction Services transversaux Mécanisme d’autorégulation Context Toolkit [Dey 01] Capture Transformation Identification Historique Meta Interface (planifiée) SCI [Glassey 03] Confab [Hong 01] Sécurité Méta données (limitées) BT Node [Beutel 03] Migration code Irisnet [Gibbons 03] Soutenance de thèse - 1er août 2005
Les infrastructures existantes Niveaux d’abstraction Services transversaux Mécanisme d’autorégulation Context Toolkit [Dey 01] Capture Transformation Identification Historique Meta Interface (planifiée) SCI [Glassey 03] Confab [Hong 01] Sécurité Méta données (limitées) BT Node [Beutel 03] Migration code Irisnet [Gibbons 03] Soutenance de thèse - 1er août 2005
Les infrastructures existantes Niveaux d’abstraction Services transversaux Mécanisme d’autorégulation Context Toolkit [Dey 01] Capture Transformation Identification Historique Meta Interface (planifiée) SCI [Glassey 03] Confab [Hong 01] Sécurité Méta données (limitées) BT Node [Beutel 03] Migration code Irisnet [Gibbons 03] Soutenance de thèse - 1er août 2005
Contributions Espace taxonomique Notion de contexte d’interaction Espace d’analyse Bilan de la littérature Notion de contexte d’interaction Modèle logiciel : notion de contexteur Validation du modèle Soutenance de thèse - 1er août 2005
Absence de consensus mais des leçons Contexte Absence de consensus mais des leçons Soutenance de thèse - 1er août 2005
Contexte Absence de consensus mais des leçons Le contexte peut seulement être défini pour une finalité (Perception artificielle) Soutenance de thèse - 1er août 2005
Contexte Absence de consensus mais des leçons Le contexte peut seulement être défini pour une finalité Le contexte est un espace d’information qui sert l’interprétation (Interprétation par le système, au service des utilisateurs) Soutenance de thèse - 1er août 2005
Contexte Absence de consensus mais des leçons Le contexte peut seulement être défini pour une finalité Le contexte est un espace d’information qui sert l’interprétation Le contexte est un espace d’information partagé entre acteurs (Espace commun entre le système et les utilisateurs) Soutenance de thèse - 1er août 2005
Contexte Absence de consensus mais des leçons Le contexte peut seulement être défini pour une finalité Le contexte est un espace d’information qui sert l’interprétation Le contexte est un espace d’information partagé entre acteurs (Espace commun entre le système et les utilisateurs) Contexte Global Soutenance de thèse - 1er août 2005
Contexte Absence de consensus mais des leçons Le contexte peut seulement être défini pour une finalité Le contexte est un espace d’information qui sert l’interprétation Le contexte est un espace d’information partagé entre acteurs (Espace commun entre le système et les utilisateurs) Contexte Global Contexte Système Soutenance de thèse - 1er août 2005
Contexte Absence de consensus mais des leçons Le contexte peut seulement être défini pour une finalité Le contexte est un espace d’information qui sert l’interprétation Le contexte est un espace d’information partagé entre acteurs (Espace commun entre le système et les utilisateurs) Contexte Global Contexte Utilisateur Contexte Système Soutenance de thèse - 1er août 2005
Contexte Absence de consensus mais des leçons Le contexte peut seulement être défini pour une finalité Le contexte est un espace d’information qui sert l’interprétation Le contexte est un espace d’information partagé entre acteurs (Espace commun entre le système et les utilisateurs) Contexte d’interaction Contexte Global Contexte Utilisateur Contexte Système Soutenance de thèse - 1er août 2005
Contexte Absence de consensus mais des leçons Le contexte peut seulement être défini pour une finalité Le contexte est un espace d’information qui sert l’interprétation Le contexte est un espace d’information partagé entre acteurs Le contexte est un espace d’information infini et évolutif Soutenance de thèse - 1er août 2005
Contributions Espace taxonomique Notion de contexte d’interaction Modèle logiciel : notion de contexteur Validation du modèle Soutenance de thèse - 1er août 2005
Contexte d’interaction : Définition Définition du domaine du contexte d’interaction Entités Rôles Relations Soutenance de thèse - 1er août 2005
Contexte d’interaction : Définition Définition du domaine du contexte d’interaction Entités personnes ou objets du monde physique Rôles Relations Soutenance de thèse - 1er août 2005
Contexte d’interaction : Définition Définition du domaine du contexte d’interaction Entités personnes ou objets du monde physique Rôles fonction remplie par une ou plusieurs entités Relations Soutenance de thèse - 1er août 2005
Contexte d’interaction : Définition Définition du domaine du contexte d’interaction Entités personnes ou objets du monde physique Rôles fonction remplie par une ou plusieurs entités Relations relations spatiales ou temporelles entre les entités Soutenance de thèse - 1er août 2005
Contexte d’interaction : Définition Définition du domaine du contexte d’interaction Entités Rôles cardinalité = n Relations cardinalité = m Réseau de contextes contient 2n+m nœuds Soutenance de thèse - 1er août 2005
Contexte d’interaction : Définition Définition du domaine d’un contexte R Rel Soutenance de thèse - 1er août 2005
Contexte d’interaction : Définition Définition du domaine d’un contexte R rôles effectivement joués (R С Rôles) Rel Soutenance de thèse - 1er août 2005
Contexte d’interaction : Définition Définition du domaine d’un contexte R rôles effectivement joués (R С Rôles) Rel relations vérifiées (Rel С Relations) Soutenance de thèse - 1er août 2005
Contexte d’interaction : Définition Changement de contexte Apparition ou disparition d’un rôle Apparition ou disparition d’une relation Soutenance de thèse - 1er août 2005
Contexte d’interaction : Définition Réseau de situations qui partagent R et Rel Soutenance de thèse - 1er août 2005
Contexte d’interaction : Définition Définition du domaine d’une situation Ent AssoReEnt AssoRoEnt Soutenance de thèse - 1er août 2005
Contexte d’interaction : Définition Définition du domaine d’une situation Ent entités présentes (Ent С Entités) AssoReEnt AssoRoEnt Soutenance de thèse - 1er août 2005
Contexte d’interaction : Définition Définition du domaine d’une situation Ent entités présentes (Ent С Entités) AssoReEnt associations relations entités AssoRoEnt Soutenance de thèse - 1er août 2005
Contexte d’interaction : Définition Définition du domaine d’une situation Ent entités présentes (Ent С Entités) AssoReEnt associations relations entités AssoRoEnt associations rôles entités Soutenance de thèse - 1er août 2005
Contexte d’interaction : Définition Changement de situation Apparition ou disparition d’un entité Apparition ou disparition d’une association entre une entité et une relation Apparition ou disparition d’une association entre une entité et un rôle Soutenance de thèse - 1er août 2005
Contexte d’interaction : Illustration Illustration avec l’exemple d’une conférence Présentateur Ecran Spectateurs Soutenance de thèse - 1er août 2005
Contexte d’interaction : Méthode Méthode en 7 étapes 1) Définir le domaine du contexte d’interaction Soutenance de thèse - 1er août 2005
Contexte d’interaction : Illustration 1) Définition du domaine du contexte d’interaction Entités = {personne, écran} Rôles = {présentateur, spectateur} Relations = {est_face_à} Soutenance de thèse - 1er août 2005
Contexte d’interaction : Méthode Méthode en 7 étapes 1) Définir le domaine du contexte d’interaction 2) Calculer les contextes du réseau Soutenance de thèse - 1er août 2005
Contexte d’interaction : Illustration 2) Calculer les contextes du réseau (Rc) Entités = {personne, écran} Rôles = {présentateur, spectateur} cardinalité = 2 Relations = {est_face_à} cardinalité = 1 Cardinalité (Rc) = 22+1 = 23 = 8 Soutenance de thèse - 1er août 2005
Contexte d’interaction : Illustration 2) Calculer les contextes du réseau (Rc) Entités = {personne, écran} Rôles = {présentateur, spectateur} Relations = {est_face_à} Définition du contexte C6 R6 = {spectateur} Rel6 = {est_face_à} Soutenance de thèse - 1er août 2005
Contexte d’interaction : Illustration 2) Calculer les contextes du réseau (Rc) Entités = {personne, écran} Rôles = {présentateur, spectateur} Relations = {est_face_à} Définition du contexte C8 R8 = {présentateur, spectateur} Rel8 = {est_face_à} Soutenance de thèse - 1er août 2005
Contexte d’interaction : Méthode Méthode en 7 étapes 1) Définir le domaine du contexte d’interaction 2) Calculer les contextes du réseau 3) Simplifier le réseau de contextes en fusionnant les contextes identiques Soutenance de thèse - 1er août 2005
Contexte d’interaction : Illustration 3) Simplifier le réseau de contextes Soutenance de thèse - 1er août 2005
Contexte d’interaction : Méthode Méthode en 7 étapes 1) Définir le domaine du contexte d’interaction 2) Calculer les contextes du réseau 3) Simplifier le réseau de contextes en fusionnant les contextes identiques 4) Détailler les contextes importants en situations Soutenance de thèse - 1er août 2005
Contexte d’interaction : Illustration 4) Détailler les contextes importants en situations Définition d’un Contexte : C8 R8 = {présentateur, spectateur} Rel8 = {éclairée} Soutenance de thèse - 1er août 2005
Contexte d’interaction : Méthode Méthode en 7 étapes 1) Définir le domaine du contexte d’interaction 2) Calculer les contextes du réseau 3) Simplifier le réseau de contextes en fusionnant les contextes identiques 4) Détailler les contextes importants en situations 5) Simplifier chaque contexte en fusionnant les situations identiques Soutenance de thèse - 1er août 2005
Contexte d’interaction : Méthode Méthode en 7 étapes 1) Définir le domaine du contexte d’interaction 2) Calculer les contextes du réseau 3) Simplifier le réseau de contextes en fusionnant les contextes identiques 4) Détailler les contextes importants en situations 5) Simplifier chaque contexte en fusionnant les situations identiques 6) Décrire les entités mises en jeu Soutenance de thèse - 1er août 2005
Contexte d’interaction : Définition 6) Décrire les entités mises en jeu Soutenance de thèse - 1er août 2005
Contexte d’interaction : Définition 6) Décrire les entités mises en jeu Soutenance de thèse - 1er août 2005
Contexte d’interaction : Définition 6) Décrire les entités mises en jeu Soutenance de thèse - 1er août 2005
Contexte d’interaction : Définition 6) Décrire les entités mises en jeu Soutenance de thèse - 1er août 2005
Contexte d’interaction : Méthode Méthode en 7 étapes 1) Définir le domaine du contexte d’interaction 2) Calculer les contextes du réseau 3) Simplifier le réseau de contextes en fusionnant les contextes identiques 4) Détailler les contextes importants en situations 5) Simplifier chaque contexte en fusionnant les situations identiques 6) Décrire les entités mises en jeu 7) Associer chaque observable à un composant de capture Soutenance de thèse - 1er août 2005
Contributions Etat de l’art Notion de contexte d’interaction Modèle logiciel : notion de contexteur Description des contexteurs Modèle réseau Description des Répéteurs Validation du modèle Soutenance de thèse - 1er août 2005
Modèle logiciel : le Contexteur Abstraction logicielle composée de deux facettes fonctionnelles Données de sortie Meta Données de sortie Contrôle d’entrée Noyau fonctionnel Contrôle de sortie Données d’entrée Meta Données d’entrée Soutenance de thèse - 1er août 2005
Modèle logiciel : le Contexteur Abstraction logicielle composée de deux facettes fonctionnelles Transformation : Données (Type X) + Meta Données è Données (Type Y) + Meta Données Données de sortie Meta Données de sortie Contrôle d’entrée Noyau fonctionnel Contrôle de sortie Données d’entrée Meta Données d’entrée Soutenance de thèse - 1er août 2005
Modèle logiciel : le Contexteur Abstraction logicielle composée de deux facettes fonctionnelles Transformation : Données (Type X) + Meta Données è Données (Type Y) + Meta Données Contrôle : adaptation du comportement Données de sortie Meta Données de sortie Contrôle d’entrée Noyau fonctionnel Contrôle de sortie Données d’entrée Meta Données d’entrée Soutenance de thèse - 1er août 2005
Composition dynamique des Contexteurs Application 1 Application 2 Flux de données et méta données Soutenance de thèse - 1er août 2005
Composition dynamique des Contexteurs Application 1 Application 2 Flux de données et méta données Flux de contrôles Soutenance de thèse - 1er août 2005
Composition dynamique des Contexteurs Application 1 Application 2 Flux de données et méta données Flux de contrôles Contexteurs élémentaires - Capture - Observables Soutenance de thèse - 1er août 2005
Composition dynamique des Contexteurs Application 1 Application 2 Flux de données et méta données Flux de contrôles Contexteurs non élémentaires - Transformation - Entités, Relations et Rôles Contexteurs élémentaires - Capture - Observables Soutenance de thèse - 1er août 2005
Composition dynamique des Contexteurs Application 1 Application 2 Flux de données et méta données Flux de contrôles Contexteurs adaptateurs - Adaptation - Contexteurs non élémentaires - Transformation - Entités, Relations et Rôles Contexteurs élémentaires - Capture - Observables Soutenance de thèse - 1er août 2005
Composition dynamique des Contexteurs Application 1 Application 2 Flux de données et méta données Flux de contrôles Contexteurs adaptateurs - Adaptation - Adaptation Contexteurs non élémentaires - Transformation - Entités, Relations et Rôles Identification Transformation Capture Contexteurs élémentaires - Capture - Observables Soutenance de thèse - 1er août 2005
Réalisation : Cycle de vie Création, conception du contexteur Pas exécuté Pas approvisionné Pas en activité Pas de Client Etat 1 Etat 1 Soutenance de thèse - 1er août 2005
Réalisation : Cycle de vie Création, conception du contexteur Pas exécuté Pas approvisionné Pas en activité Pas de Client Etat 1 Exécuté Pas approvisionné Pas en activité Pas de Client Etat 2 Exécution, démarrage du contexteur Etat 2 Soutenance de thèse - 1er août 2005
Réalisation : Cycle de vie Création, conception du contexteur Pas exécuté Pas approvisionné Pas en activité Pas de Client Etat 1 Exécuté Pas approvisionné Pas en activité Pas de Client Etat 2 Emission de la requête de recherche si contexteur non élémentaire Exécution, démarrage du contexteur Description des contexteurs sources Nom Lieu Informations Description de lui-même Identifiant Etat 2 Soutenance de thèse - 1er août 2005
Réalisation : Cycle de vie Création, conception du contexteur Pas exécuté Pas approvisionné Pas en activité Pas de Client Etat 1 Exécuté Pas approvisionné Pas en activité Pas de Client Etat 2 Emission de la requête de recherche si contexteur non élémentaire Exécution, démarrage du contexteur Abonnement auprès des contexteurs sources (ou contexteur élémentaire) Exécuté Approvisionné Pas en activité Pas de Client Etat 3 Etat 5 Etat 3 Contexteur source Soutenance de thèse - 1er août 2005
Réalisation : Cycle de vie Création, conception du contexteur Pas exécuté Pas approvisionné Pas en activité Pas de Client Etat 1 Exécuté Pas approvisionné Pas en activité Pas de Client Etat 2 Emission de la requête de recherche si contexteur non élémentaire Exécution, démarrage du contexteur Abonnement auprès des contexteurs sources (ou contexteur élémentaire) Exécuté Approvisionné En activité Pas de Client Etat 4 Exécuté Approvisionné Pas en activité Pas de Client Etat 3 Mise en marche de la fonction de calcul Etat 5 Etat 4 Contexteur source Soutenance de thèse - 1er août 2005
Réalisation : Cycle de vie Création, conception du contexteur Pas exécuté Pas approvisionné Pas en activité Pas de Client Etat 1 Exécuté Pas approvisionné Pas en activité Pas de Client Etat 2 Emission de la requête de recherche si contexteur non élémentaire Exécution, démarrage du contexteur Exécuté Approvisionné En activité Avec des Clients Etat 5 Connexion d’un nouveau client Connexion du premier client Abonnement auprès des contexteurs sources (ou contexteur élémentaire) Déconnexion du dernier client Exécuté Approvisionné En activité Pas de Client Etat 4 Exécuté Approvisionné Pas en activité Pas de Client Etat 3 Mise en marche de la fonction de calcul Contexteur client Etat 5 Etat 5 Etat 3 Contexteur source Soutenance de thèse - 1er août 2005
Réalisation : Cycle de vie Création, conception du contexteur Pas exécuté Pas approvisionné Pas en activité Pas de Client Etat 1 Exécuté Pas approvisionné Pas en activité Pas de Client Etat 2 Emission de la requête de recherche si contexteur non élémentaire Exécution, démarrage du contexteur Exécuté Approvisionné En activité Avec des Clients Etat 5 Connexion d’un nouveau client Arrêt du contexteur avec notification aux contexteurs sources Connexion du premier client Abonnement auprès des contexteurs sources (ou contexteur élémentaire) Déconnexion du dernier client Exécuté Approvisionné En activité Pas de Client Etat 4 Exécuté Approvisionné Pas en activité Pas de Client Etat 3 Mise en marche de la fonction de calcul Notification d’arrêt Etat 5 Etat 4 Contexteur source Soutenance de thèse - 1er août 2005
Contributions Espace taxonomique Notion de contexte d’interaction Modèle logiciel : notion de contexteur Description des contexteurs Modèle réseau Description des Répéteurs Validation du modèle Soutenance de thèse - 1er août 2005
Modèle réseau P2P (Pair à Pair) Client et serveur Robustesse de chaque contexteur Soutenance de thèse - 1er août 2005
Modèle réseau P2P (Pair à Pair) Client et serveur Robustesse de chaque contexteur Architecture complètement distribuée Apparitions / disparitions de nouveaux contexteurs facilitées Soutenance de thèse - 1er août 2005
Modèle réseau P2P (Pair à Pair) Client et serveur Robustesse de chaque contexteur Architecture complètement distribuée Apparitions / disparitions de nouveaux contexteurs facilitées Découverte locale Requête sur UDP multicast Soutenance de thèse - 1er août 2005
Modèle réseau P2P (Pair à Pair) Client et serveur Robustesse de chaque contexteur Architecture complètement distribuée Apparitions / disparitions de nouveaux contexteurs facilitées Découverte locale Requête sur UDP multicast Découverte distante Inondation du réseau Soutenance de thèse - 1er août 2005
Contributions Espace taxonomique Notion de contexte d’interaction Modèle logiciel : notion de contexteur Description des contexteurs Modèle réseau Description des Répéteurs Validation du modèle Soutenance de thèse - 1er août 2005
Les Répéteurs Découverte distante des contexteurs Non-modification des contexteurs Soutenance de thèse - 1er août 2005
Les Répéteurs Découverte distante des contexteurs Non-modification des contexteurs Routage des requêtes de recherche Soutenance de thèse - 1er août 2005
Les Répéteurs Découverte distante des contexteurs Non-modification des contexteurs Routage des requêtes de recherche Organisation des répéteurs Modèle hybride (GloSS) Modèle fondé sur la localisation géographique Soutenance de thèse - 1er août 2005
Les Répéteurs Soutenance de thèse - 1er août 2005
Les Répéteurs Soutenance de thèse - 1er août 2005
Les Répéteurs Soutenance de thèse - 1er août 2005
Les Répéteurs Soutenance de thèse - 1er août 2005
Les Répéteurs Soutenance de thèse - 1er août 2005
Les Répéteurs Soutenance de thèse - 1er août 2005
Les Répéteurs Soutenance de thèse - 1er août 2005
Contributions Etat de l’art Notion de contexte d’interaction Modèle logiciel : notion de contexteur Validation du modèle Evaluations préliminaires Gestionnaire d’activité I-AM Soutenance de thèse - 1er août 2005
Evaluations préliminaires Implémentation actuelle Réalisation en java (1.4) Tests sur Windows (2000 et XP) ainsi que sous Mac OS X Soutenance de thèse - 1er août 2005
Evaluations préliminaires Implémentation actuelle Réalisation en java (1.4) Tests sur Windows (2000 et XP) ainsi que sous Mac OS X Consommation de ressources mémoire Exécution de 5000 contexteurs Entre 40 et 70 Ko par contexteur Soutenance de thèse - 1er août 2005
Evaluations préliminaires Implémentation actuelle Réalisation en java (1.4) Tests sur Windows (2000 et XP) ainsi que sous Mac OS X Consommation de ressources mémoire Exécution de 5000 contexteurs Entre 40 et 70 Ko par contexteur Latence 1 contexteur élémentaire et 1 adaptateur De l’ordre de 20 ms Soutenance de thèse - 1er août 2005
Evaluations préliminaires Implémentation actuelle Réalisation en java (1.4) Tests sur Windows (2000 et XP) ainsi que sous Mac OS X Consommation de ressources mémoire Exécution de 5000 contexteurs Entre 40 et 70 Ko par contexteur Latence 1 contexteur élémentaire et 1 adaptateur De l’ordre de 20 ms Stabilité Evaluation durant 1 mois Application « Gestionnaire d’activité » testée durant 2 mois Soutenance de thèse - 1er août 2005
Contributions Etat de l’art Notion de contexte d’interaction Modèle logiciel : notion de contexteur Validation du modèle Evaluation préliminaire Gestionnaire d’activité I-AM Soutenance de thèse - 1er août 2005
Gestionnaire d’activité Affiche une page Web dynamique indiquant l’activité des utilisateurs Soutenance de thèse - 1er août 2005
Gestionnaire d’activité Vue générale Affiche une page Web dynamique indiquant l’activité des utilisateurs Serveur Web Tomcat Pages d’informations Client Web Client Web Client Web Soutenance de thèse - 1er août 2005
Gestionnaire d’activité Vue générale Affiche une page Web dynamique indiquant l’activité des utilisateurs Utilisateur Serveur Web Tomcat Chaîne de Contexteurs Utilisateur Pages d’informations Client Web Client Web Client Web Soutenance de thèse - 1er août 2005
Gestionnaire d’activité Vue générale Affiche une page Web dynamique indiquant l’activité des utilisateurs Utilisateur Serveur Web Tomcat Chaîne de Contexteurs Utilisateur Pages d’informations Client Web Client Web Client Web Soutenance de thèse - 1er août 2005
Gestionnaire d’activité Vue détaillée Affiche une page Web dynamique indiquant l’activité des utilisateurs Ordinateur de l’utilisateur Contexteur d’activité clavier Génération de la page HTML Servlet Contexteur d’activité locale Contexteur d’activité souris Adaptateur Contexteur d’information locale Soutenance de thèse - 1er août 2005
Gestionnaire d’activité Ecriture d’un adaptateur Affiche une page Web dynamique indiquant l’activité des utilisateurs Adaptateur de contexte Un fichier java (ActivityAdapter.java) import context.adapter.*; public class ActivityAdapter extends ContextAdapter{} Soutenance de thèse - 1er août 2005
Gestionnaire d’activité Ecriture d’un adaptateur Affiche une page Web dynamique indiquant l’activité des utilisateurs Adaptateur de contexte Un fichier java (ActivityAdapter.java) Un fichier de configuration (ActivityAdapter.adf) <ADAPTER_CONTEXTOR_DESCRIPTION> <Name> ActivityAdapter </Name> <ContextGroup>Application/test</ContextGroup> <P2PDescription> … </P2PDescription> <DataDescription> <DataInDescription Type="String/XML" Unit="none" Key="act" Delay="5000" NumberMin="1" NumberMax="-1"> <Name> LocalActivityContextor </Name> <ContextGroup>*</ContextGroup> <Location>World/Europe/France/RhoneAlpes/Isere/Grenoble</Location> <Identifiant>…</Identifiant> <DataSendingMode><OnChange>true</OnChange></DataSendingMode> </DataInDescription> </DataDescription> </ADAPTER_CONTEXTOR_DESCRIPTION> Soutenance de thèse - 1er août 2005
Gestionnaire d’activité Ecriture d’un contexteur Affiche une page Web dynamique indiquant l’activité des utilisateurs Adaptateur de contexte Contexteur d’activité clavier le fichier java (ActivityKeyboardContextor.java) import context.contextor.*; public class ActivityKeyboardContextor extends ElementaryContextor{ public void init() { try{ mp = Runtime.getRuntime().exec("KeySensor.exe"); // init du capteur in = mp.getInputStream(); }catch (Exception e){ System.out.println("error in KeyboardTh : Init"); } public void CloseContextor(){ mp.destroy(); // fermeture du processus de gestion du capteur Soutenance de thèse - 1er août 2005
Gestionnaire d’activité Ecriture d’un contexteur Affiche une page Web dynamique indiquant l’activité des utilisateurs Adaptateur de contexte Contexteur d’activité clavier Un fichier java (ActivityKeyboardContextor.java) … public void functionalCore() { try{ value = in.available(); // lecture du nombre d’événements clavier data = "<ActivityKeyboard>"+value+"</ActivityKeyboard>"; this.setDataOutValue(data.getBytes()); // mémorisation des données sleep(sleepTime); // attente }catch(Exception a){ System.out.println("error in KeyboardTh : functionalCore"); } Soutenance de thèse - 1er août 2005
Contributions Etat de l’art Notion de contexte d’interaction Modèle logiciel : notion de contexteur Validation du modèle Evaluation préliminaire Gestionnaire d’activité I-AM Soutenance de thèse - 1er août 2005
I-AM Travaux de C. Lachenal et N. Barralon I-AM est une infrastructure qui fournit aux développeurs un espace logique uniforme composé d’un nombre quelconque de processeurs, et de ressources d'interaction telles que les surfaces. Soutenance de thèse - 1er août 2005
I-AM Organisation des contexteurs 3 adaptateurs de contexte IamLinksAdapter IamSurfaceAdapter IamDisplayAdapter 5 contexteurs DisplayContextor SurfacesContextor SoftLinkContextor ProximityContextor HardLinkContextor Soutenance de thèse - 1er août 2005
I-AM Rôles des contexteurs Détection des couplages entre les surfaces I-AM De manière matérielle De manière logicielle Soutenance de thèse - 1er août 2005
I-AM ProximityContextor et HardLinkContextor Pilote le capteur de proximité Alimente le HardLinkContextor Soutenance de thèse - 1er août 2005
Détection des couplages de manière matérielle Soutenance de thèse - 1er août 2005
I-AM SoftLinksContextor Alimenté par le configurateur ou Ambiant Desktop Indique les liens entre les surfaces I-AM Soutenance de thèse - 1er août 2005
Détection des couplages de manière logicielles Soutenance de thèse - 1er août 2005
I-AM Rôles des contexteurs Détection des couplages entre les surfaces I-AM De manière matérielle De manière logicielle Description des ressources d’interactions Principalement les écrans Soutenance de thèse - 1er août 2005
I-AM DisplayContextor Décrit les écrans d’une machine Pour chaque écran Taille de l’écran (en millimètres) Taille des bords (en millimètres) Résolution de l’écran (en pixels) Nombre de couleurs Soutenance de thèse - 1er août 2005
I-AM Rôles des contexteurs Détection des liens entre les surfaces I-AM De manière matérielle De manière logicielle Description des ressources d’interactions Principalement les écrans Découverte dynamique des ressources d’interactions Surfaces I-AM Soutenance de thèse - 1er août 2005
Plan de la présentation Problèmes Objectifs de ma thèse Contributions Conclusion Bilan Perspectives Soutenance de thèse - 1er août 2005
Bilan Définition de la notion de contexte et méthode de modélisation Réseau de contextes => Contextes => Situations Entités => Attributs => Observables Soutenance de thèse - 1er août 2005
Bilan Définition de la notion de contexte Méthode de modélisation du contexte Modèle en couche : pyramide du contexte Grille d’analyse des infrastructures de capture du contexte Soutenance de thèse - 1er août 2005
Bilan Définition de la notion de contexte Méthode de modélisation du contexte Modèle en couche : pyramide du contexte Grille d’analyse des infrastructures de capture du contexte Infrastructure conceptuelle : contexteurs Implémentation de cette infrastructure Contexteur client C 1 C 2 C 3 Contexteur source Soutenance de thèse - 1er août 2005
Bilan Couverture fonctionnelle des contexteurs Soutenance de thèse - 1er août 2005
Bilan Couverture fonctionnelle des contexteurs Soutenance de thèse - 1er août 2005
Bilan Couverture fonctionnelle des contexteurs Soutenance de thèse - 1er août 2005
Bilan Couverture fonctionnelle des contexteurs Soutenance de thèse - 1er août 2005
Bilan Couverture fonctionnelle des contexteurs Soutenance de thèse - 1er août 2005
Bilan Couverture fonctionnelle des contexteurs Soutenance de thèse - 1er août 2005
Perspectives Modèle logiciel Pas d’identification du contexte par les contexteurs Agents cognitifs [Patrick Brézillon] Soutenance de thèse - 1er août 2005
Perspectives Modèle logiciel Pas d’identification du contexte par les contexteurs Rupture du modèle décentralisé Fusionner les répéteurs avec les contexteurs [Kademlia] Soutenance de thèse - 1er août 2005
Perspectives Modèle logiciel Pas d’identification du contexte par les contexteurs Rupture du modèle décentralisé Pas de validation de l’infrastructure des contexteurs Etudier les concepts importants [π-calcul] Comportement des contexteurs Politiques de sécurité Confidentialité des informations Soutenance de thèse - 1er août 2005
Perspectives Modèle logiciel Pas d’identification du contexte par les contexteurs Rupture du modèle décentralisé Pas de validation de l’infrastructure des contexteurs Evaluation partielle des contexteurs Effectuer d’autres tests Développer de nouvelles applications Soutenance de thèse - 1er août 2005
Perspectives Modèle logiciel Dimension éthique L’humanité va-t-elle accepter d’être surveillée ? Notion de vie privée Soutenance de thèse - 1er août 2005
Perspectives Modèle logiciel Dimension éthique L’humanité va-t-elle accepter d’être surveillée ? Les données capturées serviront-elles uniquement à améliorer l’utilisabilité des systèmes ? Confiance de l’homme dans les systèmes Soutenance de thèse - 1er août 2005
Contexte en Interaction Homme-Machine le contexteur Merci Contexte en Interaction Homme-Machine le contexteur Gaëtan Rey Equipe IIHM, Laboratoire CLIPS-IMAG, Grenoble, France Président du Jury : James L. Crowley Rapporteurs : Michel Beaudouin-Lafon Simon Dobson Examinateur : Jean Vanderdonckt Responsable de thèse : Joëlle Coutaz Soutenance de thèse - 1er août 2005
Contexte en Interaction Homme-Machine le contexteur Merci Contexte en Interaction Homme-Machine le contexteur Gaëtan Rey Equipe IIHM, Laboratoire CLIPS-IMAG, Grenoble, France Président du Jury : James L. Crowley Rapporteurs : Michel Beaudouin-Lafon Simon Dobson Examinateur : Jean Vanderdonckt Responsable de thèse : Joëlle Coutaz Soutenance de thèse - 1er août 2005
Contexte en Interaction Homme-Machine le contexteur Merci Contexte en Interaction Homme-Machine le contexteur Gaëtan Rey Equipe IIHM, Laboratoire CLIPS-IMAG, Grenoble, France Président du Jury : James L. Crowley Rapporteurs : Michel Beaudouin-Lafon Simon Dobson Examinateur : Jean Vanderdonckt Responsable de thèse : Joëlle Coutaz Soutenance de thèse - 1er août 2005
Approches Hardware Réseaux de capteurs Informatique Vestimentaire Smart-Its [H.W. Gellersen, A. Schmidt] BT-Node [Beutel 03] TinyOS [http://www.tinyos.net/] Informatique Vestimentaire Wcomp [Jean-Yves Tigli de l’ESSI] Soutenance de thèse - 1er août 2005
Activités de recherche 12 publications à comité de lecture dont 6 internationales Participation aux projets européens GloSS, [http://www.gloss.cis.strath.ac.uk/] Cameleon, [http://giove.cnuce.cnr.it/cameleon.html] Fame, [http://isl.ira.uka.de/fame/index.html] Membre du GT 4.2 du GDRI3 : « Mobilité et Ubiquité » Membre du comité de lecture pour UbiMob05 « Etudiant volontaire » lors de la conférence UbiMob05 Soutenance de thèse - 1er août 2005
Activités de recherche 12 publications à comité de lecture dont 6 internationales 1 chapitre de livre 5 articles longs 1 article court 4 workshops 1 poster Soutenance de thèse - 1er août 2005
Activités de recherche Participation aux projets européens GLOSS, Cameleon, Fame Stage de 3 mois à Glasgow (Université de Strathclyde) Présentation et développement des démonstrations GLOSS Zurich DC Jamboree 2001 Göteborg DC Jamboree 2002 & UBICOMP 2002 Ivrea DC Jamboree 2003 Soutenance de thèse - 1er août 2005