Post on 30-Jun-2015
description
بسِم� اللِه� حمِن� الَّر
الَّرحيِم�
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