• Aucun résultat trouvé

L’op´erateur d’int´egration F ragmentOnto peut ˆetre appliqu´e dans les syst`emes d’in-t´egration d´evelopp´es pour des grands groupes industriels ou des grands donneurs d’ordre (par exemple : PSA, Renault) dans le but de centraliser des catalogues de leurs diff´erents fournisseurs. Il est facile d’imaginer le sc´enario suivant :

– ces groupes proposent d’abord aux diff´erents fournisseurs leur propre ontologie, – chaque fournisseur extrait ensuite une partie de cette ontologie selon ses besoins

pour construire son catalogue.

Dans un tel environnement, l’int´egration automatique de donn´ees est assur´ee. C’est effectivement ce sc´enario que le projet fran¸cais PFI (dirig´e par Renault) est en train de mettre en oeuvre dans le domaine des composants hors fabrication pour les industries ma-nufacturi`eres. Notons que cette approche fait reposer toute la difficult´e sur les fournisseurs qui doivent d´ecrire plusieurs fois leurs donn´ees, si plusieurs consortiums existent.

4.5 ProjOnto

Le deuxi`eme sc´enario que nous ´etudions est nomm´e ProjOnto. Son contexte d’´etude, l’algorithme d’int´egration lui correspondant et son application r´eelle seront d´etaill´es suc-cessivement ci-dessous.

4.5.1 Contexte

De nombreuses applications con¸cues autour de l’approche d’int´egration a priori exigent plus d’autonomie. Dans le domaine du commerce ´electronique professionnel qui est le nˆotre :

– la classification de chaque source doit pouvoir ˆetre compl`etement diff´erente de celle de l’ontologie partag´ee, et

– certaines sp´ecialisations de classe et certaines propri´et´es n’existant pas dans l’onto-logie partag´ee doivent pouvoir ˆetre ajout´ees dans les ontologies locales. Ce cas est tr`es diff´erent du pr´ec´edent du fait que chaque source Si a sa propre ontologie Oi et ses classes sp´ecifiques. N´eanmoins, l’ontologie Oi r´ef´erence autant que possible l’ontologie partag´ee Op `a travers l’articulation Ai,p:< BDBOi, Op, OntoSubi,p >. Dans ce sc´enario, les sources ont des concepts propres qui n’existent pas dans l’ontolo-gie partag´ee, mais ces concepts ne sont pas suppos´es int´eresser les utilisateurs du syst`eme int´egr´e. Ainsi, le syst`eme int´egr´e vise `a int´egrer les instances de donn´ees de chaque source comme des instances de l’ontologie partag´ee. Les instances de donn´ees de chaque Si se-ront donc projet´ees sur l’ontologie partag´ee. Notons que, dans ce sc´enario, les sources ne peuplent que les classes qui lui sont propres, pas celles de l’ontologie partag´ee.

La section qui suit d´eterminera la structure de chaque ´el´ement du syst`eme int´egr´e Int (<OntInt, SchInt, P opInt>).

4.5.2 Algorithme

Comme dans le sc´enario pr´ec´edent (F ragementOnto), l’ontologie du syst`eme int´egr´e est exactement l’ontologie partag´ee : OInt = Op :

– CInt = Cp, – PInt = Pp,

– ApplicInt(c) = Applicp(c), – SubInt(c) = Subp(c).

Cette d´efinition montre qu’aucun concept d´efini localement n’est int´egr´e dans le syst`eme int´egr´e.

Pour ce sc´enario, chaque instance de donn´ees d’une source sera projet´ee sur les propri´ e-t´es applicables de sa plus petite classe subsumante dans l’ontologie partag´ee. Cette plus petite classe subsumante devient donc la classe de base de l’instance int´egr´ee. Contraire-ment au cas pr´ec´edent, la classe de base d’une instance dans le syst`eme int´egr´e n’est pas celle d’origine de cette instance dans sa source locale.

Soit P op(c) la population des instances projet´ees sur la classe c de l’ontologie parta-g´ee, P op(c) est calcul´ee par l’union des populations de toutes classes locales r´ef´eren¸cant directement c14. P op(c) est donn´ee par l’´equation suivante :

P op(c) =

i∈[1:n]

(

cj∈OntoSubi(c)

P opi(cj)) (4.7)

Le sch´ema des instances projet´ees de la classe c est d´etermin´e comme :

Sch(c) = Applicp(c) ( i∈[1:n] ( (cj∈OntoSubi(c))∧(P opi(cj)=φ) Schi(cj))) (4.8) ou Sch∗(c) = Applicp(c) ( i∈[1:n] ( cj∈OntoSubi(c) Schi(cj))) (4.9)

La population et le sch´ema de chaque classe feuille de l’ontologie partag´ee sont calcul´es par les ´equations 4.7 et 4.8, respectivement (ou 4.7 et 4.9). Autrement dit : P opInt(c) = P op(c) et SchInt(c) = Sch(c).

En revanche, pour une classe non feuille, les trois ´equations 4.7,4.8 et 4.9 doivent ˆetre compl´et´ees comme suit :

SchInt(c) = Applic(c)

( (

(ck∈SubInt(c))∧(P op∗(ck)=φ)

SchInt(ck))

P op∗(c)=φ

Sch(c) ) (4.10)

ou

14les classes locales d’une source Si ef´eren¸cant directement la classe c de l’ontologie partag´ee sont les classes dans OntoSubi(c).

4.5. ProjOnto -a1 -a2 -a3 - e BDBO1 Ontologie Partagée E a3 e a2 a1 -a1 -a5 -a6 - f BDBO2 F a6 f a5 a1 C1

{a0, a1, a2}

C3 C2

C4

{a0, a1, a2, a3, a4}

{a0, a1, a2, a5, a6} {a0, a1, a2, a3, a4, a7, a8}

Système intégré

C1 {a0, a1, a2}

C3 C2

C4

{a0, a1, a2, a3, a4}

{a0, a1, a2, a5, a6} {a0, a1, a2, a3, a4, a7, a8}

• Sch*(C1) = () ⇒

SchInt (C1) = Applicp(C1) ˙ (SchInt (C2) ˙ SchInt (C3) ) = ( a1 ) ou

Sch’Int (C1) = Applicp(C1) ˙ (Sch’Int(C2) ¨ Sch’Int (C3) ) = ( a1 , a2 ) • Sch*(C4) = () and SchInt (C4) = () ;

a3 a2

a1 a1 a5 a6

• Sch*(C2) = ( a1, a2 , a3) ⇒

SchInt (C2) = Applicp(C2) ˙ Sch*(C2)) = ( a1 , a2, a3) ; ou

Sch’Int (C2) = Applicp(C2) ˙ ( Sch’Int (C4) ¨ Sch*(C2) ) = ( a1 , a2, a3) ; • Sch*(C3) = SchInt (C3) = (a1 , a5 , a6) ;

Entrée:

Entrée:

Sortie:

Sortie:

Fig. 4.4 – Exemple d’une int´egration de BDBOs par ProjOnto

SchInt(c) = Applic(c)

( (

ck∈SubInt(c)

SchInt(ck))

Sch(c) ) (4.11)

et dans les deux cas :

P opInt(c) = (

ck∈SubInt(c)

P opInt(ck) )

P op(c) (4.12)

L’exemple suivant illustrera l’algorithme d’int´egration par P rojOnto.

Exemple 10 : Supposons que l’on ait deux bases de donn´ees `a base ontologique r´ef´

e-ren¸cant une ontologie partag´ee comme dans la figure 4.4. La classe locale E dans S1 (BDBO1) r´ef´erence la classe C2 (en important les trois propri´et´es : a1, a2, a3). Quant `

a la classe locale F de la source S2 (BDBO2), elle r´ef´erence C3 de l’ontologie partag´ee (en important : a1, a5 et a6). De plus, les classes E et F ajoutent les propri´et´es e et f , respectivement.

Le syst`eme int´egr´e de deux sources S1, S2 selon l’approche P rojOnto est illustr´e dans la figure 4.4. La classe C2 est une classe non feuille, mais elle devient une classe de base.

4.5.3 Application au domaine des composants industriels

Le sc´enario d’int´egration de donn´ees par P rojOnto est appliqu´e au domaine des com-posants industriels o`u :

1. il existe une ontologie normalis´ee du domaine (par exemple, l’ontologie normalis´ee IEC 61360-4 sur le domaine des composants ´electroniques, ou ISO 13399 sur le domaine des outils coupants, ISO 13584-501 sur le domaine des mat´eriels de mesure, etc.),

2. cette ontologie est accept´ee comme une ontologie partag´ee par tous les participants de l’environnement ”public” B2B ´etudi´e. Cet environnement B2B est dit public, parce que les fournisseurs gardent une autonomie significative. 15, et

3. chaque fournisseur d´ecrit donc ses composants dans son catalogue en r´ef´eren¸cant le plus possible cette ontologie normalis´ee.

Ce sc´enario P rojOnto permet d’int´egrer automatiquement tous les composants issus des catalogues de diff´erents fournisseurs comme les instances de l’ontologie normalis´ee.