• Aucun résultat trouvé

Interpr´ etation des types de fonctionnalit´ es

5.3 Support pour la manipulation de descriptions

6.1.1 Interpr´ etation des types de fonctionnalit´ es

Un des int´erˆets de l’utilisation de descriptions s´emantiques est la possibilit´e d’ex- ploiter les techniques de raisonnement bas´ees sur la logique de description. La mise en correspondances s´emantique (semantic matchmaking) est notamment utilis´ee dans le cas des services Web s´emantiques (section 3.1.2). Ces techniques reposent sur l’utili- sation d’ontologies pour comparer les concepts employ´es pour d´ecrire les ressources, `a l’aide d’une notion de distance s´emantique. Cette section d´ecrit un m´ecanisme d’inter- pr´etation fond´e sur ce principe : il interpr`ete la correspondance entre une fonctionnalit´e abstraite et une fonctionnalit´e r´eelle.

a) El´´ements de description consid´er´es

Dans une description, on qualifie une ressource r d’instance d’une classe (ou concept) t dans un document D lorsque D contient le triplet (r rdf:type t). Pour

comparer deux ressources, on peut consid´erer l’ensemble des classes dont elles sont des instances. Des ressources qui sont instances des mˆemes classes peuvent ˆetre consid´e- r´ees comme proches. Des ressources qui ne sont instances d’aucune classe commune repr´esentent vraisemblablement des entit´es tr`es diff´erentes.

Exemple Pour l’exemple de la section 2.1.2, une partie de la description du cadre photo a ´et´e repr´esent´ee dans la figure 5.6. La figure 6.1 pr´ecise plusieurs types pour la fonctionnalit´e, exprim´es `a l’aide de deux ontologies de domaine. L’ontologie not´ee multimedia d´efinit des concepts li´es aux fonctionnalit´es multim´edia. Ici, la descrip- tion indique que la fonctionnalit´e pframe:msg displayer permet d’afficher des images (media:Displayer). L’ontologie not´ee notification d´efinit des concepts li´es aux fonction- nalit´es de notification. Ici, la description indique que pframe:msg displayer permet d’ef- fectuer des notifications visuelles (notification:MsgNotifier). De mˆeme, une partie de la description de l’application a ´et´e repr´esent´ee dans la figure 5.4. La figure 6.1 pr´ecise un type pour la fonctionnalit´e de notification, exprim´ees `a l’aide de l’ontologie notification.

PFRAME

... pframe:msg_displayer a media:Displayer . a notification:MsgNotifier .

IRNOTIF

... irnotif:notifier a notification:MsgNotifier .

Figure 6.1 – Partie de descriptions indiquant les types de fonctionnalit´e

Il est possible de d´efinir diverses fonctions fournissant une indication de la proxi- mit´e entre deux classes (ou concepts) d’une ontologie. Dans la suite, on se base sur la fonction compareConcepts() suivante. Cette fonction calcule le degr´e de correspon- dance d’une classe t0par rapport `a une classe t, en consid´erant successivement les cas o`u t0 est ´egale `a t, ´equivalente `a t, sous-classe de t ou s’il existe une classe dont t et t0 sont sous-classes. Noter que cette fonction n’est pas sym´etrique : la classe t sert de r´ef´erence par rapport `a laquelle on ´evalue la classe t0.

b) Mod`ele de description de l’interpr´etation

L’algorithme d’interpr´etation produit un document d´ecrivant les correspondances entre la fonctionnalit´e abstraite et la fonctionnalit´e r´eelle `a l’aide de l’ontologie repr´e- sent´ee dans la figure 6.2.

owl:Thing

owl:Thing

owl:Thing

matching:isSimilarTo matching:isCloseTo

owl:Thing

matching:isFarFrom

Figure 6.2 – Ontologie de description des correspondances

Les propri´et´es d´efinies dans cette ontologie repr´esentent trois degr´es de similarit´e : matching:isSimilarTo indique que la fonctionnalit´e r´eelle est similaire `a la fonctionna-

Fonction compareConcepts(t, t0: Ressource) → d : degr´e de correspon- dance

Entr´ees : une ressource t, une ressource t0, repr´esentant des concepts Sorties : un degr´e de correspondance d

d´ebut 1 si t = t0 alors 3 3 retourner 0; 4

sinon si 3db.ask(t0 owl:equivalentClass t) alors

6 6

retourner 0;

7

sinon si 3db.ask(t0 rdfs:subClassOf t) alors

9 9

retourner 5;

10

sinon si ∃u | 3db.ask(t0, rdfs:subClassOf; u) et 3db.ask(t,

12 12 rdfs:subClassOf, u) alors retourner 10; 13 sinon 15 15 retourner 1000; 16 fin 17 fin 18

matching:isCloseTo indique que la fonctionnalit´e est proche de la fonctionnalit´e abs- traite mais pas exactement similaire.

matching:isFarFrom indique que la fonctionnalit´e est ´eloign´ee de la fonctionnalit´e abs- trait.

Exemple La figure 6.3 repr´esente la description obtenue pour l’interpr´etation de la correspondance entre la fonctionnalit´e de notification et le cadre photo, dans l’hypo- th`ese o`u le cadre photo est proche de la fonctionnalit´e abstraite.

TYPE[(pf,not)]

pframe:msg_displayer

matching:isSimilarTo irnotif:notifier .

Figure 6.3 – Exemple de description de correspondance

c) Algorithme d’interpr´etation

L’algorithme d’interpr´etation vise `a comparer les types d´efinis pour une fonction- nalit´e r´eelle aux types d´efinis pour la fonctionnalit´e abstraite consid´er´ee. Pour cela, il utilise une fonction matchIndividual(), qui compare deux ressources sur la base de leurs types. Le d´eroulement de la fonction est le suivant :

1. lecture de l’ensemble des types des ressources a et f .

2. pour chacun des types de a, recherche du type f de dont le degr´e de correspon- dance est le plus petit.

3. sommation des degr´es de correspondances minimaux obtenus pour chaque type de a.

Fonction matchIndividual(a, f : Ressource) → d : degr´e de correspon- dance

Entr´ees :

une ressource a issue d’une description de fonctionnalit´e abstraite, une ressource f issue d’une description de fonctionnalit´e r´eelle Sorties : un degr´e de correspondance cost

d´ebut

1

Ta ← 3db.selectAll(a, rdf:type, ?t); 2

Tf ← 3db.selectAll(f , rdf:type, ?u); 3

cost ← 0;

4

pour tous les t ∈ Ta faire 5

dt← +∞; 6

pour tous les t0∈ Tb faire 7

dt,t0 ← compareConcepts(t,t0);

8

si dt,t0 < dtalors dt← dt,t0;

9

si dt= 0 alors sortir boucle ; 10 fin 11 cost ← cost + dt; 12 fin 13 retourner d; 14 fin 15

1. lecture des descriptions de la fonctionnalit´e abstraite et de la fonctionnalit´e r´eelle.

2. comparaison des types des deux fonctionnalit´es, `a l’aide de la fonction matchIn- dividual().

3. cr´eation d’un document et ´ecriture de l’interpr´etation en fonction du degr´e de correspondance. Ce document indique la correspondance entre la fonctionnalit´e abstraite et la fonctionnalit´e r´eelle, choisie en fonction de la valeur de ∆τ. En

particulier, si ∆τ est inf´erieur `a un certain seuil ∆max, on consid`ere que la

fonctionnalit´e r´eelle est proche de la fonctionnalit´e abstraite, sinon on consid`ere qu’elle est ´eloign´ee.