• Aucun résultat trouvé

Description des structures de données à comparer

2.2 Cadre d’étude théorique

2.2.1 Description des structures de données à comparer

Pour définir la structure des données à comparer, nous avons choisi d’utiliser, à la base, les définitions proposées par [Urtado98] qui ont été vues au premier chapitre, à la section 1.3.2, à propos des entités élémentaires et complexes. Le travail consiste alors à préciser les définitions précédentes dans le cadre de cette thèse.

Modèle de données  commun (IFC, IFC­Bridge,  TAS­ARM, etc.) Comparaison structurelle Résultat MNC 1.0 Instance originale MNC 1.1 Instance modifiée Entrée / sortie Instanciation Etape de  conception

FIGURE2.1 :Mécanisme global de la comparaison structurelle.

Tout d’abord, les données à comparer sont deux instances d’un même modèle de données, comme IFC, IFC-Bridge ou TAS-ARM par exemple. Une de ces instances est appelée instance

originaleet l’autre instance modifiée. En effet, la synchronisation de MNC suppose de suivre les

modifications de cette dernière en cours de conception, et, pour chaque étape, cela se traduit par une comparaison entre une MNC de base et la même MNC après modifications par un

2.2. Cadre d’étude théorique 59

concepteur. La figure 2.1 illustre le procédé. Ensuite, de manière générale, une instance d’un modèle de données est associée à un graphe orienté d’entités complexes, ces dernières étant elles-mêmes des graphes orientés connexes d’entités élémentaires. Donc l’instance est associable à un graphe orienté d’entités élémentaires. Une première hypothèse concerne cette association instance-graphe :

Hypothèse 1. Les liens de dépendance entre entités n’ont pas d’attribut. Ces dépendances sont

transformées en arêtes orientées et labellisées durant l’association instance - graphe.

En effet, dans le premier chapitre, à la section 1.3.2, a été abordée la notion d’entité com- plexe. Illustrée par la figure 1.18, cette notion suppose l’existence de liens de dépendances entre entités élémentaires. Ces liens sont labellisés et possèdent aussi des attributs. Cette hy- pothèse suppose l’ensemble des attributs vide. Il convient de préciser dès maintenant que le langage EXPRESS ne permet pas d’affecter des attributs de liens. Les modèles de données étu- diés utilisent alors un mécanisme permettant de simuler ces fonctionnalités, grâce à des entités intermédiaires. Une autre hypothèse concerne la structure du graphe associé.

Hypothèse 2. Pour toute instance du modèle, le graphe d’entités élémentaires associé possède une

racine, c’est-à-dire qu’il existe une entité r telle que pour toute entité ei du graphe, il existe un

chemin orienté allant de r à ei.

    r e6 e4 e5 e1 e3 e2 E1 E4 E6

FIGURE2.2 :Exemple de graphe associé à une instance, compatible avec l’hypothèse 2.

Cette hypothèse est nécessaire pour parcourir la structure entière à partir d’une entité. La figure 2.2 montre un exemple de graphe compatible avec l’hypothèse 2. Les entités élémentaires ei y sont représentées en bleu, et les entités complexes Ekassociées aux entités élémentaires ek en jaune. Concernant la structure du graphe, aucune autre hypothèse n’est faite. Des cycles et des liens multiples entre entités peuvent apparaître, comme l’illustre ainsi la figure 2.2. Après avoir décrit la structure des données au niveau macroscopique, il convient à présent de les décrire au niveau microscopique : les entités élémentaires. Dans le cadre de nos travaux, une telle entité possède trois propriétés fondamentales :

Hypothèse 3. Quelque soit l’entité élémentaire de l’instance, chacun des ses attributs est compa-

Le but de la comparaison de deux attributs n’est pas d’ordonner mais seulement de conclure s’ils sont équivalents ou différents. L’utilisation de la relation d’équivalence est donc intuitive. En effet, un attribut est équivalent à lui-même (réflexivité) et cette relation ne dépend pas de l’ordre dans lequel apparaissent les deux attributs en entrée de comparaison (symétrie). De plus, la transitivité de la relation d’équivalence est nécessaire pour assurer une stabilité de la synchronisation, au fur et à mesure de la conception. Rappelons que la transitivité se traduit mathématiquement par : a ≡ b et b ≡ c ⇒ a ≡ c. Si cette propriété n’est pas vérifiée, la cohérence des résultats de comparaison peut être mise en cause : ils peuvent varier en fonction des différents cheminements de conception, pour un même ouvrage. Par exemple, l’égalité entre deux nombres réels avec tolérance n’est pas transitive : si la tolérance est de 0.01, 1.687 ≈ 1.692 et 1.692 ≈ 1.699 mais 1.687 6= 1.699. Cela signifie que l’algorithme de comparaison n’aurait pas détecté de changement ni entre la première et la deuxième version d’un modèle d’ouvrage, ni entre la deuxième et la troisième version de ce modèle d’ouvrage. Il aurait cependant détecté un changement si la première et la troisième version avaient été comparées directement. Il y a donc une incohérence. En conséquence, l’hypothèse 3 interdit l’utilisation d’égalité avec tolérance. Nous verrons au prochain chapitre qu’il est néanmoins possible d’affaiblir cette hypothèse, sous conditions, pour intégrer l’égalité avec tolérance, relation utile pour un projet de construction.

Hypothèse 4. Chaque entité élémentaire est l’instance d’au moins une entité de modèle de données.

Deux entités élémentaires sont comparées si et seulement si elles instancient au moins une entité commune du modèle de données.

L’hypothèse 4 rappelle que la comparaison s’effectue entre objets de même type, ayant des attributs communs à comparer. Cependant, via le mécanisme d’héritage, une entité peut être l’instance de plusieurs entités du modèle. La figure 2.3 montre divers exemples d’instanciation d’entités utilisant un mécanisme d’héritage : les éléments en jaune représentent les entités du modèle de données. Ce dernier permet de définir des véhicules, en particulier des autos et des motos qui héritent des attributs de l’entité véhicule. De plus, une entité ❘❡♠♦rq✉❡ existe ainsi qu’une entité ❆✉t♦❘❡♠♦rq✉❡ héritant de ❆✉t♦ et ❘❡♠♦rq✉❡. Les éléments en bleu représentent des exemples d’instances. Ainsi, la voiture de Jean est une instance de ❆✉t♦, et par héritage, est aussi une instance de ❱é❤✐❝✉❧❡. La moto de Pierre est un exemple analogue. La voiture de Paul, quant à elle, est l’instance de❆✉t♦❘❡♠♦rq✉❡, et par héritage, est aussi l’instance de ❆✉t♦, ❱é❤✐❝✉❧❡ et ❘❡♠♦rq✉❡. Enfin, la moto de Jacques instancie à la fois de ▼♦t♦ et ❘❡♠♦rq✉❡ (il n’existe pas dans le modèle l’entité▼♦t♦❘❡♠♦rq✉❡), et par conséquent instancie ❱é❤✐❝✉❧❡.

Dans ce formalisme, pour chaque paire d’entités élémentaires comparables, nous distinguons alors les entités totalement comparables des entités partiellement comparables. Dans le premier cas, les entités élémentaires instancient exactement les mêmes entités du modèle de données. Dans le deuxième cas, il existe au moins une entité du modèle de données instanciée par une entité élémentaire et pas par l’autre.

Une dernière hypothèse concerne l’identification des entités élémentaire :

Hypothèse 5. Chaque entité élémentaire possède une identification, c’est-à-dire un label unique

2.2. Cadre d’étude théorique 61 Véhicule Remorque Moto Auto AutoRemorque Voiture de Jean Véhicule Auto Voiture de Paul Véhicule Auto Remorque

AutoRemorque Moto de PierreVéhicule

Moto Moto de Jacques Véhicule Moto Remorque Héritage Instanciation

FIGURE2.3 :Exemple de modèle de données utilisant l’héritage.

Comme l’indique la figure 2.2, chaque entité élémentaire possède un nom. Nous verrons aux sections suivantes que l’identification est nécessaire à la mise en oeuvre de la comparaison. De plus, il convient de préciser certaines définitions pour la suite du raisonnement.

Définition 12. Une identification est dite persistante si elle est conservée durant les différentes

étapes de conception.

Toute identification n’est pas forcément persistante : lors du chargement du modèle, chaque entité peut se voir affecter un index temporaire pour faciliter l’accès aux données en mémoire. L’index est bien une identification mais une même entité peut posséder un index différent d’un chargement à l’autre.

Définition 13. Une entité élémentaire est dite identifiable si elle possède une identification persis-

tante.

Précisons que l’hypothèse 5 n’impose pas aux entités élémentaires d’être identifiables. De plus, une même entité peut posséder plusieurs identifications : par exemple, une identification temporaire associée à la structure en mémoire et une identification persistante. Par la suite, nous verrons que le déroulement de la comparaison dépend de l’identifiabilité des entités élé- mentaires.

A partir de ces hypothèses, le travail consiste à présent à définir le déroulement général de la comparaison et en particulier les différents types de résultats possibles.