Chapitre 2

Visualisation et manipulation de la flexibilité et des opérateurs d'interruption

Dans un premier temps nous allons identifier les besoins en visualisation liés à l'intégration d'objets flexibles dans un scénario et dans un deuxième temps nous présenterons les besoins et les difficultés liés à la représentation et à la manipulation des opérateurs d'interruption.

[Table des matières]

1 Flexibilité des objets

[Table des matières]

1.1 Introduction

Lors de la visualisation d'une solution d'un scénario qui contient des objets flexibles l'auteur peut parcourir l'ensemble des solutions soit :

En réaction à ces modifications, le système de visualisation est amené à déplacer d'autres objets et/ou modifier leur taille pour pouvoir présenter à l'auteur un placement cohérent par rapport au scénario initial.

Il est donc important de distinguer les objets flexibles de manière à ce que l'auteur sache quels sont les objets dont la durée est susceptible d'être modifiée. Une idée intuitive consiste à représenter la flexibilité par une métaphore explicite sur la représentation graphique de l'objet (ex: un ressort). Cependant, cette information est loin d'être suffisante et ce sont tous les besoins liés à l'utilisation d'objets flexibles dans les scénarios qui vont être à présent identifiés. Ceux-ci sont regroupés en trois catégories :

[Table des matières]

1.2 Besoins liés à la manipulation des objets flexibles

[Table des matières]

1.2.1 Anticipation du comportement du scénario

Savoir qu'un objet est flexible dans un scénario donné ne constitue pas une information suffisante pour anticiper les conséquences d'une manipulation (déplacement ou retaillage). Il est important que l'auteur connaisse avant la modification un certain nombre d'informations qui vont lui éviter d'avoir à effectuer de nombreuses manipulations de la vue graphique afin de mieux comprendre l'ensemble des solutions associées à son scénario.

Image Flexibilite.gif

Fig 0. Contrôle de la flexibilité

[Table des matières]

1.2.2 Mode d'action

Il est évident qu'il faut permettre à l'auteur de modifier interactivement la taille des objets. Pour cela il faut lui offrir des moyens de manipuler leur taille, que ce soit au moyen d'une boîte de dialogue et/ou par une manipulation directe à l'aide de la souris sur les bords de la représentation graphique de l'objet. En fait ces deux modes d'interaction sont complémentaires, car la manipulation à la souris est intuitive, et la manipulation par des boîtes de dialogue permet de réaliser des ajustements précis.

[Table des matières]

1.2.3 Réponse du système: préventive, locale, continue et pertinente

Image Flexibilite1.gif

Fig 1. Contrôle de la flexibilité

Le système de visualisation doit pouvoir contrôler la réponse à une déformation de manière à satisfaire les deux critères suivants :

[Table des matières]

1.3 Ebauche de solution pour la réponse du système

Dans l'exemple de la Fig 2 on peut dire que la déformation des délais d1 et d2, en réponse à une manipulation sur l'objet B, est plus locale que la déformation d'un des objets de la Scène 2. De plus elle privilégie la déformation d'un délai ce qui correspond plus au résultat attendu. C'est cette solution qui nous parait la plus pertinente dans ce cas précis.

Image LocaliteDeformation.gif

Fig 2. Localité des déformations

De manière générale, on essaye en premier lieu de ne perturber que le niveau courant. Dans le niveau courant on essaye d'abord de trouver des délais qui peuvent amortir les déformations de l'auteur. Si plusieurs choix s'offrent à nous, on choisit de déformer les objets qui sont les plus proche de l'objet manipulé. Si les délais ne suffisent pas à amortir les déformations de l'auteur on les utilisent au maximum, et on utilise la flexibilité des objets les plus proches de l'objet déformé.

S'il n'y a pas de possibilité au niveau courant et que l'auteur le demande explicitement, on essaye de faire la même chose au niveau supérieur et ainsi de suite jusqu'à trouver une solution.

[Table des matières]

2 Les opérateurs d'interruption: Besoins et difficultés

[Table des matières]

2.1 Définition

Les opérateurs d'interruption ont pour effet de provoquer la terminaison des objets liés par l'opérateur et des objets liés (par transitivité) à l'objet interrompu. Les opérateurs d'interruption définis dans Madeus sont :

Nous pouvons voir graphiquement dans la Fig 3 la sémantique de ces opérateurs.

Image CausalOperators.gif

Fig 3. Les opérateurs d'interruption

Lorsque la durée des objets concernés par les opérateurs d'interruption est unique, il est facile pour le système de déterminer quels sont les objets qui sont interrompus. Par exemple dans la Fig 4 où nous avons deux objets A et B dont la durée peut varier entre 3 et 4, trois cas sont possibles :

Image
Causalite_et_Flexibilite.gif

Fig 4. Causalité et flexibilité

[Table des matières]

2.2 Visualisation de l'interruption (sémantique de la coupure)

Il est important pour l'auteur de savoir précisément quels sont les objets qui risquent d'être interrompus, car ceux-ci peuvent potentiellement ne pas délivrer la totalité de leur contenu.

Ambiguïté entre les opérateurs (Equal, Parmin)
Il est nécessaire de bien distinguer l'opérateur parmin de l'opérateur equal. En effet, les deux opérateurs se traduisent par un placement temporel identique : les opérandes démarrent en même temps et se terminent en même temps mais leur sémantique est différente: dans le cas du parmin, il se peut que l'un des deux opérandes ait été interrompu. Cette différence doit apparaître dans la vue graphique du scénario.
Par exemple, dans la Fig 5 il est important de montrer que dans le cas où l'auteur a défini la relation A Parmin B les deux objets peuvent être potentiellement interrompus.
Image Ambiguite.gif

Fig 5. Exemple d'ambiguïté

Propagation de l'interruption
Comme nous l'avons dit précédemment les opérateurs d'interruption ont un effet qui se propage par transitivité sur les objets. Il est donc important de visualiser cette interruption à la fois sur l'objet lié directement mais aussi sur les objets liés par transitivité.

Par exemple, dans la Fig 7 on visualise la propagation de l'interruption dans le cas de l'opérateur Equal (Cas 1) et de l'opérateur During (cas 2).

Cas 1 :

A Parmin B

C Equal B

Cas 2:

A Parmin B

C During B

Fig 6. Scénario

Image
Propagation_Interruption.gif

Fig 7. Propagation de l'interruption

[Table des matières]

2.3 Flexibilité et opérateurs d'interruption

Lorsque la durée des objets concernés par les opérateurs d'interruption est unique, il est facile pour le système de déterminer quels sont les objets qui sont interrompus, cependant la combinaison de la flexibilité des objets et des opérateurs d'interruption pose des problèmes nouveaux. Les trois configurations présentées dans la section peuvent apparaître successivement dans le même scénario en fonction de la durée des objets A et B.

Dans les trois cas il faut suggérer à l'auteur l'existence des deux autres et lui permettre d'y accéder. En effet, dans le cas d'objets incontrôlables, l'auteur ne pourra pas savoir a priori lequel des trois cas se produira à l'exécution.

[Table des matières]

3 Conclusion

Comme nous venons de le voir, nous avons plusieurs besoins liés a l'intégration des opérateurs d'interruption et de la flexibilité des objets. Il est important d'offrir à l'auteur une représentation graphique qui lui permette de bien appréhender le comportement de son scénario.

Besoins liés à la visualisation d'information :
  1. anticipation des comportements ;
  2. non ambiguïté de la représentation ;
  3. représentation d'informations multiples sans surcharge cognitive pour l'auteur ;
  4. manipulation de la représentation graphique ;
  5. contrôlabilité des déformations.

Les besoins identifiés nécessitent des mécanismes de manipulation de contraintes avancés notamment pour le maintien de la cohérence de la solution visualisée. En effet, comme nous avons pu le dire précédemment, à chaque interaction de l'utilisateur sur la représentation graphique du scénario le système devra apporter les modifications nécessaires au scénario pour tenir compte des manipulation de l'auteur et offrir la visualisation d'une solution cohérente du scénario (Fig 8 ).

Image Architecture.gif

Fig 8. Architecture

Dans le chapitre suivant nous allons présenter une étude sur les différentes approches existantes dans un système de contraintes ou pour le maintien de solution en analysant comment celles-ci peuvent répondre aux différents besoins mis en évidence dans ce chapitre, en particulier pour les problèmes liés au traitement des objets flexibles car nous nous verrons que c'est eux qui posent, du point de vue algorithmique, le plus de problèmes. Nous présenterons dans le chapitre une solution qui nous permettra de répondre partiellement à ces besoins et nous permettant ainsi de focaliser notre attention sur les problèmes liés à la représentation graphique du scénario.

Notes :