24.06.2013 Views

Dégradation harmonieuse d'interfaces utilisateur - UsiXML

Dégradation harmonieuse d'interfaces utilisateur - UsiXML

Dégradation harmonieuse d'interfaces utilisateur - UsiXML

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!