En se basant sur ces prédicats, les axiomes suivants sont identiés :
1. HoldsAt(f, t)←−Initially
P(f)∧ ¬Clipped(0, f, t)
Toutes les états qui s'intialisent et ne sont pas terminés par aucun événement depuis
l'ins-tant 0 àt continuent à persister ent.
2. HoldsAt(f, t3) ←− Happens(a, t1, t2) ∧ Initiates(a, f, t1) ∧ (t1 < t2 < t3) ∧
¬Clipped(t1, f, t3)
Comme l'indique la gure 4.1, après qu'un événement initialise un état, cet état persiste
tant qu'aucun autre événement ne l'annule.
Prédicat Interprétation
happens(a, t1, t2) Le déclenchement de l'action as'est produit entre les instantst1 ett2
happens(a, t) Prédicat simplié de happens(a, t1, t2)qui se produit àt
holdsAt(f, t) L'étatf est vrai à à l'instantt
initiates(a, f, t) L'état f devient vrai après l'actionaà l'instant t
terminates(a, f, t) L'étatf devient faux après l'actioneà l'instant t
Initially
P(f) L'étatf est vrai à partir de l'instant initial, c-à-d 0
Initially
N(f) L'étatf est faux à partir de l'instant initial, c-à-d 0
Clipped(t1, f, t2) L'étatf est terminé entre l'instantt1 ett2
Declipped(t1, f, t2) L'étatf est initialisé à vrai entre l'instantt1 ett2
t1< t2 relation d'ordre standard pour le temps, t1précède t2
Tab. A.1 Prédicats du calcul événementiel
143
Figure A.1 Axiome 2
Domaine de description: t3 t2 t1 Initiates(a, f, t1) HoldsAt(f, t3) Happens(a, t1, t2) ¬Clipped(t1, f, t2)3. Clipped(t1, f, t4) ←→ ∃a, t2, t3[Happens(a, t2, t3)∧(t1 < t2)∧(t2 < t3)∧(t3 < t4)∧
T erminates(a, f, t2)]
Comme l'indique la gure A.4, cet axiome stipule qu'un état est dit clipped si et
seule-ment si un événeseule-ment se produit pour l'annuler.
Figure A.2 Axiome 3
t4
t3
t2
t1
Clipped(t1, f, t4) Happens(a, t2, t3)Domaine de description :T erminates(a, f, t2)
4. ¬HoldsAt(f, t)←−Initially
P(f)∧ ¬Declipped(0, f, t)
Cet axiome montre qu'un état est annulé s'il n'est pas initialement persistant et qu'il n'y
a aucun événement qui l'a déclenché.
5. ¬HoldsAt(f, t3) ←− Happens(a, t1, t2)∧T erminates(a, f, t1)∧(t1 < t2)∧(t2 < t3)∧
¬Declipped(t1, f, t3)Comme le montre la gure 4.3, si un événement se produit et termine
un état, et aucun autre événement ne se produit pour l'initialiser, alors cet état ne persiste
plus.
Figure A.3 Axiome 5
Domaine de description: t1 t2 t3 ¬Declipped(t1, f, t3) Happens(a, t1, t2) ¬HoldsAt(f, t3) T erminates(a, f, t1)
6. Declipped(t1, f, t4)←→ ∃a, t2, t3 [Happens(a, t2, t3)∧(t1< t2)∧(t2 < t4)∧(t3< t4)∧
Initiates(a, f, t2)]
Figure A.4 Axiome 6
t4
t3
t2
t1
Declipped(t1, f, t4) Happens(a, t2, t3)Domaine de description :Initiates(a, f, t2)
Un état est dite declipped dans une période si et seulement il existe un événement qui
se produit et initialise ou réalise l'état dans cette période. Cet axiome est illustré par la
gure 4.4.
Les axiomes 1 et 3 indiquent qu'un état est vrai en un temps t si et seulement si soit il était
initialement vrai et qu'il n'est pas terminé entre 0 et t par une action, soit qu'une action, ayant
pour eet d'initier l'état, se produise avant t et qu'entre cet instant et t l'état n'est pas terminé
par une autre action. Cela est repris par la formule suivante. L'axiome 6 spécie qu'un état se
termine entre t1 et t3, si et seulement si une action se produit dans l'intervalle ]t1 ; t3[, et cette
action, notée a, a pour eet de terminer cet état.
Démonstrations des théorèmes et des
lemmes
Dans cet annexe, nous donnons les démonstrations des théorèmes et des lemmes que nous
avons introduit dans chapitre 5
B.1 Démonstration du lemme 5.1 sur le nombre d'instances pour
des traces d'exécutions complètes
Énoncé du lemme 5.1
soit wf tun workow transactionnel le nombre minimal et susant de traces d'exécutions
d'ins-tances diérentes pour la découverte du flot de contrôlewf t est déni comme suit :
1. Le nombre est égal à 1 pour les workow ne contenant qu'une suite séquentielle d'activités
sans comportement concurrentiel ni conditionnel ;
2. Un comportement conditionnel entre n activités avant un point de
jointureou après
un point de
diffusionnécessite n traces d'exécutions d'instances diérentes reprenant à
chaque fois un choix.
3. Un comportement concurrentiel entre n ux de contrôle, chaque ux i; 0 < i < n+ 1
contientj
iactivités nécessiteΠ
i=1..n(j
i+i−1) =j
i∗(j
2+1)∗(j
3+2)∗(j
4+3)∗...∗(j
5+n−1)
traces d'exécutions d'instances diérentes reprenant toutes les combinaisons possibles.
Preuve B.1 (démonstration du lemme 5.1)
1. Si le workow est W= (W A⊂ AT, Ax⊂ Axiomes) une suite séquentielle d'activitésW A=
{A
i, 0<i<n+1 } sans comportement concurrentiel ni conditionnel alors il peut être représenté
sous la forme d'une combinaison de patrons séquence. Ainsi selon la dénition 4.10, les seules
conditions décrivant les axiomesAxdu workow sont :
A
1< A
2< A
3< ... < A
n∧(∀1< i < n;OUT
max(A
i) =OUT
min(A
i) = 1∧IN
max(A
i) =IN
min(A
i) = 1)
∧(OUT
max(A
1) =OUT
min(A
1) = 1∧IN
max(A
n) =IN
min(A
n) = 1)
Par conséquent, seulement les points 2 et 3 de l'axiome 5.1 sont concernés.
La trace d'exécutionA
1A
2A
3...A
nd'une instance d'exécution du workow W satisfait
am-plement ces deux points.
2. Un comportement conditionnel entrenactivités {A
i, 0<i<n+1 } et une activitéBau niveau
d'un point de
jointureou point de
diffusionpeuvent être décris par l'ensemble de patrons
de
jointure(jointure simple, synchronisation et M-out-of-N ) ou de
diffusion(choix exclusif,
diusion parallèle, choix multiples). On s'intéresse dans la suite de notre preuve aux patrons de
jointure, la preuve pour les patrons
diffusionse fait symétriquement. Ainsi selon les dénitions
de ces patrons (décrite dans la section 4.3.5), les seules conditions possibles décrivant les axiomes
Axdu workow sont :
∀0< i < n+ 1A
i< B ∧(∀1< i < n;OUT
max(A
i) =OUT
min(A
i) = 1∧IN
min(B) = 1)
Par conséquent, seulement les points 2 et 3 de l'axiome 5.1 sont concernés.
Lesntraces d'exécutions sous la forme...A
iB....d'instances d'exécution du workow satisfont
amplement ces deux points.
3. Pour la preuve du troisième point, on s'intéresse en premier au comportement concurrentiel
entre n ux de contrôle contenant chacun une activité. Ce comportement peut être décrit par
un ensemble d'activités {A
i, 0<i<n+1 } concurrentes. Par conséquent, seulement le point 1 de
l'axiome 5.1 est concerné.
L'ensemble des arrangements de taille n formés par l'ensemble d'activités { A
i, 0<i<n+1
} formant les n! = Π
i=1..n(i) traces d'exécutions d'instances d'exécution du workow satisfait
amplement ce point.
Supposant maintenant que le ux k de contrôle contient plus qu'une activité et que {A
k,j,
0<j<m+1 }, alors il sut de créer des arrangements de taillenformés par l'ensemble activités {
A
k,j,A
i; 0<i<k, k<i<n+1 } pour chaque activitéA
k,jformant ainsi lesΠ
0<i<k,k<i<n+1(i)∗(k−
1+m)traces d'exécutions d'instances du workow. En étendant notre supposition aux autres ux
nous trouvons la formule du lemmeΠ
i=1..n(j
i+i−1) =j
i∗(j
2+1)∗(j
3+2)∗(j
4+3)∗...∗(j
5+n−1).
B.2 Démonstration du théorème 5.1 sur la corrélation entre TDS
Dans le document
La Découverte de Workflow<br />Transactionnel pour la Fiabilisation des<br />Exécutions
(Page 156-161)