• Aucun résultat trouvé

Raisonnement sur le profil des utilisateurs

3.5 Le Fuzzy Logic Organization Reasoning Engine

3.5.5 Raisonnement sur le profil des utilisateurs

Les sections du FLORE les plus complexes sont celles traitant des données du profil de l’utilisateur et calculant le DCQ utilisateur. Ce DCQ est calculé dans le cas où une requête de déploiement d’application vise un utilisateur particulier d’un espace intelligent. Le DCQ utilisateur est ajouté au DCQ appareil, calculé par les étapes de raisonnement présentées pré- cédemment, pour former le DCQ final, celui utilisé par le FLORE dans l’organisation des lo- giciels. Le raisonnement sur le profil de l’utilisateur versus le contexte des espaces intelligents et les besoins des applications est basé sur quatre types de données : ses capacités d’inter- action, sa position dans l’espace, son orientation et ses préférences en terme d’utilisation de périphériques.

Le FLORE base son évaluation des capacités d’interaction de l’utilisateur avec l’environ- nement sur les modalités d’interaction de ceux-ci : les sens, les perceptions, les sens moteurs et les capacités cognitives [110]. Plus particulièrement, la version courante de Tyche et de son FLORE utilise les modalités d’interaction suivante :

– Sens - Vision : le champ de vision des utilisateurs versus le champ de projection des dispositifs d’affichage ;

– Perception - Vision : l’acuité visuelle des utilisateurs versus les données présentées sur les dispositifs d’affichage ;

– Sens moteur - Mobilité : la distance des utilisateurs avec les appareils et sa vitesse de déplacement ;

– Sens moteur - Interaction physique : les capacités physiques des utilisateurs versus les caractéristiques matérielles des périphériques : force de la main requise et ouverture de la main.

Ses modalités représentent les façons traditionnelles d’interagir avec les appareils informa- tiques/électroniques : la vue et le toucher. Bien sûr beaucoup d’autres modalités existent et pourraient être évaluées telle l’ouïe des utilisateurs versus le volume de haut-parleurs, la force d’élocution versus la sensibilité d’un micro ou bien des aspects cognitifs tels que la langue utilisé par les interfaces homme-machine des applications et des appareils. L’intégration des modalités d’interaction dans le processus d’auto-organisation représente une innovation dans le domaine de l’auto-organisation et de l’informatique autonome en général. Les travaux de thèse de Ghorbel [38] et de Kadouche [58] ont utilisé les capacités physiques des utilisateurs dans une perspective de livraison de services vers des appareils mobiles. Toutefois, le contexte d’utilisation est différent puisqu’il ne s’agit pas d’organisation logicielle, mais du déploiement d’application vers un appareil dédié à un utilisateur. Dans ces travaux, l’évaluation des mo-

dalités d’interaction des utilisateurs est réduite à deux seuls capacités physiques : la force des mains et l’ouverture de celles-ci. Le type d’évaluation est catégorique, les utilisateurs ont ou n’ont pas les capacités d’interaction pour interagir avec un appareil.

Capacités physiques des utilisateurs

Dans un premier temps, les capacités des utilisateurs à interagir avec les périphériques des appareils sont vérifiées. Cette vérification est faite en comparant les capacités physiques des utilisateurs et les caractéristiques matérielles nécessaires afin d’utiliser les périphériques en question. Le FLORE se base donc sur les travaux de Kadouche [58] en la matière, en vérifiant la force de la main et l’espace de travail des mains des utilisateurs i.e. le degré d’ouverture des mains. Dans le cas où cette vérification échoue, les appareils reçoivent directement un DCQ d’une valeur de 0 point.

Vision et acuité visuelle

Le FLORE utilise dans un deuxième temps, le champ de vision de l’utilisateur et le champ de projection afin de déterminer si l’utilisateur visé par le déploiement d’une application a des dispositifs d’affichage dans son champ de vision. Ces éventuels appareils seraient alors considérés prioritairement par le FLORE dans son calcul des DCQ. Alors que le champ de projection des dispositifs d’affichage est caractérisé dans la description contextuelle des es- paces par une orientation en degré et un angle de vision en degré également, le champ de vision des utilisateurs est défini par l’orientation de l’utilisateur en degré et de deux angles de vision correspondant à chaque oeil de l’utilisateur. Ainsi, un utilisateur peut avoir un champ de vision normal pour l’oeil droit et un champ de vision réduit pour l’oeil gauche ou vice versa. La vérification des champs de vision est relativement simple et utilise des changements de plan orthonormé vers la position de l’utilisateur et son orientation, puis vers les dispositifs d’affi- chage des appareils. Le pseudo-code 3.1 présente l’algorithme de vérification des champs de vision.

Dans un troisième temps, le FLORE évalue la capacité des utilisateurs d’interagir avec les applications, en calculant des ratios d’acuité visuelle. Ce ratio d’une valeur variant entre [0, 1] est calculé à partir de l’acuité visuelle des utilisateurs, leur position, la taille moyenne des ca- ractères des dialogues des applications à déployer, la position des dispositifs d’affichage, la taille des dispositifs et leur résolution. L’objectif de ce ratio est de quantifier la capacité d’un utilisateur à lire l’information textuelle d’une application à partir de sa position dans l’envi-

Pseudo-code 3.1 Algorithme de vérification du champ de vision des utilisateurs 1 - Calculer la matrice de déplacement du plan orthonormé où u = Utilisateur

Mt =   1 0 u.position.x 0 1 u.position.y 0 0 1   Mr =   cos(u.orientation) −sin(u.orientation) 0 sin(u.orientation) cos(u.orientation) 0 0 0 1   M = MtMr

2 -Pour chaque dispositif d’affichage recalculer sa position et son orientation et vérifier si l’utilisateur a ces dispositifs dans son champ de vision

∀a∈ Af f ichage

a.position = a.position ∗ M SI a.position.y ≥ 0 ALORS

penteu,a= a.position.y/a.position.x

Θu.champ.droit = (90 deg +u.champ.droit) ∗ (π/180 deg)

Θu.champ.gauche = (90 deg −u.champ.droit) ∗ (π/180 deg)

SI a.position.x < 0 OU a.position.y < 0 ALORS Θu,a = π − | arctan(penteu,a)|

SINON Θu,a = arctan(penteu,a)

SI Θu,aΘu.champ.droitET Θu,a ≤ Θu.champ.gaucheALORS

le dispositif d’affichage est dans le champ de vision de

l’utilisateur, refaire les étapes 1 et 2 mais avec comme centre du plan orthonormé le dispositif d’affichage. Si l’utilisateur est également dans le champ de projection du dispositif alors les deux entités ont leur champ en commun.

ronnement. Évidemment, les utilisateurs auront probablement à se déplacer vers les appareils où les applications seront déployées pour interagir avec celles-ci, mais elle permet de vérifier si dans un premier temps, l’utilisateur est capable de reconnaître les applications et d’avoir un minimum d’information sur celles-ci.

Le calcul du ratio utilise donc l’acuité visuelle moyenne des utilisateurs exprimée avec l’échelle de Snellen [111]. Cette échelle est largement utilisée dans l’optométrie pour quantifier l’acuité visuelle en vérifiant la capacité d’une personne à lire un caractère de cinq arcminutes (hauteur et largeur) à une distance traditionnelle de vingt pieds, la fameuse vue 20/20 ou 6/6 (en mètres). Dans le cas d’une personne avec une acuité d’une échelle de Snellen de 10/20, celle-ci doit être à une distance de dix pieds pour lire les cinq arcs minutes de vingt pieds, alors qu’une personne avec une acuité de 20/20 les reconnait de la distance normale de vingt pieds. Les cinq arcs minutes de l’échelle correspondent à la taille d’un arc de cercle d’un angle de cinq minutes pour un cercle d’un rayon 20 pieds, ce qui équivaut à un caractère d’une hauteur et

d’une largeur de 8,9 millimètres. L’optotype des utilisateurs adaptés à la distance des dispositifs d’affichage est comparé avec la taille des caractères des applications sur ces mêmes dispositifs. Plus le ratio est élevé plus près sont les caractères de l’optotype des utilisateurs et plus le ratio tend vers 0 et plus les utilisateurs ont de la difficulté à lire les caractères sur les dispositifs de leur position dans l’espace. Les valeurs du ratio sont bornées de [0, 1] pour éviter que les grands dispositifs d’affichage ayant une petite résolution aient des ratios très élevés, les favorisant peu importe la distance entre ceux-ci et les utilisateurs et que les petits dispositifs ayant une grande résolution reçoivent des ratios négatifs les défavorisant grandement. Ainsi, soit les utilisateurs sont capables de lire les caractères (ratio de 1) et soit les utilisateurs en sont plus ou moins incapables (ratio de 0 et plus). Le Pseudo-code 3.2 présente l’algorithme du calcul du ratio d’acuité visuelle.

Pseudo-code 3.2 Algorithme de calcul du ratio d’acuité visuelle

∀d ∈ Appareils|a ∈ Applications, u ∈ U tilisateurs, a.utilisateur = u :

distance =%(u.position.x − d.position.x)2+ (u.position.y − d.position.y)2 primtre = 2 ∗ distance ∗ π

caractreM oyen = d.taille.hauteur ∗ a.tailleCaract d.resolution.hauteur optotype = 5 ∗ primtre

arcminutes ∗

acuitvisuellemoyenne u.acuitV isuelle ratio = 1 −caractremoyenoptotype |ratio = [0, 1] returnratio

Mobilité des utilisateurs

La quatrième modalité d’interaction évaluée est la mobilité de l’utilisateur. Cette évalua- tion est faite en grande partie à l’aide de la logique floue et comporte en réalité deux sous- évaluations interreliées. La première sous-évaluation consiste à qualifier la vitesse de dépla- cement de l’utilisateur. Pour ce faire, nous avons fait une revue de littérature des recherches sur les mesures de la vitesse de déplacement d’utilisateur. Parmi les différents documents revi- sés, nous avons conservé une enquête générale sur la vitesse de marche des piétons en milieu urbain [112] et un article sur l’évaluation de la mobilité des personnes âgées [113], afin de catégoriser et qualifier les vitesses de déplacement des utilisateurs. Nous avons donc divisé les vitesses de déplacement en quatre types : déplacement impossible, déplacement lent, déplace- ment normal et enfin déplacement rapide. Chacun de ses types de déplacement a été associé à une fonction d’appartenance de type gaussienne normale avec une vitesse moyenne et un

écart-type. Ces moyennes et écarts-types ont été tirés de notre revue de littérature. L’associa- tion des vitesses de déplacement des utilisateurs à ces fonctions d’appartenance sera utilisée par le contrôleur de logique floue du FLORE-C pour son calcul du DCQ utilisateur. Ces fonctions d’appartenance sont présentées à la Figure 3.12.

0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 0 0,175 0,35 0,525 0,7 0,875 1,05 1,225 1,4 1,575 1,75 1,925 2,1 Appartenance Vitesse (mètre/seconde) Normal Lent Impossible Rapide

FIGURE 3.12 – Fonctions d’appartenance de la vitesse de déplacement des utilisateurs du

FLORE

La seconde sous-évaluation concerne le temps imparti à un utilisateur pour se déplacer jusqu’à un appareil. Cette sous-évaluation calcule donc le temps en secondes pour atteindre un appareil à l’aide de sa vitesse moyenne de déplacement et la distance entre l’utilisateur et l’appareil. Le temps de déplacement est ensuite qualifié dans un ensemble flou où quatre fonctions d’appartenance sont présentes : temps instantané, temps rapide, temps lent et temps très lent. Un temps instantané correspond à un temps de déplacement moyen de 0 secondes et 2 secondes d’écart-type, un temps rapide de 10 secondes et avec 2 secondes d’écart-type, un temps lent de 20 secondes et 2 secondes d’écart-type et finalement un temps très lent de 30 secondes et plus avec un écart-type de 2 secondes vers les valeurs de moins de 30 secondes (les valeurs supérieures à 30 secondes ont un degré d’appartenance de 1 à la fonction temps très lent). À l’instar de la première sous-évaluation de la mobilité des utilisateurs, le degré

d’appartenance à ces fonctions est évalué par le contrôleur de logique floue du FLORE-C. Préférences envers les périphériques d’interaction

Enfin, la dernière étape d’évaluation du profil des utilisateurs versus le contexte des espaces intelligents et des besoins des applications à déployer, traite des préférences des utilisateurs envers les périphériques d’interaction. Dans la description du profil des utilisateurs, il est pos- sible de définir un ensemble de préférence des utilisateurs envers des types de périphérique d’interaction. Ces préférences ont comme rôle d’avantager dans l’évaluation de l’organisation logicielle, les appareils ayant des périphériques appréciés par certains utilisateurs et inverse- ment de désavantager les appareils munis de périphériques moins appréciés. Ces préférences peuvent être utilisées comme un outil complémentaire aux capacités physiques afin de détermi- ner les types de périphériques que des utilisateurs potentiels seront à même d’employer. Dans la version actuelle du projet Tyche et lors de l’évaluation de celui-ci (Chapitre 4), cinq types de périphérique ont été utilisés : clavier, souris, trackball, clavier virtuel et curseur sur écran tactile. D’autres types de périphériques peuvent aisément être ajoutés à l’ontologie. Dans la définition des profils d’utilisateur, les préférences envers ces types de périphérique ont été défi- nies à l’aide d’une simple échelle de Likert [114] : l’utilisateur "aime" ce type de périphérique (valeur de 1), l’utilisateur est "neutre" face à ce type (valeur de 0) et l’utilisateur "n’aime pas" ce type (valeur de -1). Les échelles de Likert sont utilisées dans un vaste ensemble de domaines afin de déterminer le degré d’appréciation envers des concepts. Elles sont particulièrement uti- lisées en interaction homme-machine dans l’évaluation de la convivialité [115]. La moyenne des préférences d’un utilisateur face aux types de périphérique d’un appareil, correspond donc à son appréciation générale quant à l’interaction avec les périphériques de cet appareil. Encore là, l’appréciation générale est ajoutée en entrée au contrôleur de logique floue du FLORE-C et est utilisée dans les règles de raisonnement pour le calcul du DCQ.

Les modalités d’interaction et les préférences des utilisateurs sont donc injectées dans le contrôleur de logique floue qui calcule alors un DCQ utilisateur pour chaque appareil de l’envi- ronnement ayant les ressources minimales à l’exécution des applications à déployer. Ces don- nées sont associées aux ensembles de fuzzification, traitées par les règles de raisonnement vers un ensemble de defuzzification, puis le DCQ utilisateur est calculé à l’aide du centroïde des ré- sultats de l’ensemble de defuzzification. Le contrôleur de logique floue du FLORE-C comprend donc cinq ensembles flous, dix-sept fonctions d’appartenance et quarante et une fonctions de raisonnement. Puisque le fichier de description du contrôleur de logique floue contient trop de données, un extrait de celui-ci est présenté dans l’Annexe B.

Ajouter d’autres modalités à l’évaluation de l’organisation logicielle fait partie des futurs objectifs du projet Tyche, notamment en ce qui a trait à l’assistance ponctuelle d’utilisateurs dans les milieux i.e. le déploiement à un temps donné d’une application d’assistance auprès des utilisateurs. L’ajout d’autres modalités représente cependant un travail considérable puisqu’il est nécessaire, comme nous l’avons fait pour les modalités utilisées dans la version courante, de modéliser le mode d’interaction avec l’information contextuelle des milieux et puis d’intégrer le modèle de raisonnement au reste du FLORE. La création d’un modèle complet des modalités d’interaction des utilisateurs dans un cadre d’organisation logicielle ou d’assistance ponctuelle dans les espaces intelligents, représente un travail de recherche complet, qui pourrait s’avérer une suite logique à notre travail de recherche. Toutefois, les objectifs de ce travail de thèse sont plus larges et à un autre niveau et il était impossible d’approfondir l’utilisation des modalités plus loin.