Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
verification des workflow
1.
2. CONCEPTION ET MISE EN ŒUVRE D’UN
OUTIL DE VÉRIFICATION DES WORKFLOWS
Encadreur: Mr. BEKKI Kh.
Présentateur: BRAHIM Sofiane
Université IBN KHALDUN – Tiaret
Faculté des sciences et sciences de l’ingénieur
Département de l’informatique
03 Octobre 2011
4. • WorkFlow
Définition
Domaines d‘application
Exemple
Typologies
• Problématiques
• La vérification des Workflows
Définition
Présentation de BEPL et ECA
• Les phases de vérification
L'analyse préliminaire
La transformation BPEL vers réseau de Petri
Les propriétés à vérifier
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
Recherche des Entrées/Sorties
L'assemblage des règles
Règles de passage ECA vers RdP
6. 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:
7. 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:
8. 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.
9. 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:
11. × 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
13. 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
14. 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".
16. 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.
17. 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.
18. 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).
22. Event Condition Action
Begin 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
23. 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.