• Aucun résultat trouvé

Composition automatique des Processus atomiques

Contributions Scientifiques

5.5.2.3 Composition automatique des Processus atomiques

Préliminaires La phase finale de notre approche est la construction d’un workflow. Le workflow est une représentation d’une suite ordonnée de tâches effectuées par une personne, une entreprise etc, servant à décrire et exécuter un processus ou permettant de décrire et exé-cuter de manière automatique les étapes de traitements complexes et pertinents des données. D’une part, les business workflows sont des workflows utilisés dans de nombreux domaines comme les domaines commerciaux, financiers, ou encore pharmaceutiques. Ils ont pour but de décrire de manière organisationnelle les étapes d’un processus : par exemple définir les étapes de validation d’un document ou d’une commande de produit, avec des étapes de validation par certains acteurs de l’entreprise, payements bancaires, génération de factures, transforma-tion d’un document d’un format à un autre et à une heure précise. Notons que dans ce type de workflow, le résultat de l’exécution est connu à l’avance et le workflow ne sert donc qu’à traduire de manière explicite le processus qu’il implémente : on parle alors de chaîne de pla-nification de travail. Dans un business workflow, les étapes (nécessitant parfois l’intervention humaine) sont reliées par des arcs qui représentent le flot de contrôle : on passe d’une étape à l’autre parce que des évènements déclenchent le passage. Dans notre cas, le but est de générer un workflow dynamique en temps réel dont les noeuds se sont les processus atomiques basé sur la fermeture transitive d’une matrice carré et acyclique .

Motivation Le problème de la composition sémantique prend en entrée une requête SPARQL utilisateur RQ = {IQ, OQ}, ainsi le problème de la construction automatique de la composition des Services Web Sémantiques [Jorge 2006,McIlraith et al. 2001] consiste à identifier un Service Web Composite SW C = Iswc, Oswc, P = AP, ≤} tel que match(IQ, Iswc) = Iswc (le service composite est invocable avec les entrées disponibles) et

match(Oswc, OR) = OR (le service composite récupère toutes les sorties demandées). Ce ser-vice se compose d’un ensemble partiellement ordonné P (une relation binaire "≤" sur un

sous-ensemble de process Model LAP).

Contribution Nous proposons une modélisation des transformations par des graphes pour la spécification des packages dynamiques et leurs adaptations. Une description des Packages dynamiques basées sur les graphes présente, outre l’aspect formel rigoureux, l’avantage d’of-frir une description visuelle et facilement compréhensible qui ne nécessite aucun pré-requis concernant les langages formels. Tout nouveau besoin sera modélisé par l’ajout de nouvelles sous-matrices dans le mécanisme de transformation de graphes.

Cette partie introduit la notion de fermeture transitive de matrice d’adjacence afin de générer dynamiquement l’enchainement ou l’ordre logique de l’ensemble des processus ato-miques APi ⊆ P Mi sur la base du résultat retourné par l’étape précédente (liste de sous-matrices qui est générée du graphe de dépendance).

Etant donnée un ensemble de sous-matrice carré, le but est de les rassembler en une seule structure de données qu’est la matrice. Cette matrice globale contiendra les sous-workflow issu de l’étape précédente.

À la suite de la section précédente, un ensemble de sous-matrices représentant le comportement des sous-workflows doivent être fusionné pour former une nouvelle matrice carrée, la matrice composition de dépendance (CMD) ;

CM D =Sm

i=1SP Mi.

Par exemple, nous allons avoir deux sous-matrices SP M1 et SP M2 où les sommets de chaque sous-matrice sont définis comme ci-dessous V (SP M1) = {AP11, AP12, ..., AP1k} et

V (SP M2) = {AP21, AP22, ..., AP2n}. La nouvelle matrice CMD généré fusionne SP M1 et

SP M2 où : V (CM D) = {AP11, AP12, ...AP1k, AP21, ..., AP2n}.

MD = SPM1 0

0 SPM2

!

.

La fermeture transitive est utilisée dans plusieurs applications scientifiques (résolution de systèmes d’équations linéaires, inversion de matrices, calcul de valeurs propres, de détermi-nants, etc.). Dans cette partie, on s’inspire de la fermeture transitive d’une matrice carré qui est basé sur le calcul du produit de deux matrices d’une façon successive. Le but de la fermeture transitive est de générer le préordre5 des processus atomiques formant ainsi un workflow.

Le SW C correspond à l’ordre partiel (Séquentiel et parallèle) des Processus Atomiques est le résultat de la fermeture transitive de CM D (CM D). Ensuite, le CMD est rafraichit en ajoutant les intra-dépendances identifiés lors de la première phase. La construction entiè-rement automatique des nouveaux résultats de service composite à partir de la fermeture transitive de CMD :

CM D+ = CM D1 + CM D2 + · · · + CM DN où CM DN est la matrice obtenue en multipliant M DP avec elle même (N ) fois . CM D+ est une matrice avec le même ensemble de sommets et une arête entre deux sommets avec un chemin de longueur maximum (N − 1).

Figure 5.12 – La Fermeture Transitive de l’exemple touristique

Un chemin de longueur entre deux sommets APi et APj existe pour chaque arc APk tel que (APi, APk) et (APk, APj) sont définis dans E.

Le résultat de la fermeture transitive matrice contient un ensemble de chemins entre les nœds qui définissent le niveau de connectivité requis pour chaque processus atomique dans le nouveau processus composite correspond à la sélection de la valeur maximale de chaque colonne de la matrice.

Le résultat de la fermeture transitive génère un multigraphe en couches où la valeur minimale des max-colonnes représente les nœuds de départs, et incrémentalement intègre les APs dans le flux de travail jusqu’aux nœds finaux. En conséquence, un graphe de composition hiérarchique est généré automatiquement.

Afin de calculer rapidement la multiplication de matrice, nous avons utilisé l’algorithme de de Strassen [Thottethodi et al. 1998] fonctionnant en une exécution asymptotique de

Θ(nlog 7) ou ≈ Θ(n2,81), ce qui de cet algorithme qui est asymptotiquement plus vite que la

multiplication de la matrice traditionnelle, avec l’exécution Θ(n3).

Les Web services peuvent être instables : pour de multiples raisons (panne, mauvais assemblage, non déterminisme, . . .), les services n’ont pas toujours le comportement spécifié (ce qui n’est pas le cas en planification classique). De plus, certains Web services contenus dans des registres de types UDDI peuvent être supprimés par les fournisseurs sans que l’annuaire soit à jour. Ainsi, notre algorithme offre la possibilité de remplacer un service par un autre dans une composition à travers le graphe de cluster.

5.6 Conclusion

Le canevas ainsi proposé possède les caractéristiques suivantes :

— Modulaire : les préoccupations concernant la conception de la composition sont séparées de celles concernant la spécification de ses propriétés fonctionnelles. Cette spécification

est faite indépendamment des propriétés fonctionnelles hétérogènes des services web composants.

— Flexible : il est possible de déterminer, au moment de la conception, quelles capacités de services sont sélectionner pour une composition donnée. Cette caractéristique permet de relâcher la propriété d’atomicité pour la transaction et permet d’obtenir des com-positions différentes selon la disponibilité de composant dans un moment d’exécution donné.

6