verification des workflow

28
ِ ن م حَ ّ ر ل اِ ه ل ل اِ م س بِ م ي ح ر ل ا

Upload: sofiane-brahim

Post on 30-Jun-2015

433 views

Category:

Education


0 download

DESCRIPTION

une approche pour la transformation et la verification des workflow (cas des regles eca)

TRANSCRIPT

Page 1: verification des workflow

بسِم� اللِه� حمِن� الَّر

الَّرحيِم�

Page 2: verification des workflow

CONCEPTION ET MISE EN ŒUVRE D’UN OUTIL DE VÉRIFICATION DES WORKFLOWS

Encadreur: Mr. BEKKI Kh.Présentateur: BRAHIM Sofiane

Université IBN KHALDUN – TiaretFaculté des sciences et sciences de l’ingénieur

Département de l’informatique

03 Octobre 2011

Page 3: verification des workflow

PLAN DE TRAVAIL

Page 4: verification des workflow

• WorkFlowDéfinitionDomaines d‘applicationExempleTypologies

• Problématiques

• La vérification des WorkflowsDéfinitionPrésentation de BEPL et ECA

• Les phases de vérificationL'analyse préliminaireLa transformation BPEL vers réseau de PetriLes propriétés à vérifierLa structure de l’outil de vérification

• La transformation des règles ECA vers Réseau de PetriLa structuration des règles ECARecherche des Entrées/SortiesL'assemblage des règlesRègles de passage ECA vers RdP

Page 5: verification des workflow

Workflow

Page 6: verification des workflow

La modélisation et la gestion informatique de l'ensemble

des tâches à accomplir et des différents acteurs impliqués

dans la réalisation d'un processus métier. Il permet

l’identification des acteurs en précisant leurs rôles et la

manière pour le remplir au mieux.

Définition:

Page 7: verification des workflow

Informatique: développement de logiciel

Finance: les systèmes bancaires, les assurances

Médical: suivi du dossier médical d’un patient , planification des opérations chirurgicales

e-Learning: contrôle continu de l’apprentissage

Services Web: composition BPEL qui détermine le processus du service.

Domaines d‘application:

Page 8: verification des workflow

Workflow de publication de document sur intranet

Exemple:1 -Le rédacteur propose un article au

chef de rubrique -2- Le chef de rubrique regarde le document et le valide

-3-Le rédacteur en chef trouve que le document possède des éléments incompatibles avec l'actualité et retourne le document au rédacteur

-4- Le rédacteur revoit sa copie et la soumet au chef de rubrique

-5- Le chef de rubrique corrige quelques coquilles et transmet l'article au rédacteur en chef

-6- Le rédacteur en chef valide le document pour une publication en ligne.

Page 9: verification des workflow

On distingue deux types de Workflow:

Le Workflow procédural: correspondant à des processus métiers connus de l'entreprise et faisant l'objet de procédures préétablies , le cheminement du Workflow est plus ou moins figé ;

Le Workflow flexible (ad-hoc): basé sur un modèle collaboratif dans lequel les acteurs interviennent dans la décision du cheminement, le cheminement du Workflow est dynamique.

Typologies:

Page 10: verification des workflow

Problématiques

Page 11: verification des workflow

× Les WorkFlows sont exposés aux problèmes de dysfonctionnement

La vérification des Workflows avant l’exécution

× Il n’existe pas des modèles de vérification pour les Workflows flexibles à base des règles

La transformation des Workflows flexibles vers réseau de Pétri afin de pouvoir les vérifier

Page 12: verification des workflow

La vérification des Workflows

Page 13: verification des workflow

Un type d’analyse utilisée pour répondre aux questions

qualitatives relatives à un processus Workflow telles que la

possibilité d’exécuter correctement un cas de processus ou la

possibilité d’exécuter deux tâches d’un Workflow dans

n’importe quel ordre.

Définition

Page 14: verification des workflow

Présentation de BEPL et ECA

BPEL: (Business Process Execution Language)

Fournit une notation XML et une sémantique pour la spécification du comportement

des processus métier basés sur les Web Services. On peut dire que le BPEL est le

diagramme d'activité du Web service. Ainsi, que le WSDL est le diagramme de classe.

ECA: (Evénement-Condition-Action)

Les règles actives ou ECA sont de la forme Evénement-Condition-Action (ECA). On

peut résumer ce principe par la proposition suivante : "lorsqu’un événement se

produit, si une condition est remplie, alors une action est exécutée".

Page 15: verification des workflow

Les phases de vérification

Page 16: verification des workflow

L'analyse préliminaire:Dans cette étape on analyse (analyse syntaxique, analyse statique) le fichier BPEL qu'on veut vérifier.

• Analyse syntaxique: Cette analyse permet de trouver les erreurs de syntaxe dans le fichier BPEL afin de pouvoir les corriger.

• Analyse statique: Cette analyse permet de trouver des erreurs statiques c.-à-d. des erreurs de manque de balises.

Page 17: verification des workflow

La transformation BPEL vers réseau de Petri:Dans cette étape nous utilisons un mappage pour la transformation du fichier BPEL qu'on veut vérifier vers deux fichiers:

• Un Open WorkFlow net: C’est un type de réseau de Petri, l’idée générale est l’ajout des entrées, et des sorties du processus modélisé c.à.d. les relations avec les autres services. Ce fichier est utilisé pour la vérification de la contrôlabilité.

• Un réseau de pétri simple: ce qui nous permet de faire la vérification des propriétés Deadlock, Livelock. Le réseau de pétri généré et un Wf-Net.

Wf-Net: Un réseau de Petri (N,M0) est un WF-net si et seulement si :

1. N admet une seule place source i (i.e.•i =Ø) dite place initiale.2. N admet une seule place puit f (i.e.f• = Ø) dite place finale. 3. Pour chaque nœud n P T , il existe un chemin de i à n et un chemin de n à f.∈ ∪

Page 18: verification des workflow

Les propriétés à vérifier• Deadlock: Survient lorsque on atteint un marquage ou on ne peut pas sensibiliser

d’autres transitions. C.-à-d. le système se bloque.

• Livelock: Un état qui survient lorsque deux ou plusieurs processus changent continuellement leurs états en réponse aux changements dans les autres procédés.

• Contrôlabilité: Un réseau de Petri est contrôlable si son graphe d’interaction (ig) n’est pas vide.

• Terminaison propre: Lorsque le cas de processus se termine, il n’y plus aucune tâche à réaliser ou en cours de réalisation. Ce critère garanti l’absence de Deadlock ou de Livelock.

• Non-surcharge: Ce critère assure que les tâches incluses dans un modèle de processus ont un rôle significatif dans la progression du processus WorkFlow.

• Cohérence: Une combinaison des deux principaux critères de correction des WorkFlows (la terminaison propre et la non-surcharge des tâches).

Page 19: verification des workflow

La structure de l’outil de vérification

Page 20: verification des workflow

La transformation des règles ECA vers

Réseau de Petri

Page 21: verification des workflow

La structuration des règles ECA:

Règle complexe

Règles simplesSim

plifi

catio

n

Page 22: verification des workflow

Event Condition ActionBegin True b

Begin True c

b True d

c True e

d True End

e True End

CoffeeButton True d

TeaButton True d

MoneySlot.Inserted True e

d True BeverageDispensor

e True BeverageDispensor

Recherche des Entrées/Sorties:

• Les entrées: sont des variables non initiales et qui n'ont pas des prédécesseurs,

• Et les sorties: sont des variables non finales et qui n'ont pas des successeurs.

Des entrées

Sortie

Page 23: verification des workflow

L'assemblage des règles:

Cette étape consiste à réduire le nombre des règles simples par la transformation vers règles complexes mais toujours en respectant les principes suivants:

• Chaque côté gauche de la règle ne peut contenir qu'une seule entrée et une seule variable, ou une seule entrée, ou plusieurs variables,

• Chaque côté droit de la règle ne peut contenir qu'une seule sortie et une seule variable, ou une seule sortie, ou plusieurs variables.

• Une règle ne doit pas contenir une entrée et une sortie à la fois.

• Toutes les règles qui respectent les principes mentionnés et capables d'être assemblées doivent être assemblées.

Page 24: verification des workflow

Règles de passage ECA vers RdP

EventUne place ActionUne place

Page 25: verification des workflow

Un exemple de transformation

Page 26: verification des workflow

La structure de l’outil de transformation

Page 27: verification des workflow

MERCI POUR VOTRE AIMABLE ATTENTION, AVEZ-VOUS DES QUESTIONS?

Page 28: verification des workflow

Vérificateur Transformateur