La modélisation - Université des Sciences et de la Technologie d`Oran

Transcription

La modélisation - Université des Sciences et de la Technologie d`Oran
République Algérienne Démocratique et Populaire
Ministère de l'Enseignement Supérieur et de la Recherche Scientifique
Université des Sciences et de la Technologie d'Oran
USTO-Mohamed Boudiaf, Faculté des Sciences,
Département d'Informatique
MEMOIRE
PRESENTE EN VUE DE L'OBTENTION DU DIPLOME DE
MAGISTER EN INFORMATIQUE
Option : Modélisation, Optimisation et Evaluation
des performances des Systèmes
Par
ELOUALI Nadia
Thème
Modélisation et développement d'une
application mobile multimodale
Sous la direction de : Mr K.Belkadi
Soutenu publiquement le : 27/11/2012
Devant le jury composé de :
Président :
Mr BENYETTOU Mohamed
Examinateurs : Mme CHOURAQUI Samira
Mr SADOUNI Kaddour
À mes très chères parents et mes très chères sœurs.
2
REMERCIEMENTS
Eternel remerciement à Allah, le clément et miséricordieux, de m'avoir permis de réaliser ce
magister.
Au président du jury, Mr BENYETTOU Mohamed, qui m'a fait l'honneur de présider le jury de ce
magister, dont la soutenance fut l'un des événements les plus importants de ma vie.
À mon encadreur, Belkadi Khaled, que je remercie de la confiance qu'il a placé en moi. Il m'a guidé
par son conseil pendant mes deux ans de magister et lors de la rédaction.
Aux examinateurs du jury, Mme CHOURAQUI Samira et Mr SADOUNI Kaddour, pour l'intérêt
qu'ils ont porté à mon travail.
À Abdelkader mon père et Fatiha ma mère, pour leurs amour et leurs confiance qui me donne
toujours le courage pour avancer.
À mes sœurs; Amel pour sa patience, Fatima Zohra pour ses encouragements et la prise en charge
de mes inscriptions administratives et la paperasse de la soutenance, Malika pour sa disponibilité et
son accompagnement, Fadela pour ses conseils et ma chère Aya pour son amour.
À Amr Khaled...
3
Sommaire
Introduction générale...........................................................................................................................8
Chapitre I : Multimodalité et mobilité................................................................................................ 11
I.1 Introduction.............................................................................................................................. 11
I.2 L'interaction multimodale.........................................................................................................11
I.2.1 Définitions et terminologie .............................................................................................. 11
I.2.1.A Mode :.......................................................................................................................11
I.2.1.B Modalitè :................................................................................................................. 12
I.2.1.C Média :......................................................................................................................12
I.2.1.D Multimédia et multimodal :......................................................................................12
I.2.2 Principales caractéristiques des interactions multimodales.............................................. 14
I.2.3 Types d'interactions et coopération entre les modalités....................................................14
I.2.3.A Propriétés CARE...................................................................................................... 15
I.2.3.B Propriétés TYCOON................................................................................................ 17
I.2.4 Fusion et fission des données multimodales.....................................................................18
I.2.5 Difficultés de conception et de développement des applications multimodales..............19
I.3 L'informatique mobile.............................................................................................................. 21
I.3.1 Classification des systèmes mobiles ................................................................................ 21
I.3.2 Intérêts et limites des systèmes mobiles .......................................................................... 22
I.3.3 Plateformes mobiles : Android & iPhone......................................................................... 23
I.3.3.A Android : la plateforme open source mobile............................................................ 23
I.3.3.A.a Historique et définition..................................................................................... 23
I.3.3.A.b L'architecture Android...................................................................................... 23
I.3.3.A.c Développement sous Android...........................................................................25
I.3.3.B iPhone ...................................................................................................................... 26
I.3.3.B.a Historique et définition..................................................................................... 26
I.3.3.B.bi Phone SDK...................................................................................................... 26
I.4 Conclusion................................................................................................................................ 27
Chapitre II : La modélisation..............................................................................................................29
II.1 Introduction............................................................................................................................. 29
II.2 La modélisation des applications informatiques..................................................................... 29
II.2.1 Modèle et modélisation................................................................................................... 29
II.2.1.A Modèle ................................................................................................................... 29
II.2.1.A.a Définition.........................................................................................................29
II.2.1.A.b Qualité des modèles........................................................................................ 29
II.2.1.B Modélisation............................................................................................................30
II.2.1.B.a Définition.........................................................................................................30
II.2.1.B.b Pourquoi modéliser?........................................................................................31
II.2.1.B.c L'ingénierie dirigée par les modèles (IDM).....................................................32
II.2.2 UML, un langage de modélisation ................................................................................. 32
II.2.2.A La notion d'objet..................................................................................................... 33
II.2.2.B Contenu d'UML...................................................................................................... 34
II.3 La modélisation en IHM......................................................................................................... 35
II.3.1 Les besoins de modélisation en IHM.............................................................................. 35
II.3.2 Les modèles en IHM....................................................................................................... 36
II.3.2.A Modèles d'architecture ........................................................................................... 36
II.3.2.A.a Modèles linguistiques......................................................................................37
II.3.2.A.b Modèles à agent ..............................................................................................40
4
II.3.2.B Modèles d'interaction.............................................................................................. 44
II.4 Conclusion...............................................................................................................................47
Chapitre III : Modélisation et développement de e-USTO.................................................................49
III.1 Introduction............................................................................................................................49
III.2 Modélisation multimodale..................................................................................................... 49
III.2.1 Modèle d'interaction pour la multimodalité................................................................... 49
III.2.2 Notre notation : le CTT annoté...................................................................................... 51
III.3 L'application mobile multimodale e-USTO...........................................................................54
III.3.1 Pourquoi e-USTO (electronic-USTO) ?.........................................................................54
III.3.2 Modélisation de e-USTO............................................................................................... 55
III.3.3 Développement de e-USTO & résultats.........................................................................58
Conclusion et perspectives................................................................................................................. 78
Bibliographie......................................................................................................................................80
5
Résumé
L'interface homme machine est un élément clé de l'utilisation des applications informatiques et
conditionne pour une large part leurs succès. Théoriquement, elle permet aux utilisateurs d'accéder à
l'application d'une façon simple et efficace en utilisant leurs différents modes de perception et de
communication. Malheureusement, les interfaces classiques d'interaction ou dite interfaces WIMP
(Windows, Icons, Menus, Pointing device) sous-exploitent une grande partie des capacités sensorimotrices de l'être humain. Ainsi, elles ne fournissent que des modalités très limitées d'interaction
alors que l'utilisateur peut parler, écouter, voir et faire des gestes simultanément.
Les interfaces multimodales cherchent à résoudre cette problématique et satisfaire l'être humain en
exploitant au maximum ses capacités communicatives. Ce sont des interfaces qui possèdent au
moins deux modalités d'interaction en entrée et/ou en sortie ce qui permet d'apporter plus de
rapidité, d'efficacité, et de confort à l'utilisateur final.
Ce mémoire de magister décrit la modélisation, la conception et la réalisation d'une interface
multimodale pour une application mobile sous Android. Cette application vise à exposer
l'Université des Sciences et de la Technologie d'Oran (USTO) afin de pouvoir donner des
informations pratiques sur l'université aux étudiants et visiteurs et donc remplacer les guides papiers
classiques. Notre travail, se veut apporter par la multimodalité de cette application une méthode de
modélisation simplifiée afin de résoudre les divers problèmes liés à l'implémentation des différentes
modalités d'interaction dans une application mobile.
Mots clés
Interaction Homme-Machine, Interfaces multimodales, Application mobile, Modélisation.
6
Abstract
The Human Machine Interface is a key element in using computer applications and determines in a
large part their success. Theoretically, it allows users to access the application in a simple and
effective way by using their different modes of perception and communication. Unfortunately,
conventional interfaces or so-called WIMP interfaces (Windows, Icons, Menus, Pointing device)
which does not exploit all the sensory-motor capabilities of humans. Thus, they provide only a very
limited interaction modalities while the user can speaks, listens, sees, feels and makes gestures
simultaneously.
Multimodal interfaces try to solve this problem and satisfy the end users by allowing them to use
their communication skills. These interfaces have at least two input/ output interaction modalities
which provide more speed, efficiency, and comfort to the end users.
This research describes the modeling, design and implementation of a multimodal interface for a
mobile application. This application aims to expose the University of Science and Technology of
Oran (USTO) in order to provide practical information about the university to their students and
visitors and thus replace the traditional paper guides. Our work aims simplify the modeling
approach and solve the various problems related to the implementation of the various interaction
modalities in a mobile application.
Keywords
Human Machine Interaction, Multimodal interfaces, Mobile application, Modeling.
7
Introduction
Un des domaines de recherche émergents en interaction homme-machine est préoccupé par
la conception et le développement des interfaces de plus en plus naturelles. Ces interfaces visent à
simplifier la communication homme-machine en offrant aux utilisateurs la possibilité d'utiliser leurs
différentes capacités sensori-motrices. En 1980, Richard Bolt a proposé un premier paradigme
naturel [Bolt, 1980] qui permet à l'utilisateur de son système d'interagir avec la voix et les gestes
simultanément en lui donnant ainsi le plaisir d'utiliser les deux capacités préférées en
communication homme-homme. Depuis, la multimodalité a été retenue pour décrire l'utilisation de
plusieurs modalités d'interaction et pour avancer vers la naturalisation des systèmes même si une
application multimodale n'est pas forcément naturelle. En plus, l'arrivée des périphériques mobiles à
donner beaucoup de succès aux interfaces multimodales, car avec leurs différents capteurs ils
offrent un nombre important de modalités d'interaction telle que le tactile, geste, vocale, etc.
Toutefois, le développement des applications multimodales reste encore une tâche difficile [Serrano
et al., 2008]. D'une part, elles demandent beaucoup de développement de bas niveau (la
manipulation des différents périphériques, les techniques de reconnaissance,...etc) et donc un effort
important des développeurs et en conséquence un coût très élevé surtout pour la combinaison des
modalités d'interaction et la fusion/fission des données en entrée/sortie qui n'ont pas encore
d'algorithmes conventionnels. D'autre part, comme l'a démontré Oviatt [Oviatt, 1999], les
utilisateurs finaux n'utilisent pas toujours les applications multimodales d'une façon multimodale.
C'est à dire que les utilisateurs ne se servent pas de la multimodalité tant qu'elle ne leur facilite pas
la tâche d'interaction. Il faut alors trouver les modalités d'interaction les plus adaptés ainsi que les
combinaisons les plus proches cognitivement et psychologiquement des utilisateurs finaux pour
s'assurer que le système est bien utilisé d'une façon multimodale.
La modélisation semble une solution adéquate pour résoudre les problèmes de développement et
simplifier la réalisation des systèmes multimodaux. C'est la solution qui était retenue depuis
quelques années pour faciliter la création des applications interactives, car même si elle nécessite un
peu plus de temps, il a été démontré que la formalisation des systèmes avant leur création diminue
significativement les problèmes rencontrés lors du développement et augmente leurs utilité et
utilisabilité. De plus, avec l'émergence de l'Ingénierie Dirigé par les Modèles (IDM) la modélisation
est devenue une piste de recherche très recommandée dans le domaine de l'interaction multimodale.
8
Dans ce mémoire de magister, on se base sur la modélisation afin de simplifier la réalisation des
applications mobiles multimodales. Notre but n'est pas de générer du code à partir des modèles,
même s'il reste un de nos futurs buts, mais de trouver une modélisation adéquate aux interactions
multimodales et accessible à tous les participants du processus de conception et de développement.
Ce mémoire est constitué de trois grands chapitres :
•
Un premier chapitre qui mettra en évidence les informations d'ordre général sur les
applications mobiles et les interfaces multimodales dans le but de présenter les différentes
définitions proposées dans la littérature à propos du domaine.
•
Un deuxième chapitre présentera les différents aspects de modélisation et les modèles déjà
existants pour modéliser les applications multimodales avec une étude comparative entre
eux.
•
Dans un troisième chapitre nous présentons notre modèle d’interaction intégrant la
dimension multimodales qui constitue notre contribution conceptuelle. Nous présentons
aussi nos résultats expérimentaux et leurs discussions. À l'issue de ce travail, une
conclusion générale comprendra les perspectives seront dégagées.
9
Chapitre I :
Multimodalité et mobilité
10
I Multimodalité et mobilité
I.1 Introduction
Depuis 1984 les interfaces WIMP sont largement répandues et représentent la majorité des
interfaces utilisées aujourd’hui. Le principe de ces interfaces se base sur la manipulation graphique
des objets d’intérêts. Cependant, le futur est annoncé aux interfaces dites post-WIMP, qui reposent
sur de nouveaux paradigmes d’interaction [Bouchet, 2006].
Dans ce chapitre nous présentons le paradigme multimodal ainsi que l'informatique mobile qui est
de plus en plus répandu et qui participe fortement à la propagation de la multimodalité.
I.2 L'interaction multimodale
I.2.1 Définitions et terminologie
La terminologie dans le domaine des interfaces multimodales n'est pas bien stabilisée. Bien que les
concepts soient identifiés par la communauté scientifique, il faut cependant souligner l'inexistence
d'un consensus général sur les termes servant à les désigner.
La littérature nous a permis de relever quatre groupes de termes directeurs : mode, modalité, média,
multimédia et multimodal.
I.2.1.A Mode :
Dans le sens commun un « mode » détermine la manière générale dont un phénomène se présente
ou dont une action se fait.
Au sens de Frohlich [Frohlich, 1991], les modes d'une interface se définissent comme des états dans
lesquels différentes actions de l'utilisateur peuvent avoir le même effet. En général et du point de
vue système, le mode évoque l'état dans lequel le système interactif se trouve à un instant donné
(avec un éditeur de texte on peut se trouver en mode « saisie » par exemple), tandis que du point de
vue usager, le mode traduit les états au travers desquels les différentes actions de l'usager peuvent
produire les mêmes effets (pour fermer une fenêtre l'utilisateur peut exécuter cette commande en
cliquant avec la souris sur la croix ou à l'aide des touches ALT et F4 du clavier).
Bellik [Belik, 1995] se positionne du côté utilisateur. Pour lui le terme mode fait référence aux cinq
sens de l'être humain : le toucher, l'ouïe, la vue, l'odorat, le goût (réception d'information), et aux
différents moyens d'expressions humains : le geste, la parole (émission d'information). Le mode
11
définit la nature des informations servant pour la communication (mode visuel, mode sonore, mode
gestuel etc).
I.2.1.B Modalitè :
Au sens large, une « modalité » est assimilée à une technique d'interaction ou une manière
d'interagir avec le système [Nigay, 1994].
Une modalité pour Bellik [Belik, 1995] est une forme concrète particulière d'un mode. Toujours
d'un point de vue utilisateur, il considère que la modalité de communication est définie par la
structure des informations échangées, telle qu'elle est perçue par l'être humain. Par exemple, en ce
qui concerne le mode auditif, on peut citer les modalités suivantes : parole, musique, bruit, chant,
etc.
Bernsen, quant à lui, la définit comme étant un système représentationnel d'information : un graphe,
un texte, etc. [Blattner et al., 1990].
La définition d'une modalité la plus communément admise est celle d'un couple <p,r> où : « p »
désigne un dispositif physique (souris, caméra, écran, etc), et « r » dénote un système
représentationnel ou langage d'interaction, c'est-à-dire un système conventionnel structuré de signes
assurant une fonction de communication (langage pseudo naturel, graphe, référentiel de
coordonnées GPS, etc). La modalité peut être active ou passive ce qui permet de déterminer si
l'utilisateur doit effectuer une action explicite pour recevoir de l'information ou pas [Rouillard,
2008].
I.2.1.C Média :
Une majorité des auteurs s'accordent à penser qu'un média est un support technique de l'information
(CD-ROM, flash disque, ...).
Pour Blattner [Blattner et al., 1990] tout véhicule d'information physique ou logique (un mail par
exemple) est un média. Mais pour Jacquet [Jacquet, 2006], un média est un dispositif informatique
qui permet l'interfaçage de la machine avec des utilisateurs, en entrée ou en sortie, selon une ou des
modalités données.
Selon cette dernière définition un média sert à véhiculer une modalité. Par exemple, un écran
permet de véhiculer des modalités visuelles, un système de synthèse vocale (haut-parleurs compris)
la modalité parole synthétique, etc.
I.2.1.D Multimédia et multimodal :
La diversité des définitions des termes média et modalité, laisse entrevoir la difficulté d'identifier
une définition consensuelle pour multimédia et multimodal.
12
Bellik [Belik, 1995] définit un système multimodal comme un système capable d'intégrer plusieurs
modes ou modalités de communication et un système multimédia comme un système capable
d'acquérir et/ou de restituer, par l'intermédiaire des médias, des informations de natures et/ou de
formes différentes (parole, musique, image vidéo, etc.).
Bouchet [Bouchet, 2006] explique que la multimodalité reflète le caractère de multiplicité (préfixe
multi) des modalités pour un même système interactif. Pour lui un système est multimodal s'il
dispose d'au moins deux modalités pour un sens donné (entrée ou sortie).
Pour la plupart des informaticiens, un système multimédia se caractérise par l'utilisation simultanée
de différents dispositifs physiques, par la gestion en parallèle des événements qui en découlent et
par la construction d'événements de haut niveau d'abstraction à partir d'événements de plus bas
niveau [Nigay et al., 1996].
Il suffit que les termes soient situés dans leur contexte d'utilisation pour valider toutes les
définitions ci-dessus. En effet, chaque définition dépend du point de vue (utilisateur ou système)
que l'on adopte et dans quelle phase il est adopté.
Par exemple, en phase de conception, le concept de média est généralement défini comme dispositif
physique associer aux qualités sensori-motrices de l'utilisateur. En revanche, pour les phases de
mise en œuvre, un média est assimilé à un dispositif d'entrée/sortie (vision purement matérielle)
assorti d'un type qui caractérise l'information brute acquise ou produite (par exemple, une chaîne de
caractères, vision logique de la perspective matérielle).
- Nous présentons ci-après notre vision afin de fixer quelques définitions :
Média : c'est un dispositif physique qui acquiert ou diffuse l'information [Belik, 1995].
Mode, modalité : ces termes sont équivalents et ils correspondent à la nature des informations
servant pour la communication et se réfèrent aux sens humains. On peut la définir également
comme un style d'interaction qui peut être utilisé en entrée (orale, gestuelle, écrite, etc) ou en sortie
(sonore, visuelle, tactile, etc) [Catinis, 1998].
Multimédia : côté machine, un système multimédia est capable d'acquérir, de stocker et de restituer
des informations de nature différente (texte image, sons, séquences vidéo, ...). Du côté utilisateur,
un système multimédia offre à l'utilisateur la possibilité d'acquérir et de manipuler des informations
de nature variée [Catinis, 1998].
Mutimodal : un système est multimodal s'il est capable d'intégrer plusieurs modalités de
communication [Belik, 1995] .
13
I.2.2 Principales caractéristiques des interactions multimodales
Les interfaces multimodales présentent beaucoup plus davantage par rapport aux interfaces
classiques. Plus précisément, l'exploitation des caractéristiques telles que le choix des modalités
adéquates et leurs combinaisons permet d'avoir les avantages suivants :
•
L'interaction multimodale en entrée et/ou en sortie permet une communication hommemachine naturelle. Par conséquence une application naturelle est forcement multimodale
mais l'inverse n'est pas toujours vrai car, une application multimodale peut avoir le clavier
ou la souris en entrée alors qu'ils ne sont pas du tout naturels.
•
La spécification de plusieurs modalités d'interaction permet d'impliquer de nouveaux
utilisateurs en interaction avec les systèmes informatiques comme les personnes âgés,
malades (maladie de Parkinson par exemple), etc.
•
La correction des erreurs et la robustesse d'interaction est augmentée significativement pour
les applications multimodales [Oviatt, 1997] car les utilisateurs peuvent choisir la modalité
qui leur semble plus sécurisée.
•
La multimodalité permet aussi l'adaptation au contexte d'utilisation. Le système peut être
adaptable, c'est-à-dire qu'il est capable de détecter les changements dans son environnement
et de modifier son fonctionnement automatiquement (il utilise automatiquement le vocale
au lieu du tactile en entrée parce qu'il détecte qu'il fait très froid), ou adaptative, c'est-à-dire
que l'utilisateur aura la possibilité de changer le mode de fonctionnement du système en
fonction de ses besoins et de son contexte (il choisie la synthèse vocale en sortie du système
au lieu de l'affichage du texte parce qu'il a oublié ses lunettes et il n'arrive pas à lire).
La littérature donne aussi d'autres avantages de l'utilisation de la multimodalité telle que
l'exploitation de toutes les capacités de calcul des ordinateurs, l'utilisation du multi-tâche, etc. Mais
les plus grands avantages sont ceux qui tombent du côté utilisateur parce que le principal but de la
multimodalité est de satisfaire l'utilisateur final.
I.2.3 Types d'interactions et coopération entre les modalités
Un système multimodal peut utiliser plusieurs modalités différentes en entrée et/ou en sortie. On
peut alors se demander quels rapports ces modalités entretiennent les unes aux autres et la façon
14
dont leur combinaison peut être mise à profit par le système.
Les types de coopération entre modalités ont été introduits par Jean-Claude Martin durant les
cinquièmes journées sur l'ingénierie des interfaces Homme-Machine [Belik, 1995]. Elles ont été par
la suite présentées de manière plus formelle dans [Coutaz et al., 1994] sous le nom de propriétés
CARE (Complémentarité, Assignation, Redondance, Equivalence) et étendu dans [Martin, 1999]
sous le nom de propriétés TYCOON (TYpes and goals of COOperatioN).
I.2.3.A Propriétés CARE
Les propriétés CARE (Complémentarité, Assignation, Redondance, Équivalence) [Coutaz et al.,
1994] permettent de décrire la façon dont les modalités sont utilisées dans un système multimodal.
Elles introduisent une caractérisation des relations qu'entretiennent entre elles les modalités. Notons
que dans les propriétés CARE, une modalité est définie comme un couple <langage d'interaction,
dispositif physique> [Jacquet, 2006].
Complémentarité :
La complémentarité entre deux modalités d'interaction implique leur utilisation simultanée pour
réaliser une tâche donnée. L'exemple le plus connu est celui de Bolt où l'utilisateur utilise la voix en
prononçant « Mets ça ici » et les gestes en indiçant l'objet à déplacer et la nouvelle position (Figure
1). L'interprétation de la phrase prononcée permet de comprendre la commande, mais ne permet pas
de connaitre l'objet et la nouvelle position. De même, l'interprétation des gestes permet de connaitre
l'objet et sa nouvelle position mais pas la commande spécifier pas l'utilisateur. Il faut alors utiliser
simultanément les deux modalités et fusionner les données provenant d'elles pour pouvoir effectuer
la commande.
15
Figure 1 : «Put that there » de Bolt
Assignation (spécialisation) :
On dit qu'une modalité est assignée à une tâche donnée si cette dernière ne peut être effectuée qu'à
l'aide de cette modalité. Par exemple, on peut affecter le tactile pour entrer les données dans une
application mobile (smartphone). Ainsi, une donnée transmise à travers une modalité assignée ne
sera pas candidate à une fusion par la suite [Belik, 1995].
Équivalence :
Deux modalités sont dites équivalentes s'il est possible d'effectuer une tâche donnée indifféremment
au moyen de l'une quelconque de ces deux modalités. Par exemple, l'utilisateur peut avoir le choix
en entrée d'utiliser le tactile ou la voix pour exprimer une commande. Formellement, l'équivalence
d'un ensemble de modalités d'interaction est vérifiée si chaque dispositif ou langage d'interaction
permet d'atteindre le même but en produisant les mêmes données.
Redondance :
Deux modalités sont dites redondantes si elles sont équivalentes (la redondance est un sous-cas de
l'équivalence), et si elles peuvent être utilisées simultanément ou successivement pour l'expression
d'une tâche donnée [Jacquet, 2006]. En entrée, la redondance d'information en provenance de
l'utilisateur implique la prise en compte d'une seule des modalités d'interaction par le système,
l'autre pouvant éventuellement contribuer à fiabiliser l'expression obtenue. Par exemple, le montage
redondant d'un microphone et d'une caméra qui observe le mouvement des lèvres d'un utilisateur
16
permet d'augmenter la robustesse d'un système de reconnaissance vocale [Bouchet, 2006]. La
redondance est beaucoup plus utilisée en sortie, par exemple un système peut afficher un texte et le
lire avec une synthèse vocale.
Les propriétés CARE autorisent la modélisation de la coopération des modalités et leurs analyses
permettent de classer et surtout d'évaluer les systèmes multimodaux, du point de vue système (SCARE, "System CARE") et du point de vue utilisateur (U-CARE, "User CARE").
I.2.3.B Propriétés TYCOON
Six types de primitives de coopération entre les modalités ont été proposés dans TYCOON :
l'équivalence, le transfert, la spécialisation, la redondance, la complémentarité et la concurrence.
Équivalence :
Deux modalités M1 et M2 coopèrent par équivalence pour un ensemble I (un ensemble de blocs
d'information) quand toute information i de I peut être traitée, soit par M1, soit par M2.
Transfert :
Deux modalités M1 et M2 coopèrent par transfert quand une information produite par M1 peut être
utilisée par M2 après traduction.
Spécialisation :
Une modalité M coopère par spécialisation dans la production d'un ensemble d'informations I s'il y
a une relation bi-univoque entre I et M : M est la seule modalité à produire I, I le seul ensemble
d'information produit par M [Martin, 1997].
Redondance :
Plusieurs modalités coopèrent par redondance si la même information est traité par ces modalités
(transmet la même information mais sous une autre forme).
Complémentarité :
17
Lorsque deux modalités M1 et M2 coopèrent par complémentarité, cela signifie que les morceaux
d'informations produits par ces deux modalités doivent être fusionnées.
Concurrence :
Quand plusieurs modalités coopérent en concurrence, cela signifie que les morceaux différents
d'informations sont traitées par plusieurs modalités dans le même temps, mais ne doivent pas être
fusionnés [Martin, 1997].
Les propriétés CARE et TYCOON approfondissent les relations d'usage des modalités d'interaction
au sein d'un système multimodal donné. Tout d'abord, l'usage combiné est défini par les propriétés
de complémentarité et de redondance. L'existence de choix est incarnée par la propriété
d'équivalence, alors que l'absence de choix est définie par l'assignation (CARE) ou la spécialisation
(TYCOON). TYCOON ajoute en plus les propriétés de transfert et de concurrence.
I.2.4 Fusion et fission des données multimodales
Dans cette section nous donnons les définitions des deux processus de la multimodalité nommées la
fusion et la fission.
Fusion
La fusion est la combinaison de plusieurs unités d'information pour former de nouvelles unités
[Nigay, 1994]. L'objectif principal de ce processus est d'extraire le sens d'un ensemble de modalités
en entrée et de le transmettre au contrôleur du dialogue de l'application comme une commande
interprétable. Par exemple, le paradigme du “mets ça ici” nécessite la fusion de l'événement parole
reçue via le microphone avec les événements gestuels via la caméra.
La fusion peut se faire à trois niveaux différents : niveau donné (directement sur le flux d'entrée),
niveau fonctionnalité (les caractéristiques extraites des données) et niveau décision. La fusion au
niveau décision est la plus utilisée, car elle s'effectue après la récupération des informations à partir
des entrées ce qui lui permet d'être plus sécurisée par rapport aux deux autres qui ont souvent le
problème de gestion du bruit (même si les deux premiers n'ont pas le problème de perte de données
comme le niveau décision).
Dans la littérature on trouve un nombre important d'algorithmes de fusion (niveau décision), mais il
n'existe pas encore un algorithme conventionnel qui permet de simplifier la tâche de développement
de ce processus.
18
Fission
La fission correspond au processus inverse de la fusion. Son objectif est de présenter les
informations en sortie à travers plusieurs modalités d'interaction. Par exemple, le système fissionne
un message en le présentant comme texte sur l'écran et en synthèse vocale avec les haut-parleurs.
Elle peut aussi avoir d'autres formes telles que l'affichage sous différents langages (texte, image,
graphe, etc) par exemple.
Selon Foster [Foster, 2002], le processus de fission est constitué de 3 étapes :
•
Sélection du contenu et la structuration des données : dans cette étape le système identifie
les données en sortie et les structures selon la présentation (les données focus, background,
etc)
•
Sélection des modalités d'interaction : après la structuration des données, le système choisit
les modalités d'interaction adéquate en se basant sur des bases de connaissances ou des
règles prédéfinies.
•
La coordination des sorties : finalement, le système coordonne les sorties afin de donner des
messages cohérents à l'utilisateur.
On remarque qu'au contraire de la multimodalité en entrée, en sortie c'est le système qui prend en
charge les choix des modalités d'interaction et la coordination des données ce qui rend la tâche
beaucoup plus difficile pour les développeurs. En plus, les trois étapes précédentes sont
généralement réalisées en ad hoc, ce qui nous explique pourquoi la multimodalité en entrée est
beaucoup plus étudiée que celle en sortie.
I.2.5 Difficultés de conception et de développement des applications
multimodales
Malgré le développement d'applications multimodales dans de multiples domaines, la conception et
le développement d'interfaces multimodales reste une tâche difficile et longue.
Parmi les principales difficultés rencontrées dans le processus de développement d'un système
interactif multimodal, nous avons :
- Nombreuses modalités :
Les interfaces multimodales font intervenir de multiples techniques d'interaction combinant le plus
souvent de façon synergique des modalités actives (parole, geste) et des modalités passives
19
(orientation et position de l'utilisateur). Cette multiplicité accroît significativement les difficultés de
conception et de développement des applications multimodales et les méthodes d'ingénierie n'étant
pas arrivées à maturité, le processus de développement est particulier à chaque réalisation. Pour
chaque système interactif multimodal, le cycle de développement est long et le niveau d'expertise
demandé est élevé et rare, entraînant une augmentation irrémédiable des coûts par rapport au
développement de systèmes interactifs classiques [Bouchet, 2006].
- Manque des méthodes et outils :
Les méthodes et outils existants pour la conception et le développement d'interfaces multimodales
sont limitées et souvent conçus pour un ensemble particulier de modalités d'interaction comme la
parole et le geste [Serrano, 2008] ou s'adressent à des problèmes techniques spécifiques tels que le
mécanisme de combinaison de différentes modalités d'interaction (comme les approches [Belik,
1995] et [Nigay, 1994]).
- Absence de réutilisabilité :
L'absence d'un modèle d'ingénierie a amené les développeurs des applications multimodales à
réaliser des développements ad hoc, souvent sans documentation. Donc l'évolution de ces
applications, comme par exemple l'ajout d'une nouvelle modalité à l'existant semble relever de
l’impossible. De plus, la plupart des avancées conceptuelles et matérielles concernant les modalités
remettent en cause les produits existants. Par exemple, lorsqu'il y a une évolution des techniques de
programmation, la réutilisation de l'existant est très difficile à maîtriser et n'est souvent pas
compatible avec les nouvelles modalités à mettre en œuvre. Au vue de ces constats, les entreprises
effectuent de nouveaux développements complets [Bouchet, 2006].
Différent utilisateurs :
Pour créer un système multimodal utilisable multimodalement par ses utilisateurs finaux il faut
commencer par étudier ces utilisateurs afin de leur donner un système proche de leur mode
d'interaction. Cela rend le processus de conception et de développement beaucoup plus compliqué
car il nécessite des connaissances psychologiques ainsi que des tests d'évaluation et beaucoup de
rapprochement des utilisateurs finaux.
La difficulté de la tâche de conception et de développement est particulièrement vrai dans le cas de
l'informatique mobile [Serrano, 2008] présenté ci-dessous.
20
I.3 L'informatique mobile
Les récentes avancées technologiques dans le domaine des terminaux portables et dans celui des
réseaux sans-fil ont conduit à une forte évolution de l'informatique mobile [Le Mouël, 2003]. Cette
évolution a commencé d'abord par l'arrivée des ordinateurs portables puis plus récemment les
téléphones cellulaires et les smartphones avec toutes leurs fonctionnalités embarquées (agenda,
calendrier, navigation sur le web, GPS, consultation des emails, de messagerie instantanée, etc).
Les applications en informatique mobile, souvent appelées aussi applications pervasives ou
ubiquitaires, sont multiples. Elles peuvent être des applications personnelles avec lesquelles les
utilisateurs peuvent accéder à tout moment à des informations publiques (trafic routier, cours de la
bourse, météo, etc) ou privées (bookmarks, données bancaires, agenda, dossier médical, etc). Elles
peuvent également rendre des services aux utilisateurs (Shazam, Siri, Convertisseur, etc) ou être des
applications professionnelles pour des entreprises particulières.
I.3.1 Classification des systèmes mobiles
Malgré la grande variété des systèmes mobiles, ils peuvent être classifiés selon [26] comme suit :
•
Client mobile – serveur fixe : ce type d'application ressemble aux applications clientserveur traditionnelles mais dans ce cas là les utilisateurs sont mobiles. Il peut par exemple
s'agir d'applications personnelles dans lesquelles un utilisateur fait appel aux services d'un
hébergeur de données. Il rentre dans cette classe surtout des applications effectuant de la
dissémination d'information à destination d'un large public d'utilisateurs mobiles (diffusion
d'informations météo, trafic routier, cours de la bourse …). Ces applications présentent
l'avantage de ne pas encombrer le dispositif mobile par leurs données par contre elles ne
marchent pas s'il y a des problèmes de connexion.
•
Client mobile – serveur mobile : cette classe couvre les applications dans lesquelles client,
serveur et données sont tous embarqués dans un calculateur mobile. Les dossiers portables
de différentes natures sont des exemples typiques de cette classe d'application. Ce type
d'application ne dépend pas de la connexion comme le premier type, mais il peut facilement
occuper beaucoup d'espaces.
•
Client fixe – serveur mobile : on peut ranger dans cette classe des applications où des
capteurs attachés à des mobiles diffusent des informations sur leur état à destination d'une
21
unité de traitement fixe et reçoivent éventuellement des commandes émanant de cette unité
(ex : contrôle à distance d'un véhicule).
•
Données mobiles dans un serveur fixe : par abus de langage, nous utilisons ici le terme
« données mobiles » pour caractériser des applications dans lesquelles les données gérées
correspondent à la localisation de mobiles (localisation de téléphones, la gestion de flottes
de véhicules, le suivi de la migration d'animaux bagués, etc).
I.3.2 Intérêts et limites des systèmes mobiles
Comme tout type d'application, les systèmes mobiles possèdent des avantages et des inconvénients
relatives à leurs conceptions, développement et utilisation. Le plus grand avantage de ces
applications est leurs mobilités qui leurs permet d'être manipulé dans n'importe quel endroit et à tout
moment. En plus, elles sont beaucoup plus rapides que les applications traditionnelles (sauf si elles
sont mal programmées) et en utilisant les composants graphiques du téléphone (boutons, barre de
titre, onglets…), leurs interfaces sont plus faciles à appréhender pour l'utilisateur. Enfin, elles
offrent plus de possibilités telles que la réalité augmentée, réaction aux mouvements du téléphone
(accéléromètre, boussole, etc), lire un code barre ou qrcode et autant de fonctionnalités qui ne sont
possibles qu'avec une application mobile.
En revanche, ces applications possèdent aussi des limites et des inconvénients relatives surtout aux
dispositifs mobiles utilisés :
✗
L'utilisation des ressources mobiles est limitée dans le temps puisqu'elle dépend d'une
source d'énergie limitée, la batterie.
✗
Une faible capacité des terminaux mobiles en terme d'affichage et de puissance de
traitement et de stockage.
✗
Il faut développer les applications mobiles pour chaque plateforme (iPhone, Android,
Blackberry, Windows Mobile, Symbian, Palm OS). Cependant, décliner une application
vers une nouvelle plateforme coûte moins cher, car une bonne partie de l'application (la
logique métier) peut être réutilisée.
✗
Le déploiement des applications est un peu compliqué et long. Apple par exemple impose
une validation des applications avant publication (environ 8 jours). Par contre, sur Android
Market il n'y a pas ce problème.
22
I.3.3 Plateformes mobiles : Android & iPhone
Ci-dessous nous présentons les deux plateformes mobiles les plus utilisées et qui ont des
pourcentages importants de parts de marché ces deux dernières années (la prévision de vente pour
2012 est de plus de 150 millions d'exemplaires des smartphones Android et iPhone).
I.3.3.A Android : la plateforme open source mobile
Le système Android connaît depuis un certain temps un succès croissant auprès des développeurs
d'applications embarquées de type smartphone, ordiphones, tablettes, téléviseurs connectes, etc.
Dans cette section nous allons présenter ce système open source et définir son architecture.
I.3.3.A.a Historique et définition
Le système Android a été développé par la société californienne Android en 2003. Mais la sortie
officielle du système n'a eu lieu qu'en 2007 par Google qui a racheté cette société en 2005. C'est le
premier système d'exploitation mobile open source qui était créée pour permettre aux développeurs
de bénéficier au maximum de tout ce que peut offrir un appareil mobile. Il est devenu totalement
open-source en octobre 2008 et est diffusée sous licence Apache. Cela a permis une utilisation
commerciale facilitée puisque les constructeurs peuvent rajouter des composants à Android sans les
soumettre aux développeurs open-source. La factorisation des compétences et l'ouverture du code a
permis également de réduire les coûts de production, de laisser les développeurs externes améliorer
ou corriger le code et de permettre à tout un chacun de modifier le système à sa guise [Mottier,
2009] . Le terme Android est d'origine grec qui désigne ce qui est de forme humaine ou
étymologiquement ce « qui ressemble à un homme ».
I.3.3.A.b L'architecture Android
Google a donné le nom Android à la pile applicative spécialement optimisée pour les appareils
mobiles. Cette pile applicative n'est pas seulement composée d'applications et d'un framework de
développement, c'est un ensemble de technologies allant du niveau machine (système
d'exploitation) au niveau utilisateur (applications) [Mottier, 2009] .
23
Figure 2 : La pile applicative Android
Nous présentons maintenant les différentes couches de la pile applicative indiquées dans la figure 2.
 Applications
Android est fourni avec un ensemble de programmes de base (aussi appelés applications natives)
permettant d'accéder à des fonctionnalités particulières telles que les courriels, les SMS, le
calendrier (synchronise avec Google Calendar), les photos, les cartes géographiques (issue de
Google Maps), le web, etc. Ces applications sont développées à l'aide du langage de programmation
Java. Pour les utilisateurs, cette couche est la seule accessible et visible [Mottier, 2009] . Google
précise que ces applications peuvent aussi être supprimées ou modifiées par les utilisateurs finaux,
même l'application Home (l'explorer sous windows) peut être modifiée.
 Le framework
Android permet aux développeurs de créer leurs propres applications. Ainsi, les programmeurs
peuvent accéder aux mêmes APIs que celles utilisées par les applications natives d'Android. C'est
24
donc à ce niveau là où ils peuvent intervenir pour développer leurs propres applications.
 Les bibliothèques
Android inclut des bibliothèques C et C++ utilisées par plusieurs composants de la plateforme
Android. Elles sont très répondues dans le monde informatique et couvrent la majorité des besoins
des développeurs qui peuvent y accéder par l'intermédiaire du framework. Parmi ces bibliothèques
on note : SQLite, libc, codecs multimédia, navigateur internet, moteur graphique 2D, Open GL ES,
rendu de polices de caractères, etc.
 Le moteur d'exécution Android
Chaque application Android tourne dans son propre processus et avec sa propre instance de machine
virtuelle (VM) Dalvik. Dalvik VM est conçue pour optimiser l'exécution multiple de machines
virtuelles. Elle repose sur le noyau Linux qui s'occupe des fonctions telles que les threads ou la
gestion bas-niveau de la mémoire [Mottier, 2009] .
 Noyau Linux
Android repose sur un noyau Linux qui gère les services système comme la sécurité, la gestion
mémoire, la gestion des processus, la pile réseau et les pilotes. Il agit également comme une couche
d'abstraction entre le matériel et la pile logicielle [Mottier, 2009] .
I.3.3.A.c Développement sous Android
Le développement sous Android s'effectue majoritairement en langage Java, ce qui contribue à la
popularité de la plateforme auprès des développeurs. Un Software development kit (SDK) est fourni
gratuitement par Google pour les trois systèmes d'exploitation majeurs (Windows, Mac OS X et
Linux). Ce SDK peut s'intégrer à Eclipse ou fonctionner en ligne de commande. Il dispose aussi
d'un émulateur (basé sur QEmu) ainsi que d'outils de mise au point puissants (comme DDMS).
Après compilation, l'utilitaire DX (fourni dans le SDK) permet de convertir le bytecode Java en
bytecode Dalvik. L'opération inverse n'est pas possible avec les outils du SDK officiel.
L'application installable sur le téléphone est empaquetée dans un fichier APK, qui inclut le bytecode
de l'application elle-même (fichier CLASSES.DEX), le manifeste d'application, ses ressources et les
signatures numériques. Le concept est identique à celui des fichiers JAR, les fichiers APK sont
d'ailleurs eux-mêmes des archives ZIP.
25
I.3.3.B iPhone
Le iPhone est devenu un accessoire à la mode mais c'est un téléphone qui, technologiquement, est
assez proche de ses concurrents.
I.3.3.B.a Historique et définition
L'iPhone, dont le premier modèle est sorti en 2007 par Steve Jobs, est le smartphone vendu par
Apple qui a rencontré un succès incontestable. L'un des points forts de cette plateforme réside dans
le nombre d'applications disponibles qui s'élève à environ 250000 avec 15000 nouvelles
applications proposées chaque semaine.
La première version de l'iPhone (et son système d'exploitation iOS (iPhone OS)) a été rendue
disponible au Royaume-Uni, en France et en Allemagne et en Irlande et en Autriche au printemps
2008. Le 11 juillet 2008, Apple a lancé l'iPhone 3G dans vingt-deux pays et depuis l'iPhone 3G est
commercialisé dans plus de quatre-vingts pays et territoires (avec un prix très élevé).
I.3.3.B.b iPhone SDK
Le SDK fourni par Apple pour le développement d'applications sur iPhone est particulièrement
complet. Il fournit l'ensemble des logiciels nécessaires au développeur pour créer des interfaces
graphiques, lire des fichiers multimédias, gérer des affichages tridimensionnels, ainsi que de lier
l'application avec d'autres applications (Safari, Mail, Maps, etc.) sans nécessiter l'inclusion du
moindre framework tiers.
Le développement s'effectue sur la base du langage Objective C avec l'IDE XCode (fourni avec
l'OS Snow Leopard) et avec l'Interface Builder.
 XCode
XCode est l'IDE d'Apple et constitue l'unique environnement de développement officiel pour le
développement sur iPhone. Il propose un éditeur de texte, le compilateur GCC, une interface à SVN
et de nombreuses autres fonctionnalités. Il est relativement facile à prendre en main pour débuter la
programmation sur iPhone, mais nécessite tout de même un certain temps pour maîtriser l'ensemble
de ses fonctionnalités avancées.
 Interface Builder
Interface Builder est un constructeur visuel d'interface graphique. Il offre la possibilité de créer
26
facilement des interfaces utilisateurs simples.
La situation d'utilisation actuelle donne encore l'avantage à l'iPhone. Mais le système d'exploitation
de Google (Android) a détrôné l'iPhone en matière d'activation de nouveaux terminaux, ce qui veut
dire que cette situation pourrait ne pas durer.
I.4 Conclusion
En résumé, nous avons présenté dans ce chapitre le paradigme multimodale dans le but de bien
identifier ses spécificités et de voir son aspect innovant. En revanche, la présentation de
l'informatique mobile nous a permis d'identifier ses avantages, limites et ses différentes
technologies. Ainsi, d'un côté nous pouvons voir que l'informatique mobile soutient vivement la
multimodalité (différents capteurs embarqués dans les smartphones : accéléromètre, boussole,
capteur de lumière....) et de l'autre côté la multimodalité offre un moyen puissant pour surmonter les
limites des systèmes et dispositifs mobiles (petit écran, petite résolution...). Un pont peut être alors
jeté entre la multimodalité et l'informatique mobile.
27
Chapitre II :
La modélisation
28
II La modélisation
II.1 Introduction
La modélisation de l'interaction homme-machine a donné lieu à une littérature riche et très diverse
[Verdurand et al., 2009]. Dans ce chapitre nous allons présenter les différentes modélisations des
applications informatiques et de l'interaction Homme-Machine définie dans la littérature comme
solution des problèmes de conception et de développement des systèmes interactifs.
II.2 La modélisation des applications informatiques
II.2.1 Modèle et modélisation
En informatique, la modélisation était initialement utilisée à des fins de communication entre les
concepteurs de systèmes et les parties prenantes [Dupuy-chessa, 2011]. De nos jours, l'industrie
tend à utiliser de plus en plus les modèles pour des tâches non contemplatives telles que la
simulation, la génération de cas de tests ou de parties de code.
II.2.1.A Modèle
II.2.1.A.a Définition
Il n'existe pas de définition universelle de ce qu'est un modèle. Dans [Kleppe et al., 2003] il est
défini comme suit : "un modèle est une description (d'une partie) d'un système écrit dans un langage
bien formé. Un langage bien formé est un langage avec une forme bien définie (syntaxe), un sens
(sémantique), qui convient pour une interprétation automatique par un ordinateur". Minsky le défini
par "pour un observateur B, M est un modèle de l'objet O, si M aide B à répondre aux questions
qu'il se pose sur O".
On trouve beaucoup d'autres définitions dans la littérature, mais la définition qui nous semble plus
adéquate est la suivante : "un modèle est une représentation abstraite d'un système, problème ou
situation pour un but donné et suivant un point de vue particulier".
II.2.1.A.b Qualité des modèles
Pour la caractérisation d'un bon modèle aussi il n'y a pas un consensus. Mais l'approche dite «
sémiotique » représente une approche très répondue qui s'appuie sur l'étude des signes et de leurs
29
significations pour structurer la qualité du modèle [Dupuy-chessa, 2011]. Elle a été initiée par
Lindland dans [Lindland et al., 1994] pour évaluer la qualité de n'importe quel type de modèle.
Lindland détaille la qualité en 3 aspects :
•
Syntaxique : la qualité syntaxique vérifie dans quelles mesures un modèle correspond aux
constructions de son langage sans considérer le sens. Son but est d'obtenir la correction
syntaxique.
•
Sémantique : elle indique le lien d'un modèle avec son domaine ou les connaissances des
spécialistes du domaine. Ses objectifs sont la validité et la complétude. La validité signifie
que toutes les assertions du modèle sont correctes et pertinentes pour le problème. La
complétude signifie que le modèle contient toutes les assertions correctes et pertinentes du
domaine.
•
Pragmatique : la qualité pragmatique est liée à l'interprétation du modèle de l'audience.
Son but est la compréhension.
Ce référentiel a été validé par une étude empirique de Moody en 2003 [Moody et al., 2003] et a
donné lieu à de nombreux travaux complémentaires.
II.2.1.B Modélisation
II.2.1.B.a Définition
La modélisation, suivant wikipedia [Wikipedia, 2011], est la conception d'un modèle. C'est alors
tout simplement la tâche qui permet d'obtenir un modèle suivant une notation particulière (un
langage).
Dans notre vie courante nous modélisons tout le temps. À chacun des êtres qui nous entourent, qu'il
s'agisse d'objets matériels, de personnes ou d'institutions, nous associons une image mentale qui
nous permet d'anticiper son comportement. Nous faisons des simulations pour évaluer les
conséquences de nos décisions et choisir parmi les décisions possibles, en tenant compte des
incertitudes. Lorsque nos modèles nous semblent faux ou trop grossiers, nous les modifions.
Cette démarche, intuitive et rapide dans la vie personnelle, n'est explicitée que lorsque l'on réalise
un travail professionnel ou scientifique. Alors, le vocabulaire devient technique, « abstrait » et
éloigné du langage courant. Cette technicité rend la modélisation (sous sa forme explicite) difficile
à comprendre pour certaines personnes.
30
II.2.1.B.b Pourquoi modéliser?
Le recours à la modélisation pour le développement logiciel est devenu indispensable depuis
longtemps, car un modèle est prévu pour arriver à anticiper les résultats du codage [Roques, 2007].
Le modèle représente un outil d'abstraction pour facilité l'étude des systèmes, leurs documentations
ainsi que la communication entre les différents intervenants au sein du projet. Chaque membre de
l'équipe, depuis l'utilisateur jusqu'au développeur utilise et enrichit le modèle différemment. En
outre, les systèmes devenant de plus en plus complexes, leur compréhension et leur maîtrise globale
dépassent les capacités d'un seul individu. La construction d'un modèle abstrait aide à y remédier.
Associé au processus de développement, un modèle représente l'ensemble des vues sur une
expression de besoins ou sur une solution technique. Pris à un niveau de détail pertinent, il décrit ou
conçoit la cible de l'étape en cours. Le modèle peut donc avoir des objectifs différents suivant
l'activité de développement et sera construit avec des points de vue de plus en plus détaillés :
•
Dans les activités de spécification des exigences, il convient premièrement de considérer le
système comme une boîte noire à part entière afin d'étudier sa place dans le système métier
plus global qui est l'entreprise. On développe pour cela un modèle de niveau contexte, afin
de tracer précisément les frontières fonctionnelles du système [Roques, 2007].
•
Dans les activités d'analyse, le modèle commence à représenter le système vu de l'intérieur.
Il se compose d'objets représentant une abstraction des concepts manipulés par les
utilisateurs. Le modèle comprend par ailleurs deux points de vue, la structure statique et le
comportement dynamique. Il s'agit de deux perspectives différentes qui aident à compléter la
compréhension du système à développer.
•
Dans les activités de conception, le modèle correspond aux concepts informatiques qui sont
utilisés par les outils, les langages ou les plates-formes de développement. Le modèle sert ici
à étudier, documenter, communiquer et anticiper une solution. Il est en effet toujours plus
rentable de découvrir une erreur de conception sur un modèle, que de la découvrir au bout
de milliers de lignes codées sans méthode. Pour la conception du déploiement enfin, le
modèle représente également les matériels et les logiciels à interconnecter.
Aujourd'hui, le standard industriel de modélisation est UML. Il est sous l'entière responsabilité de
l'OMG (Object Management Group) pour la modélisation objet (conceptions orientés objet).
31
II.2.1.B.c L'ingénierie dirigée par les modèles (IDM)
Si les modèles servent donc à représenter les besoins, documenter les systèmes, concevoir ces
systèmes,... les modèles ne sont pas que de la documentation ou de beaux dessins. Les outils actuels
savent maintenant exploiter ces modèles pour faire de la génération de code voir des allers-retours
entre le code et le modèle sans perte d'information.
L'Ingénierie dirigée par les modèles (IDM) est le domaine de l'informatique mettant à disposition
des outils, concepts et langages pour créer, transformer et générer du code à partir des modèles. La
génération n'est pas toujours parfaite, mais les outils de modélisation permettent quand même de
nous aider à générer la partie fastidieuse de ce code et de nous laisser concentrer sur les algorithmes
et sur une analyse haut niveau du problème.
Dans le contexte de l'IDM, la notion de transformation de modèle joue un rôle fondamental; aussi
de nombreux outils, tant commerciaux que dans le monde de l'open source sont aujourd'hui
disponibles pour faire la transformation de modèles. On peut grossièrement distinguer quatre
catégories d'outils :
•
Les outils de transformation générique qui peuvent être utilisées pour faire de la
transformation de modèles.
•
Les facilités de type langages de scripts intégrés à la plupart des ateliers de génie logiciel.
•
Les outils conçus spécifiquement pour faire de la transformation de modèles et prévus pour
être plus ou moins intégrables dans les environnements de développement standards.
•
Les outils de méta-modélisation (c'est l'entité concrétisant un contexte de modélisation pour
la conception et la manipulation de modèles) dans lesquels la transformation de modèles
revient à l'exécution d'un méta-programme.
Même s'il existe une longue expérience de l'utilisation de l'ingénierie des modèles dans certains
domaines, sa généralisation n'en est qu'à ses débuts. Visant à automatiser une partie du processus du
développement, elle requiert un effort d'abstraction plus important de la part des développeurs. En
contrepartie, elle permet de conserver le savoir faire de conception proche des centres de décision,
grâce aux économies d'échelle dues à l'automatisation.
II.2.2 UML, un langage de modélisation
L'intérêt donné à la modélisation des applications informatiques a permis l'apparition de plusieurs
langages de modélisation, c'est-à-dire des conventions d'écriture et de représentation formelle des
32
modèles. UML (Unified Modeling Language, que l'on peut traduire par "langage de modélisation
unifiée") représente un des langages les plus répondu qui est devenu désormais la référence en
terme de modélisation objet.
II.2.2.A La notion d'objet
La programmation orientée objet consiste à modéliser informatiquement un ensemble d'éléments
d'une partie du monde réel (que l'on appelle domaine) en un ensemble d'entités informatiques. Ces
entités informatiques sont appelées objets. Il s'agit de données informatiques regroupant les
principales caractéristiques des éléments du monde réel (taille, la couleur, ...).
On appelle classe la structure d'un objet, c'est-à-dire la déclaration de l'ensemble des entités qui
composeront un objet. Les objets de même nature ont en général la même structure et le même
comportement. La classe factorise les caractéristiques communes de ces objets et permet de les
classifier. Un objet est donc, une instanciation d'une classe (figure 3), c'est la raison pour laquelle on
pourra parler indifféremment d'objet ou d'instance (éventuellement d'occurrence).
La difficulté de cette modélisation consiste à créer une représentation abstraite, sous forme d'objets,
d'entités ayant une existence matérielle (chien, voiture, ampoule, ...) ou bien virtuelle (sécurité
sociale, temps, ...). En revanche, l'approche offre beaucoup d'avantages et de nouveaux concepts qui
permettent de simplifier la modélisation et l'implémentation par la suite tels que la modularité, la
réutilisabilité, l'extensibilité, l'héritage, etc.
Figure 3 : L'instanciation d'une classe en deux objets
33
II.2.2.B Contenu d'UML
UML comporte 12 diagrammes standards représentant autant de « vues » d'un système
d'information. Ces diagrammes se répartissent en trois catégories : quatre représentent la structure
statique de l'application (diagrammes de classe, d'objet, de composant et de déploiement) ; cinq
représentent son comportement dynamique (diagrammes de cas d'utilisation, de séquence, d'activité,
de collaboration et d'état) ; trois représentent la façon dont on peut organiser et gérer les modules
qui composent le programme (diagrammes de packages, sous-systèmes et modèles).
Ces diagrammes sont d'une utilité variable selon les cas et ils ne sont pas tous nécessairement
produits à l'occasion de la modélisation. Les plus utiles pour la maîtrise d'ouvrage sont les
diagrammes d'activité, de cas d'utilisation, de classe, d'objet, de séquence et d'état. Les diagrammes
de composants, de déploiement et de collaboration sont surtout utiles pour la maîtrise d'œuvre à qui
ils permettent de formaliser les contraintes techniques de la réalisation et la solution technique
retenue.
•
Diagramme d'activité
Représente le déclenchement d'événements en fonction des états du système. Il permet de
représenter graphiquement le comportement d'une méthode ou le déroulement d'un cas d'utilisation.
•
Diagramme de cas d'utilisation
Décrit la succession des opérations réalisées par un acteur (personne qui assure l'exécution d'une
activité). C'est le diagramme principal du modèle UML, celui où s'assure la relation entre
l'utilisateur et les objets que le système met en oeuvre.
•
Diagramme de classe
Représente l'architecture conceptuelle de l'application : il décrit les classes que l'application utilise,
ainsi que leurs liens, que ceux-ci représentent un emboîtage conceptuel (héritage), une relation
organique (agrégation) ou une simple association.
•
Diagramme d'objet
Permet d'éclairer un diagramme de classe en l'illustrant par des exemples.
•
Diagramme de séquence
Représente la succession chronologique des opérations réalisées par un acteur : saisir une donnée,
consulter une donnée, lancer un traitement ; il indique les objets que l'acteur va manipuler, et les
opérations qui font passer d'un objet à l'autre. On peut représenter les mêmes opérations par un
34
diagramme de collaboration parce que le diagramme de séquence et le diagramme de collaboration
sont deux vues différentes, mais logiquement équivalentes (on peut construire l'une à partir de
l'autre), d'une même chronologie.
•
Diagramme d'état
Représente la façon dont évoluent ("cycle de vie") durant le processus les objets appartenant à une
même classe. La modélisation du cycle de vie est essentielle pour représenter et mettre en forme la
dynamique du système.
II.3 La modélisation en IHM
En interaction homme-machine (IHM), l'activité de modélisation d'un système interactif a pour but
de produire une description du système interactif en rapport avec les besoins de l'utilisateur [AïtAmeur et al., 2005]. Cette modélisation se démarque de la modélisation en génie logiciel classique
du fait que les interactions décrites dans les modèles d'interaction se concentrent sur les relations
entre l'utilisateur et le système interactif. En effet, de manière générale, les modèles de cycle de vie
du génie logiciel classique ont principalement pour objectifs : la faisabilité associée à la difficulté et
au travail nécessaire pour produire un logiciel et la qualité du logiciel qui est souvent liée à la
correction, la consistance, la sûreté, la maintenance, etc. Alors que la modélisation en IHM
s'intéresse à l'aspect, au comportement et aux effets de bord du système interactif et non pas à son
fonctionnement interne. Ainsi, le résultat de cette activité de modélisation est un modèle décrivant
précisément les interactions attendues de l'utilisateur avec le système interactif. Elle ne requiert pas
nécessairement la présence de détails relatifs à son implantation ou à sa réalisation [Aït-Ameur et
al., 2005].
II.3.1 Les besoins de modélisation en IHM
La nécessité de réaliser l'interface d'une application avec la même rigueur que celle accordée à
l'application elle-même est primordiale dans les systèmes critiques en particulier, pour des raisons
de sécurité et dans les applications informatiques en général pour des raisons de coût et
d'utilisabilité puisque les utilisateurs finaux jugent généralement les applications selon leur
interfaces et non pas leur fonctionnement interne [Aït-Ameur et al., 2005].
L'interface doit être alors :
➢ Compréhensible.
35
➢ Facilement utilisable.
➢ Refléter exactement et fidèlement le comportement de l'application [Aït-Ameur et al., 2005].
➢ Accessible au plus grand nombre d'utilisateurs ayant des comportements différents.
➢ Facilement corrigée en cas d'erreur d'interaction.
Ainsi pour concevoir une interface il faut non seulement faire intervenir les informaticiens pour la
conception et le développement, mais aussi les ergonomes pour les choix d'ergonomie et de
disposition ou de spécifications externes et des psychologues pour capturer les comportements des
utilisateurs.
Notons que l'insertion de l'ergonomie et de la psychologie dans le processus de réalisation des IHM
permet la prise en compte des besoins et des comportements des utilisateurs, ce qui augmente
significativement l'utilité et l'utilisabilité des interfaces et donc les applications derrières.
II.3.2 Les modèles en IHM
De nombreux travaux dans le domaine de l'IHM ont adopté une approche basée sur les modèles
[Dupuy-chessa, 2011]. Ce qui a permis à ce domaine de voir naître de nombreux modèles et
notations semi-formels ou graphiques pour concevoir les interfaces Homme Machine. Ces modèles
ont été conçus pour être utilisés, en particulier par des non-informaticiens issus des communautés
citées précédemment (informaticiens, ergonomes, psychologues etc.) et ils ont suivi les différentes
évolutions matérielles et logicielles de ces dernières années.
Dans cette section nous présentons les deux classes (catégories) de ces modèles :
•
Modèles d'architecture : décrivent l'organisation logicielle du système interactif.
•
Modèles d'interaction : décrivent les différents mécanismes mis en œuvre pour réaliser le
dialogue entre l'utilisateur et le système.
II.3.2.A Modèles d'architecture
Les modèles d'architecture définissent l'organisation logicielle d'un système interactif. Le principe
de base de tous ces modèles est la séparation entre le noyau fonctionnel qui implémente les
concepts propres à un domaine d'application particulier et l'interface qui présente ces concepts à
l'utilisateur et qui lui permet de les manipuler. Ce principe doit permettre en théorie de modifier
l'interface sans affecter le noyau fonctionnel et inversement, mais en réalité cela est difficile à
concrétiser pour la totalité de l'interface. En pratique et dans la majorité des cas, seule une partie de
36
l'interface est réellement séparée du noyau fonctionnel [Belik, 1995].
Un modèle d'architecture permet de structurer un système interactif et ainsi de disposer d'une
meilleure modularité. Cette modularité est primordiale car elle facilite la réutilisation logicielle des
composants du système interactif, sa maintenance et son évolution.
Depuis les années 1970, différents modèles de ce type ont été proposés. On peut les classer en deux
catégories : Modèles linguistiques et modèle à base d'agents.
II.3.2.A.a Modèles linguistiques
Les modèles linguistiques se basent sur une approche linguistique de l'interaction, inspirée des
architectures de compilateurs. L'approche linguistique identifie trois aspects dans l'interaction :
1. Aspects lexicaux : ces aspects désignent tout ce qui peut être assimilé à un vocabulaire
d'entrée (clic, glisser), ou de sortie (ensembles d'icônes).
2. Aspects syntaxiques : ils peuvent désigner des grammaires d'entrée représentant les
séquences d'actions valides, ou les aspects spatiaux et temporels de l'affichage.
3. Aspects sémantiques : ils correspondent à la partie fonctionnelle de l'application, qui
détermine en dernier lieu le sens d'une action et génère les erreurs.
À défaut de donner des indications précises sur la façon dont doit être structuré et implémenté un
système interactif, les modèles linguistiques identifient les couches logiques qui doivent y
apparaître.
Nous décrivons ci-dessous dans leurs grandes lignes et de façon chronologique les principaux
modèles linguistiques, à savoir le modèle de Seeheim, le modèle Arch, ainsi que son métamodèle
Slinky.
•
Seeheim
Seeheim est le premier modèle d'architecture largement accepté qui part d'une approche
linguistique. Celui-ci est issu d'un groupe de travail sur les systèmes interactifs ayant eu lieu à
Seeheim en 1985 [UIMS, 1983].
37
Figure 4 : Le modèle Seeheim
Seeheim était principalement destiné au traitement lexical des entrées et des sorties dans les
interfaces textuelles. S'il est peu utile aujourd'hui pour décrire les systèmes interactifs hautement
graphiques, il a servi de base à beaucoup d'autres modèles.
Comme présente la figure 4, le modèle de Seeheim propose de diviser l'interface en trois couches
logicielles selon une approche linguistique :
1. La présentation est la couche en contact direct avec les entrées et les sorties. Elle interprète
les actions de l'utilisateur (dispositifs physiques) et génère les sorties (affichage) au niveau
lexical.
2. Le contrôleur de dialogue gère le séquencement de l'interaction en entrée et en sortie. Il
maintient un état lui permettant de gérer les modes d'interaction et les enchaînements
d'écrans.
3. L'interface du noyau fonctionnel est la couche adaptative entre le système interactif et le
noyau fonctionnel. Elle convertit les entrées en appels du noyau fonctionnel et les données
abstraites de l'application à des objets présentables à l'utilisateur.
Un autre élément a été ajouté au modèle de Seeheim pour prendre en compte le retour sémantique
rapide (le petit carré dans la figure 4) : par exemple, lors d'une opération de glisser-déposer, il peut
s'avérer utile de modifier instantanément l'apparence de l'icône-cible pour indiquer si l'opération est
valide. Dans ce cas, la couche de présentation doit court-circuiter le contrôleur de dialogue pour
accéder directement aux informations sémantiques du noyau fonctionnel.
•
Arch / Slinky
Le modèle Arch [UIMS, 1992] affine le modèle de Seeheim en s'inspirant davantage des boîtes à
outils graphiques actuelles. Ce modèle incorpore la notion de plate-forme de développement et
décrit la nature des données qui transitent entre les différents composants.
38
Le modèle Arch identifie cinq composants dans les systèmes interactifs (figure 5) :
1. Le composant d'interaction désigne l'ensemble des widgets (objets interactifs) d'une boîte à
outils, ainsi que les communications avec les périphériques physiques. Il dépend d'une plateforme donnée.
2. Le composant de présentation joue le rôle de médiateur entre le composant d'interaction et le
contrôleur de dialogue. Il maintient une représentation logique des widgets qui est
indépendante de la plate-forme.
3. Le contrôleur de dialogue joue le même rôle articulatoire que celui du modèle de Seeheim. Il
est notamment responsable du séquencement des tâches et du maintien de la consistance
entre les vues multiples.
4. L'adaptateur du domaine est un composant médiateur entre le contrôleur de dialogue et le
noyau fonctionnel. Il est responsable des tâches dépendantes du domaine qui ne font pas
partie du noyau fonctionnel, mais qui sont nécessaires à sa manipulation par l'utilisateur. Ces
tâches comprennent la réorganisation des données du domaine dans des buts de
manipulation interactive, ou la détection des erreurs sémantiques.
5. Le noyau fonctionnel représente la partie non interactive de l'application.
Figure 5 : Le modèle ARCH
Le composant d'interaction et le noyau fonctionnel constituent les deux pieds de l'arche. Les autres
composants décrivent la partie de l'interface qui doit être implémentée pour faire le lien entre la
39
partie purement fonctionnelle d'une application et les widgets et les événements de la boîte à outils.
Le modèle Arch introduit également trois types d'objets décrivant la nature des informations qui
transitent entre les composants (figure 5) :
1. Les objets du domaine contiennent des données provenant directement ou indirectement du
noyau fonctionnel (par exemple, le résultat d'une requête dans une base de donnés).
2. Les objets de présentation sont des objets d'interactions virtuels qui décrivent les
événements produits par l'utilisateur et les données qui lui sont présentées, indépendamment
des méthodes d'interaction et de visualisation.
3. Les objets d'interaction sont des instances propres à une boîte à outils et qui implémentent
des techniques d'interaction et de visualisation spécifiques.
Dans la réalité, le poids relatif des composants Arch et la répartition de leurs fonctionnalités peut
varier selon les types d'applications interactives et les choix et impératifs fixés par leurs
développeurs. Un métamodèle baptisé Slinky a été conçu au-dessus du modèle Arch afin de
suggérer l'existence de ces variantes du modèle Arch. Le métamodèle Slinky, inspiré du jouet de
même nom (figure 6), met notamment en évidence les notions de choix et de compromis inhérents
au développement des applications interactives.
Figure 6 : Le jouet Slinky
II.3.2.A.b Modèles à agent
En décomposant les interfaces en objets de même nature, les modèles à agents sont proches des
40
langages à programmation objets et des interfaces à manipulation directe modernes. Nous décrivons
ici les principaux modèles à agents : MVC, PAC et le modèle hybride PAC-Amodeus.
•
MVC
Figure 7 : Le modèle MVC
Le modèle MVC (Modèle, Vue, Contrôleur) [Krasner et al., 1988] a été introduit comme
architecture de référence dans l'implémentation des interfaces utilisateurs de l'environnement
Smalltalk. L'approche de MVC inspirera toute une lignée de modèles à base d'agents, dont les
principales motivations sont la modifiabilité et la conception itérative, ainsi que la compatibilité
avec les langages à objets.
MVC décompose les systèmes interactifs en une hiérarchie d'agents. Un agent MVC consiste en un
modèle muni d'une ou plusieurs vues et d'un ou plusieurs contrôleurs:
1. Le modèle est le noyau fonctionnel de l'agent. Il peut représenter des données brutes (entier,
chaîne de caractères) ou des objets ayant un comportement complexe. Le modèle notifie les
vues qui lui sont associées à chaque fois que son état se trouve modifié par le noyau de
l'application ou par ses contrôleurs.
2. La vue maintient une représentation du modèle perceptible par l'utilisateur, qu'elle met à jour
à chaque changement d'état du modèle. Elle est en générale constituée d'objets graphiques.
3. Le contrôleur reçoit et interprète les événements utilisateur, en les répercutant sur le modèle
(modification de son état) ou sur la vue (retour instantané).
Chacun des trois composants de la triade MVC est un objet à part entière. Au sens de la
41
programmation orientée objet, une classe de Modèle peut être compatible avec plusieurs classes de
Vues et de Contrôleurs.
•
PAC
Par rapport à MVC, le modèle à agents PAC (Présentation, Abstraction, Contrôle) [Coutaz, 1987]
réintroduit la vue et le contrôleur dans un objet monolithique, mais rend explicite la synchronisation
du modèle et de la vue/contrôleur. Il propose en outre une méthode de description récursive qui
étend le paradigme à agents avec la notion de couche d'abstraction.
Figure 8 : Le modèle PAC
Comme MVC, le modèle PAC décrit les systèmes interactifs comme une hiérarchie d'agents
composés de trois modules. Mais ici, le rôle de ces modules diffère :
1. La présentation définit le comportement en entrée et en sortie de l'agent, tel qu'il est perçu
par l'utilisateur.
2. L'abstraction encapsule la partie sémantique de l'agent.
3. Le contrôle maintient la consistance entre la présentation, l'abstraction et communique avec
les autres agents.
Notons qu'ici le composant d'abstraction est l'équivalent du composant modèle de MVC, et que la
présentation correspond à une fusion des composants vue et contrôleur. Le composant contrôle n'a
pas d'existence explicite dans le modèle MVC.
42
Par une approche récursive, le modèle PAC peut être appliqué de manière consistante à plusieurs
niveaux d'un système interactif. Une application interactive peut ainsi être décrite comme une
hiérarchie d'agents disposés sur plusieurs couches d'abstractions (figure 8). Ce type de
représentation unifie en quelque sorte les modèles à agents et les approches à couches de type
Seeheim.
•
PAC-Amodeus
PAC-Amodeus [Nigay et al., 1993] finit de réconcilier les approches linguistiques et à agents en
proposant un modèle hybride. Il réutilise le modèle Arch et décrit son contrôleur de dialogue avec
une hiérarchie d'agents PAC (figure 9). L'adaptateur de domaine et la présentation de l'Arch
communiquent directement avec chaque agent PAC à travers son abstraction (pour le premier) et sa
présentation (pour le second).
Figure 9 : Le modèle PAC-Amodeus
L'objectif de PAC-Amodeus est de combiner les avantages du modèle Arch, qui intègre des aspects
de génie logiciel comme la modifiabilité et la portabilité et du modèle PAC, qui permet de structurer
efficacement le contrôleur de dialogue jusque-là monolithique. Le modèle PAC-Amodeus a été
employé pour modéliser des plate-formes multimodales [Nigay, 1994]. Les entrées sont décrites par
des symboles, des grammaires et des mécanismes de fusion de haut-niveau sont implémentés dans
le dialogue par des agents PAC.
43
II.3.2.B Modèles d'interaction
Contrairement aux modèles d'architecture, les modèles d'interaction sont loin des implantations
informatiques et souvent utilisés par les non-informaticiens. On trouve de nombreuse notations
proposées dans la littérature mais la plupart ont pour modèle de base, l'arbre de tâches qui
représente une décomposition des activités de l'utilisateur et du système [Dupuy-chessa, 2011]. La
dimension verticale de l'arbre correspond à la hiérarchie des tâches, la dimension horizontale à leur
agencement séquentiel.
L'analyse des tâches représente un vaste champ de connaissance qui s'intéresse à plusieurs questions
telles que :
➢ Comprendre comment une personne ou un ensemble de personnes accomplissent certaines
tâches faisant partie de leur travail.
➢ Mettre en évidence les tâches qu'un utilisateur devra pouvoir accomplir avec un système
(informatique ou autre).
➢ Spécifier la manière dont les tâches seront effectuées avec le système : quelles actions faire
et dans quel ordre ? qui a l'initiative ? qui de l'humain ou de la machine effectue quelle
action ? Etc.
➢ Calculer à l'avance la charge cognitive et psycho motrice demandée à l'utilisteur pour
réaliser une tâche.
Cette analyse est essentielle pour la conception de l'interface d'un système. En effet, elle détermine
le contenu de l'interaction (ce qu'un utilisateur doit pouvoir faire), elle fournit également les
éléments de départ pour la conception détaillée de l'interaction (et donc de l'interface), et enfin et
elle fournit le canvas de base pour les tests d'utilisabilité de l'interface.
La notation ConcurTaskTrees (CTT) [Patern et al., 1997] est la notation la plus utilisée en analyse
des tâches interactives. Elle met l'accent sur les activités de l'utilisateur et le feedback système et
propose de nombreux opérateurs temporels permettant de décrire différents comportements associés
au système interactif (interruption, concurrence, désactivation, ...).
Ce modèle est généralement considéré comme le point de départ de la réalisation d'un système
interactif nouveau, ou bien de la validation d'un système interactif déjà conçu et/ou existant. Il
44
possède 4 types différents de tâche :
•
Tâche abstraite (représentée par un nuage) : c'est la tâche qui nécessite une interaction
complexe.
•
Tâche interactive (représentée par un utilisateur d'un ordinateur) : c'est la tâche réalisée par
une interaction entre utilisateur et système et initiée par l'utilisateur.
•
Tâche système (représentée par un ordinateur) : c'est la tâche entièrement réalisée par
l'application.
•
Tâche utilisateur (représentée par une personne) : c'est la tâche entièrement réalisée par
l'utilisateur.
Les sous-tâches d'une tâche T doivent être du même type que T, sauf si T est de type abstraite. Dans
ce dernier cas ses sous-tâches doivent être soit toutes abstraites, soit d'au moins deux types
différents.
Les relations entre tâches sont représentées par un nombre très complet d'opérateurs :
45
•
T1 ||| T2
imbrication: actions en parallèle
•
T1 |[]] T2
synchronisation: échange d'information
•
T1 >> T2
activation: fin de T1 déclenche T2
•
T1 |=| T2
ordre quelconque: T1>>T2 ou T2>>T1
•
T1 []>> T2
activation avec passage d'information
•
T1 [] T2
choix: soit T1 soit T2
•
T1 [> T2
désactivation: dès qu'une action de T2 se produit, T1 est désactivée
•
T1 |> T2
interruption: T2 peut interrompre T1, T1 peut reprendre à la fin de T2
•
T1*
•
T1(n) itération finie: nombre d'itérations spécifié
•
[T1]
itération
option: T1 n'est pas obligatoirement effectuée
Figure 10 : Exemple de modèle CTT (distributeur automatique de billets)
La figure 10 représente l'exemple d'un distributeur automatique de billets inspiré de l'exemple
fourni avec l'outil CTTE (ConcurTaskTrees Environment). Il modélise le fait que l'utilisateur doit
tout d'abord insérer sa carte puis saisir son code PIN avant l'accès à son compte. Cette tâche
d'autorisation est suivie par l'accès au distributeur où seule la tâche Retirer Argent est représentée.
Cette tâche est désactivable à tout moment par la tâche Terminer Accès.
Parmi les autres modèles de tâches connus nous pouvons citer encore UAN (User Action Notation),
HTA (Hierarchical Task Analysis) et GOMS (Goals, Operators, Methods and Selection). Ces
modèles modélisent les tâches d'interaction comme le CTT, mais avec des notations différentes et
des objectifs différents aussi. GOMS par exemple a pour but premier de prédire les performances de
l'utilisateur d'une interface alors que le CTT était conçue spécialement pour simplifier le design
d'applications interactive.
46
II.4 Conclusion
Dans ce chapitre nous avons présenté la modélisation des systèmes interactifs à travers les différents
modèles présents dans la littérature. Nous pouvons constater que c'est un moyen très puissant pour
l'analyse et la structuration des applications interactives. De plus, avec une approche IDM les
modèles peuvent aller beaucoup plus loin dans le processus de conception et de développement
informatique. Malheureusement, les langages de modélisation dédiés à la multimodalité et aux
systèmes multimodaux ne sont pas suffisants et ils nécessitent encore beaucoup plus de raffinement
(niveau notation et niveau conception). Ainsi, dans le chapitre suivant nous proposons notre propre
modélisation des applications multimodales qui se base sur l'arbre des tâches et qui permet de bien
analyser les interactions multimodales.
47
Chapitre III :
Modélisation et développement de e-USTO
48
III Modélisation et développement de e-USTO
III.1 Introduction
Dans ce chapitre nous présentons notre contribution conceptuelle et logiciel : une nouvelle notation
de l'arbre des tâches multimodales et l'application mobile multimodale e-USTO. La notation répond
a nos objectifs de spécification des interactions multimodales et d'être orientée utilisateur. Elle se
base sur le modèle ConcurTaskTrees (CTT) (présenté dans le chapitre II) et propose de décrire les
modalités d'interaction et leurs coopérations possibles. L'application quant à elle est réalisée suivant
la modélisation multimodale avec notre nouvelle notation et propose de présenter l'université USTO
d'une façon multimodale sur des terminaux mobiles.
III.2 Modélisation multimodale
III.2.1 Modèle d'interaction pour la multimodalité
Les applications multimodales nécessitent la modélisation d'interaction plus que tout le reste des
applications interactives. C'est d'ailleurs le moyen le plus efficace pour identifier et simuler les
interactions utilisateur ainsi que les feed-backs système attendus afin de concevoir et implémenter
des applications multimodales utiles et utilisables. La modélisation de l'architecture joue aussi un
rôle primordial dans le processus de conception, mais elle est plutôt orientée système et ne prend
pas en compte les utilisateurs finaux (ce qui ne nous intéresse pas dans notre recherche actuelle).
Dans notre recherche nous sommes intéressés par les modèles d'interaction et spécialement les
modèles de tâche dans le but de simplifier la modélisation (et donc la conception et le
développement) des applications mobiles multimodales proches des besoins de leurs utilisateurs
finaux. Les modèles des tâches existants dans la littérature spécialement pour la modélisation des
applications multimodales sont peu nombreux. Le modèle CTT était utilisé pour modéliser les
systèmes multimodaux malgré qu'il ne supporte pas la modélisation des modalités d'interaction. Par
contre, l'ensemble complet de ses opérateurs permet facilement la modélisation des coopérations
entre modalités qui seront (sans notation particulière) représentées dans le nom de la tâche
interactive, système ou abstraite. Pour éliminer les limites de cette modélisation une nouvelle
notation était proposée dans [Clerckx et al., 2007] pour adapter le CTT à la modélisation
multimodale et éviter son utilisation détournée. Cette notation annote le CTT par les modalités
d'interaction et leurs coopérations possibles. Les tâches d'interaction et de système défini dans CTT
49
ont été enrichies par les quatre relations de coopération CARE afin de permettre la modélisation des
tâches qui utilisent plusieurs modalités en coopération. Chaque propriété est annotée par sa
première lettre : C pour Complémentarité, A pour Assignation, R pour Redondance et E pour
Equivalence. Les modalités associés aux tâches ont été annotées par la lettre « m » suivie par le
numéro de la modalité qui sera à son tour définit dans une légende à part suivant la définition de
Nigay : <d,r> où « d » c'est le dispositif physique de la modalité et « r » c'est le langage
d'interaction. La Figure 11 montre l'exemple de modèle de tâche « Faire une présentation » avec ces
annotations proposées.
Le modèle montre bien les modalités d'interaction utilisées ainsi que leurs coopérations ce qui
facilite par la suite la conception et la simulation du système multimodal. Par contre on remarque
qu'il y a une redondance des notations visuelles utilisées pour définir les propriétés CARE. Par
exemple pour la tâche système «show available presentations» on trouve la lettre A à côté de l'icône
de la tâche et on la trouve en bas de la tâche aussi avec entre crochets la modalité d'interaction
utilisée.
De plus, comme le CTT se base sur une représentation sous forme d'arbre, l'ajout de nouveaux
composants (tel que le carré qui regroupe les modalités en bas de chaque tâche système ou
interactive) encombre de plus en plus sa modélisation et diminue sa visibilité surtout pour les
modèles qui représentent de grands systèmes.
Figure 11 [Clerckx et al., 2007]: Exemple de performance de présentation en CTT annoté pour les
interactions multimodales
Nous pouvons souligner alors que les modèles existants dans la littérature ainsi que leurs nouvelles
50
adaptations ont encore des limites de notation et ils ne couvrent que partiellement les besoins de
modélisation des interactions multimodales. Nous proposons alors dans la session suivante une
nouvelle notation à travers laquelle nous souhaitons couvrir les différents besoins de modélisation
des systèmes multimodaux et qui réutilise autant que possible les notations existantes, tant dans
leurs concepts que dans leurs présentations plutôt que de définir une notation entièrement nouvelle.
III.2.2 Notre notation : le CTT annoté
Tout d'abord, nous adoptons la notation de CTT (modèle de tâche hiérarchique pour décrire
l'interaction) comme une forme de base pour notre nouvelle notation. La raison derrière ce choix est
bien évidemment la complétude de ce modèle ainsi que sa popularité dans le monde de la
modélisation.
Ensuite, nous étudions les besoins particuliers à la spécification de la dimension multimodale :
1. Représentation des modalités d'interaction : comme dans [Clerckx et al., 2007] nous
suivons aussi la définition de Nigay pour définir les modalités d'interaction : <d,r> où « d »
représente le dispositif physique utilisé pour l'interaction et « r » le langage d'interaction ou
le système représentationnel. C'est la définition la plus courante et la plus adaptée, car elle
prend à la fois les deux côtés de l'interaction (système et utilisateur). Mais comme elle prend
beaucoup de place en écriture, toutes les modalités d'interaction utilisées dans les
modélisations seront définies dans une légende à côté du modèle et la lettre « m »
accompagnée par le numéro de la modalité dans le modèle comme c'est le cas dans [Clerckx
et al., 2007]. Nous pouvions aussi représenter les modalités par des symboles particuliers
comme par exemple la main pour le tactile, l'oreille pour le vocale en sortie et la bouche en
entrée, mais comme ces modèles sont destinés aux concepteurs et non pas aux utilisateurs
finaux la numérotation des modalités sera plus parlante. Le tableau 1 donne quelques
modalités d'interaction selon la définition du couple <d,r>.
51
Dispositif physique
Langage d'interaction
Ecran
Widgets
Microphone
Langage naturel
Camera
Langage gestuel
Dispositif haptique
Forces à appliquer
Haut-parleurs
Son wave
Clavier
Manipulation directe
Souris
Manipulation directe
Tableau 1 : Exemple de modalité d'interaction <d,r>
2. Représentation de la coopération entre les modalités : pour spécifier la coopération nous
adoptons les propriétés CARE avec la notation symbolique suivante pour expliciter l'usage
combiné de modalitées:
•
« + » : pour la complémentarité.
•
Aucun symbole pour l'assignation par ce qu'il s'agit d'une seule modalité (un choix
d'implémentation).
•
« & » : pour la redondance.
•
« = » : pour l'équivalence.
Les symboles ont été choisis soigneusement pour avoir une bonne transparence sémantique
(un des critères de Moody [Moody, 2009]) et pour simplifier la notation car ils implicitent
une dynamique d'enchainement des modalités qui peut être complexe. En cas de
spécification de plusieurs modalités d'interaction à la fois on utilise les crochets pour faire la
différence entre les différents symboles. Par exemple, si on a deux modalités en
complémentarité en équivalence avec une troisième on les représente comme suit : [m1 +
m2] = m3.
Nous reprenons l'exemple de la Figure 11 de la performance d'une présentation avec notre nouvelle
notation dans la Figure 12.
De la première vue on peut remarquer que le modèle est devenu plus lisible et avec moins
d'éléments visuelle alors qu'il porte la même quantité d'information que le modèle présenté dans la
figure 11. Ce qui nous assure que même avec les grands systèmes interactifs multimodaux les
notations proposées n'encombrent pas la modélisation.
52
Figure 12 : Exemple de performance d'une présentation en CTT
53
III.3 L'application mobile multimodale e-USTO
Dans cette session nous présentons l'application e-USTO que nous avons développée en se basant
sur notre modèle de tâche annoté de CTT.
III.3.1 Pourquoi e-USTO (electronic-USTO) ?
Figure 13 : Le site de l'USTO
Notre but de départ était de réaliser une application mobile multimodales en entrée et en sortie à la
base de notre contribution de modélisation afin de confirmer ou pas notre hypothèse initiale (que
notre annotation CTT aide les développeurs à concevoir et coder parfaitement leurs applications).
Le choix était porté sur une application descriptive de l'Université des Sciences et de Technologie
d'Oran (USTO) pour les raisons suivantes :
➔ L'USTO n'a que le site web représentatif (http://www.univ-usto.dz/) et il sera intéressant
d'avoir une autre vitrine à travers une application descriptive.
➔ Les guides des bacheliers sont jusqu'à présent sur papier et leurs remplacement par une
application informatique porte beaucoup plus de professionnalisme à l'université.
➔ L'USTO est une grande université, donc pas facilement accessible pour les nouveaux
étudiants, les visiteurs ou les participants à des manifestations. Il sera alors utile d'avoir une
carte électronique à la main.
➔ Les dispositifs mobiles sont de plus en plus utilisés et avoir une application dans la poche
qui nous informe des dossiers à déposer, des ouvertures/fermetures des bureaux, des gens
responsables etc. est important pas seulement au début d'année, mais aussi au milieu et fin
d'année universitaire.
54
L'application est alors purement descriptive de l'USTO. Elle définie brièvement et selon la portée
mobile les différentes facultés et laboratoires de l'université, l'administration avec toutes ses
ramifications, les services proposés dans l'université, la vie de ses étudiants et le plan universitaire.
Comme s'est mentionné ci-dessus l'application est multimodale. Le choix était porté sur deux
modalités en entrée et deux autres en sortie mais, en alternance c'est-à-dire qu'il n'y aura pas de
complémentarité entre les modalités d'interaction. En entrée l'utilisateur peut utiliser le tactile qui
représente la modalité la plus utilisée pour les smartphones ou secouer le téléphone s'il porte des
gants par exemple. En sortie le système affiche les données sur l'écran du smartphone comme il
peut aussi dicter ces données en synthèse vocales si l'utilisateur le désir.
Nous pouvons déjà voir la coopération des modalités d'interaction telle que la redondance
(affichage et synthèse vocale) et l'équivalence (tactile et geste) et bien sûr l'assignation qui apparaît
dans toutes les interactions où on ne précise qu'une modalité particulière.
III.3.2 Modélisation de e-USTO
La Figure 14 nous montre la modélisation de l'application e-USTO avec CTT alors que la figure 15
montre sa modélisation avec notre nouvelle proposition. La différence est bien claire entre les deux
modèles surtout du côté multimodale car la figure 15 explicite mieux les modalités d'interaction
ainsi que leurs coopérations possibles ce qui facilite par la suite le travail de développement. Par
contre, on peut remarquer que les deux modèles portent beaucoup d'informations et ils peuvent être
difficiles à lire. La réponse est comme reconnue dans le monde de la modélisation « S'il y a de la
complexité on ne peut pas la cacher » : c'est à dire que si l'application informatique nécessite
beaucoup d'interactions le modèle doit surement être grand et complexe (même si notre proposition
de modélisation supprime quelques tâches puisqu'elle symbolise les coopérations et ne permet pas
leurs représentations comme tâches différentes). De plus, avec la représentation arborescente du
CTT l'arbre est de plus en plus grand allant du haut vers le bas. Mais cela n'élimine pas les
avantages du modèle que ça soit pour la modélisation elle même ou pour la simulation.
55
Figure 14 : e-USTO modélisé en CTT
56
Figure 15 : e-USTO en CTT annoté
57
III.3.3 Développement de e-USTO & résultats
Pour le développement de e-USTO le choix était porté sur la plate-forme Android puisque :
•
c'est une plate-forme open source et
•
elle supporte le langage java
Sachant qu'on peut à tout moment basculer vers une autre plate-forme (iPhone par exemple) car la
logique métier de l'application reste tel quelle.
L'architecture de l'application est basée sur le modèle MVC (Modèle Vue Contrôleur) où on sépare
la présentation de l'application (la vue qui correspond aux layouts (fichier xml) sous Android) des
données (le modèle qui correspond aux values (fichier xml «string») sous Android) et le contrôle
(les classes java). Toutes les données de l'application sont intégrées dedans et non pas sur un serveur
externe car comme la connexion 3G n'existe pas encore en Algérie il est impossible d'utiliser la
connexion internet pour récupérer les données de l'application. On était alors obligé d'intégrer les
données même si cela a donné un peu de lourdeur d'installation et de démarrage de l'application.
Les figures suivantes (de 16 à 33) montrent les captures d'écran (avec une tablettes tactile Samsung
Galaxy) des différentes pages de l'application ainsi que ses différentes fonctionnalités.
La modélisation de l'application (figure 15) nous a permis d'identifier les différentes interactions des
utilisateurs et donc de comprendre comment ces derniers vont réagir et comment l'application doit
présenter les informations. La coopération entre modalités, quant à elle, été facilement développée
en se basant sur le modèle de e-USTO ainsi que les fonctionnalités intégrées dans la plate-forme
Android.
58
Figure 16 : Page d'accueil de e-USTO.
59
Figure 17 : Page d'accueil de e-USTO avec message pour indiquer qu'on peut secouer le smartphone
pour aller directement vers le plan de l'université USTO.
60
Figure 18 : La liste des facultés de l'USTO (après sélection du bouton « Facultés » du menu).
61
Figure 19 : La page qui présente la faculté de génie électronique (après sélection de cette faculté à
partir de la liste des facultés).
L'icône de l'oreille montre qu'on peut utiliser la synthèse vocale sur cette page.
62
Figure 20 : La page qui présente la faculté de génie mécanique (après sélection de cette faculté à
partir de la liste des facultés).
63
Figure 21 : La page qui présente la liste de quelques laboratoires de l'USTO (après sélection du
bouton laboratoires du menu).
64
Figure 22 : La page qui présente le laboratoire LPPMCA (après la sélection de ce laboratoire à
partir de la liste des laboratoires).
65
Figure 23 : La page qui présente le laboratoire LRTTFC (après la sélection de ce laboratoire à partir
de la liste des laboratoires).
66
Figure 24 : La page des services de l'USTO (après la sélection du bouton service à partir du menu).
67
Figure 25 : La page qui présente l'administration de l'USTO (après la sélection du bouton
administration du menu).
68
Figure 26 : La page qui présente l'organigramme administratif général de l'USTO (après sa sélection
à partir de la page d'administration).
69
Figure 27 : La page qui présente les papiers du dossier de bourse (après sa sélection de la page
d'administration).
70
Figure 28 : La page qui présente les papiers du dossier d'hébergement (après sa sélection de la page
d'administration).
71
Figure 29 : Le plan de l'USTO (après la sélection du bouton plan du menu ou secouage du
smartphone/tablette tactile).
72
Figure 30 : Le plan de l'USTO avec des zooms.
73
Figure 31 : La page qui présente la vie des étudiants de l'USTO (après la sélection du bouton vie
étudiant du menu).
74
Figure 32 : Quelques photos des activités des étudiants de l'USTO.
75
Figure 33 : Photos des soutenances de l'USTO.
76
Conclusion et perspectives
77
Conclusion
Les travaux présentés dans ce mémoire concernent la conception des systèmes interactifs mobiles
multimodaux, c'est-à-dire des systèmes permettant aux utilisateurs d'interagir à l'aide de techniques
d'interaction (modalités d'interaction) variées, parfois concurrentes. Ce travail a été motivé par le
constat qu'il existe un nombre croissant de systèmes de ce type mais que leur modélisation et
conception sont souvent ad hoc, du fait du manque de langage de modélisation adaptés aux besoins
spécifiques liés à l'interaction multimodale.
De plus, la contribution de ce travail de magister vise à combler cette lacune, en particulier par la
proposition d'une nouvelle notation de spécification couvrant cette forme d'interaction
(multimodale). Pour cela, nous avons commencé par étudier les notations des modèles de tâche
existants dans la littérature afin de modéliser les tâches d'interaction avec les utilisateurs finaux.
Nous avons retenu le modèle CTT puisque c'est le modèle le plus descriptif et le plus étudié et
utilisé en modélisation interactive. En se basant sur ce dernier, nous avons proposé des nouvelles
notations afin de l'adapter à la modélisation multimodale :
•
Notation pour la spécification des modalités d'interaction avec une légende
•
Symboles pour représenter la coopération entre les différentes modalités
Pour évaluer notre proposition nous l'avons utilisé pour modéliser une application mobile
multimodale descriptive de notre université nommée e-USTO pour « electronic-USTO ». La
modélisation a joué un rôle important pendant la phase de développement en précisant exactement
les modalités d'interaction, les moments de leurs utilisations, leurs coopérations ainsi que les
réponses systèmes souhaitées après chaque interaction.
L'application quant à elle apporte plus de professionnalisme à l'université en donnant aux étudiants,
enseignants et visiteurs de l'USTO un ensemble d'informations pratiques sur l'université.
Comme tout travail de recherche, notre contribution possède certaines limitations. En particulier,
nous signalons les points suivants :
•
L'évaluation de notre contribution était fait à travers une « petite » application mobile et
non pas par un grand projet informatique mobile multimodal pour bien montrer les
avantages du modèle de tâche (support de communication entre les participants du projet,
support de simulation de l'interaction, etc).
78
•
Notre notation proposées soufre encore des limitations du modèle CTT lui même tel que la
représentation arborescente (qui prend beaucoup de place et ne permet pas l'imbrication),
l'absence de réutilisation des tâches, etc.
•
L'application nécessite des mises à jours périodique pour donner les bonnes informations
aux utilisateurs comme elle n'est pas hébergée sur un serveur web externe.
•
L'application n'a pas été évaluée auprès des utilisateurs finaux (étudiants et/ou enseignants)
sauf quelques-uns qui l'ont bien appréciés.
Enfin, ce travail nous a permis de se positionner près du domaine des IHM (Interaction Homme
Machine) et de la modélisation et il nous a donné l'occasion de voir la corrélation entre les deux
domaines et de proposer une contribution validée par une application informatique.
Perspectives
Au sein de ce mémoire, nous avons identifié les enjeux de la réalisation de systèmes multimodaux.
Or, notre contribution traite uniquement la modélisation de l'interaction. De plus, nous identifions
une piste de recherche pour continuer et étendre nos travaux.
Sur le long terme :
Cette piste consiste à utiliser le modèle de tâche et les notations proposées pour générer le code de
l'application informatique suivant le principe de l'ingénierie dirigée par les modèles (IDM). Cette
piste pourrait conduire plus facilement aux applications multimodales comme c'est le cas du projet
UsiXML [Limbourg et al., 2004].
79
Bibliographie
[Aït-Ameur et al., 2005] Y. Aït-Ameur, I. Aït-Sadoune et M. Baron. Modélisation et Validation
formelles d'IHM, 2005.
[Belik, 1995] Y. Bellik. Interfaces multimodales : concepts, modèles et architectures, Thèse de
l'université de Paris-XI, 1995.
[Bellik et al., 1992] Y. Bellik, D. Teil, Définitions terminologiques pour la communication
multimodale. IHM'92, 1992.
[Bernard et al., 2003] G. Bernard., J. Ben-Othman., L. Bouganim., G. Canals., B. Defude., J.
Ferrié., S. Gançarski., R. Guerraoui., P. Molli., P. Pucheral., C. Roncancio., P. Serrano-Alvarado.,
and P. Valduriez. Mobilité et bases de données : état de l'art et perspectives. Technique et Science
Informatiques, 2003.
[Blattner et al., 1990] M. M. Blattner, R. B. Dannenberg, CHI'90 Workshop on Multimedia and
Multimodal Interface Design, SIGCHI Bulletin, 1990, pp. 54-58.
[Bolt, 1980] R. Bolt, Put that there: Voice and gesture at the graphics interface. Computer Graphics,
1980, pp. 262-270.
[Bouchet, 2006] J. Bouchet. Ingenierie de l'interaction multimodale en entrée - approche à
composants ICARE. Thèse de l'université Joseph Fourier – Grenoble I, 2006.
[Catinis, 1998] L. Catinis, Etude de l'usage de la parole dans les interfaces multimodales. Thèse de
Institut National Polytechnique de Grenoble, 1998.
[Clerckx et al., 2007] T. Clerckx, C. Vandervelpen, K. Coninx, Task-based design and runtime
support for multimodal user interface distribution. Proceedings of Engineering Interactive Systems,
2007.
[Coutaz, 1987] J. Coutaz, PAC, an object‐oriented model for dialog design. Proceedings of IFIP
INTERACT'87: Human‐Computer Interaction, 1987. pp. 431‐436.
[Coutaz, 1993] J. Coutaz, Software architecture modeling for user interfaces. Encyclopedia of
Software Engineering, 1993.
[Coutaz et al., 1994] J. Coutaz, L. Nigay, Les propriétés "CARE" dans les interfaces multimodales,
IHM'94, 1994.
[Dupuy-chessa, 2011] S. Dupuy-chessa., Modélisation en Interaction Homme-Machine et en
Système d'Information : A la croisée des chemins. Habilitation à Diriger les Recherches (HDR) de
l'université Joseph Fourier – Grenoble I, 2011.
80
[Foster, 2002] M.E. Foster, State of the art review: Multimodal fission, COMIC Deliverable
D6.1,COMIC consortium, 2002.
[Frohlich, 1991] D.Frohlich, The design space of interfaces, multimedia systems, Interaction and
Applications, 1er Eurographics workshop, 1991, pp. 53-69.
[Jacquet, 2006] C. Jacquet. Présentation opportuniste et multimodale d'informations dans le cadre
de l'intelligence ambiante. Thèse de l'université de Paris-XI, 2006.
[Green et al., 1987] M. Green, A Survey of Three Dialogue Models. ACM Trans, 1987.
[Kazman et al., 1994] R. Kazman, L. Bass, G. Abowd, M. Webb , SAAM: A Method for Analyzing
the Properties of Software Architectures. ICSE 16, 1994, pp. 81-90.
[Kleppe et al., 2003] A. Kleppe, J. Warmer, et W. Bast. MDA Explained : The Model Driven
Architecture - Practice and Promise. Addison-Wesley, 2003.
[Krasner et al., 1988] G. E. Krasner and S.T. Pope, A cookbook for using the model‐view‐
controller user interface paradigm in Smalltalk‐80 Journal of Object Oriented Programming, 1988.
pp. 26‐49.
[Le Bodic, 2005] L. Le Bodic, Approche de l'évaluation des sytèmes interactifs multimodaux par
simulation comportementale située. Thèse de l'université de Bretagne occidentale, 2005.
[Le Mouël, 2003] F. Le Mouël, Environnement adaptatif d'exécution distribuée d'applications dans
un contexte mobile. Thèse de l'université de Rennes 1, 2003.
[Limbourg et al., 2004] Q. Limbourg, J. Vanderdonckt, B. Michotte, L. Bouillon, M. Florins,
UsiXML: A User Interface Description Language Supporting Multiple Levels of Independence.
Proceedings of Workshop on Device Independent Web Engineering, 2004. pp. 325-338.
[Lindland et al., 1994] O. I. Lindland., G. Sindre., et A. Sølvberg. Understanding quality in
conceptual modeling. IEEE Softw. 1994. pp. 42-49.
[Martin, 1997] J-C. Martin, Towards "intelligent" cooperation between modalities. The example of
a system enabling multimodal interaction with a map. IJCAI'97 International Workshop on
Intelligent Multimodal Systems, 1997.
[Martin, 1999] J-C. Martin, TYCOON: six primitive types of cooperation for observing,
evaluating and specifying cooperations. AAAI Fall, 1999.
[Moody, 2009] D. Moody. The physics of notations: Toward a scientific basis for constructing
visual notations in software engineering. IEEE transactions on software engineering, 2009.
[Moody et al., 2003] D. L. Moody., G. Sindre., T. Brasethvik., et A. Sølvberg. Evaluating the quality
of information models : empirical testing of a conceptual model quality framework. Proceedings
pour 25th International Conference on Software Engineering, 2003. pp. 295-305.
81
[Mottier, 2009] C. Mottier., Application de domotique sur la plateforme Android (Résumé), rapport
de stage, 2009.
[Nigay, 1994] L. Nigay. Conception et modelisation logicielles des systemes interactifs : application
aux interfaces multimodales. Thèse de l'université Joseph Fourier – Grenoble I, 1994.
[Nigay et al., 1996] L. Nigay, J. Coutaz, Espaces conceptuels pour l'interaction multimédia et
multimodale. TSI, spécial Multimédia et Collecticiel, 1996, pp. 1195-1225.
[Nigay et al., 1993] L. Nigay and J. Coutaz, J. A design space for multimodal systems: Concurrent
processing and data fusion. Proceedings of ACM INTERCHI'93 Conference on Human Factors in
Computing Systems, voices and Faces, 1993. pp. 172‐178.
[Oviatt, 1997] S.L. Oviatt, Multimodal interactive maps: Designing for human performance.
Human-Computer Interaction, 1997. pp. 93-129.
[Oviatt, 1999] S.L. Oviatt, Ten myths of multimodal interaction. Communication of the ACM,
1999. pp.74-81.
[Patern et al., 1997] F. Patern, C. Mancini, S. Meniconi, ConcurTaskTrees: A Diagrammatic
Notation for Specifying Task Models. Proceedings of INTERACT, 1997. pp. 362-369.
[Roques, 2007] P. Roques., Livre : UML 2 - Modéliser une application Web, 2007. pp. 246.
[Rouillard, 2008] J. Rouillard, Adaptation en contexte : contribution aux interfaces multimodales et
multicanal. Habilitation à Diriger les Recherches (HDR) de l'université des Sciences et
Technologies de Lille1, 2008.
[Serrano, 2008] M. Serrano, D. Juras, M. Ortega, L. Nigay, OIDE : un outil pour la conception et le
développement d'interfaces multimodales. UbiMob, 2008.
[Serrano et al., 2008] M. Serrano, L. Nigay, J.Y.L Lawson, A. Ramsay, R. Murray-Smith, Denef S.,
The openinterface framework: a tool for multimodal interaction. CHI'08 extended abstracts on
Human factors in computing systems, 2008. pp. 3501-3506.
[UIMS, 1983] User Interface Management Systems: Proceedings de the Seeheim Workshop.
Springer Verlag. Workshop on User Interface Management Systems, held in Seeheim, FRG, 1983.
[UIMS, 1992] UIMS, A metamodel for the runtime architecture of an interactive system ACM
SIGCHI Bulletin, 1992. pp. 32-37.
[Verdurand et al., 2009] E. Verdurand, G. Coppin, F. Poirier, Modélisation et évaluation de
l'interactiondans les systèmes multimodaux. Revue d'Intelligence Artificielle (RIA), 2009, pp. 227255.
[Wikipedia, 2011] Site Wikipédia, l’encyclopédie libre en ligne http://fr.wikipedia.org
82

Documents pareils