verification des workflow

Post on 30-Jun-2015

434 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

الَّرحيِم�

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

PLAN DE TRAVAIL

• 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

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:

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:

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.

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:

Problématiques

× 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

La vérification des Workflows

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

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".

Les phases de vérification

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.

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.∈ ∪

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).

La structure de l’outil de vérification

La transformation des règles ECA vers

Réseau de Petri

La structuration des règles ECA:

Règle complexe

Règles simplesSim

plifi

catio

n

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

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.

Règles de passage ECA vers RdP

EventUne place ActionUne place

Un exemple de transformation

La structure de l’outil de transformation

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

Vérificateur Transformateur

top related