• Aucun résultat trouvé

VERS UN MODÈLE TEMPOREL PLUS GÉNÉRAL DE PROCESSUS WORKFLOW

Modélisation et Analyse sous contraintes temporelles

3.6. VERS UN MODÈLE TEMPOREL PLUS GÉNÉRAL DE PROCESSUS WORKFLOW

Notation 3.1

T S dénie le temps, T S = {x ∈ R|x ≥ 0}, i.e. l'ensemble de tous les réels non-négatifs.

IN T = {[y, z] ∈ T S×T S / y ≤ z}, représente l'ensemble de tous les intervalles fermés. Six∈T S et [y, z]∈IN T, alors x∈[y, z] si et seulement si y≤x≤z. Dans ce sui suit, nous dénissons un jeton par un tuple (p, c,[a, b]) avec p ∈ P la place qui le contient,cson horloge local (qui vaut initialement 0) et[a, b]son intervalle de validité.

Notons par T ok l'ensemble de tous les jetons possibles.

Dénition 3.10 Un ITWF-net est déni par un quadruplet (P, T, F, T F) vériant les conditions suivantes :

(P, T, F) est un WF-net

T F est la fonction transition sur T.

T F(t) :Dom(T F(t))→(T ok×IN T)M S oùDom(T F(t))⊆(T ok)M S

La fonction transition spécie chaque transition dans le modèle de ITWF-net. Pour une transitiont, T F(t) spécie la relation entre le multi-ensemble des jetons consommés et le multi-ensemble des jetons produits. Le domaine deF(t)décrit la condition pour laquelle la transition est franchissable. Notons que les jetons produits possèdent un délai spécié par un intervalle. Dans ce modèle, nous exigeons que le multi-ensemble des jetons consommés et celui des jetons produits soient nis.

Exemple 3.3

Considérons le processus workow de relecture des papiers dans une conférence scientique. Le ITWF-net de ce processus est donné dans la gure 3.7. Ce ITWF-net décrit le cycle de vie d'un seul papier dès sa soumission par un de ses auteurs jusqu'à son acceptation ou son refus par les organisateurs de la conférence (conference chairs). Les paramètres temporels sont associés (syntaxiquement) avec les arcs sortant des transitions puisqu'ils déterminent les intervalles de validité des jetons produits.

Le processus de relecture des papiers de la gure 3.7 représente une instance du proces-sus prête à l'exécution. Une instance réfère à un traitement d'un papier. Le lancement de la conférence est noté par une diusion d'un appel à soumission (ou Call For Papers noté CFP). Cette action résulte en un CFP disponible pour au plus 60 jours avant l'ouverture du site de la soumission.

Notons que si nous avons décidé de lancer l'exécution de l'instance du processus, la première action (ici la Diusion du CFP) doit être exécutée directement puisque le jeton de la place initiale ine possède pas d'intervalle de disponibilité.

Ensuite, les organisateurs peuvent ouvrir le site pour les éventuelles soumissions. Dès que le site de la soumission soit ouvert avec une durée maximale de 30 jours, un auteur peut soumettre un papier dans cette période (on limite notre exemple ici au cas où un seul auteur peut soumettre un papier unique par soumission).

Figure 3.7 Un ITWF-net du processus de relecture d'un papier dans une conférence

Le papier soumis peut être directement passé à l'étape de relecture (examination par le comité de lecture), mais il peut rester disponible dans le système de conférence pour au plus 20 jours avant de l'examiner.

On suppose maintenant qu'un organisateur de la conférence décide (après avoir fermé le site de soumission et après tout un processus de choix des examinateurs des papiers soumis) de diuser le papier à trois examinateurs, en leur précisant la durée minimale et la durée maximale avant sa réception de leur relectures (dans notre cas, on précise que chaque relecteur possède le papier pour au plus 21 jours). Pour cette période, chaque relecteur doit envoyer une réponse (contenant ses commentaires sur le contenu du papier). Cette réponse peut rester dans le système de conférence pour 18 jours.

Après la réception des rapports des trois relecteurs, l'organisateur de la conférence peut diuser la décision à l'auteur concerné. Cette décision peut être un refus qui mène à la n du processus, ou bien une acceptation du papier. Cette acceptation exige de l'auteur à conrmer sa participation (au plus dans 10 jours) par envoi de la version nale de son papier en plus de son inscription et le payement des frais de sa participation. 15 jours au maximum après l'inscription de l'auteur et l'envoi de la version nale de son papier, l'organisateur de la conférence va programmer ociellement le papier dans la conférence.

3.6. VERS UN MODÈLE TEMPOREL PLUS GÉNÉRAL DE PROCESSUS WORKFLOW

3.6.2 Comportement dynamique d'un ITWF-net

Le quadruplet (P, T, F, T F) spécie la structure statique d'un ITWF-net. Dans cette partie, nous dénissons le comportement d'un ITWF-net, i.e. la sémantique du modèle ITWF-net.

3.6.2.1 Les états d'un ITWF-net

Dénition 3.11 Un état est déni par un multi-ensemble de jetons où chacun pos-sède une valeur de son horloge local.

On note par S son espace des états accessibles, i.e. l'ensemble de tous les états pos-sibles : S= (T ok×T S)M S.

Le marquage d'un ITWF-net dans l'état s∈S est la distribution non temporisée de jetons :M(s)∈T okM S et M(s) =P

(p,c)∈T ok×T Ss(p, c)(p)

Un état est donc un multi-ensemble de tuples (p, c) (p ∈P et c ∈T S). Le marquage est obtenu à partir d'un état par élimination des paramètres temporels.

Par exemple l'état (initial) du processus de la gure 3.7 est(i,0)car initialement il n'y a qu'un seul jeton dans la place i avec une valeur d'horloge qui vaut 0 puisqu'il représente une instance prête à l'exécution.

3.6.2.2 Evolution d'états

Etant donné que les transitions sont les composants actifs d'un ITWF-net, nous devons dénir les conditions de tir, le tir d'une transition et donc l'évolution des états.

Une transition test franchissable (ou active) dès que toutes les ressources qu'elle exige soient disponibles, i.e. il y a des jetons dans t et pour chacun de ces jetons, sa valeur de l'horloge est incluse dans son intervalle de validité.

Etant donnés une transition franchissable et l'ensemble des jetons requis pour son exécution, nous donnons en ce qui suit une dénition formelle d'un événement.

Dénition 3.12 Un événement est un triplet (t, bin, bout), qui représente les franchisse-ments possibles de la transitiont par enlèvement des jetons spéciés par le multi-ensemble

bin et ajout des jetons spéciés par le multi-ensemblebout.

Un événement e = (t, bin, bout) représente le tir d'une transition franchissable t en consommant les jetons spéciés par bin et en produisant les jetons spéciés parbout.

Si (p, c,[a, b]) ∈ bin, alors e consomme un jeton de p. Si (p0, c0,[a0, b0]) ∈ bout, alors e

produit un jeton dansp0 avec une valeur initiale d'horlogec0 = 0 et un délai[a0, b0]. Notons que les intervalles de temps sont spéciés parT F(t)(bin).

L'ensemble de tous les événements est noté parE=T×(T ok×T S)M S×(T ok×T S)M S. Soit s un état et (p, c,[a, b]) un jeton de s. Il est clair que ce jeton est disponible si

est :[max(0, a−c), b−c].

Soit e= (t, bin, bout) un événement.

e est possible dans l'état ssi et seulement si les jetons de bin sont aussi présents dans

set sont valides.

L'intervalle de franchissement de e est l'intersection des intervalles de validité de ses jetons. Il est déni par un délai minimal (M inD) et un délai maximal (M axD) comme suit :

M inD=max(0, max(p,c,[a,b])∈bin(a−c))

M axD=min(p,c,[a,b])∈bin(b−c).

Le franchissement d'un événement provoque une évolution d'état. Notons que les hor-loges (des jetons) accroissent avec le temps et mènent donc aussi à une évolution d'état. Nous présentons dans ce qui suit comment un état évolue par un événement de franchisse-ment et par une progression de temps.

Evénement de franchissement

Un événement possible peut avoir lieu et mène ainsi au franchissement d'une tran-sition. Dans ce cas, le modèle va passer d'un état à un autre en consommant les jetons (valides) nécessaires et en produisant d'autres. L'occurrence d'un événement est instantanée.

Si(t, bin, bout) se produit dans un état s1, alors le réseau passe dans l'état s2 déni par : s2 = (s1−bin) +bout.

Progression de temps

A partir d'un état donné, le modèle peut évoluer avec progression de temps sans aucun franchissement. Une progression de temps dexunités de temps peut se produire d'un état s si et seulement si x est inférieur ou égal au maximum des délais de tous les événements possibles.

Après cette progression de temps, les horloges locales des jetons des vont être aug-mentées parxunités de temps. Par exemple, prenons l'étatsdu processus de la gure 3.7 après 'Ouverture Site Soumission' ;s= (p2,0)montre qu'il y a un jeton créé dans la placep2 avec une valeur d'horloge initiale0. Après trois unités de temps, on peut ne pas avoir de papiers soumis bien que l'événement correspondant au franchissement de la transition 'Soumission Papier' est permis, mais l'état change puisque la valeur de l'horloge du jeton est changée. Le nouvel état ests0 = (p2,3).

Notons que la progression du temps peut mener à des jetons non valides (morts) qui ne peuvent pas être considérés au futur, et donc qui ne participeront pas au franchissement de transitions.

Notons maintenant qu'un système évolue par événement de franchissement ou par progres-sion de temps. Considérons chacun de ces cas comme une occurrence d'un événement.

L'occurrence d'un événement e= (t, bin, bout) permet d'accéder d'un état s1 à un état

s2, ceci est aussi noté pars1[eis2.

3.6. VERS UN MODÈLE TEMPOREL PLUS GÉNÉRAL DE PROCESSUS WORKFLOW

Dénition 3.13 Une séquence de tir est une séquence d'états et d'événements notée :

s1[e1is2[e2is3[e3is4[e4i..

L'état sn est accessible de s1 si et seulement il existe une séquence de franchissement d'une longueur nie commençant en s1 et nissant en sn : s1[e1is2[e2is3..[en−1isn

3.6.2.3 Graphe d'accessibilité

Nous dénissons ici le graphe d'accessibilité ou simplement l'espace d'états représentant tous les états accessibles à partir de l'état initial.

Dénition 3.14 Un graphe d'accessibilité est déni par un tuple (s,→, s0) où : sreprésente l'ensemble des n÷uds spéciant les états accessibles à partir de s0. s0 est l'état initial.

→ dénit la relation transition (spéciée soit par événement de franchissement soit par progression de temps).

Exemple 3.4

Pour l'ITWF-net de la gure 3.7, l'état initial est s0 = (i,0). A partir de cet état, il y a un seul événement de tir possible qui est :

e0 = (0CF P Dif f usion0,((i,0,[0,∞[)),((P1,0,[0,120]))).

Cet événement va se produire lorsqu'un lancement d'une instance du processus devrait avoir lieu. Le franchissement de cet événement provoque la production d'un jeton dans la placeP1 avec un intervalle de validité qui vaut[0,120], menant ainsi à l'états1= (P1,0).

A partir de cet état, un événement de franchissement aussi bien qu'une progression de temps sont possibles. L'événement de franchissement possible est

e1 = (0Ouverture Site Soumission0,((P1,0,[0,120])),((P2,0,[0,30])))et le temps peut progresser de1jusqu'à120unités de temps. Supposons que5unités de temps sont passées sans franchissement de la transition 0Ouverture Site Soumission0, alors le système est devenu dans l'états1= (P1,5)et il y a un événement de franchissement possible qui est :

e2 = (0Ouverture Site Soumission0,((P1,5,[0,120])),((P2,0,[0,30])))

en ayant toujours la possibilité de progression de temps sans franchir la transition. Supposons maintenant que l'organisateur de la conférence décide d'ouvrir le site de soumission, la production de l'événement e2 mène à l'état (P2,0) représentant un jeton dans la placeP2 avec une valeur d'horloge initiale0et un intervalle de validité [0,30]. Ceci indique que le site sera ouvert uniquement pour30jours. Donc, un auteur peut soumettre un papier dans cette période. Supposons qu'il n'y a pas eu de soumission après 10 jours, alors le système est dans un nouvel état(P2,10). A partir de cet état, l'événement de tir

(0Soumission P apier0,((P2,10,[0,30])),((P3,0,[0,20]))) est possible. L'état résultant de cet événement de franchissement à cet instant est(P3,0), et ainsi de suite, le système évolue de la même manière.

3.6.3 Analyse des ITWF-nets

Nous présentons dans le reste de cette section des résultats utiles dans l'analyse de l'accessibilité dans les ITWF-nets. L'analyse d'accessibilité est une technique qui construit le graphe d'accessibilité, appelé aussi l'arbre d'accessibilité. Un tel graphe contient un n÷ud pour chaque état possible et un arc pour chaque changement d'état. L'analyse d'accessibilité est une méthode très puissante dans le sens où elle peut être utilisée pour prouver tous les types de propriétés.

En général, le graphe d'accessibilité peut, même pour des réseaux de petites tailles, devenir très large voire inni. Ceci est essentiellement causée par le fait que nous utilisons les intervalles de temps et que nous avons intégré les événements de progression de temps. Donc, ce graphe ne peut être utilisé pour vérier le fonctionnement correct d'un processus. Et c'est pour cette raison que nous passons à chercher une méthode de réduction pour le graphe d'accessibilité des ITWF-nets. Cette réduction se base sur la notion de classes d'états.

Dénition 3.15 Une classe d'états est dénie par un multi-ensemble de jetons chacun admet un intervalle de validité. SCS = (T ok×IN T)M S est l'espace de toutes les classes d'états.

Un événement est un triplet (t, bin, bout), qui représente le franchissement possible de la transition t en éliminant les jetons spéciés par le multi-ensemble bin et en ajoutant les jetons spéciés par le multi-ensemble bout.

Dans ce cas, la condition de franchissement est dénie comme suit :

Dénition 3.16 Un événement(t, bin, bout) est possible dans la classe d'état sc∈SCS si et seulement si les trois conditions suivantes sont vériées :

bin≤sc

M(bin)∈dom(F(t))

bout=F(t)(M(bin))

Le temps pour lequel un jeton devient disponible est spécié par un intervalle (nous faisons abstraction aux valeurs des horloges locales des jetons), par conséquent il est impos-sible de spécier le temps pour lequel un événement est permis. Cependant, il est posimpos-sible de donner une borne inférieure et une borne supérieure de ce temps de possibilité d'occurrence d'un événement de franchissement e.

Dénition 3.17 La valeur minimale et la valeur maximale du temps d'occurrence d'un événement (t, bin, bout) sont dénies comme suit :

ETmin((t, bin, bout)) =max(p,[a,b])∈bina

ETmax((t, bin, bout)) =max(p,[a,b])∈binb

Un événement possibleeva se produire si et seulement si le temps minimal d'occurrence de eest inférieur au temps maximal d'occurrence de tout autre événement possible.