Dégradation harmonieuse d'interfaces utilisateur - UsiXML
Dégradation harmonieuse d'interfaces utilisateur - UsiXML
Dégradation harmonieuse d'interfaces utilisateur - UsiXML
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Remarquons néanmoins que cette technique pose un léger problème. En effet, nous<br />
n’attribuons d’ordre de passage aux OIAs candidats que pour le facteur de taille. Il aurait<br />
peut-être été utile d’incorporer en plus un facteur ergonomique car, une taille supérieure ne<br />
signifie pas forcément que l’OIA sera plus ergonomique que les autres candidats.<br />
Le module PU Splitter<br />
Nous n’entrerons pas énormément dans les détails en ce qui concerne ce module car les règles<br />
de scission ont déjà été explicitées dans la section 5.4.3.1. Nous nous contenterons donc de<br />
décrire la démarche générale suivie.<br />
La première étape consistera à déterminer l’endroit où commencer la scission. Ainsi, nous<br />
déterminerons l’ancêtre (la tâche mère) commun à toutes les tâches feuilles de l’unité de<br />
présentation et se situant au niveau le plus bas possible dans la hiérarchie des tâches.<br />
Ensuite, nous commencerons par tenter une scission au niveau des opérateurs de séquence. Si<br />
cette scission est concluante, nous devrons alors vérifier que nous ne devons pas créer de<br />
redondance pour certaines tâches (concurrentes ou de désactivation) en les joignant aux<br />
différentes unités de présentation obtenues. Si l’ancêtre commun le plus bas n’a par contre pas<br />
de fils liés à un opérateur de séquence, nous essayons alors de couper au niveau d’un de ses<br />
voisins qui a des descendants.<br />
Si la scission n’a toujours pas eu lieu, nous essayons de découper l’unité de présentation<br />
suivant un opérateur de concurrence. La technique suivie est essentiellement la même, si ce<br />
n’est que, dans le cas où nous devons créer des redondances entre tâches est réduit car le cas<br />
de répartition de tâches concurrentes n’a pas de sens ici. La seule différence transparaît dans<br />
la modification de nature des opérateurs concurrents en opérateurs de séquence après une<br />
scission.<br />
Une fois une éventuelle scission réalisée, nous vérifions la taille de chaque unité de<br />
présentation obtenue et réessayons de couper si la scission n’a pas été suffisante pour chacune<br />
d’entre-elles.<br />
Remarquons le cas spécifique supplémentaire que nous n’avions pas spécifié dans la section<br />
5.4.3.1 concernant les opérateurs de choix. En effet, si nous coupons sur un opérateur de<br />
séquence ou de concurrence inférieur à une tâche dont l’opérateur temporel est un opérateur<br />
de choix, nous perdons la possibilité de choix. Aussi, nous ne coupons pas à ce niveau.<br />
Le module CUI Layout Organizer<br />
Le but de ce module est de déterminer la meilleure combinaison possible niveau (en terme de<br />
hiérarchie de tâches d’un arbre) à partir duquel réorganiser les tâches # nombre de colonnes<br />
souhaitées par groupe de tâches d’un même niveau.<br />
Pour ce faire, nous calculons dans un premier temps le niveau maximal et le nombre de tâches<br />
maximal qu’il est possible d’atteindre. Ensuite, pour chacune des combinaisons possibles (on<br />
commence par le couple 1#1), nous retenons celle pour laquelle la présentation se rapproche<br />
le plus de la résolution souhaitée.<br />
90