• Aucun résultat trouvé

Chapitre 7 Mise en œuvre

7.3 Interface de notre application

La dernière étape de notre travail consiste à concevoir l’interface de notre prototype afin qu’il puisse être utilisé pour l’échange des données sémantiques d’un produit. Nous décrivons, dans cette section, l’interface graphique de notre application servant à l’intégration de deux ontologies CAO, et , basée sur la méthode d’intégration présentée dans le chapitre 5. L’objectif de cette application est de fournir une interface permettant à l’utilisateur de réaliser l’alignement de deux ontologies par l’établissement des correspondances entre les entités des deux ontologies concernées. Cette mise en correspondance permettra de réaliser l’échange des données sémantiques, y compris les features, d’un modèle de produit, représenté par des instances dans l’ontologie , vers l’ontologie destinataire . Notons que les deux ontologies et représentent potentiellement des ontologies d’applications CAO ou notre ontologie commune, CDFO. L’ontologie source est instanciée par un modèle de

166

produit, tel que une pièce ou un assemblage créé avec le logiciel de , tandis que l’ontologie destinataire représente un système destinataire de CAO non instancié. L’interface graphique de notre application, illustrée dans la figure 40, est composée de deux sections principales :

Section de contrôle (A) : Elle permet à l’utilisateur d’interagir avec les différentes fonctionnalités principales de notre application. Cette section est composée à son tour d’un ensemble de groupes de contrôles, respectivement pour l’ontologie source, l’ontologie destinataire, l’ontologie de correspondances et l’inférence. Ces groupes seront détaillés dans les sous sections suivantes.

Section d’affichage (B) : C’est dans cette section que les résultats sont affichés, en fonction des manipulations effectuées par l’utilisateur dans la section de contrôle.

Figure 40. Schéma de L’interface graphique de notre prototype

A B         

167

Comme illustrée dans la figure 40, notre interface possède les fonctionnalités suivantes :

- Chargement des ontologies  : L’interface doit tout d’abord avoir les fonctionnalités pour charger les ontologies concernées, notamment l’ontologie source (Source

Ontology), l’ontologie destinataire (Target Ontology), et l’ontologie de correspondance (Mapping Ontology). Une boîte de dialogue est ensuite ouverte afin de spécifier les endroits ou les adresses URI des ontologies OWL à charger. Notons que l’ontologie source est une ontologie instanciée qui représente les données d’un modèle de produit. Tandis que l’ontologie destinataire est supposée définie au niveau terminologique, autrement dit ne contient pas des instances.

- Visualisation de l’ontologie : Notre interface offre également à l’utilisateur la possibilité de visualiser le code OWL qui correspond à chacune des ontologies chargées dans l’application. La figure 41 montre que l’appui sur le bouton ‘View

Ontology Code’ provoque l’affichage du code OWL de l’ontologie dans la fenêtre

‘Layout’ de notre interface.

168

- Visualisation de l’arbre de spécifications  : Cette fonctionnalité n’est disponible que pour l’ontologie source instanciée par un modèle de produit. Elle permet d’afficher l’arbre de spécifications associé à ce modèle, incluant l’historique de construction et l’ensemble des features de conception utilisé lors de la création du modèle. La figure 42 montre l’arbre obtenu pour un modèle composé d’une pièce créée dans CatiaV5.

Figure 42. (a) modèle dans CatiaV5. (b) l'arbre de spécifications dans notre application

- Vérification de l’ontologie de correspondance : Une ontologie de correspondance est supposée importer les deux ontologies en question. Ce bouton vérifie la cohérence entre les ontologies chargées dans l’application et celles importées dans l’ontologie de correspondance avant d’afficher le code de l’ontologie de correspondance. Différents types d’erreurs peuvent être affichés. La figure 43 montre l’exemple d’une erreur détectée lorsque l’ontologie source chargée dans l’application est différente de l’ontologie source importée par l’ontologie de correspondance.

169

- Gestion des axiomes de correspondance : Cette fonctionnalité, associée à l’ontologie de correspondance, permet de visualiser et de gérer l’ensemble des axiomes définis dans une ontologie de correspondance. Les axiomes entre les entités de différentes ontologies sont affichés dans un tableau de trois colonnes : le type d’axiome, l’entité dans l’ontologie source, et l’entité dans l’ontologie destinataire. Ce tableau est illustré dans la figure 44 :

Figure 44. Tableau d'axiomes définis dans l'ontologie de correspondance

Notons que différents boutons ont été définis pour la gestion des axiomes, notamment pour l’ajout (Add), la suppression d’un axiome (Delete), la suppression de l’ensemble des axiomes (Clear), et la sauvegarde de l’ontologie de correspondance (Save) après une modification éventuelle des axiomes. Par exemple, pour l’ajout des axiomes, une nouvelle boîte de dialogue, illustrée dans la figure 45, s’affiche afin de permettre à l’utilisateur de choisir le type de l’axiome désiré, la référence de l’entité dans l’ontologie source, ainsi que la référence de l’entité dans l’ontologie destinataire. Les « comboBox » sont définis relativement au type d’axiome choisi. Autrement dit, si le type d’axiome est une équivalence entre deux classes, les comboBox des références affichent uniquement les classes appartenant respectivement aux deux ontologies.

170

Figure 45. Boîte de dialogue permettant l'ajout d'un axiome de correspondance

- Inférence au niveau terminologique : Cette fonctionnalité permet d’obtenir les axiomes de correspondances inférés entre les entités des deux ontologies. Elle est principalement basée sur les services d’inférences fournis par le raisonneur, Pellet, appelé dans notre prototype. La liste des inférences obtenues est affichée dans un tableau, comme illustré dans la figure 46. Cette liste dépend spécifiquement des axiomes définis avec la fonctionnalité précédente, où l’ajout d’un nouvel axiome dans l’ontologie de correspondance engendre une nouvelle liste de correspondances inférées.

Figure 46. Liste des inférences de correspondances entre les deux ontologies

- Inférence factuel du modèle de produit : A cette étape se réalise le transfert des instances définies pour le modèle de produit entre les deux ontologies. Cette étape consiste à inférer pour chaque instance définie dans le modèle du produit le type correspondant dans l’ontologie destinataire. La liste d’inférence des instances obtenues est illustrée dans la figure 47.

171

Figure 47. Inférence factuel pour les instances du modèle de produit