Académique Documents
Professionnel Documents
Culture Documents
369
370 Actes JFPC’06
complexe permettant à l’utilisateur d’entrer précisé- • Contraintes sur un seul message : e.g le prix at-
ment les détails de la composition, nous ne devons pas tendu doit être inférieur à une certaine valeur.
écarter la possibilité de traiter des requêtes simples.
Par flexibilité nous entendons donc qu’il doit être pos- • Contraintes entre messages : e.g le prix doit être
sible d’exprimer des requêtes simples aussi bien que inférieur à une valeur donnée par le rôle “budget"
des goals de composition déjà complets. Cela autorise en entrée
des utilisateurs “finaux" (comme des particuliers util-
isant un service de composition sur le web et “à la • Contraintes sur les propriétés non-fonctionnelles
volée"), qui ne possèdent pas les compétences néces- d’un service web : e.g imposer un fournisseur par-
saires pour manipuler des constructions complexes, ticulier sur les web services à envisager.
de formuler une requête minimale et laisser l’outil
l’étendre à des goals de composition possibles parmi 2.5 Chemins alternatifs
lesquels il pourra choisir le comportement souhaité.
Cependant, cela autorise également des utilisateurs Des chemins alternatifs doivent pouvoir être calculés
“moyens" (comme des industriels réalisant leur pro- automatiquement par le composeur. Si l’utilisateur
pre web service composite) à spécifier précisément ce requiert d’un web service composé la possibilité
qu’ils en attendent. d’acheter des disques ou des livres, et les seuls web
services disponibles proposent uniquement l’un ou
2.2 Abstraction des détails techniques l’autre, des chemins alternatifs doivent être crées pour
gérer chacun des cas selon une valeur donnée par
Une condition importante pour un langage de requête l’utilisateur en entrée. Cependant, il doit également
de composition est de rester au niveau le plus abstrait être permis d’imposer une alternative même si cela
possible, comme le niveau des goals présenté en sous- n’est pas nécéssaire pour obtenir les sorties désirées.
section 1.3. Cela permet aux utilisateurs de travailler Dans l’exemple de l’agence de voyage, on pourrait
uniquement sur les propriétés et les relations séman- choisir différents moyens de transport selon les des-
tiques de leur web service composé, en ignorant les tinations entrées.
détails techniques des choréographies. Cela offre égale-
ment l’avantage de diminuer l’espace de recherche du-
2.6 Annulation et règles de compensation
rant la phase de composition des workflows puisque
seuls les SWS qui répondent aux goals atomiques Dans [1], le résultat du composeur est un workflow
seront pris en considération. dans lequel au moins un chemin mène aux sorties
désirées. En conséquence, certains chemins peuvent
2.3 Liaison sémantique des messages nécessiter l’annulation des actions effectuées jusqu’à
présent (compensation). Un langage de requête peut
Afin de lever les ambiguïtés sémantiques discutées en définir les comportements souhaités dans ces cas, et in-
introduction de cette section, le langage doit fournir un diquer des règles permettant de traiter ces exceptions
moyen de lier des messages entre eux. Cependant cette dans des chemins alternatifs.
liaison sémantique ne doit pas imposer au workflow
final de placer directement un flux de données entre
ces messages, mais plutôt indiquer quel rôle ils jouent 3 Un modèle objet contraint
dans la composition. Par exemple, lier une arrivée
d’un vol à une ville d’hotel ne doit pas empêcher le A partir des pré-requis décrits précédemment, nous
workflow composé d’utiliser cette ville d’arrivée pour introduisons un langage de requête pour la composi-
d’autres constructions telles que des opérations, des tion de SWS pouvant être résolu comme un problème
duplications, ou encore des choix pour des chemins en lui-même. La nécessité d’ajouter dynamiquement
alternatifs. des éléments au cours de la recherche et les construc-
tions proches des contraintes font de la configuration
2.4 Restrictions sur les objets un choix naturel et approprié afin de le résoudre. Un
configurateur utilise un modèle objet contraint pour
Les utilisateurs ont souvent besoin de placer des con- lequel il recherches des instances valides à partir d’un
traintes sur les valeurs des objets présents dans la com- objet racine. Nous présentons dans les figures 2 et
position : les messages qu’ils attendent et fournissent 3 un modèle de goals de composition sous la forme
ainsi que les propriétés des web services composites. d’un modèle abstrait UML accompagné de contraintes
Nous pouvons identifier trois principaux types de re- Z spécificiant les règles de bonne formation. Nous
strictions : utilisons un sous-ensemble du langage Z [23, 13] pour
372 Actes JFPC’06
documenter les restrictions sur le diagramme. Z per- – Relational Value Constraints: dans le work-
met une spécification totalement formelle et sans am- low final, les tokens respectent les con-
biguïtés en remplacement du langage OCL, moins ex- traintes données entre plusieurs objets.
pressif. Nous donnons également la sémantique des
constructions utilisées indiquant comment elles seront • Dataflow Constraints: le workflow final contient
traitées dans la phase de composition des workflow. un flux de données spécifique entre sources et
cibles :
Semantique – IdentityFlow: le flux entre la source et les
• Atomic goals : abstractions des SWS. Le pro- cibles ne modifie pas les données. Les con-
cessus de discovery permet de récupérer les SWS cepts source et cibles doivent être identiques.
disponibles pour la composition du workflow final. – OperationFlow: le flux réalise une opération
sur les tokens sources pour obtenir les cibles.
• Roles : Entrées et sorties. Les roles internes Applicable uniquement aux entiers et déci-
peuvent être utilisés comme objets intermédi- maux.
aires dans l’orchestration. Comme les messages,
chaque rôle a pour type un concept pris dans une – MediationFlow: le flux entre sources et cibles
ontologie. utilise un médiateur spécifique (Les média-
teurs permettent de passer d’une ontologie à
• Value Constraints : le workflow solution respecte une autre).
les contraintes posées sur les valeurs. – AggregationFlow: le flux aggrège les sources
– Unary Value Constraints : dans le workflow pour former la cible (un concept composite).
final, les tokens traversant l’objet désigné re- – ExtractionFlow: le flux extrait des parties
spectent la (ou le champ de) valeur(s) don- du concept composite source pour former les
née(s). cibles.
Language de Requête Configurable pour la Composition de Services Web Semantiques 373
– DecisionFlow: le flux offre des alternatives • Les cibles de fux de données doivent être de classe
selon la contrainte donnée (contraintText). InputRole ou InternalRole:
Les concepts sources et cibles doivent être
identiques. ∀ n : Role | #(n.isTargetOf ) > 1 •
n ∈ InputRole ∨
– MergeFlow: le flux accepte n’importe quelle n ∈ InternalRole
entrée pour former la cible. Les concepts
sources et cibles doivent être identiques.
• Les sources et cibles des IdentityFlow, Decision-
Flow et MergeFlow doivent partager le même
Contraintes concept:
• Relation de réciprocité entre Goals et Roles:
∀ n : DataflowConstraint | (n ∈ IdentityFlow
∀ n : AbstractGoal • ∨ n ∈ MergeFlow ∨ n ∈ DecisionFlow ) •
inputs(n) = {e : Role | e.goal = n} sources(n) → concept
∀ n : AbstractGoal • = targets(n) → concept
outputs(n) = {e : Role | e.goal = n}
∀ n : AbstractGoal •
• DecisionFlow a une unique source:
internals(n) = {e : Role | e.goal = n}
∀ n : DecisionFlow •
• Les sources de flux de données doivent être de #(n.sources) = 1
classe OutputRole ou InternalRole:
• MergeFlow a une unique cible:
∀ n : Role | #(n.isSourceOf ) > 1 •
n ∈ OutputRole ∨ ∀ n : MergeFlow •
n ∈ InternalRole #(n.targets) = 1
374 Actes JFPC’06
∀ n : ExtractionFlow •
#(n.sources) = 1
∧ sources(n) → concept ∈ CompositeConcept
∧ targets(n) → concept ∈ AtomicConcept
∧ targets(n) → concept
⊂ sources(n) → concept → concepts Figure 5: Exemple graphique de requête (goal de com-
position partiel)
• AggregationFlow a une unique cible dont le con-
cept est composite, et les sources sont des con-
cepts atomiques inclus dans la cible: leurs choréographies.
Enfin, le composeur peut assembler ces workflows
∀ n : AggregationFlow • comme montré dans [1], en respectant maintenant les
#(n.targets) = 1 contraintes additionnelles et objectis du goal de com-
∧ targets(n) → concept ∈ CompositeConcept position.
∧ sources(n) → concept ∈ AtomicConcept
∧ sources(n) → concept
⊂ targets(n) → concept → concepts 5 Conclusion
La composition de SWS est un des problèmes les plus
3.0.1 Représentation graphique difficiles du web sémantique. Nous avons pointé la né-
Nous fournissons une représentation graphique basée cessité d’un langage de requête flexible et donné une
sur les diagrammes d’activité UML2 afin de pouvoir liste d’exigences pour celui-ci. Nous avons par con-
dessiner et présenter des goals de composition de façon séquent introduit une nouvelle approche de la compo-
claire. La figure 4 liste toutes les constructions et leur sition en deux étapes, où les ambiguïtés sémantiques
notation graphique. Nous utiliserons cette notation sont résolues dans une première partie. A cette fin,
pour les exemples de la section suivante. nous avons également présenté un modèle abstrait per-
mettant d’étendre les requêtes grâce à un outil de con-
figuration. Les recherches à venir inclueront des ex-
4 Vue d’ensemble du processus de com- périmentations sur ce processus à deux phases afin de
position le comparer à ce qui avait été obtenu précédemment.
De nombreux problèmes liés à la composition devront
Nous pouvons désormais identifier un processus com- être également résolus dans l’avenir, parmi lesquels
plet pour une composition efficace des services web : la scalabilité (le nombre élevé de SWS disponibles
sémantiques. Dans une première étape, le composeur sur le web pourrait requérir l’ajout de techniques de
reçoit une requête qui nécessite d’être étendue à un recherche locale), la fiabilité des services web com-
goal de composition complet et valide, d’après le mod- posés (temps d’accès, disponibilité), la compensation
èle abstrait présenté dans la section précédente. Nous (prévoir les problèmes d’éxécution et créer les chemins
donnons un exemple de requête et une de ses exten- alternatifs nécessaires).
sions (solutions) dans les figures 5 et 6. Ce processus
de configuration recherche une instance valide du mod-
èle abstrait contraint, en utilisant les sorties souhaitées
comme objets racines (goal-oriented). De plus, le com-
poseur peut utiliser les éléments suivants :
[6] Ion Constantinescu, Boi Faltings, and Walter [16] S. McIlraith and T. Son. Adapting golog for com-
Binder. Large scale, type-compatible service com- position of semantic web services. In proceedings
position. In IEEE International Conference on of Conference on Knowledge Representation and
Web Services (ICWS 2004), pages 506–513, San Reasoning, April 2002.
Diego, USA, July 2004. IEEE Computer Society.
[17] S. Mittal and B. Falkenhainer. Dynamic con-
[7] R. Dijkman and M. Dumas. Service-oriented de- straint satisfaction problems. In Proceedings of
sign: A multi-viewpoint approach, ctit technical AAAI-90, pages 25–32, 1990.
report series no. 04-09. Technical report, Cen-
tre for Telematics and Information Technology, [18] B. Nebel. Reasoning and revision in hybrid rep-
University of Twente, The Netherlands, February resentation systems. Lecture Notes in Artificial
2004. Intelligence, 422, 1990.
[8] Prashant Doshi, Richard Goodwin, Rama Akki- [19] Marco Pistore, F. Barbon, Piergiorgio Bertoli,
raju, and Kunal Verma. Dynamic workflow com- D. Shaparau, and Paolo Traverso. Planning and
position using markov decision processes. In- monitoring web service composition. In proceed-
ternational Journal of Web Services Research, ings of the Workshop on Planning and Scheduling
2(1):1–17, Jan-March 2005. for Web and Grid Services held in conjunction
with ICAPS 2004, Whistler, British Columbia,
[9] Alexander Felfernig, Gerhard Friedrich, Dietmar Canada, June 3-7 2004.
Jannach, and Markus Zanker. Configuration
knowledge representation using uml/ocl. In Pro- [20] J. Rao, P. Kungas, and M. Matskin. Logic-based
ceedings of the 5th International Conference on web service composition: from service description
Language de Requête Configurable pour la Composition de Services Web Semantiques 377