<figure><img src="image_1.png" /></figure>

HAL
open science

# Une nouvelle approche de Découverte et de Composition de Services Web à base de médiation sémantique et de raisonnement déductif: application au domaine informatique

Nadia Yacoubi Ayadi

<figure><img src="image_2.png" /></figure>

To cite this version:

Nadia Yacoubi Ayadi. Une nouvelle approche de Découverte et de Composition de Services Web à base de médiation sémantique et de raisonnement déductif: application au domaine informatique. Informatique [cs]. Conservatoire National des Arts et Métiers, 2010. Français. NNT: . tel-03888167

HAL Id: tel-03888167

https://hal.science/tel-03888167

Submitted on 7 Dec 2022

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_3.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
CONSERVATOIRE NATIONAL
DES
ARTS ET MÉTIERS

THESE EN COTUTELLE

Préparée au sein des laboratoires RIADI-GDL (ENSI) et CEDRIC (Equipe Sempia)

présentée par :

Nadia YACOUBI AYADI

Date de la soutenance : 1er Juillet 2010

pour obtenir le diplôme de Doctorat en Informatique du CNAM (Paris) et de l'ENSI
(Université de la Manouba)

Discipline/ Spécialité : Informatique

Une Nouvelle Approche de Découverte et de Composition de
Services Web à base de Médiation Sémantique et de
Raisonnement déductif

Application au domaine bioinformatique

Thèse dirigée par :

PROF. MOHAMED BEN AHMED

Professeur Emérite à l'ENSI

PROF. YANN POLLET

Professeur au CNAM, Paris

RAPPORTEURS :

PROF. MICHEL LÉONARD

Université de Genève

PROF. HERVÉ PINGAUD

Ecole des Mines d'Albi

JURY :

Rapporteurs

Michel LÉONARD

Professeur à l'Université de Genève

Hervé PINGAUD

Professeur à l'Ecole des Mines d'Albi

Examineur

Jean François ZAGURY

Professeur au CNAM

Directeurs de Thèse

Mohamed BEN AHMED

Professeur Emérite à l'ENSI

Yann POLLET

Professeur au CNAM, Paris
Dédicace

A mes très chers parents

A mon très cher mari

A mes chers frères

A mon enfant Khadija Ayadi

A tous ceux que j'aime
Remerciements

C'est avec une grande émotion et beaucoup de sincérité que je voudrais exprimer ma
gratuité à toutes les personnes ayant participé, soutenu et apprécié mon travail.

Tout d'abord, je tiens à remercier et exprimer toute ma reconnaissance auprès de mon
directeur de thèse Pr. émérite **Mohamed Ben Ahmed** qui m'a initiée à la recherche et
m'a toujours motivé, soutenu et encouragé. Méticuleux et perfectionniste, il m'a prodigué
des conseils inestimables, dans tous les domaines, tout au long de ma thèse. Ses idées, son
expérience et ses précieux conseils m'ont énormément aidé dans ce travail. Je le remercie
pour sa disponibilité, son soutien et ses conseils nombreux et importants. Il a beaucoup
contribué à la mise en valeur de mon travail, n'a cessé de m'encourager à avancer et m'a
aidée à progresser à travers les difficultés et les doutes inhérents à tout travail de recherche.
Je suis très fière de la formation de chercheuse acquise sous son encadrement.

Je tiens à exprimer ma profonde gratitude à mon co-directeur de thèse, Pr. **Yann Pollet** qui m'a accueilli pendant de longs séjours au Conservatoire National des Arts et Métiers, au cours desquels il s'est montré très disponible et accueillant pour discuter de mes travaux de thèse pendant de longues heures.

Je remercie mon rapporteur Pr. **Michel Léonard** pour l'honneur qu'il m'a accordé en
acceptant d'évaluer ma thèse. Je suis très heureuse que mon travail ait trouvé grâce à ses
yeux. Je remercie également mon rapporteur Pr. **Hervé Pingaud** pour l'honneur qu'il
m'a accordé en acceptant d'évaluer mon travail et pour les commentaires très constructifs
qu'il a formulés qui m'ont permis d'avoir plus de recul sur certains aspects que j'ai abordés.

Je souhaite remercier chaleureusement mon examinateur **Jean-François Zagury** pour
l'enthousiasme qu'il a manifesté à l'égard de ma thèse et pour avoir accepté de faire partie
de mon jury de thèse.

Je souhaite également remercier chaleureusement Pr. **Zoé Lacroix** qui m'a accueilli
dans son Laboratoire à l'université d'Arizona aux Etats-Unis au sein duquel j'ai effectué un
stage de six mois en bioinformatique. Mes remerciements s'adressent aussi au Pr. **Maria-
Esther Vidal** à l'université Simon Bolivar au Venezuela avec qui j'ai eu l'honneur de
collaborer pendant de longues années (depuis 2007) et cela malgré la distance (seulement
géographique) qui nous sépare. Je remercie également ses doctorants Edna Ruckhaus,
Marlene Goncalves et Alfredo Regalado. *Muchas gracias!!*!

Enfin, mes sentiments les plus chaleureux sont pour ma famille et mes amis. Je remercie
mes parents qui m'ont toujours soutenu dans mes choix et qui m'ont toujours encouragé
à aller de l'avant. Avec une infinie patience et tendresse, mon très cher mari m'a toujours
aidé à surpasser les moments de stress et de doute qui m'ont accablé, je lui dis cette
thèse est aussi la tienne!!! Une pensée chaleureuse à mes deux frères pour leur complicité,
humour et amour. Enfin, à ma petite fille qui a partagé pendant sept mois cette drôle
d'aventure qu'est la thèse.

Parmi mes amis, j'ai une pensée particulière pour Soumaya D., Lilia, Imen et Soumaya C. avec qui j'ai partagé les quatre premières années de l'université, mais aussi Olfa C. et Olfa D. avec qui j'ai partagé mes longues années de thèse. Sans leur amitié, la thèse n'aurait jamais été l'expérience qu'elle a été. J'ai également une pensée spéciale pour mes collègues et amis à l'école Supérieure de Commerce de Tunis, Yousr Karoui ElMekki et Khaled Boughzou qui comptent tellement pour moi.
# Résumé

L'avènement du Web sémantique a permis l'apparition d'une nouvelle génération de services Web, dénommés Services Web Sémantiques (SWS) qui intègrent dans leurs descriptions une dimension sémantique décrivant les aspects fonctionnels et/ou non fonctionnels d'un service Web. L'objectif principal de cette nouvelle génération de services est d'améliorer l'operérabilité des systèmes SOA (Service-Oriented architectures) hétérogènes et dynamiques. La problématique de cette thèse s'inscrit dans le cadre de la médiation de SWS visant à la fois la réconciliation des représentations de SWS et la réconciliation des conflits d'hétérogénéité pouvant émerger lors d'une découverte ou d'une composition de services. Ainsi, nous proposons dans cette thèse une méthodologie de sémantisation de services Web qui se base sur un modèle de descriptions canoniques permettant d'expliciter la sémantique d'un service Web.

Dans ce travail, la médiation de services repose sur deux grandes classes de processus : la découverte et la composition de SWS permettant de satisfaire à la fois un ensemble de contraintes fonctionnelles et non fonctionnelles. Pour ce faire, nous proposons un moteur inférentiel Datalog-like permettant d'effectuer un matching sémantique approximatif entre les requêtes utilisateurs et les descriptions des services Web. Le moteur inférentiel s'appuie sur une axiomatique sémantique ainsi qu'une ou plusieurs ontologies du domaine afin d'inférer de nouvelles propriétés implicites décrivant les services Web.

Les expérimentations menées ont ciblé le domaine de la bioinformatique et ont permis de montrer l'impact des techniques de raisonnement sur la taille de l'espace de recherche des services découverts et la cardinalité des plans des services composés. Enfin, nous explorons les techniques de classement (ranking) permettant de classer un skyline de services (i.e., un ensemble de services fonctionnellement similaires mais incomparables d'un point de vue attributs QdS) ce qui nous permettra de déceler les meilleurs services atomiques et/ou plans de composition.

**Mots-clés** : services Web, services Web sémantiques, moteur inférentiel, moteur Datalog-like, découverte et composition de services, propriétés fonctionnelles et non fonctionnelles, bioinformatique, skyline, top-k.
Abstract

Semantic Web services (SWS) technology have been proposed and investigated by the Semantic Web community to support effective and efficient service discovery, composition and invocation by machines. In order to deal with semantic heterogeneity of emerging frameworks, we propose a semantic model to describe Web services semantics in an uniform way. The existence of a domain ontology to capture domain knowledge in an explicit and formal way is crucial to describe Web service semantics.

Therefore, two main classes of processes are addressed in this thesis : service discovery and composition. We consider both functional and non functional users constraints in discovery queries. Thus, we propose a Datalog inference engine that enables approximate matching of discovery queries. Different reasoning tasks are performed in order to select services that satisfy the requested functionality with different degrees of matching. Indeed, reasoning tasks allow to infer new implicit services properties based on the domain knowledge which augment the search space of the query. Reasoning tasks rely on explicit taxonomic and non-taxonomic relationships defined between concepts and properties to infer new knowledge and match a discovery query with different degrees of approximate matching.

The empirical study was conducted in the bioinformatics domain, we report the size of the search space of candidate services and composable services when reasoning tasks are performed in comparison without any reasoning tasks. Finally, we propose a ranking technique that enables users to identify the best services of a skyline of services in terms of a set of non-functional properties.

**Keywords :** Web services, Semantic Web services, Datalog inference engine, discovery and composition, functional and non functional properties, bioinformatics domain, skyline, top-k.
# Table des matières

Intoduction Générale 1

1 Position du Problème 7

1.1 Contexte de la thèse 7

1.2 Domaines de recherche 8

1.2.1 L'interopérabilité des systèmes d'information 8

1.2.2 Notion de médiation 9

1.2.3 L'ingénierie Ontologique 10

1.2.4 La bioinformatique 12

1.2.5 Décision multi-critère multidimensionnelle 12

1.3 Problématique 13

1.4 Contributions de la thèse 16

I Etat de l'art 19

2 Services Web, Sémantique et Descriptions sémantiques 21

2.1 Introduction 21

2.2 Du Web au Web Sémantique aux Services Web Sémantiques 22

2.3 Frameworks de Description de Services Web Sémantiques 25

2.3.1 OWL-S (Ontology Web Language for Services) 25

2.3.2 WSMF (Web Service Modeling Framework) 28

2.3.3 WSMO (Web Service Modeling Ontology) 29

2.3.4 METEOR-S 32

2.3.5 SAWSDL (Semantic Annotation for WSDL) 34

2.3.6 IRS II et IRS III 38

2.4 Synthèse et Discussion 40

2.5 Conclusion 43

3 Approches de Découverte de Services Web 45
<table><tbody><tr><td>3.1</td><td>Introduction</td><td>45</td></tr><tr><td>3.2</td><td>Approches syntactiques pour la découverte de services Web</td><td>46</td></tr><tr><td>3.2.1</td><td>Les annuaires UDDI</td><td>46</td></tr><tr><td>3.2.2</td><td>QWS dataset</td><td>49</td></tr><tr><td>3.2.3</td><td>Seekda!</td><td>51</td></tr><tr><td>3.3</td><td>Vers des approches sémantiques de découverte de services Web</td><td>53</td></tr><tr><td>3.3.1</td><td>Approches basées sur les techniques de RI</td><td>53</td></tr><tr><td>3.3.2</td><td>Approches basées sur les techniques de raisonnement</td><td>54</td></tr><tr><td>3.3.3</td><td>Approches hybrides combinant techniques de RI et raisonnement</td><td>62</td></tr><tr><td>3.4</td><td>Synthèse et Conclusion</td><td>65</td></tr><tr><td><b>4</b></td><td><b>Composition de Services Web</b></td><td><b>71</b></td></tr><tr><td>4.1</td><td>Définitions et types de composition de Services Web</td><td>72</td></tr><tr><td>4.1.1</td><td>Définitions</td><td>72</td></tr><tr><td>4.1.2</td><td>La composition de services et ses catégories</td><td>73</td></tr><tr><td>4.2</td><td>Composition de Services Web et les techniques de l'IA</td><td>77</td></tr><tr><td>4.2.1</td><td>Composition à base de la logique de premier ordre ou du calcul situationnel (Situation Calculus)</td><td>77</td></tr><tr><td>4.2.2</td><td>Composition à base du langage PDDL (Planning Domain Definition Language)</td><td>78</td></tr><tr><td>4.2.3</td><td>Planification à base de réseaux HTN</td><td>80</td></tr><tr><td>4.2.4</td><td>Composition de Services à base de la synthèse de programmes</td><td>81</td></tr><tr><td>4.3</td><td>Approches de composition orientées Qualité de Service</td><td>83</td></tr><tr><td>4.3.1</td><td>Caractéristiques de QdS des Services Web</td><td>83</td></tr><tr><td>4.3.2</td><td>Framework à base de broker</td><td>84</td></tr><tr><td>4.3.3</td><td>Algorithmes de sélection de composition de services avec des contraintes QdS</td><td>90</td></tr><tr><td>4.4</td><td>Conclusion</td><td>94</td></tr><tr><td><b>II</b></td><td><b>Proposition, Contributions et Expérimentations</b></td><td><b>99</b></td></tr><tr><td><b>5</b></td><td><b>Un Méta-Framework stratifié de médiation de Services Web sémantiquement hétérogènes</b></td><td><b>101</b></td></tr><tr><td>5.1</td><td>Cadre Conceptuel du Méta-Framework</td><td>102</td></tr><tr><td>5.1.1</td><td>Le niveau ressource</td><td>103</td></tr><tr><td>5.1.2</td><td>Le niveau description</td><td>104</td></tr><tr><td>5.1.3</td><td>Le niveau ontologique</td><td>105</td></tr><tr><td>5.1.4</td><td>Le niveau inférentiel</td><td>108</td></tr></tbody></table>
TABLE DES MATIÈRES

<table><tr><td>5.1.5</td><td>Le niveau processus</td><td>108</td></tr><tr><td>5.2</td><td>Un Modèle unifié pour la description de SW</td><td>109</td></tr><tr><td>5.3</td><td>Méta-Carte Ontologique</td><td>114</td></tr><tr><td>5.3.1</td><td>Le cadre de référence ontologique</td><td>117</td></tr><tr><td>5.3.2</td><td>Ontologies et représentation des connaissances</td><td>118</td></tr><tr><td>5.3.3</td><td>Le modèle conceptuel de BIOMED</td><td>118</td></tr><tr><td>5.4</td><td>Annotations sémantiques pour la sémantisation de SW</td><td>121</td></tr><tr><td>5.5</td><td>Une sémantique axiomatique comme fondement du modèle inférentiel</td><td>123</td></tr><tr><td>5.5.1</td><td>La relaxation assertionnelle (au niveau des instances)</td><td>124</td></tr><tr><td>5.5.2</td><td>La relaxation par généralisation et par spécialisation</td><td>125</td></tr><tr><td>5.5.3</td><td>La relaxation fonctionnelle</td><td>126</td></tr><tr><td>5.5.4</td><td>La relaxation fonctionnelle inverse</td><td>127</td></tr><tr><td>5.6</td><td>Conclusion</td><td>128</td></tr><tr><td>6</td><td>La découverte de Services Web dans BioMed</td><td>131</td></tr><tr><td>6.1</td><td>Introduction</td><td>131</td></tr><tr><td>6.2</td><td>Formalisation du problème de découverte</td><td>132</td></tr><tr><td>6.2.1</td><td>Appariement fonctionnel</td><td>133</td></tr><tr><td>6.2.2</td><td>Appariement fonctionnel et non fonctionnel</td><td>137</td></tr><tr><td>6.3</td><td>La solution BIOMED pour la découverte de services Web</td><td>138</td></tr><tr><td>6.3.1</td><td>Phase de l'appariement fonctionnel</td><td>139</td></tr><tr><td>6.3.2</td><td>Phase de sélection et de classement des services</td><td>140</td></tr><tr><td>6.4</td><td>Opérationnalisation du méta-framework BIOMED</td><td>143</td></tr><tr><td>6.4.1</td><td>Fondements de base</td><td>143</td></tr><tr><td>6.4.2</td><td>Le méta-service Web déductif dans BIOMED</td><td>145</td></tr><tr><td>6.4.3</td><td>Sémantique formelle</td><td>147</td></tr><tr><td>6.5</td><td>Découverte de services Web en bioinformatique</td><td>148</td></tr><tr><td>6.5.1</td><td>Le projet BioMoby</td><td>148</td></tr><tr><td>6.5.2</td><td>Un scénario de découverte dans BioMoby</td><td>150</td></tr><tr><td>6.6</td><td>Expérimentations et Résultats</td><td>153</td></tr><tr><td>6.6.1</td><td>Catalogue de ressources</td><td>154</td></tr><tr><td>6.6.2</td><td>L'implémentation du méta-service Web déductif dans BIOMED</td><td>157</td></tr><tr><td>6.6.3</td><td>Résultats des expérimentations</td><td>163</td></tr><tr><td>6.7</td><td>Conclusion</td><td>167</td></tr><tr><td>7</td><td>La composition de Services Web dans BioMed</td><td>169</td></tr><tr><td>7.1</td><td>Introduction</td><td>169</td></tr><tr><td>7.2</td><td>Composabilité fonctionnelle</td><td>170</td></tr></table>
TABLE DES MATIÈRES

<table><tr><td>7.2.1 Axiomatique inférant une dépendance logique</td><td>171</td></tr><tr><td>7.2.2 Mesures de similarité inférant une composabilité empirique</td><td>172</td></tr><tr><td>7.3 Composabilité non fonctionnelle et Sélection des meilleurs plans</td><td>178</td></tr><tr><td>7.3.1 Approche globale</td><td>179</td></tr><tr><td>7.3.2 Approche locale</td><td>183</td></tr><tr><td>7.4 Conclusion</td><td>188</td></tr><tr><td>Conclusion Générale et Perspectives</td><td>191</td></tr><tr><td>Bibliographie</td><td>193</td></tr></table>
# Liste des tableaux

<table><tr><td>2.1</td><td>Comparatif des frameworks de description sémantique de services Web</td><td>41</td></tr><tr><td>3.1</td><td>Définition des degrés d'appariement</td><td>58</td></tr><tr><td>3.2</td><td>Comparaison des approches de découverte de services Web (1)</td><td>69</td></tr><tr><td>3.3</td><td>Comparaison des approches de découverte de services Web</td><td>70</td></tr><tr><td>4.1</td><td>Agrégation des paramètres QoS dans un patron de composition</td><td>87</td></tr><tr><td>4.2</td><td>Synthèse des évaluations des Approches de Composition des services orienté QoS selon [MM10] (1)</td><td>95</td></tr><tr><td>4.3</td><td>Synthèse des évaluations des Approches de Composition des services orienté QoS selon [MM10] (2)</td><td>96</td></tr><tr><td>6.1</td><td>Skyline de trois services</td><td>141</td></tr><tr><td>6.2</td><td>Méta-prédicats Extensionnels et Intensionnels du formalisme DOB</td><td>144</td></tr><tr><td>6.3</td><td>Fragment de l'ontologie GALEN traduite en DOB</td><td>145</td></tr><tr><td>6.4</td><td>Méta-prédicats extensionnels du méta-service Web déductif BIOMED</td><td>146</td></tr><tr><td>6.5</td><td>Méta-Prédicats Intensionnels du Méta-Service Déductif BIOMED</td><td>147</td></tr><tr><td>6.6</td><td>Solutions des requêtes avec et sans l'utilisation de techniques de raisonnement</td><td>153</td></tr><tr><td>6.7</td><td>Les services sélectionnés par requête et par degré d'appariement</td><td>154</td></tr><tr><td>7.1</td><td>L'ensemble des services sélectionnés</td><td>172</td></tr><tr><td>7.2</td><td>Définitions de quatre patrons de composition</td><td>172</td></tr><tr><td>7.3</td><td>Ensemble des différents plans de composition</td><td>174</td></tr><tr><td>7.4</td><td>Agrégation des paramètres QoS dans un patron de composition</td><td>179</td></tr><tr><td>7.5</td><td>Les services sélectionnés pour le workflow de l'analyse phylogénétique</td><td>179</td></tr></table>
LISTE DES TABLEAUX
Table des figures

<table><tr><td>1.1</td><td>Médiation de ressources sur le Web</td><td>10</td></tr><tr><td>1.2</td><td>Problématique de la médiation sémantique de services Web</td><td>15</td></tr><tr><td>2.1</td><td>Les services Web sémantiques se situent entre deux problématiques liées au Web : L'interopérabilité et l'annotation sémantique des ressources</td><td>24</td></tr><tr><td>2.2</td><td>Vue globale de l'ontologie de service OWL-S</td><td>26</td></tr><tr><td>2.3</td><td>Vue conceptuelle de la classe ServiceProfile</td><td>27</td></tr><tr><td>2.4</td><td>Vue conceptuelle de la classe ServiceModel</td><td>27</td></tr><tr><td>2.5</td><td>Relation entre OWL-S et WSDL</td><td>28</td></tr><tr><td>2.6</td><td>Architecture du framework WSMF</td><td>29</td></tr><tr><td>2.7</td><td>Vue globale de l'ontologie WSMO</td><td>30</td></tr><tr><td>2.8</td><td>Différentes variantes du langage WSML</td><td>31</td></tr><tr><td>2.9</td><td>Cycle de vie d'un service Web sémantique et les différentes technologies proposées dans le cadre de METEOR-S</td><td>33</td></tr><tr><td>2.10</td><td>Les différents composants de METEOR-S</td><td>33</td></tr><tr><td>2.11</td><td>L'architecture de METEOR-S</td><td>35</td></tr><tr><td>2.12</td><td>Les annotations SAWSDL</td><td>37</td></tr><tr><td>2.13</td><td>Extrait de l'ontologie weather-ont, illustrant la classe WeatherObservation.</td><td>37</td></tr><tr><td>2.14</td><td>Annotation sémantique de l'élément type du service GlobalWeather.</td><td>38</td></tr><tr><td>2.15</td><td>Architecture de IRS III</td><td>39</td></tr><tr><td>3.1</td><td>Survol des langages standards de services Web</td><td>47</td></tr><tr><td>3.2</td><td>Les entités composant un annuaire UDDI</td><td>48</td></tr><tr><td>3.3</td><td>L'interface d'accueil du Projet QWSdataset</td><td>50</td></tr><tr><td>3.4</td><td>Exemple de recherche dans QWSdataset</td><td>50</td></tr><tr><td>3.5</td><td>L'interface d'accueil du portail Seekda.</td><td>52</td></tr><tr><td>3.6</td><td>La syntaxe d'une requête iRDQL</td><td>55</td></tr><tr><td>3.7</td><td>Exemple d'une ontologie du domaine biomédical</td><td>56</td></tr><tr><td>3.8</td><td>Exemples illustrant les différents degrés d'appariement dans une approche de découverte basée sur la logique</td><td>56</td></tr></table>
TABLE DES FIGURES

<table>
  <tbody>
    <tr>
      <td>3.9</td>
      <td>La définition de l'axiome isShipped en WSML</td>
      <td>60</td>
    </tr>
    <tr>
      <td>3.10</td>
      <td>Exemple de postcondition en WSML</td>
      <td>60</td>
    </tr>
    <tr>
      <td>3.11</td>
      <td>Architecture du framework COCOON GLUE</td>
      <td>61</td>
    </tr>
    <tr>
      <td>3.12</td>
      <td>Classification des approches de découverte</td>
      <td>66</td>
    </tr>
    <tr>
      <td>4.1</td>
      <td>Classification des principaux travaux de composition de services [Cha07]</td>
      <td>74</td>
    </tr>
    <tr>
      <td>4.2</td>
      <td>Langages de définition d'orchestration et de chorégraphie par dates de publication</td>
      <td>75</td>
    </tr>
    <tr>
      <td>4.3</td>
      <td>Cadre général d'un système de composition automatique de services Web [RS03]</td>
      <td>76</td>
    </tr>
    <tr>
      <td>4.4</td>
      <td>Processus général de composition à base de synthèse de programmes</td>
      <td>82</td>
    </tr>
    <tr>
      <td>4.5</td>
      <td>Architecture globale du framework à base de broker</td>
      <td>85</td>
    </tr>
    <tr>
      <td>4.6</td>
      <td>Composition orientée QdS de services Web</td>
      <td>88</td>
    </tr>
    <tr>
      <td>4.7</td>
      <td>Les six patrons de composition</td>
      <td>88</td>
    </tr>
    <tr>
      <td>4.8</td>
      <td>Un exemple de service Composite</td>
      <td>89</td>
    </tr>
    <tr>
      <td>4.9</td>
      <td>synthèse des évaluations des plateformes [Bal08]. Dans ce tableau, les cases vides représentent des fonctionnalités n'ayant pas été prises en compte par le système. Dans les autres cas, les travaux ont été jugés selon une notation comportant trois niveaux croissants : "-", "±", "+".</td>
      <td>94</td>
    </tr>
    <tr>
      <td>5.1</td>
      <td>Illustration du niveau ontologique du méta-Framework BioMed</td>
      <td>107</td>
    </tr>
    <tr>
      <td>5.2</td>
      <td>Différents niveaux de stratification du méta-framework BIOMED</td>
      <td>110</td>
    </tr>
    <tr>
      <td>5.3</td>
      <td>Mappings entre le modèle unifié de BIOMED et le méta-modèle de l'ontologie de profil OWL-S</td>
      <td>112</td>
    </tr>
    <tr>
      <td>5.4</td>
      <td>Mappings entre le modèle unifié BIOMED et le méta-modèle du framework WSMO</td>
      <td>113</td>
    </tr>
    <tr>
      <td>5.5</td>
      <td>Modèle RDF-S de descriptions canoniques</td>
      <td>115</td>
    </tr>
    <tr>
      <td>5.6</td>
      <td>La méta-carte ontologique</td>
      <td>121</td>
    </tr>
    <tr>
      <td>5.7</td>
      <td>Graphe de services annotés</td>
      <td>124</td>
    </tr>
    <tr>
      <td>5.8</td>
      <td>Arbre Ontologique du concept Genomic Sequence</td>
      <td>125</td>
    </tr>
    <tr>
      <td>5.9</td>
      <td>Graphe annoté du service Blastn</td>
      <td>127</td>
    </tr>
    <tr>
      <td>5.10</td>
      <td>Illustration de la relaxation fonctionnelle</td>
      <td>128</td>
    </tr>
    <tr>
      <td>5.11</td>
      <td>Illustration de la relaxation fonctionnelle et fonctionnelle inverse</td>
      <td>129</td>
    </tr>
    <tr>
      <td>6.1</td>
      <td>Exemples de graphes de requête et de service</td>
      <td>135</td>
    </tr>
    <tr>
      <td>6.2</td>
      <td>Graphe annoté du service S<sub>1</sub></td>
      <td>136</td>
    </tr>
    <tr>
      <td>6.3</td>
      <td>Ensemble des sous-espaces multi-dimensionnels</td>
      <td>142</td>
    </tr>
    <tr>
      <td>6.4</td>
      <td>Fragment de la hiérarchie Service Type dans BioMoby</td>
      <td>149</td>
    </tr>
    <tr>
      <td>6.5</td>
      <td>Zoom sur la catégorie Analyse de l'ontologie service type dans BioMoby [LA10]</td>
      <td>150</td>
    </tr>
  </tbody>
</table>
TABLE DES FIGURES

<table><tr><td>6.6</td><td>Zoom sur le type text Simple de l'ontologie Datatype Ontology dans Bio-Moby [LA10]</td><td>151</td></tr><tr><td>6.7</td><td>Interface de l'API BioMoby</td><td>151</td></tr><tr><td>6.8</td><td>Fonctionnement Général de la composante de découverte dans BIOMED</td><td>155</td></tr><tr><td>6.9</td><td>Architecture de la composante de découverte dans BIOMED</td><td>155</td></tr><tr><td>6.10</td><td>Extrait de l'arbre ontologique Mesh</td><td>156</td></tr><tr><td>6.11</td><td>Modélisation du concept Protéine au niveau de l'ontologie PO</td><td>157</td></tr><tr><td>6.12</td><td>Résultats de la première batterie d'expérimentation</td><td>164</td></tr><tr><td>6.13</td><td>Résultats de la seconde expérimentation</td><td>165</td></tr><tr><td>6.14</td><td>Taille du skyline pour les trente requêtes définies pour les expérimentations</td><td>166</td></tr><tr><td>7.1</td><td>Le Workflow scientifique de l'étude phylogénétique et les différentes alternatives de solutions de composition</td><td>173</td></tr><tr><td>7.2</td><td>Les quatre patrons choisis : Sequential, AndSplit, AndJoin et Loop</td><td>173</td></tr><tr><td>7.3</td><td>Exemple de Skyline de Plan de composition</td><td>180</td></tr><tr><td>7.4</td><td>Skyline de différents types de datasets</td><td>180</td></tr><tr><td>7.5</td><td>Clusterisation hiérarchique d'un skyline de services</td><td>181</td></tr><tr><td>7.6</td><td>Différents niveaux de qualité de service</td><td>185</td></tr></table>
# Intoduction Générale

Le contexte général de cette thèse est celui de l'**interopérabilité des systèmes d'information**. La problématique de l'interopérabilité est cruciale surtout avec l'émergence d'un besoin accru en termes de partage, d'interopération et de réutilisation de ressources au sein de plusieurs communautés d'utilisateurs qui sont elles-mêmes hétérogènes. Nous nous sommes particulièrement intéressés au problème de l'**interopérabilité sémantique** [APB06, ABP06a, ABP06b]. En l'occurrence, l'**Architecture Orientée Services (AOS)** est une plate-forme d'interopérabiltié qui se base sur la notion de **services Web** pour assurer une communication inter et intra-communautaire faiblement couplée. Les technologies développées autour des services Web permettent de masquer les problèmes d'hétérogénéité liés à la disparité des plate-formes, des protocoles de communication ou de mode de représentation des données et de leur sémantique. La **médiation** représente le pré-requis essentiel à l'interopérabilité des systèmes ayant pour objectif de garantir que toutes les parties interprètent correctement les informations échangées. Les ontologies conçues comme des **spécifications formelles et explicites d'une conceptualisation partagée** représentent l'outil incontournable assurant une médiation sémantique et par conséquent une interopérabilité sémantique. La médiation sémantique de services Web est donc au centre de nos travaux de thèse [AL07].

La médiation sémantique de Services Web (SW) a pour objectif d'exploiter la sémantique explicite des services afin de faciliter leur découverte, leur sélection, leur invocation et leur composition en *workflows* par des utilisateurs finals. La sémantisation des descriptions de services est une phase nécessaire ayant pour objectif d'éliciter la sémantique des services Web. Une description sémantisée de services Web comprend un ensemble de *primitives* descriptives (déclaratives) permettant de décrire les propriétés pertinentes caractérisant le service et d'un ensemble d'annotations sémantiques décrivant le *lien* entre les primitives descriptives et un ensemble de concepts définis formellement au niveau d'une ontologie du domaine. A ce niveau, nous distinguons deux types d'hétérogénéité sémantique qui peuvent exister au niveau des descriptions sémantisées de services Web, à savoir : l'hétérogénéité des primitives descriptives liée au framework adopté pour déclarer la sémantique du service pouvant être par exemple l'ontologie OWL-S (Ontology Web Language for Web Service) [MBM+07] ou le framework WSMO (Web service Modeling Service) [RKL+05a] et l'hétérogénéité des annotations sémantiques dans le cas où elles sont définies en se basant sur différentes ontologies du domaine.

Pour répondre à cette problématique, nous proposons dans cette thèse un méta-framework stratifié de médiation sémantique de services Web que nous nommons *BioMed* (*BioInformatic Mediation Meta-Framework*) permet-
tant une découverte et une composition dynamiques de services Web dans
le domaine bioinformatique. Pour ce faire, le méta-framework intègre une
triple dimension sémantique à la fois : descriptive, ontologique et inférentielle
déductive.

La première dimension permet de déclarer explicitement les propriétés sémantiques pertinentes d'un service Web. C'est dans ce sens que nous proposons un modèle d'alignement sémantique pour pallier l'hétérogénéité des primitives descriptives des trois principaux frameworks de descriptions sémantisées de services Web à savoir : OWL-S [MBM+07], WSMO [RKL+05a] et SAWSDL[KVBF07]. Nous proposons un modèle d'unification vers lequel les modèles de descriptions cités sont mappés. Nous retenons un ensemble de primitives descriptives permettant d'expliciter un ensemble de propriétés fonctionnelles (PF) et non fonctionnelles (PNF) d'un service. Les PF considérées dans le modèle d'unification constituent la signature fonctionnelle du service courant, à savoir l'ensemble des entrées, des sorties, des pré-conditions (les conditions devant être vérifiées par les entrées) et des post-conditions (les conditions devant être vérifiées par les sorties du service). Au niveau du méta-framework BIOMED, les PNF qui permettent de décrire la qualité d'un service (QdS) se déclinent en deux catégories : celles qui sont indépendantes du domaine du service comme le temps de réponse, le débit, la disponibilité ou la fiabilité et celles qui sont spécifiques au domaine du service en l'occurrence la complétude et le degré de confiance d'un service Web dans le domaine bioinformatique. Nous argumentons le choix de ces descriptions au niveau de cette thèse. Une des particularités du modèle proposé est qu'il permet d'intégrer dans une même description les aspects fonctionnels et non fonctionnels d'un service, ce qui n'est pas le cas de la plupart des frameworks de description de SW. L'intérêt de ce choix est de couvrir par cette approche de découverte et de composition les deux types de propriétés.

La dimension ontologique dans BIOMED est représentée par une **méta-carte onto-logique** du domaine bioinformatique modélisant un réseau sémantique des concepts clés du domaine visé et réconciliant les concepts et leurs instances des différentes ontologies du domaine. La méta-carte se présente comme une *ontologie régionale* [Bac00] modélisant la sémantique partagée du domaine visé et valable seulement localement. La définition de la méta-carte est une tâche de modélisation menée à partir de l'expression linguistique des connaissances. La modélisation est effectuée en trois étapes, correspondant à trois engagements : un engagement sémantique, normalisant le sens linguistique des concepts, un engagement ontologique fixant leur sens formel et offrant une sémantique formelle pour les primitives non logiques et enfin un engagement computationnel déterminant leur exploitation effective. La méta-carte conçue représente le soubassement de l'annotation sémantique de services Web et du raisonnement déductif.

Enfin, la dimension inférentielle déductive du framework est décrite par le biais d'une
sémantique axiomatique formalisant les différents types de raisonnement déductif per-
mettant d'exploiter les *connaissances descriptives* émanant du modèle d'unification, les
*connaissances ontologiques* émanant de la méta-carte ontologique et des annotations sémان-
tiques générées sur la base de la méta-carte. En se basant sur les trois types de connais-
sances, le raisonnement déductif permet de relaxer les propriétés des services afin d'élargir
leur couverture sémantique.

L'approche de découverte proposée au niveau du framework BIOMED comporte deux phases :

- une **phase de sélection** de services atomiques satisfaisant les contraintes fonctionnelles d'une requête de découverte étendue (i.e. couvrant les propriétés fonctionnelles que les propriétés non fonctionnelles, notamment les attributs de la QdS). Cette phase repose sur le moteur inférentiel pour relaxer les propriétés des services et matcher au mieux les contraintes fonctionnelles de la requête. Différents degrés d'appariement approximatifs sont identifiés selon l'opérateur de relaxation utilisé.

- une **phase de classement** permettant de classer l'ensemble des services sélectionnés sur la base de leurs propriétés non fonctionnelles. La phase de classement permet de trier l'espace des solutions possibles en combinant deux techniques : celle de l'opérateur *skyline* et celle du *top-k*. L'algorithme WSTKF proposé dans [GVRA09, GVRA10] permet d'identifier les top-k services de l'opérateur *skyline* de services satisfaisant les contraintes non fonctionnelles d'une requête de découverte.

Les expérimentations menées dans le cadre de l'évaluation de l'approche de découverte montrent l'impact du modèle référentiel sur l'espace des solutions possibles d'une requête de découverte, cet espace de solutions est nettement plus large en terme de nombre de services atomiques que celui du mode sans raisonnement. Les expérimentations montrent aussi l'intérêt des techniques de classement pour déceler les meilleures solutions de l'espace sur la base des PNF des services.

Dans le cas où le moteur de découverte de BIOMED ne retourne pas de services atomiques répondant à la requête, c'est la composante de composition de services qui est sollicitée afin de déduire un ou plusieurs plan(s) de composition satisfaisant une requête étendue. Le moteur de composition permet de sélectionner les services Web vérifiant les critères de composabilité exacte ou approchée. L'axiomatique proposée a été enrichie par deux nouveaux axiomes permettant d'inférer une composabilité fonctionnelle entre services. De plus, nous proposons d'étendre les techniques de relaxation basées sur les raisonnement déductif par l'utilisation de techniques de similarité sémantique entre concepts, l'objectif étant de garantir la réussite de l'exécution du plan de composition. Un graphe de composition est généré pouvant contenir plusieurs plans possibles de composition de services ayant chacun une valeur agrégée des attributs des propriétés non fonctionnelles, i.e., où chaque service atomique composant est affecté de son vecteur QdS. Cette étape est suivie d'un processus de sélection des services composites dits admissibles (i.e., vérifiant les contraintes de qualité de la requête du client) qui sera elle-même suivie d'une étape de classement. Deux alternatives de sélection et de classement des plans de composition admissibles sont proposées dans cette thèse :

- La première consiste à appliquer la même technique utilisée dans la découverte à savoir une combinaison de l'opérateur *skyline* et de la technique de classement *top-k*.

- La seconde consiste à sélectionner les plans de composition dont les services atomiques (composant le plan) vérifient toutes les contraintes QdS de la requête de l'utilisateur. Cette sélection s'effectue après que les valeurs des attributs de qualité de ces services atomiques aient été normalisées. Une fois les plans de composition
admissibles sélectionnés, une étape de classement de ces derniers est effectuée sur la base de la valeur normalisée de la fonction d'utilité globale de ces plans.

## Organisation du rapport

Le présent mémoire de thèse est organisé en deux parties comme suit :

La première partie de cette thèse est consacrée à la revue bibliographique des principaux travaux de recherche portant sur la découverte et la composition des services Web dans le contexte du *Web sémantique*. La première partie comprend 4 chapitres répartis comme suit :

Dans le premier chapitre (chapitre introductif), nous présentons le contexte scientifique de nos travaux de thèse. Nous présentons une vue d'ensemble des différents domaines de recherche couverts par notre problématique pour, enfin, se pencher sur les questions scientifiques abordées.

Dans un le deuxième chapitre, nous présentons les services Web sémantiques comme l'adaptation des services Web au contexte du Web sémantique. Différents approches de descriptions sont proposées autour de ce nouveau concept. Nous présentons un état de l'art assez exhaustif de ces approches et nous concluons par un comparatif des différentes approches présentées.

Dans le troisième chapitre, nous présentons un certain nombre de travaux portant sur la découverte de services Web en couvrant celles qui adoptent des techniques de recherche d'information, celles qui se basent sur le raisonnement logique et celles qui combinent les deux. Nous dressons également un comparatif des différents approches de découverte présentées dans le chapitre.

Dans le quatrième chapitre, nous présentons une large panoplie de travaux développés autour de la composition de services. Nous détaillons les différentes approches proposées dans plusieurs domaines principalement celui de l'Intelligence Artificielle exploitant les approches de planification ou les systèmes multi-agents.

La seconde partie de cette thèse est consacrée à la présentation du méta-framework BIOMED et ses différentes composantes. Le premier chapitre de la seconde partie (chapitre cinq) est consacré à une présentation du méta-framework BIOMED en détaillant les différents niveaux de stratification. Nous présentons au niveau de ce chapitre trois de nos propositions à savoir un modèle sémantique d'unification permettant d'exprimer des connaissances descriptives de services Web, une *méta-carte ontologique* du domaine bioinformatique et un modèle inférentiel permettant d'exploiter deux types de connaissances : les connaissances descriptives et les annotations sémantiques définies sur la base de l'ontologie noyau.

Le chapitre six est consacré à la description de l'approche de découverte proposée et reposant sur les propositions présentées dans le chapitre précédent, nous présentons également une opérationnalisation du framework BIOMED que nous nommons méta-service déductif [ALVR07, ALV08b]. Nous décrivons aussi les résultats des expérimentations menées dans ce contexte.

Au niveau du chapitre sept, nous présentons une approche de composition permettant
de déduire un ou plusieurs plans de services composables étant donné le besoin d'un client exprimé en termes de contraintes fonctionnelles et non fonctionnelles et nous étudions deux approches possibles permettant de sélectionner et classer les plans de composition entre eux en se basant sur leur critères QdS.

Une conclusion générale fera une synthèse du présent travail, exposera ses limites et proposera de nouvelles perspectives de recherche.

Après la bibliographie, nous présentons deux annexes : l'annexe A est consacrée aux ontologies fondationnelles alors que l'annexe B traite de quelques méthodes de la décision multicritère. Enfin, le document se conclut avec deux glossaires l'un consacré aux services Web et l'autre à la génétique moléculaire.
# Chapitre 1

# Position du Problème

Ce chapitre est une introduction à nos travaux de thèse. Nous y précisons le contexte scientifique dans lequel nous avons mené nos recherches, puis nous décrivons notre problématique en précisant notre contribution ainsi que les domaines de recherche abordés.

## Sommaire

<table><tr><td>1.1 Contexte de la thèse</td><td>7</td></tr><tr><td>1.2 Domaines de recherche</td><td>8</td></tr><tr><td>1.2.1 L'interopérabilité des systèmes d'information</td><td>8</td></tr><tr><td>1.2.2 Notion de médiation</td><td>9</td></tr><tr><td>1.2.3 L'ingénierie Ontologique</td><td>10</td></tr><tr><td>1.2.4 La bioinformatique</td><td>12</td></tr><tr><td>1.2.5 Décision multi-critère multidimensionnelle</td><td>12</td></tr><tr><td>1.3 Problématique</td><td>13</td></tr><tr><td>1.4 Contributions de la thèse</td><td>16</td></tr></table>

## 1.1 Contexte de la thèse

Depuis l'invention du World Wide Web par Tim Berners-Lee et Robert Cailliau<fnref n="1" /> et le développement des technologies associées, l'Internet et le Web sont devenus bien plus qu'un simple instrument de partage d'informations. La manière dont les systèmes d'information interagissent au travers les réseaux, et la façon dont les applications sont développées avant l'avènement du Web ont été complètement remises en cause. En effet, l'Internet fournit aux organisations un moyen universel pour partager leurs ressources et savoir-faire, pour combiner, intégrer, agréger leurs applications afin d'offrir de nouvelles applications à valeur ajoutée, sans pour autant perdre de leur autonomie. Le concept de service Web, basé sur les standards de l'Internet et du Web notamment la boîte à outils XML<fnref n="2" />, vise à promouvoir la réutilisation de certains composants logiciels développés au sein des organisations. Dans l'objectif de réutiliser un service, ce dernier devrait être recherché et sélectionné<fnref n="3" /> par

<footnote n="1">1. Au sein du CERN à Genève, en 1989.</footnote>

<footnote n="2">2. Extensible Markup Language, http://www.w3.org/XML/</footnote>

<footnote n="3">3. Il s'agit du processus de découverte d'un service Web.</footnote>
des clients ayant des besoins divers et également interagir avec d'autres services provenant d'autres organisations dans le contexte d'une composition pour créer un service composé/composé correspondant à la chorégraphie ou l'orchestration d'un ensemble de services atomiques (élémentaires) et/ou composites (composés). Ayant été créés pour favoriser le partage, l'interoperation et l'interaction faiblement couplée entre plusieurs organisations, les services Web sont conçus et implantés indépendamment les uns des autres. Cela a donné lieu à une hétérogénéité qui pose divers problèmes au moment de la découverte du service et de sa mise en interaction avec d'autres services, i.e., lors d'une composition de services. Nous identifions dans cette thèse les différents types d'hétérogénéité existants dans le contexte des services Web et proposons des solutions pour les pallier.

Un des domaines d'application concernés par les problèmes de découverte et de composition de services Web est le domaine de la bioinformatique. Dans ce domaine, de nombreux services sont conçus et créés pour uniformiser l'accès à des sources d'informations gigantesques et à de nombreux outils scientifiques. Cependant, ces services (et par conséquent les ressources qu'ils encapsulent) sont caractérisés par une forte hétérogénéité qui s'illustre à différents niveaux, nous retenons dans cette thèse les deux niveaux : *syntactique* et *sémantique*.

C'est en nous intéressant aux problématiques de découverte et de composition de services que nous avons conçu un méta-framework de médiation de services Web dont le principal objectif est de faciliter la découverte des services pertinents aux besoins de la communauté de la bioinformatique et de guider ses membres dans la composition de ces services en *workflows* lorsqu'aucun service atomique ne satisfait leurs besoins.

La thématique traitée dans cette thèse se situe à la croisée de quatre domaines de recherche majeurs : l'interopérabilité des systèmes d'information, l'ingénierie ontologique, la bioinformatique et l'analyse multicritère. Comme approche d'operérabilité de systèmes d'information, nous nous sommes particulièrement intéressés aux technologies de services Web en étudiant leur utilisation dans un domaine scientifique qu'est la bioinformatique. Nous nous sommes également intéressés à une branche de l'ingénierie de connaissances [SBF98], celle de l'ingénierie ontologique, le tout intéressant la communauté bioinformatique qui connaît depuis le séquençage du génome un regain d'intérêt incomparable.

## 1.2 Domaines de recherche

Dans cette section, nous décrivons les différents domaines de recherche abordés et qui sont principalement ceux de l'intéropérabilité des Systèmes d'Informations, de l'ingénierie ontologique, la bioinformatique et de la décision multi-critère multidimensionnelle.

### 1.2.1 L'interopérabilité des systèmes d'information

Les dernières décennies ont été marquées par l'émergence de nouvelles applications nécessitant un besoin accru de partage et d'échange d'informations distribuées entre différentes applications et ressources sur le Web. C'est le cas des applications du e-commerce, du gouvernement, du e-learning, de la bioinformatique et d'autres. Faciliter le partage et la collaboration entre différents systèmes d'information ne peut se réaliser que par le biais
d'une plate-forme d'intéropérabilité. L'interopérabilité des SI consiste en leur capacité à échanger des données et des fonctionnalités entre eux sans ambiguïté dans le but d'opérer ensemble 4.

**Ouksel and Sheth**, dans [OS99], distinguent trois niveaux d'interopérabilité : syntactique et sémantique qui correspondent aux différents types d'hétérogénéité retrouvés dans les systèmes d'information. L'hétérogénéité technique est celle liée à l'hétérogénéité des plate-formes logicielles et matérielles ainsi qu'aux protocoles de communication, l'hétérogénéité syntactique concerne les conflits des formats et des modèles de représentation de données, l'hétérogénéité sémantique résulte des discordances d'interprétation d'une valeur, d'un terme, d'un concept ou d'une conceptualisation du monde réel. La mise en oeuvre d'une plate-forme d'operability repose avant tout sur le fait que plusieurs organisations s'accordent sur un certain nombre de choix techniques, syntactiques et structurels afin de garantir un échange réussi des données et services, par exemple, un accord sur le protocole de transmission des messages, sur le format et type de représentation et données échangées. L'operability sémantique garantit que les données et les services échangés sont interprétés correctement par les différents parties impliquées dans l'échange.

Cette évolution des SI a entraîné le développement de nouveaux standards et paradigmes facilitant l'operability des systèmes. Des standards comme CORBA 5[GGM99], DCOM 6[HK97] et RMI 7[Fro07] ont été créés dans le but de faciliter l'interconnexion entre applications distantes, indépendamment des plates-formes et des langages utilisés et donc garantir une operability aux niveaux technique et syntactique. Cependant, ces standards, de par leur complexité et leur aspect fortement couplé, sont en fait incapables de passer à l'échelle, ils restent donc, le plus souvent, confinés à l'intérieur des organisations et leurs réseaux. Plus récemment, l'Architecture Orientée Service (Service-Oriented Architecture, SOA) se présente comme un paradigme architectural qui permet aux concepteurs de systèmes d'information d'organiser un ensemble de logiciels isolés en un ensemble de services Web interconnectés, accessibles par le biais d'une interface et de protocoles standards [Pap03]. Dans cette thèse, nous situons la notion de médiation au centre des approches d'operability. Nous discutons cette notion dans ce qui suit.

### 1.2.2 Notion de médiation

Le travail de Wiederhold [Wie92] est considéré comme le travail fondateur autour de la notion de médiation, bien que des logiciels ad hoc existaient préalablement. Le besoin de médiation est né de l'explosion de la quantité de données accessibles sur les réseaux informatiques. La multiplication des sources de données a rendu impossible la gestion de l'ensemble des informations par un système monolithique. Pour pallier ce problème, Wiederhold avait proposé un modèle architectural où un module logiciel est chargé d'accéder à un ensemble de sources de données, tout en offrant aux clients l'illusion d'utiliser un unique système d'information. C'est dans ce sens que la médiation est considérée comme

<footnote n="4">4. Interoperability What is it and why should I want it. http://www.ariadne.ac.uk/issue24/interoperability/intro.html</footnote>

<footnote n="5">5. CORBA : Common Object Request Broker Architecture.</footnote>

<footnote n="6">6. DCOM : Distributed Component Object Model.</footnote>

<footnote n="7">7. RMI : Remote Method Invocation.</footnote>
<figure><img src="image_4.png" /><figcaption>FIGURE 1.1 – Médiation de ressources sur le Web</figcaption></figure>

une approche possible d'interopérabilité des systèmes.

Ce module logiciel est appelé médiateur ou intergiciel (middleware) et son existence est justifiée par deux caractéristiques des systèmes d'information.

- Le volume de données, empêche de traiter, d'exploiter ou de manipuler l'ensemble des informations simultanément. Il faut donc pouvoir appliquer une sélection sur celles-ci.

- La disparité empêche de regrouper l'ensemble des données pour offrir un système unique de sélection et de manipulation des informations. Il faut donc fournir des moyens de rendre les diverses sources de données interopérables.

La problématique reste la même lorsque les données et les sources de connaissances sont accessibles via des services Web. La médiation de services est censée permettre aux utilisateurs de découvrir et de sélectionner le service Web le plus adéquat à leur besoin et de composer un ensemble de services dans le cas où aucun service atomique ne répond au besoin de l'utilisateur.

### 1.2.3 L'ingénierie Ontologique

L'ingénierie des connaissances a connu depuis une quinzaine d'années un saut paradig-
matique avec l'émergence du concept 'ingénierie ontologique' et l'adoption de ce nouveau
paradigme. C'est le professeur Riichiro MIZOGUCHI 8 qui a suggéré le premier l'appel-

<footnote n="8">8. MIZOGUCHI Riichiro est professeur à l'Université d'Osaka et directeur du "Knowledge Systems Lab" de cette institution. Pionnier dans le domaine de l'ingénierie ontologique, il est celui qui l'a introduit dans le monde des systèmes tutoriels intelligents et des EIAH. Sa présentation au colloque Intelligent Tutoring Systems : ITS '96, intitulée "Task Ontology Design for Intelligent Educational/Training Systems" fait date à ce sujet. Il est l'auteur de nombreux articles et communications sur le thème de l'ingénierie ontologique pour les environnements de formation. Président de la "International AI in Education Society"</footnote>
lation Ingénierie Ontologique dès 1996 en ces termes «Une ontologie est un système de concepts fondamentaux, c'est-à-dire un système de connaissances qui constitue les connaissances d'arrière-plan d'une base de connaissances; une ontologie offre une conceptualisation du monde-cible ainsi qu'une base solide sur laquelle construire des bases de connaissances partageables, et plus largement utilisables qu'une base de connaissances conventionnelle.”

L'Ingénierie Ontologique (I.O.) a été précisément conçue en vue de pallier les difficultés rencontrées par les systèmes à base de connaissances (SBC) en leur apportant une élégante solution car les connaissances considérées par l'I.O. sont cumulables, partageables et révisables en raison des modifications qui éventuellement surviennent au niveau de l'environnement socio-éco-scientifico-technologique. En effet, l'I.O. se fonde sur une méta-modélisation formelle dans laquelle les seules connaissances dont on dispose sont de nature ontologique ou cognitive; l'objectif étant de générer à la fois des modèles de connaissances pour spécifier des problèmes dans des domaines spécifiques et des modèles inférentiels pour la résolution de ces problèmes.

Nous signalons aussi que la définition communément admise du concept "ontologie" dans le domaine de l'Intelligence Artificielle est celle énoncée par T. Gruber définissant l'ontologie comme une spécification explicite d'une conceptualisation [Gru93]. De ce point de vue, la construction d'une ontologie interviendrait après un travail de conceptualisation<fnref n="9" />. Cette démarche de conceptualisation consiste à identifier les connaissances spécifiques au domaine à représenter. Les travaux menés par N. Guarino permettent de définir cette notion de conceptualisation [Gua95]. Il s'agit, d'une part, de préciser la notion de domaine d'application ou de discours en distinguant parmi les entités peuplant un domaine, les individus et les propriétés, et, d'autre part, de préciser quelles sont leurs propriétés essentielles d'unicité et d'identité [Gua99].

La définition de Gruber a fait l'objet d'une précision de la part de B. Studer [SBF98] qui voit une ontologie comme la spécification formelle et explicite d'une conceptualisation partagée. Dans cette définition, il convient de mesurer la portée de chaque terme utilisé. Ainsi, le terme "spécification explicite" indique qu'une ontologie est un ensemble de concepts, de propriétés<fnref n="10" />, d'axiomes<fnref n="11" />, de fonctions et de contraintes explicitement définis. Le terme "formel" précise que cette conceptualisation doit pouvoir être comprise et interprétée par une machine à travers un langage formel et une sémantique associée. Le terme "partagé" précise l'aspect consensuel de la conceptualisation reflétant une certaine vision partagée du domaine. Ce qui suppose que l'on doit assurer une réutilisation de la formalisation choisie. Enfin, le terme "conceptualisation" implique également l'aspect intentionnel ou téléologique, lié à un objectif de réalisation.

De l'adoption des ontologies comme un "outil" de spécification des connaissances "locales" au sein d'une organisation, émane le besoin d'une médiation ontologique ayant pour objectif de réconcilier les sémantiques exprimées à travers différentes ontologies existantes

<footnote>de 2001 à 2003, il est président élu de la "Japanese Society for Artificial Intelligence".</footnote>

<footnote n="9">⁹. Une conceptualisation fait référence à un modèle abstrait qui sert à identifier les concepts pertinents au sein d'un univers de discours.</footnote>

<footnote n="10">¹⁰. Les propriétés sont des restrictions des concepts ou des relations sémantiques entre concepts.</footnote>

<footnote n="11">¹¹. Les axiomes d'une ontologie permettent de définir la sémantique des termes, leurs propriétés et toutes les contraintes quant à leur interprétation.</footnote>
sur le Web et donc de garantir l'interopérabilité sémantique. Un des domaines les plus concernés par l'ingénierie ontologique est le domaine bioinformatique. Dans ce domaine, plusieurs ontologies cohabitent, chacune offrant une vision partielle et subjective du domaine ou d'une portion du domaine (séquences, gènes, protéines, maladies, etc.). Elles ont été développées par des biologistes pour des fins spécifiques et consistent dans le cas le plus général, soit en une hiérarchie informelle, une taxinomie voire un thésaurus de concepts. Par ailleurs, nous notons que le développement d'ontologies dans ce domaine ne repose sur aucune méthodologie de développement d'ontologies et manque d'outils de formalisation et dans certains cas de clarté conceptuelle [SK05].

### 1.2.4 La bioinformatique

La bioinformatique est un champ de recherche multi-disciplinaire où travaillent de concert biologistes, informaticiens, mathématiciens et physiciens, dans le but de résoudre un problème scientifique posé par la biologie. Le terme bioinformatique peut également décrire (par abus de langage) toutes les applications informatiques résultantes de ces recherches. La bioinformatique est constituée par l'ensemble des concepts et des techniques nécessaires à l'interprétation de l'information génétique (séquences) et structurale (repliement 3D). La bioinformatique consiste à analyser, modéliser ou prédire les informations issues d'activités de recherche. Dans un sens encore plus étendu, on peut aussi inclure sous le concept de bioinformatique le développement d'outils de traitement de l'information basés sur des systèmes biologiques comme, par exemple, l'utilisation des propriétés combinatoires du code génétique pour la conception d'ordinateurs à ADN permettant de résoudre des problèmes algorithmiques complexes. Les principaux axes de recherche dans cette discipline est l'analyse de séquences, la modélisation moléculaire (en l'occurrence tridimensionnelle) et la construction d'arbres phylogénétiques.

### 1.2.5 Décision multi-critère multidimensionnelle

La problématique de cette thèse étant une approche de découverte et de composition de services Web sur la base d'un ensemble de besoins couvrant à la fois des propriétés fonctionnelles et des propriétés non fonctionnelles, la réponse aux préférences de l'usager en termes de qualité de service fait appel aux théories de la décision multicritère multidimensionnelle.

Les systèmes décisionnels comme dans la majorité des problèmes d'intelligence artificielle, des systèmes de recommandations, des outils de configuration etc. nécessitent des approches grâce auxquelles une capacité de prise décision est offerte comme solution en vue de permettre au décideur, au final, d'assumer des actions potentielles.

Le but de la prise de décision est d'entreprendre l'action qui implique le meilleur résultat (i.e. le résultat le plus satisfaisant, le plus préférable). Les actions et les préférences sont représentées souvent par un ensemble de contraintes sur un ensemble de variables (attributs) décisionnelles. Dans de nombreux domaines d'application, l'ensemble des actions possibles et des décisions potentielles est fixe et dépend d'une dynamique bien établie. Les seuls composants variables dans le processus de décision sont les préférences de l'utilisateur qui doivent être prises en compte lors de la prise de décision. Les fonctions d'utilité
constituent un outil idéal pour la représentation et le raisonnement sur les préférences
quantitatives de l'utilisateur. La représentation des préférences par une fonction d'utilité
est primordiale pour le succès de nombreuses applications en Intelligence Artificielle. Une
bonne fonction de préférence doit permettre de capturer des énoncés qui sont naturels,
simples et intuitifs pour l'utilisateur. Cependant, les fonctions d'utilité peuvent être très
difficiles à formuler et un effort considérable est requis de l'utilisateur.

L'annexe B de ce mémoire traite des méthodes d'analyse multicritère selon les deux
classes les méthodes exactes et les méthodes approchées. Dans le cadre des processus de
découverte et de composition de services, nous nous proposons d'utiliser des heuristiques
(des solutions approchées) pour contourner le caractère NP-difficile des problèmes induits
par la formalisation des méthodes exactes. Ces méthodes seront testées sur les critères
(attributs) non fonctionnels et notamment ceux relatifs à la Qualité de Service (QoS)
des services Web. Nous privilégierons pour la découverte de Services Web répondant à
des besoins en PNF, parmi les méthodes à base de la frontière de Pareto, celle basée
sur l'opérateur Skyline. Pour la partie composition, tout en adoptant l'opérateur Skyline,
nous proposons une alternative à cet opérateur soit une méthode non Pareto parmi de
nombreuses alternatives possibles.

1.3 Problématique

L'objectif de cette thèse est d'étudier les mécanismes nécessaires à la mise en oeuvre
d'un cadre de référence générique de médiation sémantique de services Web permettant
la découverte et la composition dynamiques de services dans un environnement ou-
vert dans lequel le nombre de services et leurs descriptions sont en évolution constante.
Cette médiation aura pour objectif de faciliter l'interopérabilité au sein des Architectures
Orientée Services (AOS) en respectant les deux principes suivants :

- Des interactions faiblement couplées entre les composants d'une architecture orientée services, en respectant l'autonomie de chaque participant qui offrent et requièrent (réutilisent) des services afin de satisfaire des besoins divers.

- Une forte médiation permettant aux participants d'invoquer différents services en sélectionnant ceux qui sont les plus appropriés à leurs besoins et en les composant dans des workflows.

Dans le contexte de cette thèse, nous nous situons dans le contexte des services Web
sémantiques. Ce concept se situe au croisement du paradigme du Web sémantique et
des technologies de services Web, visant à intégrer la sémantique du domaine<fnref n="12" /> dans la
description d'un service. Plusieurs facettes de la sémantique des services peuvent être
identifiées, nous distinguons les quatre facettes suivantes :

1. La facette *fonctionnelle* permettant de décrire l'interface du service en termes d'entrées, de sorties, préconditions et effets (IOPE);

2. La facette *téléologique* décrivant le but ou la tâche du service;

3. La facette *comportement* permettant de décrire l'aspect comportemental du service en terme d'opérations élémentaires;

<footnote n="12">12. modélisée par le biais d'une ontologie du domaine</footnote>
4. La facette *non fonctionnelle* décrivant des aspects liés à la Qualité Du Service (QdS) ou la sécurité.

Les approches existantes reposent sur les ontologies pour expliciter une ou plusieurs facettes<fnref n="13" /> de sa sémantique. A cet effet, nous distinguons différents types d'ontologies décrivant chacune des facettes : une *ontologie de domaine* pour décrire la facette fonctionnelle, une *ontologie de tâche* pour représenter la facette téléologique du service, une *ontologie de processus* pour décrire le comportement d'un service et une *ontologie de propriétés non fonctionnelles* pour la description des aspects non fonctionnels (notamment la qualité de service). L'utilisation de différents types d'ontologies ayant différents niveaux de granularité sémantique, différents champs de couverture sémantique et différents niveaux de formalisation donnent certainement lieu à des descriptions sémantiquement hétérogènes de services Web.

Ainsi, les principales questions auxquelles nous tentons de répondre dans cette thèse sont résumées comme suit :

- Comment exprimer la sémantique d'un service Web atomique ? A cet effet, nous nous intéressons seulement aux facettes fonctionnelle, téléologique et non fonctionnelle. Nous n'évoquerons pas la facette comportement visant à décrire le comportement interne d'un service composite. Cette facette ne concerne donc pas la sémantique d'un service atomique.

- Comment exploiter la sémantique explicite d'un service Web en vue de raisonner dessus dans le but de guider les processus de découverte et/ou de composition ? Il s'agit de réaliser une médiation sémantique entre les besoins des clients exprimés par le biais de requêtes et les descriptions "sémantisées" <fnref n="14" /> de services Web.

- Généralement, un processus de découverte permet de rechercher les services sur la base de leurs aspects fonctionnels, il est courant que de nombreux services répondent à un même ensemble de besoins fonctionnels. Comment distinguer parmi un ensemble de services ayant des profils fonctionnels sémantiquement similaires les *meilleurs* services et sur la base de quels critères ?

- Comment peut-on déduire (d'une manière automatique ou semi-automatique) un plan de composition comprenant un ensemble de services composables (ou approximativement composables) au cas où le besoin de l'utilisateur ne peut pas être satisfait par un service atomique ? Comment évaluer globalement la qualité d'un plan de composition et enfin comment classer plusieurs plans entre eux au cas où plusieurs plans sont identifiés ?

La Figure 1.2 résume les questions abordées dans cette thèse.

Dans le cadre de cette thèse, nous proposons une approche permettant de représenter une triple sémantique : *descriptive, ontologique et inférentielle*. En effet, nous proposons d'intégrer une dimension inférentielle au niveau des descriptions de services Web visant à faciliter les tâches de découverte et de composition aux utilisateurs finals par le biais d'un

<footnote n="13">13. aucune approche existante ne possède une couverture complète dans le sens où elle permet la représentation des quatre facettes dans une même description sémantique d'un service Web</footnote>

<footnote n="14">14. Nous ne conformons pas à la traduction établie dans la littérature française du terme composé de "Semantic Web service" en service Web sémantique, nous proposons plutôt la notion de service Web sémantisé, nous argumentons le pourquoi de cette appellation dans la suite de ce mémoire de thèse</footnote>
<figure><img src="image_5.png" /><figcaption>FIGURE 1.2 – Problématique de la médiation sémantique de services Web</figcaption></figure>

moteur inférentiel dédié s’appuyant sur une sémantique axiomatique tout en exploitant les connaissances descriptives et ontologiques du domaine des services.

Ce travail de thèse tire ses motivations des limites suivantes identifiées au niveau de
nombreux travaux étudiés dans l'état de l'art :

- Il est pratiquement impossible d'imaginer qu'une ontologie générique puisse être utilisée par tous les utilisateurs de n'importe quel domaine pour annoter un service Web parce que ceci suppose que chaque personne voulant créer un service adopte la même conceptualisation. De plus, dans certains domaines tels que le domaine bioinformatique, les ontologies existantes manquent de formalisation et de clarté conceptuelle. Pour ce faire, nous proposons une **méta-carte ontologique** conçue en se basant sur l'ontologie formelle comme DOLCE(Descriptive Ontology for Linguistic and Cognitive Engineering) <fnref n="15" />.

- Les frameworks de description de services proposés dans le cadre du Web sémantique présentent l'inconvénient majeur qu'ils ne fournissent pas de techniques intégrées permettant d'exploiter les descriptions générées et ainsi automatiser le processus de découverte et de composition. D'un autre côté, les approches proposées dans le cadre de la découverte et de composition dépendent du framework sémantique adopté pour la description du service et donc il existe un besoin pressant d'un cadre de référence de médiation de services intégrant les différents frameworks de description sémantique de services.

- Le besoin d'une *sémantique formelle* est indispensable pour garantir l'automatisation des processus de découverte et de composition. Or, la plupart de frameworks pro-

<footnote n="15">15. Le choix de DOLCE sera justifié plus loin et notamment dans l'annexe A.</footnote>
posés, à l'exception de WSMO [RKL+05b], ne possèdent pas de sémantique formelle au niveau des descriptions de services Web. Il est important de disposer d'un formalisme formel avec des primitives sémantiques permettant de préciser la sémantique du service et de concevoir des mécanismes d'inférence valables partout dans le domaine du discours.

En réponse aux limites et besoins identifiés et à la problématique générique de l'interopérabilité des systèmes, nous proposons un méta-framework stratifié de médiation sémantique de services Web. Nous présentons dans ce qui suit les différentes contributions du méta-framework proposé.

## 1.4 Contributions de la thèse

Les recherches que nous menons dans cette thèse visent à proposer une approche générique de médiation sémantique se basant sur l'ingénierie ontologique pour permettre la découverte et la composition dynamiques de services Web. La généricité recherchée sera réifiée par un méta-framework multi-strate multi-facette pour la médiation de services Web, nommé BIOMED (BIOinformatic MEDiation Framework) qui repose sur :

1. **un modèle d'alignement sémantique** de descriptions de services Web hétérogènes provenant de différents frameworks permettant d'expliciter une sémantique unifiée en offrant un ensemble de primitives canoniques descriptives. Il s'agit à ce niveau d'une médiation sémantique entre les frameworks de SWS suivants : OWL-S, WSMO et SAWSDL, en proposant un modèle pivot vers lequel tous les modèles de descriptions sous-jacents aux frameworks de SWS sont mappés. La particularité de ce modèle d'unification est qu'il permet de modéliser à la fois les propriétés fonctionnelles (entrées, sorties, préconditions et postconditions) que nous nommons signature fonctionnelle du service et les propriétés non fonctionnelles liées à la qualité du service. La présence de ces deux types de propriétés au sein d'une même description n'est pas toujours réalisée dans les frameworks existants à l'exception de WSMO;

2. **Une méta-carte ontologique** normalisant la sémantique des concepts et des sous-concepts des différentes ontologies du domaine conçue comme une ontologie intermédiaire entre l'ontologie de haut niveau de type DOLCE et les ontologies du domaine bioinformatique. L'engagement ontologique élaboré lors de la conception de la méta-carte émane du soubassement de l'ontologie fondationnelle DOLCE qui permet de qualifier la nature intrinsèque des concepts modélisés en les rattachant à des méta-catégories tels que les endurants ou les perdurants. Ainsi, chaque concept de la méta-carte synthétise dans son hyper-concept les concepts instances des ontologies de domaine relevant de cet hyper-concept (i. e., l'hyper-concept de la méta-carte 'gene' correspond aux instances du concept Gene de la Gene Ontology);

3. **Un modèle inférentiel** permettant d'exploiter les différents types de connaissances modélisées au niveau du framework BIOMED : les connaissances descriptives expliquant la sémantique des services Web, les connaissances ontologiques explicitant les connaissances du domaine et les annotations sémantiques de la signature fonctionnelle décrivant le mapping entre connaissances descriptives et ontologiques. Le
modèle inférentiel repose sur un sémantique axiomatique<fnref n="16" /> comprenant un ensemble
de schémas d'axiomes<fnref n="17" /> permettant de raisonner à trois niveaux différents : *le niveau ontologique*, *le niveau service* et *le niveau instance*.

4. Une nouvelle approche de découverte et de composition pour la sélection des services répondant fonctionnellement et non fonctionnellement à une requête spécifiant les contraintes du client dans un environnement ouvert. Cette nouvelle approche comprend deux phases : une *phase de sélection* et une *phase de ranking* (classement). La phase de sélection repose sur des techniques de relaxation des propriétés des services afin d'élargir leur portée et matcher au mieux les contraintes d'une requête de découverte. Cette phase permet de déduire différents degrés d'appariement. La phase de classement exploite les propriétés non fonctionnelles des services dans le but de classer l'ensemble des solutions déduites durant la phase de sélection. L'approche de classement proposée considère le *skyline* de services et leurs propriétés QdS. Un skyline (frontière de dominance) de services est un ensemble de services incomparables en terme de leurs valeurs QdS (aucun service n'est dominé par un autre). L'approche Top-k permet de sélectionner les meilleurs services ayant les meilleures valeurs maximisant une fonction de score. Au niveau de l'approche de composition, nous proposons deux alternatives de classement des plans de compositions obtenus : la première est la même que celle utilisée dans la découverte et la seconde est basée sur une technique de clusterisation.

5. **Un méta-service Web déductif** est proposé comme une opérationnalisation du méta-framework BIOMED. Le méta-service repose sur une base déductive de données dont la composante extensionnelle comprend l'ensemble des connaissances descrip-tives et ontologiques et la composante intensionnelle comprend les connaissances inférentielles implémentant les différents schémas d'axiomes proposés par le modèle inférentiel de BIOMED. Un moteur de raisonnement déductif implémenté en Pro-log permet de montrer l'intérêt des techniques de raisonnement proposées pour un processus de découverte et de composition de services Web.

En résumé, le méta-framework BIOMED se propose d'assurer une triple médiation : une médiation de services Web, une médiation ontologique et une médiation de données. La strate inférentielle de BIOMED permet d'exploiter les connaissances ontologiques afin d'offrir des mécanismes flexibles de découverte et de composition de services Web (médiation de services Web). La médiation ontologique est garantie par la méta-carte ontologique permettant de représenter le double engagement sémantique et ontologique <fnref n="18" />. La médiation de données se base sur le modèle d'alignement sémantique afin d'offrir un modèle pivot pour la description d'un service.

<footnote n="16">16. Une sémantique axiomatique est une représentation formelle d'un ensemble de règles destinées à raisonner sur une connaissance. Elle est constituée de définitions, d'axiomes, de postulats, et de théorèmes.</footnote>

<footnote n="17">17. Un axiome est une règle admise dans un système sans démonstration car une telle démonstration sera soit impossible, soit inutile comme étant évidente en soi.</footnote>

<footnote n="18">18. Il s'agit de préciser quelles primitives (logiques ou non) munies de leur signification sont nécessaires pour la représentation des connaissances dans un contexte donné.</footnote>
Première partie

Etat de l'art
<figure><img src="image_6.png" /></figure>
# Chapitre 2

## Services Web, Sémantique et
Descriptions sémantiques

Nous présentons dans ce chapitre un état de l'art des travaux portant sur la description et l'annotation sémantique de services Web développés sous la bannière du Web sémantique. Les différents frameworks présentés dans ce chapitre sont : OWL-S (Ontology Web Language for Services), WSMO (Web Service Modeling Ontology), SAWSDL (Semantic Annotation for WSDL), METEOR-S (Managing End-To-End Operations for Semantic Web service) et IRS (Internet Reasoning Service). En conclusion de ce chapitre, nous présentons une synthèse et un comparatif des différents frameworks.

### Sommaire

<table><tr><td>2.1</td><td>Introduction</td><td>21</td></tr><tr><td>2.2</td><td>Du Web au Web Sémantique aux Services Web Sémantiques</td><td>22</td></tr><tr><td>2.3</td><td>Frameworks de Description de Services Web Sémantiques</td><td>25</td></tr><tr><td>2.3.1</td><td>OWL-S (Ontology Web Language for Services)</td><td>25</td></tr><tr><td>2.3.2</td><td>WSMF (Web Service Modeling Framework)</td><td>28</td></tr><tr><td>2.3.3</td><td>WSMO (Web Service Modeling Ontology)</td><td>29</td></tr><tr><td>2.3.4</td><td>METEOR-S</td><td>32</td></tr><tr><td>2.3.5</td><td>SAWSDL (Semantic Annotation for WSDL)</td><td>34</td></tr><tr><td>2.3.6</td><td>IRS II et IRS III</td><td>38</td></tr><tr><td>2.4</td><td>Synthèse et Discussion</td><td>40</td></tr><tr><td>2.5</td><td>Conclusion</td><td>43</td></tr></table>

### 2.1 Introduction

L'un des nombreux objectifs de l'Architecture Orientée Services (AOS) consiste en la réutilisation de ses briques de base d'implémentation, à savoir les services. Dans le cadre d'une architecture basée sur la technologie des services Web, la réutilisation de services Web repose sur le fait que ces derniers soient accessibles sur le Web et utilisables par le
plus grand nombre de clients possibles via un ensemble de protocoles standards<fnref n="1" />. [Bal08]

Afin de garantir leur réutilisation au sens large, les services Web doivent être décrits dans un langage interopérable. Un langage de description de services Web fournit un ensemble de primitives descriptives permettant de décrire les propriétés pertinentes d'un service. Nous distinguons une description syntactique telle que celles fournies par le langage WSDL (Web Service Description Language) d'une description sémantique intégrant une dimension sémantique au sein de la description du service Web. Une description syntactique d'un service Web est une description purement fonctionnelle comprenant un ensemble d'opérations, de messages et de ports de communications, en l'occurrence une description WSDL se base aussi sur un système de typage élémentaire comprenant les types de base du langage XML (type entier, chaîne de caractères). Nous nous penchons dans ce chapitre sur les différentes approches de description sémantique de services Web.

## 2.2 Du Web au Web Sémantique aux Services Web Sémantiques

Le Web sémantique est un domaine en pleine évolution depuis son lancement en 2001 [BHL01] par Tim Berners-Lee, l'inventeur du Web en 1989. L'originalité du concept du Web sémantique consiste à doter l'information des pages du Web d'une représentation de la sémantique de leur contenu pour exprimer du sens. Cette représentation sémantique sert à indexer ces pages sous la forme de métadonnées (données sur les données) que les machines pourraient interpréter ; les métadonnées constituent, en définitive, une médiation sémantique possible entre le contenu des pages du Web et les applications computationnelles ; en offrant une sémantique partageable par les humains et les machines. Il serait alors possible dans ce contexte d'instaurer des services automatiques supportant l'utilisation du sens de l'information contenue dans les pages Web.

Ainsi, le but du Web sémantique est d'ajouter une couche 'sémantique' dont le sens devient exploitable et compréhensible par les machines. Tim Berners-Lee explicitait ce but en ces termes : "L'enjeu étant que les logiciels acquièrent la capacité d'établir entre eux un véritable dialogue, c'est-à-dire un échange pertinent d'informations immédiatement exploitables sans intervention humaine" [BHL01]. A ce jour, le standard de description de services Web WSDL ne supporte pas la description de services Web comme une ressource utilisable dans le contexte du Web sémantique.

Les premiers travaux qui s'intéressent à l'intégration fonctionnelle évitent le problème fondamental de l'automatisation des différentes étapes liées à la fourniture d'un service Web (par exemple, découverte et composition) puisqu'ils se limitent à l'usage des services Web par des utilisateurs humains plutôt que par des agents logiciels. En effet, de

<footnote n="1">1. L'avantage des services Web, par rapport aux autres approches de systèmes distribués tels que RMI (pour Remote Method Invocation), réside dans leur articulation autour du bouquet XML (standard promulgué par le W3C), ce qui leur procure l'avantage d'être non propriétaire et ainsi multi-plateforme. Comme protocoles standards développés autour de la technologie de services Web, nous distinguons WSDL (acronyme de Web Service Description Language) pour la description de l'interface du service Web servant à communiquer avec le service, UDDI (acronyme de Universal Description Discovery and Integration) qui est une technologie d'annuaire basée sur XML permettant de localiser sur le réseau un service Web recherché et SOAP (acronyme de Simple Object Access Protocol) qui est un protocole permettant l'échange d'informations structurées dans un environnement décentralisé et distribué.</footnote>
nombreuses connaissances, indispensables à l'automatisation des processus liés aux services, sont soit absentes, soit décrites pour être interprétées et exploitées par des humains (sous forme de description textuelle). Il semble donc nécessaire de tendre vers des services intelligibles par des machines : c'est le concept de Service Web sémantique.

Ainsi, le besoin d'automatisation du processus de conception et de mise en œuvre des services Web rejoint les préoccupations à l'origine du Web sémantique, à savoir *comment décrire formellement les connaissances de manière à les rendre exploitables par des machines*. C'est dans ce sens que les technologies et les outils développés dans le contexte du Web sémantique peuvent certainement compléter la technologie des Services Web en vue d'apporter des réponses crédibles au problème de l'automatisation. Par exemple, la notion d'ontologie peut jouer un rôle prépondérant pour permettre d'expliciter la sémantique des services facilitant ainsi les communications hommes-machines, d'une part, et les communications machines-machines, d'autre part.

De manière générale, l'objectif visé par la notion de Service Web sémantique est de créer un Web sémantique de services dont les propriétés, les capacités, les interfaces et les effets sont décrits de manière non ambiguë et exploitable par des machines et ce, en utilisant les couches techniques sans pour autant en être conceptuellement dépendants (couplage faible, loose coupling). La sémantique ainsi exprimée permet l'automatisation des fonctionnalités suivantes qui sont nécessaires pour une collaboration inter-entreprises efficace :

- Le processus de description et de publication des services. La publication de services Web est l'action de rendre accessible un service Web;

- La découverte des services. La découverte de services est l'action de localiser des services Web satisfaisant une tâche donnée;

- La sélection des services. La sélection est l'action de choisir le service le plus approprié pour satisfaire une tâche donnée;

- La composition des services. La composition de services est la mise en interaction de plusieurs services en vue de satisfaire un but qu'un service ne peut pas satisfaire.

- La fourniture et administration des services concerne l'action d'invocation et d'interaction au plus niveau (niveau protocole de transport de données).

- La négociation des contrats.

**McIlraith et Zeng** [MSZ01] définissent les services Web sémantiques comme la combinaison de deux technologies : celle des services Web en tant que ressources logicielles réutilisables et interopérables et celle du Web sémantique ayant pour objectif de rendre les données interprétables par machine. La figure 2.1 situe les services Web sémantiques selon deux axes orthogonaux (syntaxique/sémantique) et (statique, dynamique).

**Chris Preist** [Pre04] introduit un ensemble de concepts-clés inhérents à cette technologie hybride que sont les services Web sémantiques. Nous n'évoquons ici que les concepts de notion de service et de représentation de service qui aident à la compréhension des travaux portant sur la description de services Web sémantiques.

**La notion de service.** Selon Preist [Pre04], la notion de service intègre trois idées principales. Les deux premières respectent des notions sous-jacentes à la description d'un service Web classique : un service est une interaction entre deux parties (communément
<figure><img src="image_7.png" /><figcaption>FIGURE 2.1 – Les services Web sémantiques se situent entre deux problématiques liées au Web : L’interopérabilité et l’annotation sémantique des ressources</figcaption></figure>

appelées dans le domaine des services Web fournisseur et client). Un service doit être considéré à différents niveaux d'abstraction : le service concret (suite spécifique d'actions) et le service abstrait (ensemble de services concrets sans les précisions techniques utiles lors de la sélection de services). La troisième idée sous-jacente à la notion de service est que cette dernière a un sens dans la mesure où le service est inclus dans un domaine d'application (par exemple, le domaine du tourisme, de la bioinformatique, du e-commerce). [Pre04] définit ce domaine comme étant le *domaine de la valeur du service*.

**La représentation du service.** L'intérêt de combiner les principes du Web sémantique et la technologie de services Web est de proposer une représentation de services, compréhensible et interprétable automatiquement par les machines. Dans ce contexte, la description des services repose sur des techniques issues de l'ingénierie de connaissances et précisément celles de l'ingénierie ontologique. Dans ce domaine, de nombreux langages et techniques formels pour décrire les connaissances et raisonner sur ces dernières ont été développés autour du concept clé d'ontologie. La description des services Web sémantiques repose sur trois choix. Tout d'abord, le choix du méta-modèle qui précise les aspects du service à décrire (sa capacité, son interface, son fournisseur, ses opérations, son coût, sa qualité, etc.). Ensuite, le choix des concepts et relations à prendre en compte dans la description et leur(s) signification(s). Et enfin, le choix du langage de représentation de connaissances à utiliser pour opérationnaliser le méta-modèle de description de services Web. Des ontologies ont été développés comme méta-modèle de descriptions sémantiques de services Web, elles sont connues sous le terme d'*ontologies de service*. Les ontologies du domaine fournissent elles un support pour la description du domaine de la valeur du service.

Nous détaillons dans ce qui suit les différentes propositions existantes dans le contexte des services Web sémantiques. Chaque proposition/approche propose un méta-modèle de descriptions sémantiques de services Web.
## 2.3 Frameworks de Description de Services Web Sémantiques

Nous nous proposons de détailler les approches orientées services Web sémantiques en présentant les approches les plus représentatives et qui sont, à notre sens : OWL-S [BHL+04, MBM+07], WSMF [FB02], WSMO [RKL+05b], SAWSDL [KVBF07], METEORS [POSV04, SGR08], IRS-II [MDCG03] et son extension IRS III [CDG+06, DCG+08].

Chacune de ces approches est motivée par un certain nombre d'objectifs. Néanmoins, elles ont en commun les deux objectifs suivants :

- La découverte automatique de services Web permettant de localiser, d'une manière automatique, des services Web qui satisfont un besoin spécifié par un client.

- L'invocation automatique des services Web : En offrant une description déclarative d'un service Web et la sémantique de son domaine, un agent logiciel doit être capable d'invoquer automatiquement un service Web après l'avoir découvert.

Le reste de cette section est organisé de la façon suivante. Dans la section 2.3.1, nous présentons le framework OWL-S. La section 2.3.2 présente brièvement le framework WSMF avant d'évoquer le cadre conceptuel WSMO dans la section 2.3.3. Dans la section 2.3.4 nous étudions l'approche METEOR-S. La section 2.3.5 présente la recommendation SAWSDL pour l'annotation sémantique du standard WSDL (Web Service Description Language). Enfin, la section 2.3.6 est consacrée au cadre IRS-II et son extension IRS-III. Enfin la section 2.4 synthétise et compare les six approches présentées avant de conclure en introduisant nos motivations pour la conception d'un méta-framework générique de description pour harmoniser les principales approches existantes et de s'en servir pour développer une approche générique de découverte et de composition.

### 2.3.1 OWL-S (Ontology Web Language for Services)

OWL-S, anciennement DAML-S est une ontologie pour la description sémantique des services Web qui a été développée dans le cadre du projet DAML<fnref n="2" />. OWL-S se base sur le langage standard OWL [MvH04] qui permet de représenter des ontologies de façon standardisées sur le Web. L'objectif de OWL-S est de formaliser de façon non ambiguë les services Web de manière à ce qu'un agent logiciel puisse exploiter automatiquement les informations concernant ces services. Les bénéfices de l'emploi d'une ontologie de services peuvent être multiples, mais le plus intuitif concerne sans doute l'amélioration et la pertinence de la recherche de services et également leur composition.

OWL-S distingue trois éléments principaux qui interviennent dans la description d'un service :

- *ServiceProfile* : exprime ce que le service propose ainsi que les pré-requis exigés pour son emploi;

- *ServiceModel* : exprime le fonctionnement du service;

- *ServiceGrounding* : exprime comment le service peut être utilisé.

La figure 2.2 représente une vue globale de l'ontologie de service OWL-S.

<footnote n="2">2. DAML (acronyme de DARPA Agent Markup Language) est un langage de définition d'ontologies, prédécesseur du langage OWL (Ontology Web Language) et défini comme une extension de XML et de RDF (Resource Description Framework).</footnote>
<figure><img src="image_8.png" /><figcaption>FIGURE 2.2 – Vue globale de l'ontologie de service OWL-S</figcaption></figure>

La sous-ontologie *ServiceProfile* dont le modèle conceptuel est illustré par la figure 2.3 fournit les informations nécessaires à un agent pour publier un service ou le découvrir. La sous-ontologie décrit le profil d'un service par un ensemble de propriétés qui inclut entre autre le nom du service (*ServiceName*), sa description informelle (*TextDescription*) et des informations sur son fournisseur (*ContactInformation*). La description fonctionnelle d'un service Web spécifie :

- les entrées et les sorties du service par le biais des classes *Input* et *Output* définies comme étant des sous-classes de la classe *Parameter*,

- l'impact de l'exécution du service sur l'état du monde réel en termes de pré-conditions et d'effets par le biais des classes *Condition* et *Result*.

Le profil d'un service est associé à une liste de ses paramètres (*ServiceParameter*). Enfin, l'ontologie *ServiceProfile* permet de définir la classe du service (ServiceClassification) et le produit du service (ServiceProduct). Ceci est réalisé par le biais de correspondances vers des systèmes de classification tels que NAICS<fnref n="3" />(North American Industry Classification System) ou de produits telles que UNSPSC<fnref n="4" />(United Nations Standard Products and Services Code).

Dans le but de fournir une vue détaillée de la façon dont le service fonctionne, le framework OWL-S définit une ontologie de processus dans laquelle le service est perçu comme un processus (*Process*) ayant un ensemble d'entrées, de sorties, des pré-conditions et des effets (IOPE). Les pré-conditions et les effets permettent de rendre compte de l'interaction d'un processus avec son environnement de sorte que les pré-conditions doivent toutes être vérifiées pour que le processus puisse être invoqué et que les effets doivent spécifier les modifications de l'environnement suite à l'exécution du service.

Tel qu'illustrés dans la figure 2.4, les processus peuvent être de trois types différents :

- les processus atomiques (*AtomicProcess*) correspondent à des services simples directement invocables et s'exécutant en une seule fois sans intervention de l'utilisateur;

- les processus composites (*CompositeProcess*) sont décomposables en processus atomiques et composites. Ils permettent de spécifier l'enchaînement de leurs différents composants à l'aide de structures de contrôle (*ControlConstruct*) comme *Sequence* ou *If-Then-Else*;

<footnote n="3">3. http://www.census.gov/eos/www/naics/</footnote>

<footnote n="4">4. http://www.unspsc.org/</footnote>
<figure><img src="image_9.png" /><figcaption>FIGURE 2.3 – Vue conceptuelle de la classe *ServiceProfile*</figcaption></figure>

<figure><img src="image_10.png" /><figcaption>FIGURE 2.4 – Vue conceptuelle de la classe *ServiceModel*</figcaption></figure>
<figure><img src="image_11.png" /><figcaption>FIGURE 2.5 – Relation entre OWL-S et WSDL</figcaption></figure>

– les processus simples (*SimpleProcess*) qui ne sont pas invocables et qui correspondent uniquement à des abstractions de processus atomiques ou composites. Un processus simple est « réalisé par » (*RealizedBy*) un processus atomique ou « se décrit par » (*Ex-pandTo*) un processus composite.

Enfin, la classe *ServiceGrounding* spécifie la manière dont les agents peuvent accèder et invoquer un service. Les sous-ontologies *ServiceProfile* et *ServiceModel* offrent une représentation abstraite d'un service, alors que la classe *ServiceGrounding* offre une spécification concrète du service. Le passage d'une description OWL-S vers une description WSDL1.1. se base sur les trois correspondances suivantes : (a) chaque processus atomique OWL-S correspond à une opération WSDL, (b) les entrées et les sorties au niveau d'une description OWL-S correspondent aux entrées et sorties d'un message d'une opération WSDL et (c) les types des entrées et sorties OWL-S correspondent à des notions extensibles des types abstraits de WSDL. La figure 2.5 illustre les relations entre une description OWL-S et une description WSDL.

### 2.3.2 WSMF (Web Service Modeling Framework)

WSMF [FB02] est un framework complet de description de services proposé dans le cadre du projet européen SWWS (*Semantic Web enabled Web service*). Il constitue une extension du langage UPML (*Unified Problem-Solving Method Development Language*) [FMH+99] et il est centré autour de deux objectifs complémentaires, à savoir :

– Un découplage fort entre différents composants servant à réaliser une application de e-commerce à base de services Web;

– Un service de médiation fort qui autorise tous les partenaires à communiquer entre eux et ce de manière évolutive (en terme du nombre de partenaires).

L'architecture de WSMF est constituée de quatre éléments principaux comme le montre la figure 2.6 : les *objectifs*, les *ontologies*, les *descriptions des services Web* et les *médiateurs*.
<figure><img src="image_12.png" /><figcaption>FIGURE 2.6 – Architecture du framework WSMF</figcaption></figure>

Les objectifs permettent de définir les problèmes qui doivent être résolus par les Web services. Ils incluent des pré-conditions et des post-conditions. Les ontologies fournissent la terminologie et la sémantique utilisées par les autres éléments. Les descriptions des services Web définissent les différents aspects liés aux services Web (entrées, sorties, opérations, etc.). Les médiateurs permettent de résoudre les problèmes liés à l’intégration entre les services Web. Il est à noter que WSMF est un modèle conceptuel et par conséquent ne définit pas de sémantique concrète particulière pour la représentation des services. Selon la spécification publique de WSMF, ceci peut être réalisé à travers l’utilisation de WSFL ou de OWL-S, et de PSL<fnref n="5" />.

### 2.3.3 WSMO (Web Service Modeling Ontology)

WSMO (acronyme pour *Web Service Modeling Ontology*) [RKL+05b] est une extension et un raffinement du framework WSMF. Elle fournit à la fois un langage formel et une ontologie permettant de décrire des aspects variés des services Web sémantiques. La spécification de WSMO repose sur un modèle stratifié qui inclut la définition de trois différentes ontologies : WSMO Lite (ontologie de base), WSMO Standard (ontologie intermédiaire) et WSMO Full (qui contient tous les concepts définis dans WSMO).

L'architecture Web Service Modeling Ontology (WSMO) qui a été proposée initialement par le laboratoire DERI devenu ensuite le Semantic Technology Institute (STI) de l'université d'Innsbruck (Autriche), est une architecture conceptuelle visant à expliciter la sémantique des services Web. Une vue globale des composants du framework WSMO est illustrée dans la figure 2.7. WSMO est organisée autour de quatre éléments principaux :

- Les **services Web** (*Web services*) sont définis comme des entités computationnelles qui fournissent une ou plusieurs fonctionnalités. Une description est associée à chaque service, dans le but de décrire sa fonctionnalités, son interface, et ses détails internes.

- Les **Objectifs** (*Goals*) servent à décrire les besoins des utilisateurs en termes de

<footnote n="5">5. L'objectif de PSL (acronyme de Process Specification Language) est de définir une ontologie et un format standard pour l'échange des processus industriels. La spécification de l'ontologie PSL est accessible à l'adresse http://www.mel.nist.gov/psl/</footnote>
<figure><img src="image_13.png" /><figcaption>FIGURE 2.7 – Vue globale de l'ontologie WSMO</figcaption></figure>

fonctionnalités requises. Les objectifs offrent une vue orientée utilisateur du processus d'utilisation des services Web, ils sont définis comme une entité à part entière dans le modèle WSMO. Un objectif décrit la fonctionnalité, les entrées/sorties, les pré-conditions et post-conditions du service Web requis.

- Les **Médiateurs** (*Mediators*) sont utilisés pour résoudre de nombreux problèmes d'incompatibilité.

- Les **Ontologies** (*Ontologies*) fournissent la terminologie de référence aux autres éléments de WSMO (services Web, Objectifs et médiateurs) afin de spécifier le vocabulaire du domaine de connaissance d'une manière interprétable par les machines.

Contrairement à OWL-S, WSMO inclut les médiateurs comme composants clés de son architecture. A ce niveau, les hétérogénéités rencontrées lors de l'utilisation de services Web sont gérées par les différents types de médiation :

- La médiation de données qui résout les incompatibilités de représentation des données,

- La médiation de processus est relative à la logique applicative de la composition,

- La médiation de protocoles adapte les différents protocoles de communication utilisés.

Ces différents niveaux de médiation sont pris en charge au niveau du framework WSMO par quatre familles de médiateurs :

- Les **GG-médiateurs** permettent d'effectuer la médiation entre deux objectifs, GG signifiant <goal-goal>. Cela signifie qu'ils permettent d'établir des correspondances entre objectifs, en se servant des ontologies d'objectifs disponibles dans le cadre de WSMO.

- Les **WG-médiateurs**, avec WG pour <Web service-Goal>, établissent les correspondances entre les fonctionnalités offertes par les services Web et les requêtes des utilisateurs, qui sont toutes les deux définies comme des objectifs. L'intérêt de ce type de médiateurs est d'aider la découverte et la sélection de services Web.

- Les **WW-médiateurs**, avec WW pour <Web service-Web service>, établissent les correspondances entre services Web. Leur tâche est de résoudre les conflits au niveau des données, du protocole, et du processus de composition. Ils sont mis en oeuvre lors de l'orchestration des services Web au sein d'une composition.

- Les **OO-médiateurs**, avec OO pour <Ontology-Ontology>, sont destinés à résoudre les conflits entre ontologies en créant des correspondances inter-ontologies.

Les autres types de médiateurs énoncés ci-dessus, ainsi que n'importe quel élément de
<figure><img src="image_14.png" /><figcaption>FIGURE 2.8 – Différentes variantes du langage WSML</figcaption></figure>

l'architecture WSMO pourrait utiliser un OO-médiateur pour résoudre un conflit sémantique. Le travail des OO-médiateurs consiste à établir des correspondances entre les terminologies contenues dans les différentes ontologies pour les intégrer en une représentation homogène des données. Cette représentation homogène permet de résoudre les hétérogénéités sémantiques et de répondre aux requêtes soumises par les composants de l'architecture WSMO.

Dans l'approche WSMO, on distingue le langage de modélisation WSML (Web Service Modeling Language) [BLPF06] et l'environnement d'exécution WSMX (Web Service Execution Environment) [HCM+05]. WSML fournit un langage formel pour la description des éléments définis dans l'architecture WSMO. WSML est basé sur la combinaison de différents langages logiques qui sont la logique de description, la logique de premier ordre et la logique de programmation. Le langage WSML est structuré en cinq sous-ensembles : WSML-Core, WSML-DL, WSML-Light, WSML-Rule et WSML-Full. Chacun de ces sous-ensembles fournit un niveau d'expressivité croissante. La figure 2.8 résume les différentes variantes du langages WSML.

WSMX est un environnement d'exécution qui permet d'offrir un certain nombre de modules utilisables permettant de prendre en charge la découverte, la sélection, la médiation et l'invocation des services sémantiques décrits en WSMO. Nous listons ci-après huit outils développés par le groupe ESSI (European Semantic Systems Initiative)<fnref n="6" /> pour la version 2005 de WSMO :

- *WSML2Reasoner*<fnref n="7" /> propose une architecture fortement modulaire combinant de nombreuses fonctionnalités de validation, de normalisation, et de transformation comme la traduction d'ontologies en WSML qui est la syntaxe appropriée du moteur d'inférence du framework.

<footnote n="6">6. http://www.essi-cluster.org/</footnote>

<footnote n="7">7. Disponible à cette adresse : http://tools.deri.org/wsml2reasoner/</footnote>
- WSMO Studio<fnref n="8" /> est un éditeur de services Web sémantiques conforme au framework WSMO. WSMO studio est disponible comme un ensemble de plugins d'Eclipse.

- WSML Rule Reasoner<fnref n="9" /> est une implémentation d'un raisonneur pour WSML.

- WSML DL Reasoner une implémentation d'un raisonneur à base de la Logique de Descriptions pour le langage WSML.

- WSML Validator est une variante de validateur de WSML implémenté comme partie de WSMO4J.

- WSMO4J<fnref n="10" /> est une API et une implémentation de référence pour la construction d'applications de SWS conforme aux spécifications de WSMO dans ses versions WSMO v1.2 et WSML 0.2.

- Web Service Modeling Toolkit (WSMT)<fnref n="11" /> est une boîte à outils pour un déploiement rapide d'outils graphiques utilisables avec WSMO, WSML et WSMX.

- Web Services Execution Environment (WSMX)<fnref n="12" /> est un environnement d'exécution pour les tâches d'appariement, de sélection, de médiation et d'invocation de SWS basés sur WSMO.

Enfin, signalons que la dernière version de WSMO qui est la version1.3. dont le draft final date du 21 Octobre 2006 est disponible à l'adresse suivante :

http://www.wsmo.org/TR/d2/v1.3/

### 2.3.4 METEOR-S

METEOR-S<fnref n="13" /> (METEOR for Semantic Web Services) est une initiative du laboratoire LSDIS<fnref n="14" /> de l'Université de Georgia (Etats-Unis d'Amérique) ayant pour objectif de fournir des services Web sémantiques dans le cadre du projet METEOR (acronyme pour Managing End-To-End Operations). Alors que les frameworks OWL-S et WSMO ont pour objectif de proposer des ontologies de services, METEOR-S adopte une approche différente en proposant d'intégrer les standards des services Web (BPEL4WS, WSDL et UDDI) aux technologies du Web sémantique pour l'annotation, la découverte, la composition, la qualité de service et l'exécution de services Web. C'est ainsi que METEOR-S prend en compte la totalité du cycle de vie des services Web sémantiques comme l'illustre la figure 2.9.

La figure 2.10 montre que METEOR-S s'articule autour de trois étapes : la première étape propose de définir des mécanismes d'annotation sémantique, la deuxième étape propose de se baser sur les annotations sémantique pour offrir une découverte de services flexible et dynamique et une médiation de données, enfin, la troisième étape suggère des techniques d'adaptation afin de gérer les événements au cours de l'exécution d'un processus (i.e., l'invocation d'un service ou d'une composition). En terme d'annotation sémantique, le mérite de METEOR-S est d'avoir proposé une extension de WSDL nommée WSDL-

<footnote n="8">8. Disponible à cette adresse : http://www.wsmostudio.org/</footnote>

<footnote n="9">9. Disponible à cette adresse : http://dev1.deri.at/wsml2reasoner/</footnote>

<footnote n="10">10. Disponible à cette adresse : http://wsmo4j.sourceforge.net</footnote>

<footnote n="11">11. Téléchargeable à partir de http://sourceforge.net/</footnote>

<footnote n="12">12. Disponible à cette adresse : http://www.wsmx.org/, http://sourceforge.net/projects/wsmx/</footnote>

<footnote n="13">13. http://lsdis.cs.uga.edu/projects/meteor-s/</footnote>

<footnote n="14">14. LSDIS (acronyme pour Large Scale Distributed Information Systems) est un laboratoire de recherche de l'Université de Georgia (USA) qui a été lancé en 1994 et a été dirigé par Professeur Amit SHETH jusqu'en 2007 avec le soutien du Professeur John MILLER qui en pris la suite.</footnote>
<figure><img src="image_15.png" /><figcaption>FIGURE 2.9 – Cycle de vie d'un service Web sémantique et les différentes technologies proposées dans le cadre de METEOR-S</figcaption></figure>

S [SVSM03], qui a été plus tard adoptée par le consortium W3C pour être intégrée dans SAWSDL. WSDL-S propose de définir quatre types de sémantiques : (a) la *sémantique des interfaces* décrivant la sémantique des entrées et des sorties du service, (b) la *sémantique fonctionnelle* décrivant la sémantique des opérations et des fonctionnalités offertes par le service, (c) la *sémantique non fonctionnelle* décrivant les propriétés non fonctionnelles (qualité, sécurité) du service et (d) la *sémantique d'exécution* décrivant la sémantique de la gestion des exceptions.

Ainsi, le projet METEOR-S s'est développé selon les trois phases principales qui ont permis d'introduire les trois composants essentiels de cette initiative :

<figure><img src="image_16.png" /><figcaption>FIGURE 2.10 – Les différents composants de METEOR-S</figcaption></figure>
1. **la mise en place d'une infrastructure de découverte sémantique** définie au dessus d'un registre UDDI, appelée MWSDI (METEOR-S Web Service Discovery Infrastructure) [VSS+05]. MWSDI adopte une approche basée sur les ontologies pour classer les services Web dans les registres en considérant les domaines des services. Enfin, MWSDI adopte une architecture pair-à-pair pour la découverte de services qui dispose de plusieurs registres de services et d'ontologies, de plusieurs points d'entrées et des clients.

2. **l'annotation sémantique** basée sur l'outil MWSAF (METEOR-S Web Service Annotation Framework) [POSV04] permet d'enrichir sémantiquement les services Web en utilisant une WSDL-S (WSDL Semantics) et plus tard celle de SAWSDL. Selon [AFJ+05], le rôle de WSDL-S est d'ajouter un niveau sémantique aux services Web à travers l'enrichissement des fichiers WSDL mais également du registre enrichi UDDI;

3. **la composition et l'exécution de services** ayant pour rôle de créer des services composites en se basant sur BPEL4WS. L'outil se chargeant de cette tâche se nomme MWSCF (METEOR-S Web Service Composition Framework).

La figure 2.11 illustre l'architecture de METEOR-S avec ses deux modules : le module front-end et le module back-end. Le module front-end est utilisé pour créer des services Web sémantiques en procédant à l'annotation du code source avec des ontologies. La source ainsi enrichie est convertie en descriptions sémantiques en utilisant soit des fichiers WSDL annotés soit des fichiers WSDL-S. Ces derniers sont ensuite publiés dans un registre UDDI enrichi. Le module de back-end offre principalement des fonctionnalités liées à la découverte de services, à la composition de services et à l'exécution et l'orchestration des services composés.

Les nouvelles versions de METEOR-S comme le précise l'article [SGR08] proposent de nouvelles techniques en vue de renforcer les annotations sémantiques dans le framework. Nous citons les outils suivants qui ont été intégrés : SAWSDL4J[^15] et Woden4SAWSDL[^16], l'annotateur sémantique RADIANT[^17] et pour la découverte et la publication l'outil LUMINA[^18].

### 2.3.5 SAWSDL (Semantic Annotation for WSDL)

À l'initiative du groupe de travail d'annotations sémantiques pour WSDL (Semantic Annotations for WSDL Working Group) du W3C, SAWSDL (Semantic Annotations for WSDL and XML Schema) a été proposé avant d'être adopté comme recommendation par le consortium W3C à partir du mois d'août 2007 [KVBF07]. L'objectif de SAWSDL est d'insérer de la sémantique dans les descriptions WSDL des services et des schémas XML [TBM+04]. Dans la suite, nous n'abordons pas l'enrichissement sémantique des schémas XML, bien que ce concept reste proche de l'enrichissement de fichiers WSDL.

<footnote>[^15]: http://lsdis.cs.uga.edu/projects/meteor-s/opensource/sawsdl4j/</footnote>

<footnote>[^16]: http://lsdis.cs.uga.edu/projects/meteor-s/opensource/woden4sawsdl/</footnote>

<footnote>[^17]: http://lsdis.cs.uga.edu/projects/meteor-s/downloads/index.php?page=1</footnote>

<footnote>[^18]: http://lsdis.cs.uga.edu/projects/meteor-s/downloads/Lumina/</footnote>
<figure><img src="image_17.png" /><figcaption>FIGURE 2.11 – L’architecture de METEOR-S</figcaption></figure>

### 2.3.5.1 Motivations de SAWSDL

En plus de la découverte et l'invocation automatiques des services Web, SAWSDL vise la réalisation des objectifs suivants :

- *Un langage au dessus des standards des services Web existants* : Les standards de services Web sont devenus rapidement une technologie préférée pour l'intégration des applications. Les entreprises investissent dans des projets d'intégration basés sur des services Web. Par conséquent, les concepteurs de SAWSDL considèrent que n'importe quelle approche pour la description sémantique des services Web doit être compatible avec l'existant. C'est dans ce sens que SAWSDL a été conçu comme une extension sémantique de WSDL.

- *Concevoir un langage incrémental* : il est relativement facile de modifier les outils existants autour de WSDL afin qu'ils s'adaptent à SAWSDL. Ce qui fait de SAWSDL une approche incrémentale,

- *Le mécanisme d'annotation doit être indépendant du langage de représentation de la sémantique* : En l'occurrence, OWL-S considère les ontologies définies en OWL, WSMO repose sur des ontologies définies en WSML, chaque langage offrant différents niveaux d'expressivité. Les concepteurs de SAWSDL proposent de créer des annotations sémantiques indépendamment du langage de représentation d'ontologies.

SAWSDL est donc la suite de WSDL-S (Web Service Description Language – Semantic) [AFJ+05]. SAWSDL définit un mécanisme d'annotation en vue de spécifier les éléments
de WSDL à l'aide d'ontologie(s). Cette annotation repose sur la définition d'attributs étendant le standard de description WSDL. Les annotations sémantiques référent des ontologies pré-existantes. L'avantage majeur de SAWSDL est de fournir un mécanisme d'annotation indépendant de tout langage de représentation d'ontologies.

### 2.3.5.2 Annotations SAWSDL

SAWSDL propose deux types d'annotations sémantiques : un premier pour identifier le concept ontologique, représentée par l'attribut *modelReference* et un second pour établir le lien entre le concept et le document WSDL, représentée par les attributs *liftingSchemaMapping* et *loweringSchemaMapping*.

L'attribut *modelReference* permet d'annoter tous les éléments de WSDL 2.0 (figure 2.12). Cependant, la recommandation de SAWSDL considère que l'annotation des éléments suivants apporte une signification particulière :

- L'élément *interface*. Cet élément décrit l'ensemble des méthodes disponibles d'un service Web. L'annotation de cet élément apporte une définition sémantique de l'ensemble des méthodes proposées.

- L'élément *operation*. Cet élément décrit une méthode particulière. Cette annotation permet d'expliciter les effets des méthodes proposées par le service.

- L'élément *fault*. Cet élément représente un message d'erreur lors de l'appel d'une méthode de l'interface. L'annotation de ce type d'élément donne un sens au message d'erreur.

- L'élément *type*. Cet élément représente les structures de données des paramètres dans des messages échangés. Si cet élément requiert des spécifications exprimées en XML Schema pour définir des types particuliers (simple ou complexe), l'annotation sémantique de SAWSDL peut être aussi utilisée dans cet élément afin d'annoter sémantiquement ces structures de données.

Un attribut *modelReference* a pour valeur zéro, une ou plusieurs URI localisant des ontologies qui apportent de la sémantique aux éléments annotés. Ce type d'annotation est utilisé lors des processus de recherche et de sélection. A titre d'exemple, nous avons choisi d'annoter sémantiquement le service Web *GlobalWeather*. La figure 2.13 donne un extrait de cette ontologie, représentant la classe *WeatherObservation* utilisée dans l'exemple d'annotation SAWSDL décrite dans la figure 2.14. La classe *WeatherObservation* possède quatre propriétés : *hasTemperature* (ligne 7), *hasHumidity* (ligne 8), *hasWindSpeed* (ligne 13) et *hasPrecipitation* (ligne 16). Dans l'illustration de l'ontologie nous remarquons que la propriété *HasWindSpeed* est représentée par le type *float* (ligne 22) et a pour unité le mile par heure (ligne 21).

Ainsi, la figure 2.14 illustre l'annotation sémantique de la structure de données *GetWeatherResponse* (élément *GetWeatherResponse*, ligne 8), avec SAWSDL (attribut *sawsdl::modelReference*, ligne 9), par l'intermédiaire de l'itéme *WeatherObservation* de l'ontologie weather-ont (cf. ligne 9). Deux autres attributs, nommés *liftingSchemaMapping* et *loweringSchemaMapping*, étendent le fichier WSDL afin de spécifier l'association entre la donnée sémantique (le concept) et l'élément WSDL à annoter et réciproquement. Ces mises en correspondance sont effectuées à l'aide de schémas XML (dont la localisation est
<figure><img src="image_18.png" /><figcaption>FIGURE 2.12 – Les annotations SAWSDL</figcaption></figure>

<figure><img src="image_19.png" /><figcaption>FIGURE 2.13 – Extrait de l'ontologie weather-ont, illustrant la classe WeatherObservation.</figcaption></figure>
<figure><img src="image_20.png" /><figcaption>FIGURE 2.14 – Annotation sémantique de l'élément *type* du service GlobalWeather.</figcaption></figure>

donnée par la valeur de l'attribut). L'attribut *liftingSchemaMapping* associe aux éléments XML un modèle sémantique. Inversement, l'attribut *loweringSchemaMapping* associe au modèle sémantique une structure XML. Ces mises en correspondance sont utiles, lors de l'invocation du service, lorsque la structure de données ne correspond pas de manière intuitive à l'organisation du modèle sémantique.

SAWSDL permet d'ajouter facilement une description sémantique aux descriptions WSDL déjà existantes. L'avantage de cette proposition est qu'elle permet de modifier des descriptions WSDL existantes sans trop alourdir le fichier de description. Cependant, SAWSDL ne permet pas d'annoter tous les éléments XML du document WSDL (par exemple, la description du fournisseur de service ne peut pas être annotée) et ne permet pas d'apporter de la sémantique aux éléments non décrits par WSDL (tels que la qualité de service), ce qui constitue un inconvénient majeur du fait que la couverture des annotations n'est pas totale.

### 2.3.6 IRS II et IRS III

IRS-II (*Internet Reasoning Service*) est un framework et une infrastucture de services Web sémantiques, supportée par le projet AKT<fnref n="19" /> (*Advanced Knowledge Technologies*) dans le cadre d'une collaboration interdisciplinaire de recherche regroupant plusieurs universités européennes dont l'université d'Aberdeen et d'Edinburgh. IRS-II est conçu comme un moyen de résolution de problèmes en ligne réutilisables [MDCG03]. Le but principal d'IRS-II est de supporter la découverte et la récupération de services de bibliothèques distribuées sur Internet et de leur configuration semi-automatique, dans le but de réaliser des tâches spécifiques en fonction des exigences des utilisateurs. IRS-II tente d'apporter

<footnote n="19">19. http://www.aktors.org/</footnote>
<figure><img src="image_21.png" /><figcaption>FIGURE 2.15 – Architecture de IRS III</figcaption></figure>

une adaptabilité et une médiation flexibles entre problèmes et services [CMML03]. IRS-II possède deux caractéristiques majeures : Premièrement, il est construit sur un modèle de connaissance, et deuxièmement il est basé sur le langage UPML (Unified Problem-Solving Method-Development Language) [OCF+03] pour l'annotation des services.

La version IRS-III qui a été présentée dans [CDG+06] dispose d'une architecture générique qui est illustrée dans la figure 2.15. IRS III comme extension de l'architecture IRSII adopte le framework WSMO comme modèle de description de services Web sémantiques.

Par l'intermédiaire d'une plate-forme de publication propre à IRS, le fournisseur peut décrire l'ensemble des ontologies nécessaires à la description de son service en utilisant WSMO. Les ontologies sont ensuite associées au service Web déployé par le fournisseur. Lors du processus de publication, ce dernier doit aussi associer au service une méthode de résolution de problème.

La recherche et la sélection dans IRS-III a la particularité de se baser sur les méthodes de résolution de problème. Cette résolution est faite à l'aide du langage UPML (Unified Problem-Solving Method-Development Language) comme pour IRS-II.

UPML distingue quatre notions : les modèles du domaine, les modèles de tâche, les méthodes de résolution de problème et les ponts.

- Modèles du domaine. Ces modèles décrivent le domaine d'application (par exemple, celui du tourisme). Ces modèles sont associés à l'élément ontologie du domaine du framework WSMO.

- Modèles de tâche. Ces modèles fournissent une description générique de la tâche à résoudre. Ces modèles sont associés à l'élément objectif du framework WSMO.

- Méthodes de résolution de problème. Cette notion fournit une description abstraite des processus de raisonnement qui permettent de résoudre des tâches dans des domaines spécifiques. Ces méthodes sont associées à l'élément service Web du framework WSMO.

- Ponts. Les ponts spécifient les relations entre les différents modèles d'une application. Cette notion est associée à l'élément médiateur du framework WSMO.

Le cadre de travail IRS-III est intéressant puisqu'il prend en compte de manière trans-
versale quatre processus sous-jacents à l'architecture des services Web (la description, la recherche, la sélection et l'invocation) via l'utilisation d'ontologies WSMO. De notre point de vue, l'inconvénient de ce travail réside dans leur processus de publication. Lors de cette étape, les fournisseurs doivent associer à leurs services une méthode de résolution de problème. Or, nous pensons que les services Web doivent être publiés dans un registre indépendamment d'une résolution particulière afin d'être facilement réutilisés dans le plus grand nombre de cas possibles.

L'outil graphique IRS-III guide l'utilisateur étape par étape pour la composition de services décrits en WSMO (Web Service Modeling Ontology) présenté plus haut. Le framework exploite les connaissances du domaine pour guider l'utilisateur voulant construire un workflow. L'outil fournit à cet utilisateur des conseils pour la sélection et l'instanciation des services et lui permet de mémoriser les workflows en vue de faciliter la réutilisation.

C'est ainsi qu'avec l'architecture IRS-III, Cabral et Dominique [CDG+06] ont réussi à modéliser les contraintes de communication par un ensemble de règles logiques. Un médiateur de processus s'occupe de résoudre les conflits de communication en utilisant ces règles, tout en se positionnant entre le client et le service Web afin d'intercepter les communications et de les adapter. Ceci repose sur un composant appelé *interpréteur de chorégraphie*, qui permet d'exécuter un service Web en créant les messages requis par ce dernier sur la base de sa description. Il garde en mémoire l'état d'avancement des communications entamées avec le service Web, en mémorisant les appels exécutés par un composant appelé *invocateur*.

## 2.4 Synthèse et Discussion

Nous avons choisi de résumer, dans le tableau 2.1, les principales caractéristiques des approches de services sémantiques présentées dans ce chapitre. Les caractéristiques de ces initiatives sont synthétisées sur la base de cinq critères considérés, à notre sens, comme les plus pertinents. Il s'agit, en l'occurrence, de deux critères génériques couramment utilisés pour l'analyse des approches syntactiques auxquels nous avons décidé de rajouter trois critères spécifiques aux approches sémantiques.

Les deux critères génériques retenus sont comme suit :

- Le critère *Point de vue* qui permet de préciser le niveau d'abstraction (conceptuel, technique) associé à l'approche considérée;

- Le critère *ouverture* qui permet de représenter le degré de standardisation permis par l'approche

Les trois critères supplémentaires spécifiques que nous avons choisi pour l'analyse des approches sémantiques sont :

- le critère *description sémantique* qui permet de préciser la manière avec laquelle les services sont décrits sémantiquement par l'approche étudiée;

- le critère *médiation de services* qui permet de préciser la prise en compte des mécanismes de médiation par l'approche étudiée;

- et le critère *maturité* qui désigne en fait le degré de maturité de l'approche vis-à-vis de la problématique d'intégration des applications industrielles.
<table><caption>TABLE 2.1 – Comparatif des frameworks de description sémantique de services Web</caption><thead><tr><th></th><th>OWL-S</th><th>WSMF</th><th>WSMO</th><th>METEOR-S</th><th>IRS-II</th><th>IRS-III</th></tr></thead><tbody><tr><td><strong>Critères d'analyse</strong></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><strong>Point de vue (niveau d'absorption)</strong></td><td>conceptuel (basé sur une ontologie générique)</td><td>conceptuel (basé sur un cadre conceptuel)</td><td>conceptuel (basé sur le cadre WSMF)</td><td>technique (basé sur l'enrichissement sémantique de WSDL)</td><td>conceptuel (basé sur des ontologies de tâches et PSM)</td><td>conceptuel (basé sur le cadre conceptuel WSMO)</td></tr><tr><td><strong>Ouverture</strong></td><td>très forte (basée sur WSDL et OWL)</td><td>faible (basée sur UMPL)</td><td>faible (basée sur WSML)</td><td>forte (basée sur WSDL, mais WSDL-S n'est pas standard)</td><td>faible (basée sur UPML)</td><td>faible (basé sur OCML)</td></tr><tr><td><strong>Description sémantique</strong></td><td>Ontologie générique OWL-S</td><td>pas de description mais recommandation d'utilisation d'utilisation de OWL-S et de PSL</td><td>Ontologie WSMO</td><td>Annotation des fi-chiers WSDL</td><td>Ontologie PSM et Ontologie de tâche</td><td>Ontologie WSMO</td></tr><tr><td><strong>Médiation de services</strong></td><td>non définie</td><td>non définie</td><td>définie mais en cours de développement</td><td>non définie</td><td>non définie</td><td>définie mais en cours de développement</td></tr><tr><td><strong>Maturité</strong></td><td>forte</td><td>très faible</td><td>moyenne</td><td>moyenne</td><td>moyenne</td><td>faible</td></tr></tbody></table>
L'analyse du tableau 2.1 permet de retenir un certain nombre de points importants qui sont :

- **OWL-S** constitue une ontologie générique de services permettant principalement de décrire les services Web dans un cadre général. Une des caractéristiques majeures de OWL-S est le fait qu'elle soit compatible avec les standards industriels notamment WSDL, et ce grâce au ServiceGrounding qui permet de définir une correspondance entre OWL-S et WSDL. Certains travaux existent quant à la découverte et la composition de services en utilisant OWL-S, même si certains prédisent la dispersion de ce framework au profit de SAWSDL.

- **WSMF** est un cadre générique pour la réalisation des services sémantiques. Il constitue donc un framework offrant un cadre méthodologique plutôt qu'une infrastructure opérationnelle.

- **WSMO** constitue une approche basée sur des fondements conceptuels issus de WSMF pour la réalisation des services sémantiques. Il est beaucoup plus orienté utilisateur dans le sens ou l'approche permet d'offrir un langage très proche des utilisateurs.

- Mais elle demeure toutefois immature du fait qu'il s'agit d'une initiative en cours de développement. De plus, l'une de ses limites les plus importantes est le fait que cette approche ignore les standards industriels existants, ce qui suppose que des mappings doivent être définis afin de garantir l'intégration avec les standards existants au sein des entreprises.

- **METEOR-S** constitue une approche basée sur l'extension de standards industriels. Le principe d'enrichissement sémantique est basé principalement sur l'utilisation des fichiers WSDL-S qui sont le résultat de l'annotation sémantique de fichiers WSDL. Bien que cette approche repose sur des standards, il n'en demeure pas moins qu'elle manque d'abstraction dans le sens où elle constitue une approche plus proche du niveau d'implémentation que du niveau conceptuel.

- **IRS-II** est une approche qui permet de réaliser les services sémantiques à travers le framework UPML. Ceci constitue à la fois son point fort et son point faible. De part sa formalisation UPML est considéré comme le point fort de l'approche IRS II. Mais il constitue aussi l'un des griefs les plus cités à l'encontre de cette approche du fait qu'elle est fortement liée à ce framework (UPML) négligeant ainsi d'autres préoccupations importantes liées aux services sémantiques. Il s'agit en particulier des besoins, qui nous intéressent beaucoup dans le cadre de nos travaux, à savoir l'intégration des services.

- **IRS-III** se base sur le cadre conceptuel WSMO offrant un environnement d'exécution pour le déploiement, la sélection, l'invocation, la composition de services Web décrits en WSMO. L'approche IRS-III adopte les médiateurs pour la résolution des requêtes clients et cela de manière similaire que WSMO. Il est difficile d'identifier les discor-dances entre les deux approches. IRS-III apparaît comme une approche immature vu le manque d'outils et de plate-formes d'exécution. Les auteurs se contentent d'une étude de cas dans le domaine du e-government [CDG+06].

En résumé, il est possible de retenir que OWL-S est une approche générique, basée sur le standards OWL et WSDL et que WSMF et WSMO constitue beaucoup plus un cadre méthodologique. Toutefois, notons que WSMO est basée sur un langage propriétaire combinant plusieurs logiques. Quant à METEORS-S il s'agit d'une approche pragmatique mais qui manque d'abstraction alors que IRS-II est fortement liée au framework UPML.
Il est à remarquer que OWL-S et METEOR-S sont compatibles, en ce sens que ces deux approches peuvent être combinées. Mais, par contre, elles sont plutôt contradictoires avec WSMO et avec IRS-II dans la mesure où ces dernières utilisent des langages et des outils incompatibles avec les standards industriels.

L'état de l'art présenté dans ce chapitre permet de révéler à notre sens trois points essentiels :

- Le premier point porte sur l'inadéquation des architectures actuelles et des ontologies de services à capturer de façon flexible et efficace la sémantique des services Web.

- Le deuxième point porte sur le manque de méthodologie à mettre en oeuvre pour définir des services sémantiques.

- Le troisième point concerne la limite des approches actuelles en matière de description et de médiation de services dans le contexte d'une variété d'utilisateurs. Enfin, le dernier point porte sur la complexité des techniques sémantiques d'où la nécessité, en vue de leur adoption, de mettre en œuvre des outils appropriés permettant de simplifier, autant que faire se peut, toute la complexité inhérente à l'utilisation de ces technologies.

## 2.5 Conclusion

Nous avons présenté dans ce chapitre un état de l'art des différents frameworks des services Web sémantiques suivi d'une synthèse et d'un comparatif. Notre finalité n'étant pas d'identifier le meilleur framework en matière de sémantisation, même si à travers les critères de comparaison la supériorité d'un ou plus de ces frameworks semble évidente, notre objectif consiste à montrer qu'il existe plusieurs points de vue de sémantisation selon l'approche adoptée. Les approches de description sémantique des services Web suivent un objectif commun : décrire de manière explicite et gérer la sémantique associée aux services Web, car cette sémantique reste absente de leur pile standard de protocoles. Cependant, nous pouvons distinguer deux approches différentes de sémantisation de services Web : (a) des ontologies de service telles que OWL-S et WSMO offrant des primitives conceptuelles riches sémantiquement tentent de remplacer le standard WSDL (Web Service Description Language), (b) des initiatives (essentiellement celle de METEOR-S avec WSDL-S et SAWSDL) exploitant les éléments d'extensibilité des langages existants (notamment WSDL 2.0.) pour insérer des annotations sémantiques tout en restant compatibles avec la pile standard des services.

Par ailleurs, notre ambition est de constituer un référentiel aussi large que possible de services Web destiné à la communauté de la bioinformatique ; comprenant notamment des services générés par l'un des trois principaux frameworks présentés dans cet état de l'art, à savoir : OWL-S, WSMO et SAWSDL. Pour ce faire, nous proposerons une couche médiatrice permettant la description, la découverte et la composition afin qu'elle soit le modèle de sémantisation adopté. Notre proposition BIOMED fera l'objet de la partie II de ce mémoire. Dans le chapitre suivant, nous présentons un état de l'art des approches de découverte de services Web.
# Chapitre 3

## Approches de Découverte de Services Web

Nous présentons dans ce chapitre une revue de la littérature de la problématique de découverte de services Web. Nous distinguons les approches syntactiques qui sont basées sur une découverte par mots-clés dans des annuaires UDDI ou des catalogues de services tels que Seekda! et des approches sémantiques exploitant des techniques de recherche d'informations (mesures de similiarité), des techniques de raisonnement ou combinant ces deux techniques.

### Sommaire

<table><tr><td>3.1</td><td>Introduction</td><td>45</td></tr><tr><td>3.2</td><td>Approches syntactiques pour la découverte de services Web</td><td>46</td></tr><tr><td>3.2.1</td><td>Les annuaires UDDI</td><td>46</td></tr><tr><td>3.2.2</td><td>QWS dataset</td><td>49</td></tr><tr><td>3.2.3</td><td>Seekda!</td><td>51</td></tr><tr><td>3.3</td><td>Vers des approches sémantiques de découverte de services Web</td><td>53</td></tr><tr><td>3.3.1</td><td>Approches basées sur les techniques de RI</td><td>53</td></tr><tr><td>3.3.2</td><td>Approches basées sur les techniques de raisonnement</td><td>54</td></tr><tr><td>3.3.3</td><td>Approches hybrides combinant techniques de RI et raisonnement</td><td>62</td></tr><tr><td>3.4</td><td>Synthèse et Conclusion</td><td>65</td></tr></table>

### 3.1 Introduction

Afin d'exploiter les nombreux avantages des services Web, les organisations ont été amenées à se doter d'outils leur offrant la possibilité de rechercher, de découvrir, de sélectionner voire d'invoquer le service adéquat satisfaisant leurs besoins parmi une collection de services Web. Une fois décrit, un service Web doit être publié dans un annuaire pour être utilisé (réutilisé) soit tel quel dans le cas où il satisfait à lui seul le besoin ou en interaction avec d'autres services pour construire un service composite (à valeur ajoutée). La découverte de services désigne l'action de localiser la description d'un service
Web non connue à l'avance et qui satisfait certaines contraintes<fnref n="1" />. Nous identifions deux étapes essentielles dans le processus de découverte : la première étape est celle de la recherche d'un service en précisant les propriétés désirées tant au niveau fonctionnel que non fonctionnel et la seconde étape est celle de la sélection du service considéré le plus satisfaisant parmi un ensemble de services retenus durant la phase de recherche. Longtemps, le processus de découverte avait été basé sur l'utilisation des annuaires UDDI<fnref n="2" /> [JC02]. Cependant, ce type de découverte a très rapidement montré ses limites puisqu'il offre une recherche purement syntactique basée sur des mots-clés. La solution proposée dans le cadre des services Web sémantiques est soit d'étendre les standards existants avec des descriptions sémantiques afin d'améliorer le processus de découverte ou d'adopter des techniques développées en Recherche d'Information (RI) ou en Intelligence Articifielle (IA). L'état de l'art de la découverte de services présenté dans ce mémoire ne se propose pas d'être exhaustif mais plutôt synthétique des principaux travaux de recherche développés autour de la problématique de découverte de services Web tout en distinguant les approches syntactiques pour la découverte de services Web des approches sémantiques.

## 3.2 Approches syntactiques pour la découverte de services Web

S'inspirant du modèle classique de recherche d'informations, les approches syntactiques de découverte de services Web permettent d'interroger un catalogue de services Web par le biais de requêtes constituées de mots-clés. Comme approches syntactiques de découverte, nous présentons dans ce qui suit les annuaires UDDI et deux exemples de portails de services Web accessibles via le Web à savoir QWSdataset<fnref n="3" /> développé à l'université de Guelph (Ontario, Canada) depuis 2007 et Seekda! développé par la société Seekda GmbH en 2007 en Allemagne. Le premier a été développé dans le cadre d'un projet académique alors que le second a été développé dans le domaine industriel. Chacun de ces portails propose une interface de recherche basée sur des mots-clés.

### 3.2.1 Les annuaires UDDI

Comme le montre la figure 3.1, UDDI est proposé comme le standard de publication et de découverte de services Web. UDDI [udd01] (Universal Description Discovery and Integration) propose une technologie d'annuaire basée sur XML permettant de manipuler différents types d'informations concernant un service Web, à savoir : son fournisseur (*Business Entity*), le service lui-même (*Business Service*), les accès au service (*Binding Template*), le type de service (*tModel*) et des relations entre deux parties (*Publisher Assertion*) (figure 3.2).

– *L'entité fournisseur (Business Entity)* comprenant les informations concernant l'organisation hébergeant le service, le fournisseur et d'autres informations nécessaires à l'identification de l'entreprise qui sont répertoriées dans ce document XML. Ce document

<footnote n="1">1. D'après, Web Service Glossary http://www.w3.org/TR/ws-gloss/</footnote>

<footnote n="2">2. Universal Description Discovery and Integration</footnote>

<footnote n="3">3. http://www.uoguelph.ca/qmahmoud/qws/index.html</footnote>
<figure><img src="image_22.png" /><figcaption>FIGURE 3.1 – Survol des langages standards de services Web</figcaption></figure>

contient de l'information descriptive sur l'entreprise ou le fournisseur et sur les services proposés (lien vers l'entité Business Service dans la figure 3.2).

- Le service (Business Service) représente les services proposés par une organisation. La description des services contenue dans l'entité Business Service est de haut niveau, i.e., aucune information technique n'est décrite ici. Les informations à propos du nom du service et de son objectif sont représentées dans ce composant. Le fournisseur peut rassembler dans cette entité un ensemble de services répondant aux mêmes objectifs dans une même catégorie. Par exemple, une catégorie tourisme peut contenir un service de météo et un service pour la localisation des sites touristiques. Les catégories de service (contenant un ou plusieurs services) sont liées (selon le nombre de services) à un ou plusieurs points d'accès (*Binding Template* dans la figure 3.2).

- Les accès au service (*Binding Template*) décrivent les points d'accès aux services Web (URL) et le moyen d'y accéder (les différents protocoles à utiliser) afin d'invocuer les services.

- Le type de service (*tModel*) permet d'associer un service à sa description décrite en WSDL (Web Service Description Language). Le client peut ainsi avoir connaissance des conventions d'utilisation du service. La liaison entre les entités *Binding Template* et *tModel* est nécessaire pour l'invocation du service (figure 3.2).

La recherche et la sélection dans l'annuaire UDDI reposent sur la publication préalablement décrite du service et de son fournisseur. Le futur client peut connaître par l'intermédiaire de UDDI : les fournisseurs d'un service, les services proposés par un fournisseur donné, les moyens d'invoquer un service. Pour apporter aux clients la réponse à ces questions, UDDI organise l'ensemble des informations qu'il contient en trois catégories, spécifiées en XML. Chacune d'elles peut être utilisée pour effectuer une recherche via
<figure><img src="image_23.png" /><figcaption>FIGURE 3.2 – Les entités composant un annuaire UDDI</figcaption></figure>

UDDI. Ces parties sont les suivantes :

- *Les pages blanches (White Paper)*. Ce composant permet de connaître les informations à propos de l'organisation proposant le service. Cette description contient toutes les informations jugées pertinentes pour identifier l'organisation (telles que son nom, son adresse physique). Le futur client du service retrouve dans les pages blanches les informations que le fournisseur a renseigné dans l'élément *Business Entity* lors de la publication.

- *Les pages jaunes (Yellow Paper)*. Les pages jaunes de UDDI détaillent la description de l'organisation contenue dans les pages blanches en répertoriant les services proposés. Dans cette partie, sont décrits : la catégorie de l'entreprise, le secteur d'activité dans lequel exerce l'entreprise, les services offerts par cette organisation, le type de services et les conventions d'utilisation – prix, qualité de service, etc. Cette description repose sur les classifications standard de l'industrie nord américaine (NAICS<fnref n="4" /> et UNSPSC<fnref n="5" />). La description des services contenue dans les pages jaunes est non technique et est renseignée par les fournisseurs eux mêmes.

- *Les pages vertes (Green Paper)*. Les pages vertes comportent les informations techniques liées aux services Web et basées sur leur description WSDL.

À l'origine, il existait des annuaires UDDI dits publics (tels que ceux de Microsoft ou d'IBM) pour lesquels n'importe qui pouvait devenir, soit fournisseur, soit client de services Web. L'universalité de ces annuaires avait amené UDDI à devenir le standard de publication des services Web. En 2006, le nombre de services Web publiés avait atteint le nombre de 50000. Malgré ce nombre, UDDI n'a jamais atteint le but visé : devenir le registre standard des services Web. Par conséquent, la maintenance des annuaires publics UDDI (tels que ceux de Microsoft et d'IBM) a été suspendue. Le réel succès de UDDI se

<footnote n="4">4. North American Industry Classification System, http://www.census.gov/eos/www/naics/</footnote>

<footnote n="5">5. United Nations Standards Products and Services, http://www.unspsc.org/</footnote>
situe au niveau des annuaires privés. En effet, de nombreuses organisations utilisent les spécifications de UDDI afin d'implémenter leur propre annuaire de services Web.

Cependant, les spécifications UDDI souffrent de plusieurs limitations :

1. Les APIs de publication de UDDI sont insuffisantes pour développer efficacement des méthodes de publication et de recherche ; certes ces API requièrent une grande expertise de la part du concepteur du service.

2. le modèle de recherche de UDDI est pauvre et limité se contentant d'une recherche par mots-clés portant sur l'identifiant de la catégorie du service, son nom ou certains éléments de son document WSDL. Ainsi, UDDI en offrant une recherche purement syntaxique basée sur mots-clés ne garantit pas des résultats pertinents.

3. UDDI ne supporte aucun mécanisme d'inférence, de ce fait, la recherche repose sur l'existence d'un matching exact entre la requête de l'utilisateur et les catégories des services. Un service associé à la catégorie "concessionnaires de nouvelles voitures" ne sera jamais sélectionné pour une recherche sur les "concessionnaires d'automobile", bien que la première catégorie n'est qu'une sous catégorie de la dernière.

Certains travaux proposent des extensions de UDDI pour y intégrer des descriptions sémantiques et ainsi améliorer le processus de découverte. Nous présenterons ces travaux dans la section 3.3.2.

### 3.2.2 QWS dataset

L'objectif du projet QWS Dataset [AMM07a, AMM07b] est d'offrir la possibilité aux chercheurs dans le domaine des services Web de trouver des services Web élémentaires en vue d'implémenter un système à base d'Architecture Orientée Service. QWS Dataset contient 365 services Web<fnref n="6" /> qui ont été récupérés grâce à un moteur d'aspiration de services Web (Web Service Crawler Engine) [AMM07a] à partir de différentes sources telles que des registres UDDI, des moteurs de recherche ou des portails spécifiques aux services Web. Les services Web aspirés sont ensuite centralisés dans le QWS Dataset (figure 3.3). La recherche de services dans QWS Dataset consiste en une simple recherche par mots-clés [AMM07b]. La figure 3.4 illustre le résultat d'une recherche par mots-clés en utilisant le terme "weather".

L'ensemble des services Web disponibles dans QWS Dataset a été testé pendant une période de dix minutes durant trois jours consécutifs, selon neuf attributs de qualité de service. Ces tests ont permis d'attribuer un ensemble de caractéristiques portant sur la qualité de service [AMM07b]. Parmi cet ensemble de caractéristiques, six sont présentées à la suite d'une recherche pour discriminer les services Web retrouvés : le temps de réponse, le débit, la fiabilité, les meilleures pratiques, la documentation et le niveau de classification (comme illustré dans la figure 3.4).

– Le temps de réponse (Response Time). Le temps de réponse est le temps mis entre l'envoi de la requête par le client et la réception du résultat envoyé par le service Web. L'unité de mesure du temps de réponse est la millisecorde (ms).

<footnote n="6">6. Date du dernier accès 26 Mars 2010</footnote>
<figure><img src="image_24.png" /><figcaption>FIGURE 3.3 – L'interface d'accueil du Projet QWSdataset</figcaption></figure>

<figure><img src="image_25.png" /><figcaption>FIGURE 3.4 – Exemple de recherche dans QWSdataset</figcaption></figure>
– Le débit (*Throughput*). Le débit est mesuré par le nombre total d'invocations possibles d'un service Web dans un laps de temps donné. L'unité de mesure du débit est le nombre d'appels réussis par seconde.

– La fiabilité (*Reliability*). La fiabilité est le rapport du nombre de messages d'erreur sur le nombre total de messages. Ce critère est mesuré en pourcentage.

– Les meilleures pratiques (*Best Practices*). Le critère de meilleures pratiques évalue dans quelle mesure la description du service Web suit le WS-I BP (WS-I Basic Profile). Le WS-I BP<sup>7</sup> est une spécification proposée par le consortium d'industriels WS Interoperability<sup>8</sup> (WS-I). L'objectif de WS-I BP est de fournir un guide d'operérabilité pour le noyau des spécifications des services Web (telles que SOAP, WSDL et UDDI), basé sur le format XML. WS-I BP est principalement utilisé dans le monde de l'industrie. Le critère des meilleurs pratiques est mesuré en pourcentage.

– La documentation (*Documentation*). La propriété QWS de documentation mesure pour le service Web sa capacité auto-descriptive selon l'examen du document WSDL. Cet examen consiste à vérifier s'il existe un contenu dans les balises décrivant le nom du service, les opérations du service, les messages échangés avec le client. L'unité de mesure de la documentation est un pourcentage.

– Le niveau de classification (*class*). Le niveau de classification du service décrit la qualité offerte par le service (de la plus basse à la plus haute qualité représentée par zéro à quatre étoiles). Cette classification est basée sur l'ensemble des niveaux de qualité fourni par la méthode WsRF (*Web service Relevancy Function*) [AMM07b] réalisée pour le projet.

L'avantage de ce travail est que tous les services Web proposés sont des services fonctionnels, soumis à un test rigoureux, ce qui permet d'éviter de sélectionner des services qui ne sont plus disponibles et/ou ne satisfaisant pas les contraintes minimales de qualité. De plus, le système d'aspiration de services Web (*Web Service Crawling Engine*, WSCE), permettant de retrouver automatiquement des fichiers de type WSDL sur le Web, est très intéressant. En effet, il permet de rendre visible les services Web disponibles sans que les fournisseurs n'activent le processus de publication. Cependant, Le QWSdataset présente à notre avis trois inconvénients majeurs : (1) les critères de description sur lesquels repose le processus de découverte sont exclusivement liés à la qualité de service, il manque une description (ne serait ce qu'informelle) de ce que propose le service comme tâche, (2) les fournisseurs n'ont pas le moyen de publier leurs services et (3) enfin, la recherche se base uniquement les mots-clés spécifiées par l'utilisateur.

### 3.2.3 Seekda!

Seekda<sup>9</sup> est un portail Web offrant un accès à un catalogue de services comprenant 28534 services Web décrits en WSDL<sup>10</sup>. Le portail offre la possibilité aux fournisseurs de publier leurs services, il compte aujourd'hui près de 7690 fournisseurs de services Web.

<footnote n="7">7. http://www.ws-i.org/Profiles/BasicProfile-2.0(WGD).html</footnote>

<footnote n="8">8. http://www.ws-i.org/</footnote>

<footnote n="9">9. http://Webservice.seekda.com/</footnote>

<footnote n="10">10. Dernier accès le 12 juin 2010.</footnote>
<figure><img src="image_26.png" /><figcaption>FIGURE 3.5 – L’interface d’accueil du portail Seekda</figcaption></figure>

Seekda propose deux types de recherche : une recherche par mots-clés et une recherche par navigation :

1. la recherche par mots-clés qui peut être basique consistant en une recherche simple ou avancée en considérant d'autres critères de recherche tels que le pays où le service est hébergé, le fournisseur du service, ou par tag<fnref n="11" />,

2. une recherche par navigation basée sur la catégorisation des services Web par pays (hébergeant le service), mais aussi par l'ensemble des services les plus utilisés ou les plus récemment utilisés. La navigation représente un aspect avantageux de Seekda

Seekda offre également aux utilisateurs la possibilité de tester si un service est opérationnel ou non grâce à l'outil *Web service Tester*. Cependant, ce moteur de recherche présente les mêmes inconvénients de la recherche par mots-clés, d'autant plus que, de point de vue qualité de services, le seul critère QoS considéré est celui de la disponibilité du service. Nous présentons dans ce qui un aperçu des différentes approches développées pour la découverte de services. Nous les classons en trois grandes catégories : celles basées sur les techniques de Recherche d'informations (RI), celles basées sur le raisonnement logique et celles combinant le raisonnement logique et les techniques de RI.

L'avènement des services Web sémantiques a révolutionné les approches de découverte de services qui doivent intégrer la dimension sémantique des services pour guider le processus de découverte et améliorer la qualité des résultats de ce processus.

<footnote n="11">11. Un tag est un attribut fournissant une présentation informelle d'un service Web reflétant par exemple le domaine ou l'usage du service telle que finance, spelling and grammar, bioinformatic, etc.</footnote>
## 3.3 Vers des approches sémantiques de découverte de services Web

Certaines approches sémantiques de services Web proposent d'étendre les standards existants pour la découverte de services Web, à savoir UDDI, en insérant une couche sémantique. D'autres approches adoptent des techniques de Recherche d'Informations (RI) pour calculer des similitudes entre descriptions de services Web, des techniques de raisonnement exploitant les descriptions sémantiques ou des approches hybrides combinant des techniques de RI et de raisonnement.

### 3.3.1 Approches basées sur les techniques de RI

Les premiers travaux sur la découverte ont utilisé des techniques de RI pour résoudre le problème de découverte de services Web.

Dong et al. proposent dans [ADH$^+$04] un moteur de recherche de services Web nommé Woogle$^{12}$, qui permet une recherche simple par mots-clés et se base sur des mesures de similarité pour calculer la similitude entre des services Web en créant des clusters d'opérations (actions élémentaires d'un service Web) fonctionnellement similaires en tenant de la similarité entre les noms de leurs paramètres et de leurs descriptions textuelles.

Pour cela, les auteurs proposent un algorithme dénommé agglomerative clustering (clustérisation agglomérative) basé sur une approche ascendante de classification hiérarchique agglomérative pour déduire des clusters comprenant des entrées et des sorties d'opérations en se basant sur des règles d'association du type :

$$t_1 \rightarrow t_2 (s, c)$$

où s est le support mesurant la probabilité que le terme $t_1$ apparaît dans une entrée ou sortie d'une opération et c est la confiance mesurant la probabilité que les termes $t_1$ et $t_2$ apparaissent dans la même entrée ou sortie d'une opération. Un terme $t_1$ est fortement associé à un terme $t_2$ si la confiance de la règle d'association $t_1 \rightarrow t_2$ est plus grande qu'un seuil $t_c$ choisi manuellement comme étant la meilleure valeur permettant d'évaluer la corrélation entre deux termes. Les règles d'association permettent de déduire des clusters de termes considérés comme fortement associés. L'une des heuristiques sur laquelle repose l'algorithme proposé est d'augmenter la cohésion au sein d'un cluster de termes tout en minimisant la corrélation entre les termes de deux clusters différents. L'algorithme propose de fusionner deux clusters s'ils respectent une condition de cohésion selon laquelle tous les termes du nouveau cluster (résultant d'une fusion) sont fortement liés au terme noyau$^{13}$. D'un autre côté, l'algorithme permet de diviser un cluster en deux clusters si cette division permet d'obtenir deux clusters avec une meilleure cohésion/corrélation. Une opération d'un service Web est représentée sous la forme d'un vecteur $op=(w, f, i, o)$, où w est la description textuelle du service auquel appartient l'opération, f est la description textuelle

<footnote n="12">12. http://db.cs.washington.edu/WebService/</footnote>

<footnote n="13">13. Un terme noyau est un terme fortement lié au moins à la moitié des termes du cluster auquel ils appartiennent.</footnote>
d'une opération, *i* et *o* désignent les entrées et les sorties de l'opération. L'approche se propose de déterminer les opérations similaires en combinant les similarités des différents composants du vecteur. La mesure de similarité utilisée est la mesure classique de la RI TF/IDF (Term Frequency/Inverse Document Frequency) [Sal88]. Les expérimentations menées ont été effectuées avec une collection de services comprenant 1500 opérations de services Web. Etant donné un service Web, le prototype génère cinq listes différentes : une liste des opérations similaires (aux opérations du service donné), une liste des opérations avec des entrées similaires, une liste des opérations avec des sorties similaires et une liste des opérations composables. Les auteurs évaluent la précision des top-2, top-5 et top-10 réponses de chaque liste. Les valeurs de la précision sont respectivement 98 % (top-2), 83% (top-5) et 68 % (top-10). Ainsi, les expérimentations montrent que la technique de clustérisation adoptée est capable d'améliorer la précision du processus de découverte.

Bernstein et Kiefer de l'université de Zurich proposent dans [BK06] la solution iMatcher<fnref n="14" /> permettant d'interroger des services Web décrits en OWL-S service profile et sérialisés en graphes RDF par le biais d'une extension du langage de requêtes RDQL, nommé iRDQL (*imprecise RDQL*). iRDQL est une extension du langage RDQL intégrant des mesures de similarité dans la structure de la requête afin de sélectionner non seulement les réponses exactes mais aussi des réponse rapprochées ou similaires. Un aperçu de la syntaxe iRDQL est illustré dans la figure 3.6. Les mesures retenues par les auteurs sont TF/IDF et la métrique *Levenshtein*<fnref n="15" />. Dans iMatcher, les services sélectionnés seront classés en fonction de la valeur de la mesure de similarité utilisée dans la requête d'interrogation et le seuil spécifié par l'utilisateur. Cependant, il est à noter que l'inconvénient de l'extension iRDQL est qu'elle permet aux utilisateurs de considérer une seule mesure de similarité par requête. Les expérimentations ont considéré la collection de tests OWLS Service Retreival Test Collection<fnref n="16" />. Les résultats rapportés dans [BK06] montrent que l'approche proposée est capable d'améliorer le rappel tout en ayant une bonne valeur de précision. Les auteurs ont comparé les résultats de l'approche proposée avec celle de OWLS-MX (qui est une approche hybride de découverte de services combinant raisonnement logique et mesures de similarité), cette comparaison montre que OWLS-MX est meilleur que iMatcher en termes des mesures classiques de recherche d'information, à savoir la précision, le rappel et la F-mesure.

3.3.2 Approches basées sur les techniques de raisonnement

Les approches utilisant les techniques de raisonnement se basent uniquement sur des
inférences logiques pour déduire un appariement possible entre une requête de découverte
et une description de service Web. Les descriptions sémantiques de services Web sont
traduites sous la forme d'une expression formelle exprimée dans un langage logique du
premier ordre, très souvent une logique de description [BLM+05] telles que OWL-DL ou
WSML-DL. Le problème de découverte est réduit à un service d'inférence classique en

<footnote n="14">14. OWL-S Matcher Project Page http://www.ifi.uzh.ch/ddis/research/semWeb/imatcher/</footnote>

<footnote n="15">15. Définition et algorithme d'implémentation de la distance Levenshtein sont présentés à http://fr.wikipedia.org/wiki/Distance_de_Levenshtein</footnote>

<footnote n="16">16. http://projects.semWebcentral.org/projects/owls-tc/</footnote>
<figure><img src="image_27.png" /><figcaption>FIGURE 3.6 – La syntaxe d’une requête iRDQL</figcaption></figure>

Logique de description tels que la satisfiability (la cohérence) d'un service ou la déduction de relations subsomption entre concepts par rapport à une base de connaissances donnée (une TBox au sens la logique de description). Quatre degrés d'appariement sont déduits par la plupart des approches basées sur le raisonnement et qui sont les suivants : exact, plug-in, subsumes et échec (fail). Nous illustrons les quatre types d'appariement dans l'exemple 1 et nous les définissons formellement ensuite.

**Exemple 1** Pour illustrer les différentes degrés d'appariement, nous considérons trois exemples de requêtes et les services candidats. Nous reposons sur une ontologie illustrée dans la figure 3.7. L'ontologie est décrite en logique de description<fnref n="17" />. Le premier cas est l'exemple d'un appariement en plugin étant que Patient (entrée du service) est un sous-concept de Person (entrée de la requête) et que EmergencyPhysician (sortie du service) est un sous-concept de Physician. Il est possible de déduire pour le cas A que $S \sqsubseteq R$ qui signifie que l'appariement est en plugin. Le cas B illustre un degré d'appariement en subsomption puisque les deux sorties du service S Physician et Expertise sont respectivement des super-concepts des sorties de la requête, i.e., HospitalPhysician et MedicalExpertise. Enfin, le cas C illustre le cas d'un échec puisque les deux concepts HospitalPhysician et EmergencyPhysician sont deux concepts disjoints.

Un matching en plugin entre une description de service *S* et une requête de découverte *R* se base sur la notion de subsomption<fnref n="18" /> entre les concepts de *S* et ceux de *R*, étant

<footnote n="17">17. Les logiques de description aussi appelées logiques descriptives (LDs) sont une famille de langages de représentation de connaissances qui peuvent être utilisées pour représenter la connaissance terminologique d'un domaine d'application d'une manière formelle et structurée. Une base de connaissances en logique de description est un couple $\Sigma=<Tbox, Abox>$, où Tbox est l'ensemble de connaissances terminologiques et Abox est l'ensemble de connaissances assertionnelles (instances). Ce que nous illustrons dans la figure 3.7 est la composante terminologique TBox qui comprend la déclaration d'un ensemble de primitives non logiques explicitant les connaissances et les contraintes de l'univers de discours. Les opérateurs LD permettent d'exprimer l'inclusion entre concepts, e.g., MedicalExpertise $\sqsubseteq$ Expertise, d'exprimer des rôles, e.g., Physician $\equiv$ Person $\sqcap \exists$ TrainedAt.MedicalExpertise, d'exprimer des relations inverses, e.g., Works $\equiv$ Employed$^{-}$, ou aussi d'exprimer des restrictions de cardinalité, e.g., Patient $\equiv$ Person $\sqcap=1$HospitalizedAt.Hospital.</footnote>

<footnote n="18">18. Soit *C* et *D* deux concepts, *D* subsumes *C*, noté $C \sqsubseteq D$, par rapport à une TBox si et seulement si $C^I \sqsubseteq C^I$ pour tout modèle *I* de la TBox</footnote>
<figure><img src="image_28.png" /><figcaption>FIGURE 3.7 – Exemple d’une ontologie du domaine biomédical</figcaption></figure>

<figure><img src="image_29.png" /><figcaption>FIGURE 3.8 – Exemples illustrant les différents degrés d’appariement dans une approche de découverte basée sur la logique</figcaption></figure>
donné une base de connaissances kb. Ce matching s'exprime formellement

$kb \cup S \cup R \models S \sqsubseteq R$

signifiant que pour chaque interprétation $\mathcal{I}$ (dans un monde possible) de la base de connaissances kb, l'ensemble des instances de services $S^I$ sont contenues dans l'ensemble $R^I$ des instances de services acceptables par la requête : $S^I \sqsubseteq R^I$. En d'autres termes, la description du service S est plus spécifique que la requête R, au mieux sémantiquement équivalent.

*Un matching en subsomption* entre requête de découverte R et une description d'un service S est noté formellement

$kb \cup S \cup R \models R \sqsubseteq S$

impliquant que les instances des services $R^I$ sont contenues dans les instances des services $R^I : R^I \sqsubseteq S^I$. En d'autres termes, la description du service S est plus générale que celle de la requête R.

**Grimm** dans [Gri07] propose de rajouter un autre degré de matching dit *matching partiel* défini comme suit : une description de service S matche partiellement une requête R par rapport à une base de connaissance kb si et seulement si l'intersection entre les concepts de S et R est non vide OU la non disjonction entre S et R est vérifiée. Dans le premier cas, la description d'un service S matche partiellement une requête R si la conjonction $S \cap R$ est non vide par rapport à une base de connaissances kb dans un **monde possible** $\mathcal{I}$, tel que $S^I \cap R^I \neq \emptyset$ est vérifié. Dans le second cas, il s'agit de vérifier que l'intersection des extensions des deux concepts S et R est non vide **pour chaque monde possible** $\mathcal{I}$.

Comme critères de matching, certaines approches considèrent uniquement les entrées et les sorties d'un service (*IO matching*), d'autres se basent uniquement la description du service en terme de préconditions et effets (*PE matching*) et il y a aussi des approches qui se basent sur la signature fonctionnelle complète en termes d'entrées, sorties, préconditions et effets (*IOPE matching*). La définition explicite des différents degrés de matching dans le cadre d'une approche considérant uniquement les entrées et les sorties est présentée dans la Table 3.1.

**Paolucci et al.** [PKP$^+$02a, PKP$^+$02b] furent les premiers à présenter un travail pour la découverte de services Web sémantiques décrits en DAML-S. L'architecture proposée repose sur un raisonneur DAML+OIL, un ensemble d'ontologies DAML et un registre UDDI pour stocker les descriptions DAML-S des services (un *wrapper* permet de traduire DAML-S en une spécification enrichie UDDI).

De manière similaire, **Srinivasan et al.** [SPS04] proposent un algorithme efficace pour le matching de la signature fonctionnelle (en terme d'entrées et de sorties) de services Web décrits en OWL-S et stockés dans des annuaires UDDI. Les auteurs présentent
<table><caption>TABLE 3.1 – Définition des degrés d’appariement</caption><thead><tr><td>Degré de matching</td><td>Définition</td></tr></thead><tbody><tr><td>exact(S,R)</td><td>Un mapping exact entre S et R traduit un ensemble de mappings un-à-un entre les entrées de S et de R d'une part et les sorties de S et de R d'autre part : ∀ IN<sub>S</sub> ∃ IN<sub>R</sub> : IN<sub>S</sub> ≡ IN<sub>R</sub> ∧ ∀ OUT<sub>R</sub> ∃ OUT<sub>S</sub> : OUT<sub>R</sub> ≡ OUT<sub>S</sub>.</td></tr><tr><td>plug-in(S,R)</td><td>Un mapping plugin entre S et R permet de relaxer le mapping exact en autorisant que l'ensemble des entrées de R soit un sous-ensemble des entrées de S et que les sorties de S soient des sous-concepts directs des sorties de R. ∀ IN<sub>S</sub> ∃ IN<sub>R</sub> : IN<sub>S</sub> ⊇ IN<sub>R</sub> ∧ ∀ OUT<sub>R</sub> ∃ OUT<sub>S</sub> : OUT<sub>S</sub> ∈ LSC(OUT<sub>R</sub>).</td></tr><tr><td>subsumes(R,S)</td><td>Le mapping subsumes relaxe le mapping plugin en autorisant que les sorties de S soient des concepts spécifiques de R et pas seulement des sous-concepts directs comme le cas du plug-in : ∀ IN<sub>S</sub> ∃ IN<sub>R</sub> : IN<sub>S</sub> ⊇ IN<sub>R</sub> ∧ ∀ OUT<sub>R</sub> ∃ OUT<sub>S</sub> : OUT<sub>R</sub> ⊇ OUT<sub>S</sub>.</td></tr><tr><td>fail(S,R)</td><td>pas de matching</td></tr></tbody></table>

un mécanisme de *mapping* permettant d'encapsuler les descriptions OWL-S des services dans un annuaire UDDI. L'algorithme de matching permet déduire les différents degrés de matching du tableau 3.1. Pour optimiser le temps d'exécution de l'algorithme (une amélioration par rapport à [PKP+02b]), les auteurs proposent qu'au moment de la publication du service, les concepts de l'ontologie du composant de découverte seront annotés par le degré de matching qu'ils peuvent avoir avec les concepts du service à publier.

Jaeger et al. [JRL+05] proposent également un algorithme de matching de services Web décrits en OWL-S à un niveau de granularité fin en considérant les entrées, les sorties et la catégorie du service. L'approche se base également sur la déduction d'une relation de subsomption ou d'équivalence entre concepts. L'algorithme comporte quatre étapes : (a) matching des entrées, (b) matching des sorties, (c) matching de la catégorie du service et (d) aggrégation des résultats avec les contraintes de l'utilisateur qui peut spécifier ses préférences en pondérant les différents types de matchings (par exemple, un utilisateur peut pondérer le matching des sorties avec un poids de 0.8,). Bien que les auteurs proposent un prototype basé le raisonneur OWLJessKB<fnref n="19" />, ils n'ont pas rapporté aucun résultats de leurs expérimentations.

Pathak et al. [PKCH05] proposent un framework de découverte de services Web qui repose sur l'ensemble des *mappings* définis par l'utilisateur pour mettre en correspondances les concepts de l'ontologie utilisateur aux différents concepts de différentes ontologies ayant servi à la description du service. L'algorithme d'appariement exploite ces mappings pour sélectionner les services potentiels à une requête. L'approche propose de classer les services sélectionnés en terme de leur QoS, l'utilisateur pourra exprimer ses préférences en terme de QoS en pondérant certains critères par rapport à d'autres. L'approche est intéressante à notre avis pour deux principales raisons : (1) la première est que les services peuvent

<footnote n="19">19. OWLJessKB est un outil de raisonnement http://edge.cs.drexel.edu/assemblies/software/owljesskb/</footnote>
être décrits en se basant sur plusieurs ontologies du domaine, et (2) la seconde est que cette approche se base sur les propriétés QdS des services pour classer des services fonctionnellement équivalents.

**PCEM** [SHS08] est un moteur de découverte implémenté dans le cadre du projet CASCOM<fnref n="20" />. Le moteur PCEM traduit les descriptions OWL-S et les requêtes du client en PDDL (*Planning Domain Definition Language*)[MGK+98] et calcule une implication logique entre pré-conditions et les post-conditions. Il est possible de déduire différents niveaux de degrés de matching par exemple, un matching en plug-in entre un service *S* et une requête *R* exprime que, pour chaque modèle de la base de connaissances *kb*, l'effet du service *S* est plus spécifique que celui de *R* et la précondition de *S* soit plus générale que celle de *R*.

**WSMX** [RKL+05b, FKT09] est une architecture et un environnement d'exécution de découverte de services Web. Dans WSMX, les services Web et les buts (requêtes de découverte) sont décrits selon le framework conceptuel WSMO par le biais d'un ensemble d'expressions logiques déclarées dans le langage WSML. Une ontologie commune permet de définir l'ensemble des axiomes d'un domaine est créé et puis importé (par le biais de la primitive *importsOntology* pour décrire à la fois les services Web et les buts. La figure 3.9 illustre l'exemple d'un axiome définissant la relation *isShippedDef* spécifié par une instance du concept *shipmentOrderReq* qui restreint les adresses de livraisons (seulement en Europe, en Amérique du nord, en Asie et en Afrique) et le poids du colis (qui doit être inférieur à 50). Ce type d'axiome peut être utilisé pour décrire un service Web en WSMO. Les buts peuvent également spécifier des contraintes QoS comme l'indique la figure 3.10 définissant une postcondition devant être vérifiée par le service et qui porte sur le paramètre QoS *prix*. Un raisonneur WSML permet de matcher la requête de découverte à une description de services en vérifiant sa satisfiability. L'algorithme de matching crée une base de connaissances temporaire comprenant la spécification du but, la spécification d'un service Web $W_i$ du catalogue de services et l'ontologie commune *O* ayant été utilisée pour la description des services et du but. Un test de satisfiability permet de déterminer si le service $W_i$ satisfait le but en vérifiant à la fois les préconditions et les postconditions. L'ensemble des services sélectionnés sont classés selon les préférences des utilisateurs (e.g., *prix*).

**Della Valle et al.** [VC05] présentent COCOON GLUE, un prototype pour la découverte de services décrits en WSMO dans le domaine médical (figure 3.11). Le prototype est construit au dessus d'un moteur de raisonnement à base de F-logic<fnref n="21" /> combinant de la programmation logique en Prolog et des techniques de bases de données déductives [KLW95].

<footnote n="20">20. CASCOM (acronyme de Context-Aware business application Service CoOrdination in Mobile computing) est un projet européen lancé en septembre 2004 par le centre de recherche allemand DFKI (German Research Center for Artificial Intelligence), l'école polytechnique de Lausanne et plusieurs partenaires industriels tels que TeliaSonera et EMA group (Finlande) et FRAMeTech (Italie). Ce projet a pour objectif de concevoir, implémenter et valider une infrastructure de services Web sémantiques pour les réseaux mobiles.</footnote>

<footnote n="21">21. F-logic (Frame logic) est un langage de représentation de connaissances combinant les avantages de la modélisation orienté objet et les langages à base de frame, offrant ainsi un langage avec une syntaxe déclarative et simple et muni d'une sémantique formelle des langages à base de logique.</footnote>
1 ...  
2 axiom isShippedDef  
3 definedBy  
4 ?shipmentOrderReq[sop#to hasValue ?temp, sop#package hasValue ?package] memberOf sop#  
   ShipmentOrderReq and  
5 ?temp[so#address hasValue ?to] and  
6 ?to[so#city hasValue ?city] and  
7 isShippedContinents(?city, so#Europe, so#Asia, so#NorthAmerica, so#Africa) and  
8 ( (?package [so#weight hasValue ?weight] memberOf so#Package) and (?weight =< 50) )  
9 implies  
10 sop#isShipped(?shipmentOrderReq).  
11 ...

<caption>FIGURE 3.9 – La définition de l’axiome isShipped en WSML</caption>

1 Goal
2 nfp
3 " preference" hasValue "?price"
4 ...
5 endnfp
6 ...
7 capability goal1aCapability
8 postcondition
9 definedBy
10 ?x[sop#price hasValue ?price] memberOf sop#PriceQuoteResp
11 and ws#isShipped(g!#shipmentOrderReq)
12 ...

<caption>FIGURE 3.10 – Exemple de postcondition en WSML</caption>
<figure><img src="image_30.png" /><figcaption>FIGURE 3.11 – Architecture du framework COCOON GLUE</figcaption></figure>

Le prototype offre d'autres composants permettant la publication de services Web WSMO.
L'approche proposée prend en considération l'aspect communautaire en introduisant le
concept de communautés de pratique 22, chacune pouvant avoir sa propre conceptualisa-
tion (ontologie). L'algorithme d'appariement se base sur l'implémentation de médiateurs
de type wgmediator (médiateur Web service-goal en WSMO). Etant donné une requête
utilisateur, l'administrateur COCOON Glue implémente un médiateur wgmediator en
spécifiant un ensemble de règles f-logic définissant les appariement entre une classe de
description de services Web et une classe de buts. L'avantage principal de cette approche
est qu'elle permet d'apparier la signature fonctionnelle complète en terme d'entrées, sor-
ties, préconditions et postconditions (IOPE).

Enfin, **Dominigue et al.** [DCG+08] présente IRS III (présenté précédemment dans la section 2.2.6), un framework de découverte de services décrits en **WSMO**. IRS III est une solution permettant : (a) de découvrir les services potentiels à une requête, (b) de sélectionner les services les plus appropriés, (c) résoudre les conflits d'hétérogénéité au niveau conceptuel, (d) d'invoquer les services Web sélectionnés en respectant les contraintes d'invocation de chaque service. IRS III se base sur son propre langage de définition d'ontologies OCML. L'avantage de OCML par rapport à d'autres langages de définition d'ontologies tels que OWL est qu'il offre des primitives pour la définition de modèles ontologiques, règles et expressions logiques. IRS III sépare le contexte des utilisateurs du contexte des services Web et se propose de réconcilier les deux contextes en se basant sur des techniques

<footnote n="22">22. La notion de communauté de pratique, en anglais Community of Practice (ou CoP) désigne le pro-
cessus d'apprentissage social émergeant lorsque des personnes ayant un centre intérêt commun collaborent
mutuellement. Cette collaboration, qui doit se dérouler sur une période de temps notable consiste à par-
tager des idées, trouver des solutions, construire des objets nouveaux, etc. On parle aussi de communauté
de pratique pour désigner le groupe de personnes qui participe à ces interactions.</footnote>
de médiation. La médiation dans IRS III se base sur la définition (de manière exhaustive) d'un ensemble de mappings pour résoudre tout type de conflit conceptuel, ces mappings sont représentés sous forme de règles logiques.

### 3.3.3 Approches hybrides combinant techniques de RI et raisonnement

Les approches hybrides pour la découverte de services Web proposent de combiner les approches se basant sur les techniques de raisonnement avec des techniques de RI pour améliorer la qualité des résultats du processus de découverte.

Dans ce contexte, **LARKS** [SWK+02] fut la première approche hybride considérant des signatures fonctionnelles en termes de IOPE décrites dans un langage à base de frames, dénommé LARKS (Language for Advertisement and Request for Knowledge Sharing). Une signature (spécification) définie en LARKS permet d'expliciter le contexte (domaine) du service, les types des variables utilisées, la déclaration des variables en entrée et en sortie, les contraintes logiques exprimées en clause de Horn (préconditions et postconditions), une description des contraintes basée sur des concepts ontologiques et une description textuelle des contraintes et du service. Le processus de découverte au niveau de l'approche LARKS se base sur cinq types d'appariement : appariement de contexte (context matching), comparaison de profil (profile comparison), appariement de similarité (Similarity matching), appariement de signature (signature matching) et appariement de contrainte (constraint matching). Notons que l'appariement de similarité repose sur des mesures de similarité syntactiques permettant de mesurer la similitude entre les descriptions textuelles et les noms des paramètres en entrée et en sortie. L'appariement de signature et de contraintes repose sur des règles d'inférence logique permettant de déduire un appariement de type logique (ou exact ou plugin). Bien que l'approche LARKS est a priori intéressante mais le manque d'expérimentations et de résultats constitue un inconvénient majeur de cette approche.

**FC-match** est une approche hybride proposée par [BAM08] combinant du raisonnement déductif basé sur les logiques de description et les mesures de similarité. En plus de la signature fonctionnelle, l'approche considère également la catégorie du service comme critères de *matching*. Les techniques proposées reposent sur une ontologie du domaine mais également sur l'ontologie linguistique WORDNET afin de déduire des relations sémantiques tels que la synonymie, la méronymie, l'hyperonomie, etc. Utiliser simultanément une ontologie du domaine et une ontologie linguistique permet d'identifier une relation subsomption entre des concepts n'existant pas nécessairement dans l'ontologie du domaine. Bien que les auteurs de [BAM08] présentent une étude empirique de l'approche proposée, ils n'offrent pas de comparatif avec d'autres approches telles que OWLS-MX qui sera présentée dans ce qui suit.

Trois principales approches hybrides adaptées chacune à un framework de description sémantique ont été proposées, à savoir : **OWLS-MX** [KFS06, KFS09], **SAWSDL-MX** [KK08] et **WSMO-MX** [KK09].

**Klusch** et al. [KFS06, KFS09] ont proposé OWLS-MX alliant raisonnement déductif (basée sur LD) et des techniques de RI pour matcher des signatures de services Web décrites en OWL-S profile. Chaque variante de l'approche **OWLS-MX1** à **OWLS-MX4**
se propose d'appliquer une mesure de similarité spécifique<fnref n="23" /> à un couple de signatures de services pour déterminer le degré de similarité syntaxique. Les auteurs proposent deux nouveaux degrés d'appariement hybrides qui définissent le degré en considérant la valeur de la mesure de similarité, à savoir :

- Matching Subsumed-By. Cet appariement reflète le cas où les sorties d'un service sont des concepts "plus généraux" (super-concepts) que les concepts de la requête et se définit comme suit :

$$ \forall IN_S \exists IN_R : IN_S \supseteq IN_R \wedge \forall OUT_R \exists OUT_S : (OUT_S \doteq OUT_R \vee OUT_S \in \text{LGC}^{24}(OUT_R)) \wedge \text{SIM}_{IR}^{25}(S,R) \geq \alpha. $$

- Matching Voisin-le-plus-proche. Un service S est le voisin le plus proche d'une requête Q si et seulement si

$$ \forall INT_S \exists INT_R : INT_S \supseteq INT_R \wedge \forall OUT_R \exists OUT_S : OUT_R \supseteq OUT_S \vee \text{SIM}_{IR} \geq \alpha. $$

C'est dans ce sens que OWLS-MX permet d'inclure dans l'ensemble des solutions d'une requête, des services qui sont syntactiquement similaires (par rapport à un seuil minimal) mais qui sont logiquement disjoints. Les expérimentations rapportées montre l'intérêt de combiner des méthodes statistiques (mesures de similarité) aux techniques de raisonnement. Cependant, le fait que l'approche n'a pas l'objet de comparaison avec d'autres approches hybrides de découverte ne nous permet pas de conclure sur sa pertinence.

**Klusch and Kapahnke [KK08] proposent une approche hybride de découverte SAWS-DL-MX adaptée aux services annotés en SAWSDL exploitant du raisonnement déductif et des techniques de RI (les mêmes mesures de similarité que OWLS-MX). L'approche montre que l'hybridation donne des résultats plus significatifs que chacune des approches de son côté.**

Enfin, **Kaufer et Klusch [KK09] proposent l'approche WSMO-MX adaptée à des services décrits dans une variante du langage WSML-rule, nommé WSML-MX. L'approche consiste en la combinaison de trois approches :**
(1) l'approche hybride OWLS-MX en exploitant les mêmes mesures de similarités syntactiques évaluées par l'approche OWLS-MX,
(2) l'approche de DSD-MM qui se base sur un matching de graphes orienté-objet pour déduire un appariement entre une requête et un service représentés dans le format DSD,
et
(3) une approche proposée par Keller et al. dans [KLL+05] qui se base sur la sémantique intensionnelle d'un service Web en termes d'hypothèses et effets<fnref n="26" />. Ainsi, WSMO-MX combine la programmation logique et le raisonnement approximatif pour déduire un matching entre une requête et une description de services Web, le degré de matching est le résultat de l'agrégation d'un triple matching :
(a) un matching au niveau types sémantiques des paramètres<fnref n="27" /> (pour déduire un matching logique d'équivalence, de subsomption ou de disjonction entre types),
(b) un matching entre contraintes logiques (hypothèses et effets)

<footnote n="23">23. à titre d'exemple, cosinus/TFIDF, Jaccard étendu, Jensen-Shannon.</footnote>

<footnote n="24">24. LGC(C), Least Generic Concept(C), désigne les super-concepts (parents) directs d'un concept C.</footnote>

<footnote n="25">25. SIMIR désigne une valeur numérique comprise entre 0 et 1 qui indique la similarité syntaxique entre les deux chaînes A et B en considérant une mesure de similarité syntaxique.</footnote>

<footnote n="26">26. Dans l'approche présentée par Keller et al. [KLL+05], les auteurs attribuent une représentation concrète de ce que fait le service et sous quelles conditions. Le service est perçu comme une transition d'un état initial vers un état final.</footnote>

<footnote n="27">27. Au niveau de cette approche, un type sémantique est soit un concept ou une relation ontologique</footnote>
définies en Logique du premier ordre et (c) un matching syntactique en se basant sur des mesures de similarités. Une première étude expérimentale reportée dans [KK09] avait pris en considération une collection de 97 services (seulement!), 22 requêtes avec 325 concepts. Les expérimentations montrent que l'approche hybride donne de meilleurs résultats que l'approche basée seulement sur des techniques de raisonnement et que le matching syntactique en améliorant ainsi la pertinence des résultats. Seulement la taille des tests est trop petite à notre avis, les auteurs promettent d'autres résultats plus élaborés dans des prochains papiers.

D'un autre côté, **Kiefer and Bernstein** propose iMatcher2 [KB08], une approche hybride pour la découverte de services Web basée sur iSPARQL (imprecise SPARQL) qui consiste en une extension de SPARQL incluant différentes mesures de similairté<fnref n="28" />. Les services sont décrits en OWL-S profile qui seront transformé en un vecteur pondéré de mots-clés. iMatcher2 applique différentes stratégies (combinaisons de mesures) pour évaluer la similarité entre descriptions de services et requête. Les expérimentations ont été menées sur la base d'une collection de 576 services Web ont montré l'intérêt d'une telle hybridation. De plus, les auteurs montrent également l'apport de certains techniques d'ap-prentissage (basées sur des modèles de régression) à améliorer l'efficacité et la pertinence des résultats du processus de découverte. Enfin, les expérimentations ont montré qu'en terme de performance (précision et rappel), l'approche iMatcher2 est meilleure que celle de OWLS-MX4.

Enfin, **Meditskos et Bassiliades** [MB10] proposent un framework de découverte de services Web décrits en OWL-S Profile, nommé **OWLS-SLR** (SLR pour Structural and Logic-based Reasoning). Le framework repose sur une approche hybride combinant du raisonnement à base de cas structurel (Structurel Cased-based Reasoning- SBRC) et du raisonnement en logique de description. L'approche se base sur des descriptions de services dites légères (*lightweight*) comprenant les entrées, les sorties et le domaine du service. Les auteurs argumentent ce choix afin un temps minimal de recherche des services candidats à une requête. L'idée de base du raisonnement à base de cas structurel est de représenter la sémantique des services en se basant sur un modèle du domaine structuré selon une approche orienté-objet. Ainsi, les services et les requêtes sont modélisés comme des objet avec des connaissances additionnelles qui proviennent du modèle du domaine. La similarité entre objets est déterminée par le biais de deux métriques : la métrique *interclass* et celle de *intraclass*. La première détermine la similarité entre objets en terme de leur position hiérarchique dans une taxinomie alors que la dernière est définie en terme des attributs en commun entre les deux objets. Ces deux métriques ont été adaptées par les auteurs au contexte de la découverte de services Web. Les expérimentations menées pour évaluer l'approche ont considéré une collection de test de 1007 services Web décrits en OWL-S profile et 29 requêtes. En comparaison avec l'approche OWLS-MX, l'approche OWLS-SLR montre une meilleure performance au niveau du temps d'exécution de la requête, en précision et rappel au niveau des solutions.

<footnote n="28">28. Bi-Gram, Levenshtein, Monge-Elkan et Jaro.</footnote>
## 3.4 Synthèse et Conclusion

L'état de l'art présenté dans ce chapitre montre la multitude d'approches développées afin de pallier les insuffisances du modèle (classique) de découverte de services Web basé sur les annuaires UDDI et adoptant une recherche par mots-clés. Afin de comparer les approches de découverte présentées tout au long de ce chapitre, nous avons proposé les trois critères suivants :

**Critère 1 : Le framework de description de services.** Comme cela a été présenté dans le chapitre 2 de cette thèse, différents frameworks de descriptions sémantiques de services Web ont été proposés. Nous distinguons les ontologies de service telles que OWL-S ou WSMO et l'extension (annotations) du standard WSDL (Web Service Description Language) dénommé SAWSDL. Chacune des approches de découverte adopte un framework spécifique de description sémantique de services Web.

**Critère 2 : La méthode/approche de la sélection du service.** Il s'agit de préciser l'algorithme d'appariement sur lequel repose le moteur de découverte pour sélectionner les services candidats à une requête.

**Critère 3 : Les critères de sélection retenus par l'approche de découverte.** La phase de sélection de services Web consistant à apparaître la requête de l'utilisateur à un certain nombre de propriétés du service. Certaines approches considèrent seulement les entrées et les sorties (IO) durant la phase de matching, d'autres considèrent les préconditions et les postconditions (PE) et enfin d'autres approches considèrent toute la signature fonctionnelle d'un service (IOPE).

Le critère 1 permet de classer les approches proposées selon le framework de description de services Web.

- Approches de découverte de services décrits en OWL-S : Des approches basées sur le raisonnement telles que celles OWLS-UDDI [PKP+02a, PKP+02b] et OWLSM [JRL+05] considèrent des descriptions OWL-S, PCEM traduit les descriptions OWL-S en actions PDDL pour ensuite pouvoir raisonner sur les préconditions et les post-conditions (en se basant sur PROLOG). Plus récemment, des approches hybrides ont été développées telles que OWLS-MX [KFS06] visant à pallier les insuffisances des approches basées sur le raisonnement et améliorer leur performance. OWLS-iMatcher [BK06] est une approche basée sur les techniques de RI permet de matcher la signature fonctionnelle complète (en terme d'entrées, sorties, préconditions et postconditions) en exploitant différentes techniques de similarité. Tout récemment, les auteurs de [MB10] proposent l'approche hybride OWLS-SLR se basant sur du raisonnement de cas structurel, les auteurs reposent sur une modélisation orienté objet des services et des buts et se proposent d'utiliser deux métriques de similarité structurelle.

- Approches de découverte de services Web décrits en WSML : WSMX et COCOON Glue sont toutes les deux des architectures de découverte de services WSML, basées sur le raisonnement. WSMO-MX est une approche hybride pour la découverte de services décrits en WSML-MX, une variante de WSML-rule. Enfin, IRS III [CDG+06, DCG+08] est également un framework pour la découverte de services décrits dans
<figure><img src="image_31.png" /><figcaption>FIGURE 3.12 – Classification des approches de découverte</figcaption></figure>

le framework WSMO, cependant IRS III traduit les descriptions WSMO dans son propre langage OCML pour pouvoir raisonner dessus.

- *Approches de découverte de services Web annotés en SAWSDL* : METEOR-SWSDI [VSS$^{+}$05] est une infrastructure pair-à-pair pour la publication et la découverte de services Web SAWSDL reposant sur des registres décentralisés. Lumina est un moteur de découverte reposant sur UDDI pour stocker des services Web décrits en SAWSDL. Enfin, SAWSDL-MX [KK08] est une approche hybride développée à l'ins- tar de OWLS-MX et WSMO-MX.

- *Autres frameworks* : LARKS [SWK$^{+}$02] est une approche hybride pour la découverte de services Web décrits en LARKS (Language for Advertisement and Request for Knowledge Sharing). Le moteur de découverte effectue un matching au niveau du contexte (domaine du service), au niveau de la fréquence des termes spécifiés dans le profil, matching de signature et le matching de contraintes. DSD-MM [KKR07] est une approche de découverte pour les services décrits en DIANE qui se base sur des techniques de matching de graphes.

La figure 3.12 présente une classification des approches de découverte de services Web présentées, le premier axe de classification est la méthode de découverte utilisée (pas de raisonnement, raisonnement logique, hybride) alors que le second axe est l'ensemble des propriétés du service utilisé pour sa découverte. Nous remarquons qu'un nombre important d'approches adoptent le raisonnement logique. En général, ces approches s'appuient sur un raisonneur logique afin de déduire une relation d'équivalence ou de subsomption entre
les concepts d'un service et ceux d'une requête et cela en se exploitant les connaissances du domaine (explicitées généralement dans une ontologie). D'une part, ces approches offrent une bonne précision et rappel reflétant la qualité des réponses, mais d'autre part elles ont une flexibilité et une scalabilité limitée. Par ailleurs, nous remarquons que, ces dernières années, plusieurs approches hybrides combinant raisonnement déductif et mesures de similarité ont été proposées, bien que la première approche de ce type fut proposée en 2002 (à savoir l'approche LARKS). Ces approches offrent une grande flexibilité mais dépendent étroitement des mesures adoptées et donc les résultats sont variables.

Nous notons également que la majorité des approches considèrent comme critères de découverte les entrées et les sorties des services. Les tableaux 3.2 et 3.3 résument toutes les approches présentées dans ce chapitre en précisant le framework de description adopté par l'approche (critère 1), les l'approche adoptée pour l'appariement (critère 2) et enfin les propriétés du services utilisées pour la découverte en précisant comment les solutions sont classées (critère 3). Par ailleurs, nous notons l'inexistence d'approches se basant sur le raisonnement déductif et intégrant comme critères de découverte les propriétés non fonctionnelles d'un service. Ainsi, l'approche de découverte proposée vise à combiner les avantages du raisonnement déductif en termes de pertinence des résultats et ceux d'une approche d'analyse multi-critère pour plus de flexibilité. Notre approche peut être qualifiée d'originale dès lors qu'elle se propose de : (a) élargir la typologie des mécanismes inférentiels afin d'offrir un appariement plus flexible (b) considérer les critères non fonctionnels dans le processus de sélection et de découverte en plus des critères fonctionnelles d'un service, (c) prévoir un mécanisme de classement pour déceler les services Web ayant les meilleurs attributs QoS.

Ainsi, au niveau du méta-framework BIOMED, nous formalisons les mécanismes de raisonnement grâce à une axiomatique formelle exploitant tout à la fois les descriptions unifiées de service Web, les annotations sémantiques et les connaissances ontologiques. Nous proposons une plus large typologie de techniques de raisonnement que celles fournies par les approches de découverte basées sur le raisonnement qui exploitent seulement la relation de subsomption.

Notre approche de découverte est une approche hybride dans le sens qu'elle combine des techniques de raisonnement déductif et une méthode d'analyse multi-critère. Les propriétés sémantiques considérées dans la phase de découverte correspondent aux entrées, sorties et propriétés non fonctionnelles reliées à la qualité du service. Dans ce contexte, la seule approche comparable à l'approche BioMed est le framework WSMX qui repose également sur une analyse multi-critère où les paramètres non fonctionnels sont pondérés selon les préférences des utilisateurs. Notre approche considère tous les critères d'égale importance et applique une analyse multi-critère à un ensemble de services dominants.

L'approche de découverte proposée dans cette thèse est présentée dans le détail dans le chapitre 6. Dans l'ensemble, notre approche se présente comme un méta-framework stratifié couvrant les phases de description, de découverte et de composition de services Web. La problématique de composition de services est à la fois importante et cruciale, elle se pose lorsqu'aucun service atomique ne satisfait la requête de l'utilisateur. Nous présentons dans le prochain chapitre un état de l'art des approches de composition de services Web développées dans divers domaines telles que l'Intelligence Artificielle ou la
conception des flots de données (ou *Workflow* en anglais).
<table><caption>TABLE 3.2 – Comparaison des approches de découverte de services Web (1)</caption><tr><td>Nom de l'ap-proche de découverte</td><td>Woogle</td><td>OWLS-UDDI</td><td>OWLS-Matcher</td><td>OWLS-MX</td><td>iMatcher</td><td>OWLS-SLR</td><td>LARKS</td></tr><tr><td>Framework de description des services</td><td>WSDL</td><td>OWL-S profile</td><td>OWL-S profile</td><td>OWL-S profile</td><td>OWL-S profile</td><td>OWL-S profile</td><td>LARKS</td></tr><tr><td>Critères de sélection</td><td>IO (noms des opérations WSDL et des paramètres)</td><td>IO</td><td>IO</td><td>IO</td><td>IOPE</td><td>IO</td><td>IOPE</td></tr><tr><td>Approche Adoptée pour l'appariement</td><td>Clustérisation hiérarchique agglomérative</td><td>Raisonnement</td><td>Raisonnement</td><td>Hybride</td><td>Mesures de similarité</td><td>hybride</td><td>Hybride</td></tr><tr><td>classement des solutions (ranging)</td><td>-</td><td>Degré d'appariement (exact, plugin, subsomption et fail)</td><td>Degré d'appariement (exact, plugin, subsomption et fail) en prenant en considération les préférences de l'utilisateur</td><td>Degré d'appariement (exact, plugin, subsomption, subsumed-By, Nearest-Neighbour et fail)</td><td>Valeur de similarité</td><td>-</td><td>-</td></tr></table>
<table><caption>TABLE 3.3 – Comparaison des approches de découverte de services Web</caption><thead><tr><th></th><th>PCLM</th><th>IRS III</th><th>COCOON GLUE</th><th>WSMX</th><th>WSMO-<br>MX</th><th>METEORS-<br>SWDI</th><th>SAWSSDL-<br>MX</th></tr></thead><tbody><tr><th>Format de<br>descriptions<br>des services</th><td>Traduction de<br>OWL-S profile en<br>PDDL</td><td>Traduction<br>de WSMO en<br>OCML</td><td>WSMO</td><td>WSML</td><td>variante<br>WSML</td><td>SAWSSDL</td><td>SAWSSDL</td></tr><tr><th>Critères de<br>découverte</th><td>PE</td><td>IOPE</td><td>IOPE</td><td>IOPE</td><td>IOPE</td><td>IO</td><td>IO</td></tr><tr><th>Technique<br>d'appariement</th><td>Raisonnement</td><td>Raisonnement</td><td>Raisonnement</td><td>Raisonnement</td><td>Hybride</td><td>Techniques<br>de simila-<br>rité</td><td>Hybride</td></tr><tr><th>classement des<br>solutions</th><td>degré de mat-<br>ching (excat,<br>plugin, subsomp-<br>tion et fail)</td><td></td><td>degré de mat-<br>ching (exact,<br>plugin, subsomp-<br>tion et fail)</td><td>degré de<br>matching<br>(exact,<br>plugin, sub-<br>somption,<br>subsumed-<br>By,<br>Nearest-<br>Neighbour<br>et fail)</td><td></td><td>-</td><td>degré de<br>matching<br>(exact,<br>plugin, sub-<br>somption,<br>subsumed-<br>By,<br>Nearest-<br>Neighbour<br>et fail)</td></tr></tbody></table>
# Chapitre 4

# Composition de Services Web

## Sommaire

<table><tr><td>4.1</td><td>Définitions et types de composition de Services Web</td><td>72</td></tr><tr><td>4.1.1</td><td>Définitions</td><td>72</td></tr><tr><td>4.1.2</td><td>La composition de services et ses catégories</td><td>73</td></tr><tr><td>4.2</td><td>Composition de Services Web et les techniques de l'IA</td><td>77</td></tr><tr><td>4.2.1</td><td>Composition à base de la logique de premier ordre ou du calcul situationnel (Situation Calculus)</td><td>77</td></tr><tr><td>4.2.2</td><td>Composition à base du langage PDDL (Planning Domain Definition Language)</td><td>78</td></tr><tr><td>4.2.3</td><td>Planification à base de réseaux HTN</td><td>80</td></tr><tr><td>4.2.4</td><td>Composition de Services à base de la synthèse de programmes</td><td>81</td></tr><tr><td>4.3</td><td>Approches de composition orientées Qualité de Service</td><td>83</td></tr><tr><td>4.3.1</td><td>Caractéristiques de QoS des Services Web</td><td>83</td></tr><tr><td>4.3.2</td><td>Framework à base de broker</td><td>84</td></tr><tr><td>4.3.3</td><td>Algorithmes de sélection de composition de services avec des contraintes QoS</td><td>90</td></tr><tr><td>4.4</td><td>Conclusion</td><td>94</td></tr></table>

Dans les deux chapitres précédents, nous avons tenté de couvrir les principales contributions en matière de description et de découverte de services Web sémantiques en considérant les services comme des entités élémentaires (atomiques). Cependant, il est possible que le besoin de l'utilisateur ne soit pas satisfait par un service atomique et requiert la combinaison d'un ensemble de services. Ce processus est appelé *composition de services Web* [ACKM04, BDDM05]. La composition de services vise à faire interopérer, interagir et coordonner plusieurs services pour la réalisation d'un même but. Les services Web invoqués lors d'une composition sont appelés *services Web composants* et le service résultant de la composition est appelé *service composite*. La mise en oeuvre d'une composition de services engendre un certain nombre de problèmes liés principalement à la sélection des services Web composants et l'implémentation des interactions entre ces services.

Dans ce chapitre, nous présentons dans un premier temps le processus de composition de services de services Web pour nous focaliser ensuite sur l'ensemble de travaux propo-
sant des plates-formes d'exécution de composition de services développés dans plusieurs domaines.

### 4.1 Définitions et types de composition de Services Web

La composition de services est une problématique abordée par un nombre considérable de travaux, aussi bien dans la recherche académique que dans l'industrie. En dépit de tous les efforts déployés, la composition de services reste un problème très complexe. Cette complexité tient au fait que les solutions de composition de services doivent tenir compte du nombre croissant de services déployés sur le Web, de leur mise à jour continuelle et de leur multiple hétérogénéité. En conséquence, ces solutions nécessitent de traiter les problématiques de la coordination des services, leurs transactions, leur exécution et leurs modèles de conversation (ou d'interaction).

#### 4.1.1 Définitions

La composition de services peut être vue comme un mécanisme permettant l'intégration des services pour réaliser une application. Il est à noter que pour passer d'un ensemble de services à une composition de services correctement structurée, il est nécessaire de suivre les cinq étapes suivantes allant de la spécification à la composition concrète exécutable :

1. *La définition de l'architecture fonctionnelle* : cette phase est effectuée pour identifier les fonctionnalités attendues de l'application résultante de la composition de services.

2. *l'identification des services* : selon les fonctionnalités attendues, il s'agit de déterminer les services nécessaires à la composition.

3. *la sélection des services et leur implantation* : à partir des services identifiés à l'étape de découverte, il faut sélectionner les services qui répondent correctement aux besoins ainsi que les implantations adaptées ; les phases d'identification et de sélection correspondent à la phase de découverte.

4. *la médiation entre services* : bien qu'à l'étape précédente, les services les plus adaptés aient été sélectionnés, en général, il n'est pas possible de les assembler tels qu'ils sont. Il est nécessaire de disposer de techniques de médiation afin que les interactions entre services fonctionnent correctement, i.e., afin que les services interprètent correctement les données échangées.

5. *le déploiement et l'invocation des services* : une fois la composition correctement réalisée, il faut déployer les services sur les plates-formes d'exécution. Il est ainsi possible d'invoquer les services pour obtenir la composition concrète.

Ces étapes montrent la difficulté et la complexité de la tâche de composition. Cette complexité est double : d'une part, la complexité de la logique métier inhérente aux applications qui nécessite une expertise métier et d'autre part, la complexité de la mise en oeuvre de l'approche à services.