Vous êtes sur la page 1sur 31

Rpublique Algrienne Dmocratique et Populaire Ministre de l ducation suprieure et de la recherche scientifique Universit IBN Khaldun - Tiaret Facult des

sciences et sciences de l ingnieur Dpartement de l informatique

MMOIRE :
Conception et mise en uvre d un outil de vrification des Workflows
POUR L OBTENTION DU DIPLOME :
Master en systme d information et technologies Web

Ralise par :
y BRAHIM Soufiane

Dirige Par :
y Mr BEKKI Khadhir

Anne universitaire :2010 2011

Rsum :
La technologie de Workflow, tendant automatiser les processus d'entreprise et fournir un support pour leur gestion, est aujourd'hui un secteur actif de recherche. C'est dans ce contexte que se situe le travail de ce mmoire qui porte aussi bien sur la modlisation des processus Workflow que sur leur vrification. Nous nous sommes intresss par la vrification de la proprit de cohrence (soundness) des rseaux de Workflow (WF-net). Pour cela, on va passer d abord, par un chapitre introductif au Workflow dans lequel on va dfinir les termes les plus importants. Puis, On va passer par le deuxime chapitre sous forme d un tat de l art qui contient des diffrents travaux dans le domaine de de vrification des Workflow. Aprs, on va bien tudier un de ces travaux qui est la vrification des Workflow par les ECATNets. Enfin, on va l implmenter sous forme d une application.

Mots cls:Workflow Modlisation Vrification Rseaux de Petri Service Web.

Abstract:
Workflow technology, whose role is to automate business processes and to provide asupport for their management, is today an active sector of research. This thesis dealswith the modelling of the Workflow processes and their analysis. We were interested bythe checking of the soundness property of Workflow nets (WF-nets).For this, we will first go through an introductory chapter in the Workflow in which we will define the most important terms. Then we will go through the second chapter as a state of the art contains various works in the field of verification Workflow. Afterwards, we will well study one of this workswhich is the verification of Workflow by ECATNets. Finally, we will implement it as an application.

Keywords: Workflow Modeling Verification Petri Nets Web Service

Contenu
CHAPITRE 1 : Introduction au Workflow
Introduction : ................................ ................................ ................................ ................................ ................. 3 1. Dfinition du Workflow :................................ ................................ ................................ ......................... 4 I.1 I.2 2. 3. 4. 5. 6. Terminologie : ................................ ................................ ................................ ................................ . 4 Technique : ................................ ................................ ................................ ................................ ..... 4

Exemples de Workflow: ................................ ................................ ................................ .......................... 4 Domaines d application :................................ ................................ ................................ ......................... 5 Typologies de Workflow :................................ ................................ ................................ ........................ 6 Les phases d un systme de Workflow : ................................ ................................ ................................ .. 6 Modlisation d un Workflow : ................................ ................................ ................................ ................. 7 6.1 6.2 6.3 Une tche lmentaire : ................................ ................................ ................................ .................. 7 Une tche composite :................................ ................................ ................................ ..................... 7 Languages de modlisation : ................................ ................................ ................................ ........... 8

7. 8.

Systme de gestion de Workflow : ................................ ................................ ................................ .......... 8 Associations, ou organismes lis la standardisation du Workflow : ................................ ....................... 9

Conclusion : ................................ ................................ ................................ ................................ .................. 10

ETAT DE L'ART : Approches pour la vrification des Workflows


Introduction: ................................ ................................ ................................ ................................ ................ 12 I. I.1 I.1.1 I.1.2 I.1.3 I.2 I.2.1 I.2.2 I.2.3 I.2.4 I.2.5 I.2.6 II. II.1 Les Approches bass sur les rseaux de Petri : ................................ ................................ ...................... 13 CP-Nets : ................................ ................................ ................................ ................................ ........... 13 Vue gnrale : ................................ ................................ ................................ ............................... 13 CP-Net ? ................................ ................................ ................................ ................................ ........ 13 L outil CPN :................................ ................................ ................................ ................................ ... 13 ECATNets avec MLS :................................ ................................ ................................ ......................... 14 Vue gnrale : ................................ ................................ ................................ ............................... 14 Le modle MAC/ MLS : ................................ ................................ ................................ .................. 14 ECATNet? ................................ ................................ ................................ ................................ ...... 14 La logique de rcriture :................................ ................................ ................................ ............... 14 MAUDE : ................................ ................................ ................................ ................................ ....... 14 Exemple d ECATNet : ................................ ................................ ................................ ..................... 15

Autres Approches : ................................ ................................ ................................ ............................... 15 La mthode Event_B : ................................ ................................ ................................ ....................... 15 Vue gnrale : ................................ ................................ ................................ ........................... 15 Event_B ? ................................ ................................ ................................ ................................ .. 15 RODIN : ................................ ................................ ................................ ................................ ..... 16

II.1.1 II.1.2 II.1.3 III.

Conclusion : ................................ ................................ ........................... Error! Bookmark not defined.

Bibliographie ................................ ................................ ................................ ..... Error! Bookmark not defined.

Liste des illustrations :


CHAPITRE 1 : Introduction au Workflow Figure 1 Exemple de Workflow ................................ ................................ ................................ .......... 5 Figure 2 Un Workflow de publication de document sur un intranet ................................ ................... 5 Figure 3 Structure hirarchique d'un workflow ................................ ................................ .................. 8

ETAT DE L'ART : Approches pour la vrification des Workflows Figure 5 Approche de vrification et analyse avec CP-Nets ................................ .............................. 13 Figure 4 Une reprsentation gnrique d'un ECATNet ................................ ................................ .... 15 Figure 6 La structure de dveloppement d'un Event_B ................................ ................................ .... 16

Liste des tableaux :


CHAPITRE 1 : Introduction au Workflow Tableau 1 Synthse de diffrents langages de modlisation de Workflow ................................ ......... 8

Introduction au Workflow

Chapitre1
Introduction au Workflow

Introduction au Workflow
Introduction :

L'industrie de l'imagerie lectronique et de la gestion de la production assiste par ordinateur a t la premire rclamer une technologie qui permette l automatisation des procdures de travail, jusqu alors ralises la main. partir de l anne 1975 et jusqu 1985, la nouvelle technologie dite de Workflow a connu un essor important en mettant en place un systme capable d automatiser au mieux les flux de travail. Ainsi des systmes de Workflow statique ont vu le jour : Officetalk-P, Backtalk, Poise, Xerox InConcert, Malheureusement, de nombreuses entreprises ayant dvelopp des produits similaires n ont pu passer le cap du millnaire, car les outils raliss taient grevs par un prix lev et une comple xit importante. L chec du Workflow statique est principalement d au fait qu il tait trs difficile d intgrer et de modifier les procdures de travail dans les systmes Workflow. Les traitements et les donnes faisaient partie intgrante du systme et rendaient la tche ardue. Or, le regain d intrt pour le gnie logiciel au dbut des annes 1990 a permis de relancer les recherches concernant les systmes Workflow afin de mettre en place des systmes plus simples utiliser. Il s en est suivi une vritable explosion quant aux systmes labors. On cite : Oval, Apricot, MelMac, WAMO, FreeFlow, Ces systmes, connus sous le nom de Workflow gnrique,

proposaient une nouvelle approche du Workflow. L ide tait de sparer le traitement et les donnes relatives aux procdures de travail et offrir de la sorte une plus grande facilit quant la cration, modification ou suppression des procdures de travail. De nos jours, ces nouveaux systmes sont tout fait oprationnels et sont largement utiliss par les entreprises. Il n en demeure pas moins que de nouvelles recherches sont ralises afin de pousser encore plus la souplesse et l adaptabilit de ces systmes. C est dans ce contexte bien particulier de flexibilit qu est n le Workflow adaptatif.

Introduction au Workflow
1. Dfinition du Workflow :
I.1 Terminologie :
Un Workflow est un flux d'informations au sein d'une organisation, Le terme officiellement recommand par la Commission gnrale de terminologie et de nologie est flux de travaux [CCM 11]. Le grand dictionnaire terminologique propose flux de travaux , flux des travaux , ou automatisation des processus . On trouve aussi l'expression flux oprationnel chez des professionnels.

I.2 Technique :
En sens technique, plusieurs dfinitions sont cites : 1. On appelle Workflow la modlisation et la gestion informatique de l'ensemble des tches accomplir et des diffrents acteurs impliqus dans la ralisation d'un process us mtier (aussi appel processus oprationnel ou bien procdure d'entreprise). De faon plus pratique, le Workflow dcrit le circuit de validation, les tches accomplir entre les diffrents acteurs d'un processus, les dlais, les modes de validation, et fournit chacun des acteurs les informations ncessaires pour la ralisation de sa tche. Il permet gnralement un suivi et identifie les acteurs en prcisant leur s rles et la manire pour les remplir au mieux. [CCM 11] 2. Un Workflow est un processus mtier automatis, il dfinit les activits qui composent le processus mtier et leur ordre d excution dans l objectif d accomplir un but commun. [KAM 08]

2. Exemples de Workflow:
Pour un processus de publication en ligne par exemple, il s'agit de la modlisation des tches de l'ensemble de la chane ditoriale (approche consiste raliser un modle de document, assister les tches de cration du contenu et automatiser leur mise en forme).

I tr

u ti

-1- Le rdacteur propose un article au chef de rubrique -2- Le chef de rubrique regarde le document et le valide -3-Le rdacteur en chef trouve que le document possde des lments

incompatibles avec l'actualit et retourne le document au rdacteur -4- Le rdacteur revoit sa copie et la soumet au chef de rubrique -5- Le chef de rubrique corrige quelques coquilles

Fi u

2 n

o flo

d publi tion d do u

nt su unint n t

rdacteur en chef -6- Le rdacteur en chef valide le document pour une publication en ligne.


3. Domaines d application :
Les Workflows ont de multiples applications dans le monde d aujourd hui. L volution des processus organisationnels de l entreprise conduisent utiliser cet outil. Il rpond un besoin d optimisation des processus de travail en termes d utilisation des ress ources et de temps effectif. Le Workflow est amen jouer un rle important dans les entreprises du monde financier comme les systmes bancaires les assurances ( livrer un prt, oprer un rem d boursement . On peut l tendre tout processus de travail cyclique dans le monde de l entreprise. On s intresse aussi ses applications dans le mond informatique, comme la Composition et e orchestration des services Web : interactionB2B, B2C et G4C [ IC 06].Ainsi e processus de 5
  



Fi u

1 x

pl d

o flo

et

transmet

l'article

au

11]

Introduction au Workflow
dveloppement d un logiciel. En intgrant l aspect travail coopratif au sein du Workflow, on peut lier l intgration progressive des lments d un logiciel avec l organisation prvue. Le chef de projet dispose ainsi d un outil de contrle sur l avancement du projet et la cohren ce du systme en terme de dlai. Les Workflows peuvent galement tre utiliss dans des organisations autres que l entreprise, comme dans le monde mdical : suivi du dossier mdical d un patient (on peut le mettre jour automatiquement selon les traitements mdicaux effectus), planification des oprations chirurgicales (salles d oprations, chirurgiens) On peut imaginer des applications des Workflows dans l ducation par exemple la mise en place de processus de contrle continu de l apprentissage via le web (e-learning).

4. Typologies de Workflow :
Il y a notamment deux types de Workflow [CCM 11]: y Le Workflow procdural : (aussi appel Workflow de production ou Workflow directif) correspondant des processus mtiers connus de l'entreprise et faisant l'objet de procdures pr-tablies : le cheminement du Workflow est plus ou moins fig ; y Le Workflow ad hoc : bas sur un modle collaboratif dans lequel les acteurs intervi ennent dans la dcision du cheminement : le cheminement du Workflow est dynamique.


5. Les phases d un systme de Workflow :


Un projet de Workflow doit passer par trois phases pour tre complet : y Phase d'analyse : Elle sert modliser les procdures. Elle est rarement intgre dans les produits de Workflow et est issue du " Business ProcessReengeneering " (BPR). Elle permet de recrer les processus en les amliorant afin qu'ils soient plus adapts et plus efficaces. y Phase de construction : Elle permet de formaliser les procdures dfinies lors de la phase d'analyse et de dfinir l'environnement ncessaire leur fonctionnement et leur intgration dans un systme existant. y Phase d'excution : C'est la phase d'excution des procdures, de tra itement des tches et de gnration de statistiques ncessaire au suivi des processus.

Introduction au Workflow
6. Modlisation d un Workflow :
Un Workflow est soit une tche atomique, on parle alors de tche lmentaire, soit un sousWorkflow (imbrication), on parle alors de tche composite (ou composant).


6.1 Une tche lmentaire :


Une tche lmentaire est dcrite par un nom, les ressources impliques (intervenants humains ou informatiques), une dure si celle-ci est prvisible, et ventuellement des contraintes temporelles. Les contraintes temporelles propres une tche lmentaire portent sur sa date de dbut ou de fin, et on peut dfinir pour chaque date des contraintes de type au plus tt le et au plus tard le . C est ce que nous dfinirons comme les relations unaires sur la tche. Chaque tche disposera donc d un couple ( Istart,Ifinish) o I startet I finish sont les intervalles de temps accepts pour les instants start et finish. Si la tche n a pas de contrainte, sa relation unaire est donc ([- ,+ ],[- ,+ ]). Le positionnement de la tche dans le temps sera alors fonction des relations avec les autres tches sur lesquelles nous nous tendrons plus loin. Ainsi si l on veut reprsenter une tche T qui doit dbuter entre les instants 2 et 5 et finir avant l instant 9, on obtient : ([2,5],[,9])

Les dates de dbut et de fin de tches peuvent aussi tre fixes ; on reprsente alors l instant t par [t,t] La tche doit commencer aprs le 1er janvier et finir le 31 dcembre 2000: ([01/01/2000, + ], [31/12/2000, 31/12/2000]).

6.2 Une tche composite :


Un workflow est reprsent comme un ensemble de tches (composites ou simples) lies par des relations de composition. Cette reprsentation induit un arbre dont les feuilles, les tches atomiques, sont lies par des relations de composition, les n uds. On note la relation de composition binaire comp (tche1, tche2) ; chaque tche peut tre une tche lmentaire ou composite. Ainsi avec deux tches lmentaires T1 et T2, il est possible de dfinir le workflow X suivant : X = comp (T1, T2) ; X est constitu des deux tches T1 et T2. En ajoutant une tche lmentaire T3, il est possible de dfinir W : W = comp (X, T3) ; W est constitu du composant X et de la tche lmentaire T3. 7

I tr

u ti

r


w
"

6.3 Languages de mod lisation :


76

On cite quelques e emples de langages de modlisation (open source dans le Tableau 1: [F Langage Anne
XPDL JBPM YAWL APEL 2002 1998 1995

Dveloppeurs
WfMC JBoss Van der Aaist et al. Estublier et al.
@ A @

Point fort
nombre lev de concepts L intgration dans Java (e eclipse Formalisme trs riche Facile utiliser
F ED C B 8

Pas d environnement oprationnel Manque d e tensibilit Manque d e tensibilit


8 8

Tabl au 1S nths lan ages de mod lisation de Wo flo

7. Systme de gestion de Wor low :


Un systme de gestion de Workflow (Workflow Management System) connu aussi WfMS est un d systme qui sert dfinir, grer et e cuter des procdures en e cutant des programmes ont l ordre d e cution est prdfini dans une reprsentation informatique de la logique de ces procdures. Plus de 250 systmes de gestion de Workflow
I I I I

disponibles sur le march : IBM

WebSphere MQ (MQSeries), IBM Lotus Notes, SAP, Open Te tLiveLink, etc

1$

$ %

&

HG

$ % #

Fi u

3St u tu

hi

hiqu d un

o flo

On dduit de cette composition l arbre dcrit dans la Figure 3.

= co p (co p (T1 T2 T3

Point faible
difficile utiliser

$ $ &('

09]

Introduction au Workflow
8. Associations, ou organismes lis la standardisation du Workflow :
y La WfMC (The Workflow management coalition), a plus de 300 membres fournisseurs de systme de Workflow travers le monde. Ils reprsentent toutes les facettes du domaine : fournisseurs de logiciels, universits et consultants. Le but de la WfMC est de dvelopper des standards dans le domaine de Workflow en collaboration avec les acteurs principaux.[CCM 11] y La WARIA (Workflow And Reengineering International Association), une association entre OMG 1(aspect spcifications) et BPMI 2.[CCM 11]

OMG : (Object Management Group)est une association amricaine but non-lucratif cre en 1989 dont l objectif est de standardiser et promouvoir le modle objet sous toutes ses formes. 2 BPMI :(Le Business Process Management Initiative) est un consortium de standardisation. La branche BPM fusionne avec celle de l'OMG en juin 2005 pour former Business Modeling&Integration (BMI) Domain Task Force (DTF).

Introduction au Workflow
Conclusion :
Nous avons vu dans le chapitre1 que La dfinition et la gestion des processus Workflow se fait travers un systme de gestion de Workflow (WfMS). Or, en dpit de l'existence d'une varit de systmes de gestion de Workflows, nous ne disposons pas d'outils efficaces d'analyse et de vrification correcte et complte des processus Workflows. Pour cela on va voir dans le chapitre suivant les diffrents travaux et tudes pour la vrification des Workflows.

10

Etat de l art
Approches pour la vrification des Workflows

11

Etat de l art

Approchespour la vrification des Workflows

Introduction:
Avec la croissance de l importance de processus mtier automatis, plusieurs simulations et outils d analyse ont t dvelopps pour modliser et assurer la cohrence du Workflow. Beaucoup de travaux concentrs sur les besoins du flux de contrle (i.e. proprit de cohrence) entre les tapes qui comprennent un Workflow. Cependant, comme les systmes de gestion des Workflow utilisent des matriaux et systmes logiciels htrognes et distribus, alors que les mesures de scurit comme l autorisation applique sur le contrle d accs pour assurer la confidentialit et l intgrit surviennent et ont besoin d tre diriges. Donc, un systme de Workflow doit assurer l excution correcte des instances d un Workflow non seulement selon le flux de contrle de la spcification Workflow mais aussi selon les politiques de scurit et les mcanismes sur le flux de donne. On va montrer dans ce chapitre les diffrentes approches pour la vrification des Workflows.

12

I. Les Approches bass sur les rseaux de Petri :


Les rseaux de Petri 3 ont t intensivement employs pour modliser et vrifier Les Workflow s. Pas mal de travaux sont faits, on va citer les plus rcents :

I.1 CP-Nets :
I.1.1 Vue gnrale :
Les auteurs de [YAN 05] ont vrifi la composition des services Web en utilisant les CP-Nets4. CPNets combinent l efficacit des rseaux de Petri avec la puissance expressive de la programmation haut niveau et disposent d'une bonne smantique mathmatique. La composition de service peut tre transforme par des rgles de transformation en CP-Nets, qui peuvent tre utiliss pour analyser la performance et examiner les proprits comportementales tels que le blocage (Deadlock, livelock) par les outils de CP -Nets.

La Spcification de Composition

Transformation

Modles CP-Net

Entre

Outils CP-Nets
Sorties

Rapport d espace d tat


Figure 4 Approche de vrification et analyse avec CP-Nets

Rapport de simulation

I.1.2 CP-Net ?
Rseau de Petri color (Coloured Petri Network) est une extension de la dfinition de rseau de Petri basique. CP-Nets ajoutent le concept de jetons colors (distincts). Cela permit de compact l

modl

dui ant l

t uctures redondantes jetons colors en une structure commune. [YAN 05]

I.1.3 L outil CPN :


CPN est un outil open source pour l dition , la simulation, etl analyse desCP-Nets. Les fonctionnalits supplmentaires de l outil sont l analyse de syntaxe et la gnration du code qui peuvent tre effectues au dbut au cours de construction de CP-Nets. Aussi un simulateur rapide qui supporte tous les types des CP -Nets etc. [GRO 10]

3 4

Rseau de Petri est un graphe orient et connect. Chaque n ud est soit une place ou une transition. CP-Nets(Coloured Petri Networks)

13

I.2 ECATNets avec MLS :


I.2.1 Vue gnrale :
Les auteurs de l article [KAM 08]ont propos une approche deux tapes. Pendant que la premire tape est concerne par la vrification du Workflow, bien que la deuxime est concerne par la consistance de donnes sous une politique de scurit multi-niveau(MLS). Cette approche est base sur le formalisme des ECATNets. Elle cherche incorporer les contraintes de scurit dans le flux d information dans un rseau de Workflow .

I.2.2 Le modle MAC/ MLS :


Modlede contrled'accsutilise unmcanismede scuritassocies l'autorisationet la confidentialitde contrled'accs l'information. L'un des modles d'accs importants est le modle d'accs que l'on appelle matrice. [KAM 08]

I.2.3 ECATNet?
Les ECATNets (Extended Concurrent AlgebraicTerm Nets) sont une catgorie de rseaux algbriques bass sur une combinaison saine du formalisme des types abstraits algbriques et de celui des rseaux de Petri de haut niveau, ayant pour objectif la modlisation, la validation et la simulation des systmes parallles. Les ECATNets se distinguent des autres catgories de rseaux algbriques par le cadre smantique qui les supporte. Cette smantique, exprime en terme de logique de rcriture, permet d apprhender de manire correcte et lgante la smantique du vrai paralllisme. [KAM 08]

I.2.4 La logique de rcriture :


Est une logique de changement permettant l expression du calcul concurrent non dterministe d une manire trs convenable. Dans cette logique l aspect statique des systmes est reprsent par une logique sous-jacente appele logique quationnelle d appartenance

(MemberShipEquationalLogics). L aspect dynamique reprsent par des thories de rcritures dcrivant les transitions possibles entre les tats du systme concurrent. [LAT 07]

I.2.5 MAUDE :
Un langage rflexif de haute performance et un systme supportant la fois la sp cification et la programmation des logiques quationnelles et de rcriture pour un grand choix d'application. Maude est influenc d'une faon importante par le langage OBJ3, qui peut tre vu comme un sous langage de la logique quationnelle. En plus de la spcification et de la programmation quationnelles, Maude supporte aussi les calculs en logique de rcriture. [UNI 11]

14

I. .6 Exemple d ECATNet :
P

Figu e 5Une reprsentation gnrique d un ECATNet(Kamel, et al 2008)

IC:(condition dentre)spcifie des conditions sur le marquage d'une place p d'entre pour l activation de t.

DT:(Jetons dtruits) ensemble des jetons retirer du marquage de la place p d'entre quand t est dclenche.

CT: (Jetons crs)ensemble de jetons crer dans la place p de sortie, quand t est dclenche.

TC: (la condition de transition) une condition supplmentaire pour la transition T.

II. Autres Approc es :


U

II.

La mthode Event_B :
W

Les auteurs de [IDI 10] ont proposUne mthode pour la vrification de services web e prims en
5 langage de description BPEL. Elle consiste coder chaque composition de BPELpar un modle

Event_B dans lequel les proprits importantes :le blocage (dealock ou livelock), La transformation de donnes, la cohrence de messages o les transactions sont modliss. L'tablissement de ces u proprits e ige un enrichissement de modleEvent_ par les informations importantes qui ne sont B pas disponibles dans la description initiale de BPEL.
X

II. . Event_B ?
Un modle d Event_B encode un systme de transitions d'tat o les variables reprsentent l'tat et les vnements reprsentent les transitions d'un tat l'autre.Lapossibilit de raffinement offerte par Event_B permetla dcompositiond un modle (ainsi un systme de transitions) en un autre systme de transitions avec de plus en plus des dcisions de conception tout en se dplaant d'un niveau abstrait un autre moins abstrait. [IDI 10]
5 BPEL (Business ProcessExecutionLanguage) propos par BEA, IBM et Microsoft [B E 11]. Est un langage utilis pour la spcification de compositions des services web. Dernirement, plusieurs tudes sont effectues sur la modlisation (partie de) BPEL, ainsi le dveloppement des nouvelles techniques pour la vrification de BPEL.
a `Y

15

VV

II. .

ue gnrale :

Contexte c1 Ensembles Constantes Axiomes Thormes

Machine m1 Raffine m2 Voit c1 Variables Invariants Thormes vnement Fin


Figure 6 La structure de dveloppement d'un Event_B

II.1.3 RODIN :
Est une platforme base sureclipse pour Event_B qui fournit un soutien efficace pour le raffinement et la preuve mathmatique. La plateforme est open source, contribue la plateforme Eclipse aussi extensible avec des plugins. [SOF 11]

II.2 La logique CTL:


II.2.1 Vue gnrale:
Les auteurs de[SCH 04]ont discut un schma de transformation du BPEL vers rseaux de Petri en donnant des exemples. Chaque construction de BPEL est transforme vers un pattern 6de Petri net. La transformation complte de BPEL aux rseaux de Petri est donne par Stahl dans [STA 04]. Hinz, Schmidt et Stahl[SHI 05]ils dcrivent l'outil BPEL2PN qui met en uvre la transformation en faisant l'abstraction des donnes. Le rseau de Petri rsultant peut tre vrifie en utilisant l'outil LOLA . LOLA, ce qui reprsente un analyseur de bas niveau, supporte la vrification d e proprits standards des rseaux de Petri, comme, par exemple, dtermination si un rseau de Petri contient un deadlock (interblocage), et lavrification de proprits exprimes en logique CTL.

II.2.2 LOLA:

Pattern de Petri net: est cr pour reprsenter ce qu'est un processus y compris ses entres / sorties, ses conditions d'excution, et l'tat du systme aprs cette excution.

16

Breugel, Franck van, et Maria Koshkina. Models and Verification of BPEL. PDF. IBM ; NSERC. 4700 Keele Street, Toronto, M3J 1P3, Canada, s.d. CCM . l'Encyclopdie informatique de commentcamarche. 2011. FERREIRA, Gabriel Rodrigo PEDRAZA. THESE FOCAS : un canevas extensible pour la construction d applications orientes procd.Document pdf. GRENOBLE, 2009. Group, CPN. http://cpntools.org/. Aarhus University. 2000-2010. http://cpntools.org/start (accs le Avril 3, 2011). Hicheur, Awatef. Les ECATNets rcursifs pour la modlisation et l analyse des processus workflows flexibles. Sminaire MeFoSyLoMa, Paris. 2006. IBM. Busness process and Workflow. IBM. s.d. http://www.ibm.com/developerworks/webservices/library/ws-work.html (accs le 03 04, 2011). Idir, Ait-Sadoune, et Ait-Ameur Yamine. Stepwise Design of BPEL Web Services Compositions: An Event B Re nement Based Approach. (Laboratory of Applied Computer Science (LISI ENSMA)) 2010. Kamel, Barkaoui, Ben Ayed Rahma, Boucheneb Hanifa, et Hicheur Awatef. Verification of Workflow Processes Under Multilevel Security Considerations. CEDRIC-CNAM 292, Rue Saint-Martin Paris 75141 France: CRiSIS, 2008. LATRECHE, FATEH. MEMOIRE Magister, Expression et Vrification des Contraintes non Fonctionnelles d une Architecture SADL. CONSTANTINE: UNIVERSIT MENTOURI , DPARTEMENT DE L'INFORMATIQUE, 2007. SBA, Zohra. THSE DOCTORAT. Centre d'Etudes et De Recherche en Informatique du CNAM, 2010. Software, Engineering Dependable Systems and. Event-B.org. University of Southampton. s.d. http://www.event-b.org/platform.html (accs le Aril 02, 2011). universit d'Illinois. MAUDE. s.d. http://maude.csl.sri.com/ (accs le 2011). YanPing, Yang, Tan QingPing, et Tan QingPing. Verifying Web Services Composition Based on Hierarchical Colored Petri Nets. 2005.

17

Chapitre3
Approches pour la vrification des Workflows

18

Introduction:

19

Le cas tudi:
On a choisi comme exemple le cas d'un distributeur de caf.

Figure 8 Distrubiteur de caf

Figure 7 Fichier B EL Correspondant au cas tudi

BPEL c'est quoi?

BPEL fournit une notation XML et une smantique pour la spcificationdu comportement des processus mtier bass sur les Web Services. Un processus BPEL4WS est dfini en termes de ses interactions avec les partenaires. Un partenaire peut fournir des servicespour le processus, besoin de services de ce processus, ou participer une interaction double sens avec leprocessus. Ainsi BPEL orchestre les Services Web en spcifiant l'ordre dans lequel il est i portant d'appeler une m collection de services, et attribue des responsabilits de chacun des services des partenaires. Vous pouve l'utiliser pour spcifier les interfaces publiques pour les partenaires et la description du processus excutable. [IBM 11]. A mon avis le BPEL est le diagramme d'activit du Web service. Ainsi, que le WSDL est le diagramme de classe.
b

20

Difinition de quelques balises de BPEL:


y La balise <process> est l'lment racine (au sens XML) du fichier BPEL. C'est l'intrieur de cette balise que se retrouvera la description complte du processus. Grce l'attribut name, on peut donner un nom au processus. La balise <partnerLinks>permet de lier des actions dfinies dans le fichier WSDL (via partnerLinkType) au processus BPEL. L'attribut myRole ou partnerRole dfinit si c'est une action qui appelle le processus ou si c'est une action appele par le processus. La balise <variables>permet de dfinir les variables utilises par le processus. La balise <sequence> contient les actions ou la structure directement lie l'excution du processus. La balise <receive> permet de recevoir un signal de l'extrieur du processus. Cela permet d'instancier un processus par exemple, ou plus gnralement d'attendre qu'un vnement se termine avant de continuer le processus. La balise <reply> permet de renvoyer une rponse un partnerLink qui en attend une. D'abord le receive, puis, aprs le traitement, le reply.

y y

Introduction notre travail:


Notre travail consiste vrifier les proprits desWorkflows, jusqu' ce jour-l il n'existe plus un formalisme capable de les vrifier directement (sans avoir de transformations vers d'autres modles),dans ce contexte nous avons cits pas mal de travaux dans la partie Etat de l'art. On a choisi comme modle de modlisation le modle Rseaux de ptri car il est trs simple de le vrifier ainsi qu'ils existent plusieurs outils de vrification sur ce modle. Nous illustrons dans ce chapitre les diffrentes tapes effectuer dans et avant la vrification du Workflow. Pour cela, on a pris quelques exemples des Workflows modliss sous forme de fichiers BPEL. (coffee.bpel, credit.bpel, customer1.bpel, customer2.bpel, customer3.bpel, newshop.bpel, shop.bpel).

Les tapes de notre travail:


1. L'tape de l'analyse prliminaire:
Dans cette tape on utilise l'outil BPEL2OWFN qui permet d'analyser (analyse syntaxique, analyse statique)le fichier BPEL qu'on veut vrifier et gnre un rapp ort dtaill sur les erreurs trouvs. Dans l'exemple qu'on a pris (coffee.bpel) le rsultat de cette opration sera comme suit:

21

Figure 9Le rapport gnr aprs la phase d anal se prliminaire

-Ce rapport indique que le fichier coffee.bpel ne contient plus d'erreurs syntaxiques contrairement il contient 6 erreurs statiques, on remarque que les erreurs sont toutes affiches en dessus. Les 04 premires erreurs indiquent que les balises<partnerLin >de (coffeeButton, teaButton, moneySlot, beverageDispensor) ne spcifient pas les proprits roleetpartnerRole. L'erreur 5 indique qu'il existe de manque de proprits au niveau de la balise <repl >. L'erreur 6 indique que la balise <process> ne contient pas une activit Start (dbut). Enfin une expression qui indique que le moteur d'execution WS-BPEL doit rejeter ce processus.

2. L'tape de la transformationde BPEL vers rseau de ptri:


Dans cette tape nous utilisons toujours l'outil BPEL2OWFN pour la transformation du fichier BPEL qu'on veut vrifier vers deux fichiers: Un fichier lola qui contient un rseau de ptri simple afin de faire la vrification des proprits avec l'outil LoLA (LowLevel Analyser). Un fichier owfn qui contient un Open Workflow net (oWfn) pour le rutiliser dans la vrification avec Fiona.
i

Open Wor flow:


Les rseaux Open Workflow (oWFNs) sont une classe spciale de rseaux de Ptri. Ils gnralisent les rseaux Workflow classiques en introduisant un interface pour les messages asynchrones. e Intuitivement, une oWFN est un rseau de Ptri avec :

22

g h f

i. ii. iii.

Une interface, compose des places d'entre et de sortie, Un marquage initial M0, et Un ensemble de marquages finaux distingus.

Les Marquages finaux reprsentent les tats finaux dsirs du rseau.Ils aident distinguer les tats finaux dsirs desDeadlocks (interblocages) indsirables.[NIE 08].

Rseaux de Petri:
On peut dfinir un rseau de Petri (Rdp) comme la modlisation du comportement des systmes dynamiques vnements discrets. Ainsi, Description des relations existantes entre des conditions et des vnements. Il est compos de places, transitions et arcs.

Deadlock:
Une des dgradations pouvant se produire durant l volution d un systme est l t atd arrt ou de blocage mortel (ou deadlock). Il s agit d un tat du systme partir duquel plusaucune volution n est possible. Dans un rseau de Petri, cette situation revient atteindreun marquage ( partir du marquage initial) o plus aucune transition n est sensibilise.Gnralement les tats de blocage mortel qui sont connus au pralable par les concepteurs,sont des tats dsirs reprsentant l tat de terminaison attendu des procdures effectuespar le systme modlis. Les tats de blocage qui surviennent durant l volution du systmesans connaissance a priori des concepteurs sont considrs comme des suites d erreurs demodlisation qui ncessitent des corrections. Un rseau de Petri(N,M0) possde unblocage mortel si et ssi il existe un marquage M accessible partir de M0tel que aucunetransition n est sensibilise pour M. Le marquage M est appel blocage mortel (ou deadlock).

Livelock:
Un tat qui survient lorsque deux ou plusieurs processus changent continuellement leur tat en rponse aux changements dans les autres procds. Le rsultat est qu'aucun des processus sera termin. Une analogie est quand deux personnes se rencontrent dans un couloir et chacun essaie d'tape autour de l'autre, mais ils finissent par se balanant d'un ct obtenir dans l'autre manire, ils essaient de sortir de la voie.

23

Chapitre4
Implmentation

24

L'architecture de l'application:

Figure 10 Architecture gnrale de l application


p

Les diffrentes tapes de vrification:


( 1 )- Tout d abord on clique sur ouvrir, un open dialog va apparaitre on slectionne le fichier BPEL quon veut vrifier dans autre exemple coffee.bpel ( 2 )- Le programme va charger le fichier BPEL slectionn vers le champs de texte Memo1 et il va gnrer un rapport d analyse(syntaxique, statique) dans le champs de texte Memo2. ( 3 )- On peut voir le rapport d analyse gnr par le programme en selectionnant l onglet Rapport d analyse (haut de la page)

25

( 4 )- Dans la mme page on trouve des outils trs efficaces pour changer la police, la taille, la couleur, et le style du texte charg dans les champs de texte(memo1,memo2), ainsi la couleur de leurs arrires plan. ( 5 )- une liste de skins permet l utilisateur de choisir selon son got le skin qu il le plat. Le programme va enregistrer le skin choisi automatiquement la fin de l excution afin de l utiliser nouveau dans la prochaine excution. ( 6 )- le programme propose une option trs importante lors la transformation de BPEL vers le rseau de Petri. Si on coche cette case le programme va appliquer toutes les rgles de rduction possibles afin de rduire sa taille. Pour passer la page suivante on clique sur le bouton

(7)- Dans cette page le programme gnre une image sous forme d un rseau de Petri qui reprsente le BPEL slectionn au dbut. Si on clique sur l image le programme va changer sa taille. ( 8 )- Ce bouton est trs utile pour la visualisation de l mage. C est on clique sur celui-ci le programme va afficher l image en mode pleine cran. On clique deux fois sur l cran et a va retourner au mode normal. Pour passer la page suivante on clique sur le bouton La page prcdente en clique sur le bouton 26

(9)- Dans cette page le programme propose l utilisateur un menu des choix trs riche par des options de vrification ce qui permet celui-ci de slectionner les choix selon les besoins. Il y a des options qui ncessitent d autres options pour fonctionner, le programme gre automatiquement facilement. ( 10 )- Dans cette partie le programme affiche une brve description sur chaque option. Pour passer la page suivante on clique sur le bouton La page prcdente en clique sur le bouton

27

Vous aimerez peut-être aussi