• Aucun résultat trouvé

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

jointure

ou après

un point de

diffusion

né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

i

activité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

1

A

2

A

3

...A

n

d'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

jointure

ou point de

diffusion

peuvent ê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

diffusion

se 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

i

B....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,j

formant 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