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