Download Introduction

Transcript
II.2. Extension des RPO
Il faut remarquer que l'introduction d'un arc inhibiteur inverse la signification habituelle des
préconditions : ainsi une transition avec arc inhibiteur et sans précondition est plus contrainte que la
même transition avec une précondition.
P1
<x>
<y>
¬Prop(y)
<a>
T1
P2
T1(x) si P1(x) et ¬(P1(y) et ¬Prop(y));
T1(x) si P1(x) et Prop(y);
Figure II.13
- Arc inhibiteur testant tous les jetons d'une place
La Figure II.13 illustre la puissance d'expression de cette extension : la transition T1 n'est
franchissable que si tous les jetons dans P1 vérifient le prédicat Prop. Nous réutiliserons cette
technique dans la section suivante, en montrant comment ordonner les jetons à l'intérieur des places
d'un réseau.
2.7. Ordonnancement des jetons du marquage
Lorsque le marquage des places est constitué d'entités qui ont une valeur et non pas de jetons
indifférenciés, il peut être pertinent de se préoccuper de l'ordre dans lequel les jetons vont quitter la
place par occurrence d'une transition. Cet ordre peut être défini en fonction de la valeur des jetons (on
parlera alors de place triée), ou en fonction de leur ordre d'arrivée dans la place (place gérée comme
une pile ou comme une file).
Définition II.35 - Critère de tri d'une place
On appèle critère de tri d'une place p une fonction Trip :
Trip : Type(p) → D
où D est un domaine sur lequel est définie une relation d'ordre (par exemple les entiers, les
chaînes de caractères, …). La fonction Trip permet d'ordonner les jetons présents dans la place
suivant un critère dépendant de leur valeur.
Définition II.36 - Place triée
Une place p sera dite non triée si Trip est une fonction constante, ou si aucun critère de tri ne
peut lui être associé. Dans le cas contraire, p sera dite place triée.
61