• Aucun résultat trouvé

Méthode de omposition dynamique basée sur des graphes de dépen-

Compte tenu deslimitationsduprototypepré édent,jeproposei iunprototype qui génère les ompositions de façon automatique et adaptative. Je ommen e par présentersonprin ipe,puisjemontresonimplémentationpournirsuruneévaluation informellesouslaformed'unedis ussion.

Cetteméthodede ompositiondynamiques'inspiredesméthodesdeplani ation. Pourrépondreàunerequêtedel'utilisateur,elleutiliselades riptiondesentréesetdes sortiesdesservi esWebpour onstruireungraphe,quisymboliselestransformations possiblesdedonnées,oùlesnoeudsdugraphesontlesétatsdumondeetlestransitions sontlesa tions,àlamanièrede[44℄.Ensuite,unprogrammeénumèreles heminsdans egraphequirelientunétatinitialreprésentantlesentrées,fourniesparl'utilisateur, et un état nal, représentant les sorties souhaitées par l'utilisateur. Finalement, le moteur trie les hemins suivant un ritère de qualité prédéni, puis déduit de es hemins, des ompositions qu'il peut ensuite exé uter. La méthode ommen e par exé uterle hemindemeilleure qualité,puisvérielerésultat obtenu. Si lerésultat est satisfaisant, alorsle programme renvoie lerésultat àl'utilisateur, sinon il essaie d'exé uterla ompositionsuivante.Dans etteméthodelerésultatdela omposition sera onsidéré omme satisfaisant lorsqu'il omportera tous les éléments souhaités parl'utilisateur.Parexemple,sil'utilisateurdemandeunelisted'é lairement,alorsla ompositionestvalidéedèslorsque ettelisteestprésente,quelquesoitson ontenu. Le résultat de la omposition suivante est ombiné ave le résultat de l'exé ution pré édente; lerésultat ainsi obtenu est ànouveauanalysépourdéterminer s'il faut

d'états

ontinuerl'améliorationourenvoyerlerésultatàl'utilisateur.

La première se tion explique la représentation des servi es Web, puis elle des étatsdumonde, ainsi quela onstru tiondugraphe dedépendan e des états.Nous dé rivons ensuitel'algorithme qui génèrel'ensemble desséquen es d'a tionséquiva- lentes.Puis,jeprésenteles ritèresdequalitéainsiquelaméthodedetridesséquen es d'a tions.Enn,jedonnelaméthoded'unionetd'évaluationdesrésultatsd'exé ution des ompositions.

4.2.1 Représentation des servi es Web

Chaque servi e Web est dé rit omme une a tion fournissant un ensemble de paramètresdetypesprédénis àpartird'unautre ensemble deparamètresdetypes prédénis.Soit

T

l'ensemble des types de paramètrespossibleset

F

l'ensemble des identiants de servi es Web, alors un servi e Web est déni par le tuple

(F, ti, tf)

appartenantà

F× P(T) × P(T)

, ave

ti

représentantlespré- onditionsde l'a tion et

tf

étantlespost- onditions.

Le hoixde ettereprésentationestliéauWSDL[110℄quidénitlesservi esWeb defaçonstandardentermed'entréesetdesorties.Cha unedespartiesdesentréeset dessortiesduservi eWebesttypée.

4.2.2 Abstra tion de l'environnement

Laméthodedénitlesétatsdumonde ommel'uniondestypesdesdonnéesfour- nies ou attendues par l'utilisateur. Soit

T

l'ensemble de tous les types de données possibles,alorsl'ensemble

S

appartientà

P(T )

.Chaque typed'unmême étatrepré- senteunedonnéepossibleàobtenirdans etétat.Parexemple,unétat omposédes typesgéopoint et période indique queles donnéesatteignables sontobligatoirement de esdeuxtypes.

4.2.3 Constru tion du graphe de dépendan e

Pour onstruire le graphe de dépendan e, haque des ription de servi es Web est analysée pour réer l'ensemble des relations

R

reliant les états. Comme nous l'avonsvuenplani ationdansle hapitre2,lesrelationsappartiennentà

S × A × S

. Pour déterminer l'existen e d'une relation, il faut vérier les pré- onditions et les post- onditions. Les pré- onditions sont respe tées lorsque les types d'entrée d'un servi eWebsontin lus dansl'état ourant.Lespost- onditionssontréaliséeslorsque lenouvelétatest égal àl'ensemble destypesde sortie.Autrementdit, pour haque tuple

(f, si, sf)

appartenantà

F× S × S

,laméthodevériequelespré- onditionset lespost- onditionssontréalisées,puis réeunar danslegraphedesétatsreliant

si

et

sf

représentantlatransformationquepeutréaliserleservi eWeb

f

.Parexemple, unservi e Webqui onvertit une températurede CelsiusàFarenheit est représenté parunar qui relielesnoeudstempératureenCelsius àtempératureenFarenheit.

4.2.4 Génération des séquen es d'a tions équivalentes

Legrapheestdon onstituédenoeuds,représentantlesensemblesdeparamètres typéspossiblesetd'ar sreprésentantlesa tionspossiblespourpasserd'unensemble àunautre.

Chaque hemindanslegraphereprésenteune ompositionobéissantàdes ontraintes fon tionnellesné essaires.Néanmoins,sebaseruniquementsur es heminsn'estpas e a eetnotreméthodeutiliselarequêtedel'utilisateurpourneséle tionnerqueles heminsintéressantsvis-à-visde ette requête.Pour efaire, laméthode her heles noeudsdanslegraphereprésentantlesdonnéespouvantêtrefourniesparlarequête. Puis,ellere her helesnoeudspouvantfournirlesdonnéessouhaitéesparl'utilisateur. Enn,laméthode her heles heminssansbou lereliant esnoeuds.Un heminsans bou leestun heminpassantauplusunefoisdansunar donné.

Ilexiste,pourtrouver es hemins,desalgorithmesquiterminentetsont omplets. Unalgorithme ompletdansnotre asestunalgorithmequitrouvetouteslessolutions existantes.Ilestformalisépar:pourtout

X

,si

X

estun heminsansbou leetvalide, alorsl'algorithmetrouve

X

ommesolution.Je présenteunde esalgorithmesdans lase tionsuivante.

Algorithmedegénérationdetouteslesséquen esd'a tionséquivalentes Il existedeuxfaçonsstandardsdedé rirelesgraphes.Lapremièreestunereprésentation baséesurdestableauxetlase ondeestbaséesurlalisted'adja en e[100℄.

Pour réaliser mon algorithme de re her he de hemin, j'ai hoisi de représenter ungraphe pardeslistesd'adja en e. Cettereprésentationliste,pour haquenoeud, les noeuds adja ents, autrement dit, les noeuds a essiblesdire tement par un ar . Un graphe

g

est don représenté parlaliste

V

desesnoeuds. Chaque noeud

v ∈ V

omportelalistedesar s

e ∈ Adj(v)

menantàsesnoeudsadja ents.Chaquear peut êtremarquéàl'aided'unefon tion

mark(g, e)

etdémarquéàl'aidede

unmark(g, e)

. L'étatdelamarquepeutêtrelugrâ eà

is

_

mark(g, v)

retournantvraisi

v

estmarqué et fauxsinon.

L'algorithme suivant génère la liste

P

de tous les hemins entre un sommet de départ

vbegin

et un sommetd'arrivée

vend

. Pour ela, partantde

vbegin

, il onsidère touslesar sdesalisted'adja en e.Pour ha undesar sde etteliste,ilva her her tous les hemins reliant le noeud d'arrivée de l'ar à

vend

sans réutiliser l'ar .Ces hemins sont ensuite on aténés ave l'ar ourantde manièreà générerl'ensemble detousles heminspassantpar etar .Cettegénérationestfaitedemanièreré ursive.

P

:ensemblede hemins;

p

: hemin;

vbegin

:noeud;

vend

:noeud;

denefollow(

v

,

p

,

P

)

(marquelenoeudpourneplusyrepasser) mark(

v

);

(ajoutelenoeud ourantau hemin)

p

.push(

v

);

(pourtouslesnoeudsadja entsdunoeud ourant) forea h

i

in Adj(

v

):

(silenoeudadja entest eluidenalorsonajoute

le heminàlalistedes hemins,sinononpoursuitlare her he) if

i == vend

then

p

.push(

i

);

d'états

p

.pop(

i

); else

(silenoeudadja entn'estpasmarquéalorsonpoursuitla re her he,sinononabandonne e hemin)

if notis_mark(

i

)then follow(

i

,

p

.

P

); endif

endif endfor

(onanila her hepourlenoeud ourant)

p

.pop(

v

)

(iln'estplusmarqué) unmark(

v

)

enddef

follow(

vbegin

,

p

,

P

); return

P

;

Une fois l'algorithme terminé, nous disposons de l'ensemble des hemins sans bou le qui relientles entréesfournies aux sorties souhaitées. Ilfaut ensuite onver- tir es heminsdansunlangagede omposition.Pour eprototype, elangageestle mêmeque eluiduprototypepré édent4.1etutilisedon uniquementlesséquen eset lesassignations.Jemontreraidansl'exempleennde hapitre ommentsonttraduits es heminsen omposition.

4.2.5 Critère de qualité des hemins

Une fois les ompositions possiblesétablies,il faut lestrier parordre dequalité. Nousdevonsdon dénirun ritèredequalité permettant etri.

Lanotiondequalité dedonnéesesttrèssubje tiveet dépendparfoisdesbesoins, ommenousl'avonsvudansle hapitre2.Dansmon as,j'airetenuun ritèresimple, qui est une valeurde qualité ompriseentre

0

et

1

. Plus ette valeur est pro he de

1

,plusla ompositionest debonnequalité.Un on epteurde servi esWebattribue à ha und'eux une valeurde qualité deservi e entre

0

et

1

. Je dénisle ritèrede qualitéd'une omposition ommeleproduitdesqualitésde ha undesservi esWeb quila omposent.Les ompositionspeuventalorsêtretriéesparordredé roissantde qualité.

4.2.6 Validation des résultats

Une fois les ompositions triées, nous exé utons la première et nous devons la valider.Lavalidation estréaliséeen omparantlestypesdesdonnéesobtenuesaprès l'exé ution de la omposition et les types des données souhaitées par l'utilisateur. Lorsquel'ensemble destypessouhaitésest in lusdansl'ensembledestypesdesdon- néesdurésultat,alorsla ompositionestvalidée.Parexemple,sil'utilisateursouhaite obtenirune listed'é lairement,et quele résultatobtenu aprèsexé ution dela om- position est une listede températuresalors le résultat est invalide. En revan he, si le résultat obtenu omporte une liste de température et une liste d'é lairement, le résultat est validé. Cetteméthodene prend pasen ompte le ontenu des données, elle ompareuniquementlestypesdesdonnées.

4.2.7 Union des résultats

Dansle asoùla ompositionn'estpasvalidée,la ompositionsuivanteestexé u- téeetsonrésultatfusionnéave lapré édente.Dans eprototype,l'unionestréalisée simplement par le rempla ement de l'an ien résultat parle nouveau. Ce i peut ne pas être onsidéré omme une union à proprement parler, mais elle est lairement susantepouranalysernotreméthode.

4.2.8 Dis ussion

Fa ilitédemiseenoeuvre delaméthode Cetteappro hefournituneméthode raisonnablementfa ilepour ombinerlesservi esWeb,puisquelatradu tiondesdes- riptionsstandardsdesentrées/sorties(expriméesenWSDL)enpré-/post- onditions estsimple.

Une forte abstra tion Elle s'appuie sur le fait que les ensembles des types dé- rivant les messagesd'entrées et lesmessages de sortiesd'un servi eWeb sont une abstra tionde equ'ilréalise.Autrementdit,lesentréesetlessortiesduservi eWeb représententd'une ertainefaçon equeréalisele servi eWeb.Cettereprésentation n'estpas omplète,ellene omportepas,parexemple,lesattributsnon-fon tionnels (par exemple, le nom de l'algorithme utilisé), ou en ore la manière dont vont être utilisées les données d'entrée. Parexemple, deux servi es Web ee tuant la même transformationdedonnéesdanslegraphe,peuventenréalitéfaireappelàdesopéra- tionsdiérentes.Unservi eWebquiadditionneaetb,etunservi eWebqui al ule a fois b, ne peuvent être diéren iés ar ils ont les mêmes pré-/post- onditions qui sontbaséespourlaméthodesurlestypesdesentrées/sorties.Onremarqueégalement que la des riptiondes pré- onditions et post- onditions aun impa t important sur les ompositionsqu'ilserapossibledefaireainsiqueleurjustesse.Pluslades ription des pré-/post- onditionsest pré ise, pluslaproportion de ompositions validessera grande.En ontre-partie,des ompositionsvalidesserontéliminées,etvi e-versa,plus lesdes riptions sontgrossières et peudétaillées, plusla proportion de ompositions fausses qui serontgénérées seragrande. Parexemple,prenons deux servi esWeb le premier,nomméF,s'appliquantsurunentiernatureletdonnantenrésultatunentier naturel, et lese ond,nommé G,s'appliquant sur unentierpositif et fournissanten sortieunentiernaturel.Sil'on hoisitdedé rire es2servi esWebgrossièrementen ignorantl'existen edesentierspositifs,alorsFetGsontdé rits delamêmemanière etlasortiedeFpeutêtreutiliséeenentréedeG.Dans ertains as ette omposition est invalide, néanmoins elle reste validelorsque la sortie de F est positive. Dans le as de des riptions grossières, 'est-à-dire i i très abstraites par rapport à la fon - tionnalitédesservi esWeb,onadon réédes ompositionsfaussessanséliminerde ompositionsvalides.Parailleurs,sion hoisitdedé riredefaçonrigoureuse esdeux fon tionsalorsGnepeutplusêtreappliquéesurlerésultatdeFetonéliminetoutes les ompositionsdeFetdeGoùlessortiesdeFsontpositives.Dans e asonaune des riptionplusdétaillée,maisqui éliminedes ompositionsvalides.

Des algorithmes alternatifs Etant donné que l'ensemble des ar s est dénom- brable, l'ensemble des états l'est aussi (leur nombre étant au maximum deux fois supérieuraunombred'a tions).Ce problèmeestdon solvablepardesméthodesde plani ation lassiques.Ilestdon tout àfaitpossibled'utiliser desméthodesissues

de la plani ation. Pour ela, il faudrait traduireles des riptions des servi es Web dansdeslangagesutiliséspourlaplani ationtelquePDDL [38℄.Parailleurs,pour trouverunen haînementd'a tionspossibles,l'algorithmedeDijkstrapeutêtreutilisé. Néanmoins,dans esdeux as,l'undesprin ipauxbesoinsexprimésparlesmétéo- rologuesétantla omplétiondesrésultats,l'obtentiondel'unique omposition,fournie parlesméthodesdeplani ation lassiquesouparl'algorithmedeDijkstra,n'estpas satisfaisante.Nousdevonsdon générerplusieursen haînementsd'a tionséquivalents andepouvoiree tuerl'uniondesrésultatsdeleurexé utionpouratteindreunbon niveaude omplétion desdonnées.

Limite de notre appro he Cette appro hen'est pas apable d'utiliser onjoin- tementdeux servi esWeb pour al uler lesentréesd'un troisième ompte tenu que les hemins d'un graphe sont purement séquentiels. Un moyen pour ontourner e manque de parallélismeinhérentauxgraphes est de réerdes servi esWeb virtuels qui représentent l'exé ution parallèle de plusieurs servi es. Cette exé ution on ur- rente est représentée par une transition qui aurait pour entrée l'union des entrées desservi esWeb utiliséset poursortiel'uniondessortiesde esservi esWeb.Cette amélioration s'a ompagne d'un a roissement exponentiel du nombre des états et destransitionsdugraphe(

2

n

,où

n

estlenombredeservi esWeb).

Avantage denotreméthodede omposition Ceprototypeprésentel'avantage de prendre en onsidérationde nouveaux servi esWeb ontrairement àla méthode de ompositionstatiquepré édente.