4.4 Spécication du ot transactionnel
4.4.3 Mécanismes de recouvrement dans les workows transactionnels
4.4.3.2 Relations sémantiques dans les mécanismes de recouvrement
La spécication des mécanismes de recouvrement dénie à travers le comportement
tran-sactionnel doit respecter quelques règles sémantiques partiellement dépendantes du ux de
contrôle. En eet, le comportement transactionnel représenté par les dépendances de
suspen-sion, d'annulation et d'alternative et les propriétés transactionnelles sont étroitement liées aux
dépendances d'exécutions normales décrites à travers les patrons de workow. Par exemple, une
dépendance de suspension ou d'annulation dea
1versa
2ne peut exister que si les deux activités
ne dépendent pas l'une de l'autre au sens du ux de contrôle normal et sont en concurrence.
Concrètement, ces relations sémantiques sont décrites dans la règle 4.1.
La première et la deuxième règle expriment le fait qu'une dépendance d'annulation ou de
suspension ne peut se produire qu'entre des activités concurrentes. La troisième règle indique
qu'une activité atomique ne peut pas faire partie d'une dépendance de suspension même si elle
est exécutée en concurrence avec d'autres activités qui peuvent échouer. Alors que la quatrième
règle spécie les conditions sous lesquelles une dépendance d'alternative (recouvrement en arrière
ou en avant) peut être invoquée. La cinquième règle spécie les activités vitales à l'exécution
d'une instance de workow. La sixième règle exprime qu'un point cohérent ne peut se trouver
dans un ux parallèle. la dernière règle est une conséquence du caractère persistant d'une activité
pivot.
Ces relations sont communes à tous les workow transactionnels indépendamment du procédé
métier sujet. Elles s'appliquent parfaitement sur notre exemple de motivation. En eet, on spécie
un mécanisme de recouvrement pour toutes les activités qui échouent respectant les contraintes
évoquées dans ces relations.
Par ailleurs, ces relations peuvent être enrichies par le concepteur qui peut dénir d'autres
règles qui sont dépendantes de la sémantique propre de son procédé métier. En plus, notre modèle
transactionnel peut être étendu. En eet, d'autres types de propriétés ou de dépendances
transac-tionnelles peuvent être ajoutées à notre modèle de transactions qui va en conséquence restructurer
ses relations sémantiques pour intégrer ces modications. Les travaux de Bhiri et autres [BGP04b;
BGP04a; BPG05] proposent un modèle transactionnel exible qu'on peut facilement utiliser pour
Règle 4.1 (Relations sémantiques)
Pour les patrons de workow :
1. R1 : choix exclusif, jointure simple et séquence :
Il n'y a aucune dépendance d'annulation entre les activités non atomiques de
ces patrons ;
2. R2 : Pour les patrons choix exclusif, jointure simple et séquence :
Il n'y a aucune dépendance de suspension entre les activités de ces patrons ;
3. R3 : Pour les activité des ux parallèles des patrons synchronisation, M-out-of-N,
diffusion parallèle, choix multiples :
Il n'y a pas de dépendances d'annulation vers les activités atomiques ;
4. R4 : Pour les patrons synchronisation M-out-of-N :
Le point cohérent d'une activité recouvrable et non rejouable doit être hors
des ux de contrôles parallèles ;
5. R5 : De tous ces patrons sauf les activités des ux parallèles des combinaison des patrons
(diffusion parallèle et (M-out-of-N ou jointure simple)) et des (choix multiples
et jointure simple :
Toutes les activités doivent être recouvrables en cas d'échec ou doivent être
atomiques ;
6. R6 :Pour les patrons synchronisation, M-out-of-N :
Il ne peut y avoir un recouvrement en arrière ou en avant dont le point
cohérent se trouve dans les activités des ux parallèles ;
7. R7 :Pour les patrons séquence, diffusion parallèle, choix exclusif, choix
multiples, jointure simple :
S'il y a un recouvrement en arrière les activités de ces patrons ne doivent pas
être pivots.
dénir des modèles transactionnels personnalisés. Malgré la pertinence de ce besoin il reste hors
du centre d'intérêt de cette thèse.
4.4.4 Synthèse
Dans notre modèle transactionnel, les dépendances transactionnelles intra-activité décrivent
les diérentes propriétés transactionnelles des activités composantes. Les propriétés
transaction-nelles que nous considérons dans notre approche sont rejouable, atomique et pivot[MRKS92]. À
chaque activité transactionnelle est associée un diagramme à transitions d'états qui modélise son
comportement (transactionnel). Ce diagramme décrit les états possibles par lesquels une activité
peut passer durant son cycle de vie et les transitions possibles entre ses états. De l'ensemble de
ces états et transitions dépendent les propriétés transactionnelles de l'activité.
Les dépendances transactionnelles inter-activités spécient les mécanismes de recouvrement.
Nous en distinguons trois types : dépendance d'alternative, d'annulation et de suspension. Ces
dépendances permettent, en les combinant avec les propriétés transactionnelles, d'agir pour
re-couvrir un état cohérent après un échec d'exécution.
Par ailleurs, nous avons montré qu'un flot de contrôle xe implicitement en partie le
comportement transactionnel. À cet eet, nous avons déni un ensemble de règles dénissant
des relations sémantiques entre, d'une part, le flot de contrôle à travers les patrons de
work-ow, et d'autre part, le flot transactionnel à travers les propriétés transactionnelles et les
dépendances transactionnelles des activités. Ainsi, les mécanismes de recouvrement doivent être
dénies conformément à ces règles.
4.5 Conclusion
Ce chapitre nous a permis de répondre à la première interrogation de notre problématique :
Comment spécier et identier les propriétés conceptuelles du modèle de procédés qui sont
corrélées aux problèmes d'évolution et de abilité ?. En eet, nous avons présenté, dans ce
chapitre, notre modèle de workow transactionnel dont le but est :
d'enrichir la description des activités des workows et leurs dépendances pour mieux
ex-primer leurs propriétés transactionnelles. Ce qui permet aux concepteurs de workows
d'exploiter ces propriétés pour assurer des exécutions plus correctes et ables.
de combiner l'aspect coordination et l'aspect transactionnel dans un seul modèle de
work-ow transactionnel. Ce qui permet d'assurer un niveau de exibilité élevé et de développer
un ensemble de techniques pour garantir un certain degré de correction tout en préservant
la sémantique riche appropriée aux caractéristiques des procédés métiers du modèle de
workow classique (c.à.d. notre modèle de workow transactionnel préserve la capacité de
modélisation des WFMS actuelles).
Pour ce faire, nous avons décrit un modèle de workow transactionnel WfT qui permet de
décrire les mécanismes de recouvrement en plus des dépendances d'exécutions <normales. Dans
ce modèle de workow transactionnel WfT, nous avons distingué en particulier entre le flot
de contrôle et le flot transactionnel. Le flot de contrôle dénit l'ordre d'exécution des
activités composantes. Le flot transactionnel dénit, à travers un modèle transactionnel, les
propriétés et les dépendances transactionnelles des activités composantes. Ce ux transactionnel
est sémantiquement lié au ux de contrôle.
L'originalité de notre modèle est qu'il a pu réconcilier les systèmes de workows et les MTA,
deux technologies fortes, souvent considérées concurrentes. En eet, d'une part le WfT peut être
considéré comme un ot d'activités autonomes et hétérogènes. D'autre part, il peut être considéré
aussi comme une transaction structurée où les activités composantes sont les sous-transactions
et les interactions sont les dépendances transactionnelles. Par rapport au système de workows,
notre modèle permet d'intégrer le flot transactionnel, un concept qui a été (relativement)
ignoré. Par comparaison au MTA, notre modèle permet des structures de contrôle plus complexes.
En eet, ce modèle sert de base pour l'ensemble des techniques de découverte développées (que
nous présentons dans le chapitre suivant) pour assurer une conception continue.
Par ailleurs, notons que, d'un point de vue conceptuel, nous n'avons pas introduit un nouveau
langage dans notre modèle de workow transactionnel pour décrire le comportement
transaction-nel. Nous avons procédé par le ranement de notre modèle de workow décrit par le ux de
contrôle pour décrire les dépendances transactionnelles intra et les inter-activités. Ainsi le langage
transactionnel que nous avons utilisé n'est qu'un ranement du langage de workow (c.à.d. le
langage du flot de contrôle). En eet, les dépendances transactionnelles décrivent des états
intermédiaires liés au modèle transactionnel, donnant lieu à un langage de conception de type
WF/TR. D'autre part, notons que d'un point architectural, la gestion d'échec est gérée
exclusi-vement par le modèle transactionnel à travers la spécication des mécanismes de recouvrement,
donnant lieu à une architecture de type MTR+MWF. Cette démarche nous permet de
respec-ter l'objectif xé dans notre état de l'art en combinant à la fois la classe conceptuelle WF/TR
et la classe architecturale MTR+MWF.
Finalement, nous avons utilisé tout au long de ce chapitre le calcul événementiel comme outil
de formalisation. Le calcul événementiel nous permet de se doter d'un outil avec un support de
raisonnement et d'une base formelle solide permettant de construire des abstractions
tempo-relles à diérents niveaux qui sont à la fois nécessaires et adaptées aux besoins de spécications
et de preuves des techniques de découverte du chapitre suivant.
Découverte et re-ingénierie des
workows transactionnels
Table des matières
5.1 Introduction . . . 79
5.2 Traces d'exécutions pour les workows . . . 81
5.2.1 Contraintes et caractéristiques . . . 82 5.2.2 Structure des traces d'exécutions adoptée . . . 83 5.2.3 Conditions minimales sur les traces d'exécutions . . . 85 5.2.4 Synthèse . . . 88
5.3 Découverte du flot de contrôle . . . 89
5.3.1 Vue générale . . . 89 5.3.2 Découverte des dépendances élémentaires . . . 89 5.3.3 Propriétés statistiques des patrons de workow . . . 96 5.3.4 Règles de découverte des patrons de workow . . . 97 5.3.5 Composer les patrons de workow découverts . . . 100 5.3.6 Synthèse . . . 102
5.4 Découverte du flot transactionnel . . . 104
5.4.1 Découverte des dépendances transactionnelles . . . 105 5.4.2 Découverte des propriétés transactionnelles . . . 107 5.4.3 Synthèse . . . 109
5.5 Re-ingénierie du comportement transactionnel . . . 110
5.5.1 Delta analyse . . . 111 5.5.2 Correction du comportement transactionnel . . . 112 5.5.3 Suggestions de mécanismes de recouvrement . . . 113 5.5.4 Synthèse . . . 115